diff --git a/3d/leg001_2026-1-15.stl b/3d/leg001_2026-1-15.stl new file mode 100644 index 0000000..8a20ae1 Binary files /dev/null and b/3d/leg001_2026-1-15.stl differ diff --git a/3d/leg002_2026-1-15.stl b/3d/leg002_2026-1-15.stl new file mode 100644 index 0000000..ae9f8f3 Binary files /dev/null and b/3d/leg002_2026-1-15.stl differ diff --git a/3d/手臂.SLDPRT b/3d/手臂.SLDPRT new file mode 100644 index 0000000..14722e0 Binary files /dev/null and b/3d/手臂.SLDPRT differ diff --git a/3d/手臂2.STEP b/3d/手臂2.STEP new file mode 100644 index 0000000..062fdfe --- /dev/null +++ b/3d/手臂2.STEP @@ -0,0 +1,13452 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (( 'STEP AP203' ), + '1' ); +FILE_NAME ('²âÊÔ2.STEP', + '2026-07-26T07:10:40', + ( '' ), + ( '' ), + 'SwSTEP 2.0', + 'SolidWorks 2023', + '' ); +FILE_SCHEMA (( 'CONFIG_CONTROL_DESIGN' )); +ENDSEC; + +DATA; +#1 = CARTESIAN_POINT ( 'NONE', ( -94.14577264255329681, -59.01605763575113173, 42.21935736830528896 ) ) ; +#2 = CARTESIAN_POINT ( 'NONE', ( -93.98175186377146417, -59.01605763575113173, 43.38139977562773453 ) ) ; +#3 = EDGE_CURVE ( 'NONE', #11113, #9126, #8582, .T. ) ; +#4 = LINE ( 'NONE', #9957, #2514 ) ; +#5 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -17.44615242270659650, -3.000000000000000000 ) ) ; +#6 = LINE ( 'NONE', #5006, #2800 ) ; +#7 = EDGE_LOOP ( 'NONE', ( #8991, #366, #7513, #3199 ) ) ; +#8 = CARTESIAN_POINT ( 'NONE', ( -101.4566036840868151, -58.46605763575112746, 15.55016224672746183 ) ) ; +#9 = VERTEX_POINT ( 'NONE', #6580 ) ; +#10 = ORIENTED_EDGE ( 'NONE', *, *, #2394, .F. ) ; +#11 = CARTESIAN_POINT ( 'NONE', ( -65.37927454420309914, -75.04482460638712382, 15.76002382984611039 ) ) ; +#12 = VERTEX_POINT ( 'NONE', #4755 ) ; +#13 = VECTOR ( 'NONE', #11184, 1000.000000000000000 ) ; +#14 = CYLINDRICAL_SURFACE ( 'NONE', #8825, 0.8000000000000003775 ) ; +#15 = ORIENTED_EDGE ( 'NONE', *, *, #2611, .F. ) ; +#16 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 19.25016224672767251 ) ) ; +#17 = EDGE_LOOP ( 'NONE', ( #12512, #5735, #4920, #10597 ) ) ; +#18 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260590E-15 ) ) ; +#19 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#20 = ORIENTED_EDGE ( 'NONE', *, *, #6018, .T. ) ; +#21 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -59.46605763575112746, 15.25016224672767073 ) ) ; +#22 = CIRCLE ( 'NONE', #12268, 1.000000000000000888 ) ; +#23 = ORIENTED_EDGE ( 'NONE', *, *, #11131, .F. ) ; +#24 = LINE ( 'NONE', #5026, #495 ) ; +#25 = ORIENTED_EDGE ( 'NONE', *, *, #1500, .F. ) ; +#26 = FACE_OUTER_BOUND ( 'NONE', #624, .T. ) ; +#27 = CARTESIAN_POINT ( 'NONE', ( -111.2543153225863932, -64.96605763575112746, 17.12516224672793541 ) ) ; +#28 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#29 = FACE_OUTER_BOUND ( 'NONE', #1641, .T. ) ; +#30 = CIRCLE ( 'NONE', #5430, 2.800000000000840039 ) ; +#31 = EDGE_CURVE ( 'NONE', #6392, #12837, #5795, .T. ) ; +#32 = ORIENTED_EDGE ( 'NONE', *, *, #6985, .T. ) ; +#33 = FACE_OUTER_BOUND ( 'NONE', #9750, .T. ) ; +#34 = EDGE_CURVE ( 'NONE', #9917, #1206, #11530, .T. ) ; +#35 = CYLINDRICAL_SURFACE ( 'NONE', #1527, 1.000000000000000000 ) ; +#36 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#37 = LINE ( 'NONE', #1798, #8353 ) ; +#38 = ORIENTED_EDGE ( 'NONE', *, *, #9773, .F. ) ; +#39 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#40 = VECTOR ( 'NONE', #4430, 1000.000000000000000 ) ; +#41 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575114167, 17.74016224672767095 ) ) ; +#42 = ORIENTED_EDGE ( 'NONE', *, *, #4619, .T. ) ; +#43 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#44 = CARTESIAN_POINT ( 'NONE', ( -69.77203881606304492, -83.48179195977674283, 0.7600238298460978426 ) ) ; +#45 = FACE_OUTER_BOUND ( 'NONE', #2761, .T. ) ; +#46 = ORIENTED_EDGE ( 'NONE', *, *, #7144, .T. ) ; +#47 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 16.74016224672766739 ) ) ; +#48 = ADVANCED_FACE ( 'NONE', ( #11589 ), #4623, .T. ) ; +#49 = VECTOR ( 'NONE', #1367, 1000.000000000000114 ) ; +#50 = LINE ( 'NONE', #4085, #3003 ) ; +#51 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -5.337610695313254343E-16 ) ) ; +#52 = ORIENTED_EDGE ( 'NONE', *, *, #2468, .T. ) ; +#53 = FACE_OUTER_BOUND ( 'NONE', #8203, .T. ) ; +#54 = ORIENTED_EDGE ( 'NONE', *, *, #11270, .T. ) ; +#55 = FACE_OUTER_BOUND ( 'NONE', #5441, .T. ) ; +#56 = ORIENTED_EDGE ( 'NONE', *, *, #11768, .T. ) ; +#57 = EDGE_CURVE ( 'NONE', #1646, #11806, #7687, .T. ) ; +#58 = VECTOR ( 'NONE', #9497, 1000.000000000000000 ) ; +#59 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#60 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#61 = EDGE_CURVE ( 'NONE', #10619, #9288, #6641, .T. ) ; +#62 = ADVANCED_FACE ( 'NONE', ( #3654 ), #5539, .F. ) ; +#63 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#64 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#65 = CARTESIAN_POINT ( 'NONE', ( -89.30018893700008675, -65.01605763575113883, 42.52715544892058119 ) ) ; +#66 = AXIS2_PLACEMENT_3D ( 'NONE', #7494, #9652, #8469 ) ; +#67 = ORIENTED_EDGE ( 'NONE', *, *, #10262, .T. ) ; +#68 = PLANE ( 'NONE', #12501 ) ; +#69 = ORIENTED_EDGE ( 'NONE', *, *, #3075, .F. ) ; +#70 = LINE ( 'NONE', #6122, #7352 ) ; +#71 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, 19.25002382984610705 ) ) ; +#72 = VERTEX_POINT ( 'NONE', #9506 ) ; +#73 = AXIS2_PLACEMENT_3D ( 'NONE', #11634, #1680, #1749 ) ; +#74 = ADVANCED_FACE ( 'NONE', ( #592 ), #4694, .T. ) ; +#75 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#76 = AXIS2_PLACEMENT_3D ( 'NONE', #6758, #960, #10727 ) ; +#77 = CIRCLE ( 'NONE', #1112, 0.7999999999999951594 ) ; +#78 = LINE ( 'NONE', #9907, #7780 ) ; +#79 = EDGE_CURVE ( 'NONE', #9141, #10909, #12488, .T. ) ; +#80 = EDGE_LOOP ( 'NONE', ( #2263, #3972, #12603, #205 ) ) ; +#81 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#82 = VECTOR ( 'NONE', #9918, 1000.000000000000000 ) ; +#83 = VERTEX_POINT ( 'NONE', #2744 ) ; +#84 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#85 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260590E-15 ) ) ; +#86 = VECTOR ( 'NONE', #747, 1000.000000000000114 ) ; +#87 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, -3.249976170153895172 ) ) ; +#88 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #3170, #6285, #9087, #2256 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.8340000000000004077, 0.9333333333333336812 ), + .UNSPECIFIED. ) ; +#89 = AXIS2_PLACEMENT_3D ( 'NONE', #6428, #12211, #11306 ) ; +#90 = EDGE_LOOP ( 'NONE', ( #12737, #4926, #11714, #7295 ) ) ; +#91 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416951, -83.96605763575112746, 2.740162246727668727 ) ) ; +#92 = ORIENTED_EDGE ( 'NONE', *, *, #10337, .T. ) ; +#93 = CIRCLE ( 'NONE', #6319, 1.000000000000000888 ) ; +#94 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#95 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#96 = AXIS2_PLACEMENT_3D ( 'NONE', #3077, #927, #8981 ) ; +#97 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#98 = AXIS2_PLACEMENT_3D ( 'NONE', #1, #9892, #907 ) ; +#99 = ORIENTED_EDGE ( 'NONE', *, *, #7230, .F. ) ; +#100 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#101 = VECTOR ( 'NONE', #228, 1000.000000000000000 ) ; +#103 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#102 = AXIS2_PLACEMENT_3D ( 'NONE', #8874, #8994, #5762 ) ; +#104 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -64.96605763575112746, 17.74016224672767095 ) ) ; +#105 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 11.49999982601869775, 0.9999999999999991118 ) ) ; +#106 = ORIENTED_EDGE ( 'NONE', *, *, #2788, .T. ) ; +#107 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#108 = CARTESIAN_POINT ( 'NONE', ( -98.84698258422444894, -58.46605763575112746, 1.375023829845842149 ) ) ; +#109 = ORIENTED_EDGE ( 'NONE', *, *, #3635, .T. ) ; +#110 = EDGE_CURVE ( 'NONE', #3275, #5655, #4362, .T. ) ; +#111 = AXIS2_PLACEMENT_3D ( 'NONE', #12615, #7609, #841 ) ; +#112 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#113 = CARTESIAN_POINT ( 'NONE', ( -97.72099225676075207, -59.01605763575113173, 40.28422325670113224 ) ) ; +#114 = FACE_OUTER_BOUND ( 'NONE', #939, .T. ) ; +#115 = VERTEX_POINT ( 'NONE', #10416 ) ; +#116 = FACE_OUTER_BOUND ( 'NONE', #8635, .T. ) ; +#117 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 5.510023829846119270 ) ) ; +#118 = CARTESIAN_POINT ( 'NONE', ( -96.81981506237306689, -11.91919362941809624, -2.527095087882868789E-16 ) ) ; +#119 = VERTEX_POINT ( 'NONE', #2682 ) ; +#120 = AXIS2_PLACEMENT_3D ( 'NONE', #6225, #10196, #9335 ) ; +#121 = PLANE ( 'NONE', #11493 ) ; +#122 = CYLINDRICAL_SURFACE ( 'NONE', #5830, 1.000000000000000888 ) ; +#123 = VERTEX_POINT ( 'NONE', #10616 ) ; +#124 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#125 = ORIENTED_EDGE ( 'NONE', *, *, #6116, .T. ) ; +#126 = EDGE_CURVE ( 'NONE', #1206, #11410, #3413, .T. ) ; +#127 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#128 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -58.46605763575112746, 16.74016224672766739 ) ) ; +#129 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#130 = DATE_AND_TIME ( #5074, #2464 ) ; +#131 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575114167, 14.76002382984610861 ) ) ; +#132 = EDGE_CURVE ( 'NONE', #5130, #7975, #1692, .T. ) ; +#133 = VERTEX_POINT ( 'NONE', #8650 ) ; +#134 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#135 = VECTOR ( 'NONE', #5999, 1000.000000000000000 ) ; +#136 = EDGE_LOOP ( 'NONE', ( #5020, #11550, #816, #509 ) ) ; +#137 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 8.450093038286887293 ) ) ; +#138 = VECTOR ( 'NONE', #1301, 1000.000000000000227 ) ; +#139 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 0.7500238298461039399 ) ) ; +#140 = EDGE_CURVE ( 'NONE', #8281, #1213, #5732, .T. ) ; +#141 = ORIENTED_EDGE ( 'NONE', *, *, #3097, .T. ) ; +#142 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#143 = FACE_OUTER_BOUND ( 'NONE', #5709, .T. ) ; +#144 = VECTOR ( 'NONE', #7654, 1000.000000000000000 ) ; +#145 = ORIENTED_EDGE ( 'NONE', *, *, #9418, .T. ) ; +#146 = CARTESIAN_POINT ( 'NONE', ( -66.22964788226590827, -80.78749888766668619, 0.7600238298452459684 ) ) ; +#147 = AXIS2_PLACEMENT_3D ( 'NONE', #7708, #2780, #2847 ) ; +#148 = VERTEX_POINT ( 'NONE', #1496 ) ; +#149 = LINE ( 'NONE', #10881, #8674 ) ; +#150 = EDGE_CURVE ( 'NONE', #298, #12419, #2485, .T. ) ; +#151 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -59.01605763575113173, 36.94034842993836065 ) ) ; +#152 = ORIENTED_EDGE ( 'NONE', *, *, #1736, .T. ) ; +#153 = FACE_OUTER_BOUND ( 'NONE', #2540, .T. ) ; +#154 = ORIENTED_EDGE ( 'NONE', *, *, #12189, .T. ) ; +#155 = CARTESIAN_POINT ( 'NONE', ( -116.6732076318763518, -84.33055574297587498, 3.740162246727900985 ) ) ; +#156 = EDGE_CURVE ( 'NONE', #463, #3105, #11711, .T. ) ; +#157 = ORIENTED_EDGE ( 'NONE', *, *, #4498, .F. ) ; +#158 = AXIS2_PLACEMENT_3D ( 'NONE', #1848, #6001, #1049 ) ; +#159 = ADVANCED_FACE ( 'NONE', ( #5073 ), #5004, .F. ) ; +#160 = EDGE_CURVE ( 'NONE', #2404, #6502, #6778, .T. ) ; +#161 = ADVANCED_FACE ( 'NONE', ( #2881 ), #6963, .T. ) ; +#162 = CARTESIAN_POINT ( 'NONE', ( -96.61084556480354024, -59.01605763575113173, 28.97303062765322323 ) ) ; +#163 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -33.25000000000000000, 15.50019557898779610 ) ) ; +#164 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -76.14639752325007294, 19.25016224672767251 ) ) ; +#165 = PLANE ( 'NONE', #756 ) ; +#166 = EDGE_LOOP ( 'NONE', ( #11494, #5242, #1835, #8300 ) ) ; +#167 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 15.25016224672767784 ) ) ; +#168 = VECTOR ( 'NONE', #12619, 1000.000000000000000 ) ; +#169 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#170 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#171 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, 3.427649870184929171, 0.7500238298461048281 ) ) ; +#172 = VERTEX_POINT ( 'NONE', #9040 ) ; +#173 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -84.96605763575112746, 16.74016224672766739 ) ) ; +#174 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 3.916690496512774899 ) ) ; +#175 = ORIENTED_EDGE ( 'NONE', *, *, #3500, .F. ) ; +#176 = AXIS2_PLACEMENT_3D ( 'NONE', #2486, #10486, #1568 ) ; +#177 = CARTESIAN_POINT ( 'NONE', ( -71.67536236409605976, -13.64723658694747854, 2.229361289580832128 ) ) ; +#178 = FACE_OUTER_BOUND ( 'NONE', #8567, .T. ) ; +#179 = PLANE ( 'NONE', #3660 ) ; +#180 = ORIENTED_EDGE ( 'NONE', *, *, #5623, .T. ) ; +#181 = CARTESIAN_POINT ( 'NONE', ( -82.82856908168551513, -58.46605763575112746, 1.375023829845842149 ) ) ; +#182 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#183 = CARTESIAN_POINT ( 'NONE', ( -118.0767785431339831, -66.06028348754345814, 5.281975364256953576 ) ) ; +#184 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#185 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164844250, -69.25895085456457423, 15.02182321764525419 ) ) ; +#186 = ORIENTED_EDGE ( 'NONE', *, *, #11235, .T. ) ; +#187 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#188 = ORIENTED_EDGE ( 'NONE', *, *, #11035, .T. ) ; +#189 = DIRECTION ( 'NONE', ( -8.106201521881305841E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#190 = LINE ( 'NONE', #4157, #3033 ) ; +#191 = DIRECTION ( 'NONE', ( 0.9396926207859108704, -0.000000000000000000, 0.3420201433256618295 ) ) ; +#192 = CALENDAR_DATE ( 2026, 26, 7 ) ; +#193 = LINE ( 'NONE', #7157, #9205 ) ; +#194 = ADVANCED_FACE ( 'NONE', ( #8910 ), #10991, .F. ) ; +#195 = VERTEX_POINT ( 'NONE', #6045 ) ; +#196 = CARTESIAN_POINT ( 'NONE', ( -111.2543153225863932, -64.96605763575112746, 17.12516224672793541 ) ) ; +#197 = ORIENTED_EDGE ( 'NONE', *, *, #8973, .T. ) ; +#198 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -63.46605763575112746, 4.250023829846105272 ) ) ; +#199 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#200 = ORIENTED_EDGE ( 'NONE', *, *, #6113, .T. ) ; +#201 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.673617379884040402E-17 ) ) ; +#202 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#203 = CARTESIAN_POINT ( 'NONE', ( -65.32742487290673239, -74.76055459482905974, 0.7600238298461079456 ) ) ; +#204 = VECTOR ( 'NONE', #6714, 1000.000000000000000 ) ; +#205 = ORIENTED_EDGE ( 'NONE', *, *, #3019, .T. ) ; +#206 = CYLINDRICAL_SURFACE ( 'NONE', #4939, 7.700000000002309442 ) ; +#207 = EDGE_CURVE ( 'NONE', #1366, #1479, #3958, .T. ) ; +#208 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#209 = ORIENTED_EDGE ( 'NONE', *, *, #948, .T. ) ; +#210 = CARTESIAN_POINT ( 'NONE', ( -110.6810622036169605, -64.96605763575112746, 15.55016224672746361 ) ) ; +#211 = VERTEX_POINT ( 'NONE', #4884 ) ; +#212 = CARTESIAN_POINT ( 'NONE', ( -116.9778737529107531, -82.82570107093907552, 2.740162246727674500 ) ) ; +#213 = ORIENTED_EDGE ( 'NONE', *, *, #4038, .F. ) ; +#214 = EDGE_CURVE ( 'NONE', #6645, #9686, #2082, .T. ) ; +#215 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#216 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -59.01605763575113173, 35.75009303828682050 ) ) ; +#217 = FACE_OUTER_BOUND ( 'NONE', #12866, .T. ) ; +#218 = LINE ( 'NONE', #12055, #12175 ) ; +#219 = ORIENTED_EDGE ( 'NONE', *, *, #3962, .F. ) ; +#220 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#221 = EDGE_CURVE ( 'NONE', #2515, #6651, #10021, .T. ) ; +#222 = VECTOR ( 'NONE', #3700, 1000.000000000000000 ) ; +#223 = LINE ( 'NONE', #4133, #2995 ) ; +#224 = LINE ( 'NONE', #11412, #10414 ) ; +#225 = EDGE_CURVE ( 'NONE', #7012, #12693, #9979, .T. ) ; +#226 = LINE ( 'NONE', #7249, #3148 ) ; +#227 = ORIENTED_EDGE ( 'NONE', *, *, #9257, .T. ) ; +#228 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#229 = CARTESIAN_POINT ( 'NONE', ( -120.9825526910723994, -71.35197186252925405, 17.74016224672767095 ) ) ; +#230 = ORIENTED_EDGE ( 'NONE', *, *, #7548, .T. ) ; +#231 = EDGE_CURVE ( 'NONE', #10514, #463, #10067, .T. ) ; +#232 = AXIS2_PLACEMENT_3D ( 'NONE', #5297, #10247, #10129 ) ; +#233 = PLANE ( 'NONE', #7338 ) ; +#234 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 14.76002382984610861 ) ) ; +#235 = CARTESIAN_POINT ( 'NONE', ( -68.92848181045832234, -64.96605763575475123, 11.36038916946935728 ) ) ; +#236 = ORIENTED_EDGE ( 'NONE', *, *, #762, .F. ) ; +#237 = LINE ( 'NONE', #11710, #9491 ) ; +#238 = EDGE_CURVE ( 'NONE', #10838, #12147, #9762, .T. ) ; +#239 = FACE_OUTER_BOUND ( 'NONE', #1769, .T. ) ; +#240 = LINE ( 'NONE', #10200, #1494 ) ; +#241 = AXIS2_PLACEMENT_3D ( 'NONE', #8533, #6659, #865 ) ; +#242 = ORIENTED_EDGE ( 'NONE', *, *, #11656, .T. ) ; +#243 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#244 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -84.96605763575112746, 15.76002382984610328 ) ) ; +#245 = ORIENTED_EDGE ( 'NONE', *, *, #2289, .F. ) ; +#246 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#247 = EDGE_LOOP ( 'NONE', ( #738, #141, #4967, #1558 ) ) ; +#248 = CYLINDRICAL_SURFACE ( 'NONE', #10494, 7.700000000002305889 ) ; +#249 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#250 = CIRCLE ( 'NONE', #7517, 7.700000000002309442 ) ; +#251 = AXIS2_PLACEMENT_3D ( 'NONE', #9992, #12008, #9805 ) ; +#252 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -51.45000000000000284, 17.75002382984610350 ) ) ; +#253 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#254 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#255 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #2112, #3158, #10056, #10419 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 1.570796326794896558, 3.141592653589793116 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#256 = VERTEX_POINT ( 'NONE', #6838 ) ; +#257 = CIRCLE ( 'NONE', #3782, 1.000000000000000888 ) ; +#258 = CARTESIAN_POINT ( 'NONE', ( -87.68866143511344546, -58.46605763575112746, 17.12516224672793541 ) ) ; +#259 = CIRCLE ( 'NONE', #1293, 0.9999999999999992228 ) ; +#260 = EDGE_LOOP ( 'NONE', ( #9372, #10207, #2115, #9173 ) ) ; +#261 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#262 = ORIENTED_EDGE ( 'NONE', *, *, #5554, .T. ) ; +#263 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.8660254037844354880, -0.5000000000000056621 ) ) ; +#264 = ADVANCED_FACE ( 'NONE', ( #7868 ), #12745, .F. ) ; +#265 = AXIS2_PLACEMENT_3D ( 'NONE', #4538, #2784, #8685 ) ; +#266 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 3.740162246727669615 ) ) ; +#267 = CARTESIAN_POINT ( 'NONE', ( -70.73447128684904328, -83.89835002395166441, 0.7600238298460970654 ) ) ; +#268 = VECTOR ( 'NONE', #6484, 1000.000000000000000 ) ; +#269 = VERTEX_POINT ( 'NONE', #10805 ) ; +#270 = CARTESIAN_POINT ( 'NONE', ( -99.06947739121399366, -65.01605763575113883, 35.39956857024498760 ) ) ; +#271 = ORIENTED_EDGE ( 'NONE', *, *, #1596, .T. ) ; +#272 = LINE ( 'NONE', #8326, #2323 ) ; +#273 = ORIENTED_EDGE ( 'NONE', *, *, #12230, .F. ) ; +#274 = PLANE ( 'NONE', #12235 ) ; +#275 = VECTOR ( 'NONE', #6965, 1000.000000000000000 ) ; +#276 = ORIENTED_EDGE ( 'NONE', *, *, #3810, .T. ) ; +#277 = AXIS2_PLACEMENT_3D ( 'NONE', #5417, #3404, #7433 ) ; +#278 = CARTESIAN_POINT ( 'NONE', ( -120.1871104108106749, -79.74865146051135412, 2.740162246732034568 ) ) ; +#279 = ORIENTED_EDGE ( 'NONE', *, *, #1669, .T. ) ; +#280 = ADVANCED_FACE ( 'NONE', ( #3841 ), #2998, .F. ) ; +#281 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#282 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.25000000000000711, 21.75002382984610705 ) ) ; +#283 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#284 = VECTOR ( 'NONE', #3098, 1000.000000000000000 ) ; +#285 = VERTEX_POINT ( 'NONE', #9827 ) ; +#286 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#287 = VECTOR ( 'NONE', #3440, 1000.000000000000000 ) ; +#288 = AXIS2_PLACEMENT_3D ( 'NONE', #10987, #124, #12154 ) ; +#289 = CYLINDRICAL_SURFACE ( 'NONE', #9396, 1.000000000000000888 ) ; +#290 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -27.25000000000000355, 73.00000000000001421 ) ) ; +#291 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -33.25000000000000000, 9.250093038286888003 ) ) ; +#292 = EDGE_CURVE ( 'NONE', #4531, #6715, #2506, .T. ) ; +#293 = VECTOR ( 'NONE', #1207, 1000.000000000000114 ) ; +#294 = ORIENTED_EDGE ( 'NONE', *, *, #3781, .F. ) ; +#295 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.8660254037844344888, -0.5000000000000069944 ) ) ; +#296 = LINE ( 'NONE', #8480, #5707 ) ; +#297 = VECTOR ( 'NONE', #10955, 1000.000000000000000 ) ; +#298 = VERTEX_POINT ( 'NONE', #5987 ) ; +#299 = EDGE_CURVE ( 'NONE', #6656, #5265, #4, .T. ) ; +#300 = CIRCLE ( 'NONE', #8386, 6.124000000001836419 ) ; +#301 = DIRECTION ( 'NONE', ( 3.002406016113880042E-17, 0.000000000000000000, -1.000000000000000000 ) ) ; +#302 = APPROVAL ( #5138, '未' ) ; +#303 = LINE ( 'NONE', #4271, #6167 ) ; +#304 = AXIS2_PLACEMENT_3D ( 'NONE', #7814, #12754, #3849 ) ; +#305 = ORIENTED_EDGE ( 'NONE', *, *, #1002, .F. ) ; +#306 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#307 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#308 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#309 = ADVANCED_FACE ( 'NONE', ( #8306 ), #12217, .F. ) ; +#310 = VECTOR ( 'NONE', #10103, 1000.000000000000000 ) ; +#311 = EDGE_LOOP ( 'NONE', ( #6067, #557, #3333, #4544 ) ) ; +#312 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#313 = CARTESIAN_POINT ( 'NONE', ( -106.0175802681958572, -64.96605763575112746, 2.950023829846315060 ) ) ; +#314 = ORIENTED_EDGE ( 'NONE', *, *, #5865, .F. ) ; +#315 = VECTOR ( 'NONE', #8934, 1000.000000000000000 ) ; +#316 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#317 = ORIENTED_EDGE ( 'NONE', *, *, #9776, .T. ) ; +#318 = EDGE_CURVE ( 'NONE', #5130, #484, #4291, .T. ) ; +#319 = FACE_OUTER_BOUND ( 'NONE', #11854, .T. ) ; +#320 = EDGE_CURVE ( 'NONE', #9686, #9267, #8121, .T. ) ; +#321 = FACE_OUTER_BOUND ( 'NONE', #10488, .T. ) ; +#322 = AXIS2_PLACEMENT_3D ( 'NONE', #6179, #11838, #10860 ) ; +#323 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#324 = LINE ( 'NONE', #12218, #1298 ) ; +#325 = VERTEX_POINT ( 'NONE', #8187 ) ; +#326 = PLANE ( 'NONE', #1707 ) ; +#327 = ORIENTED_EDGE ( 'NONE', *, *, #3952, .F. ) ; +#328 = ORIENTED_EDGE ( 'NONE', *, *, #2545, .F. ) ; +#329 = AXIS2_PLACEMENT_3D ( 'NONE', #830, #5646, #7595 ) ; +#330 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#331 = CARTESIAN_POINT ( 'NONE', ( -112.9284818104619177, -58.46605763575112746, 0.2500238298461107123 ) ) ; +#332 = CARTESIAN_POINT ( 'NONE', ( -65.77647683315518634, -76.77587640842065753, 0.7600238298461070574 ) ) ; +#333 = VERTEX_POINT ( 'NONE', #8246 ) ; +#334 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 14.76002382984610861 ) ) ; +#335 = VERTEX_POINT ( 'NONE', #10091 ) ; +#336 = TOROIDAL_SURFACE ( 'NONE', #9902, 2.000000000000000000, 1.000000000000000000 ) ; +#337 = LINE ( 'NONE', #1379, #6061 ) ; +#338 = AXIS2_PLACEMENT_3D ( 'NONE', #5339, #2003, #4799 ) ; +#339 = ORIENTED_EDGE ( 'NONE', *, *, #3066, .T. ) ; +#340 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#341 = EDGE_CURVE ( 'NONE', #1366, #1001, #9296, .T. ) ; +#342 = EDGE_LOOP ( 'NONE', ( #7423, #8534, #1157, #2215 ) ) ; +#343 = CARTESIAN_POINT ( 'NONE', ( -121.8631418468224581, -72.72774175408382291, 3.740162246726323136 ) ) ; +#344 = ORIENTED_EDGE ( 'NONE', *, *, #9052, .F. ) ; +#345 = CIRCLE ( 'NONE', #7616, 6.124000000001832866 ) ; +#346 = FACE_OUTER_BOUND ( 'NONE', #9355, .T. ) ; +#347 = CARTESIAN_POINT ( 'NONE', ( -86.06279969908220551, -64.96605763575112746, 15.55016224672746183 ) ) ; +#348 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053528749, -65.01605763575113883, 36.61720551108079746 ) ) ; +#349 = ORIENTED_EDGE ( 'NONE', *, *, #7781, .T. ) ; +#350 = CARTESIAN_POINT ( 'NONE', ( -79.62820200818792671, -58.46605763575112746, 2.950023829846315060 ) ) ; +#351 = LINE ( 'NONE', #12381, #650 ) ; +#352 = VERTEX_POINT ( 'NONE', #3189 ) ; +#353 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#354 = EDGE_CURVE ( 'NONE', #4104, #8817, #3137, .T. ) ; +#355 = TOROIDAL_SURFACE ( 'NONE', #7625, 2.000000000000000000, 1.000000000000000000 ) ; +#356 = VERTEX_POINT ( 'NONE', #4349 ) ; +#357 = CARTESIAN_POINT ( 'NONE', ( -85.65229345422048368, -64.96605763575112746, 1.375023829845842149 ) ) ; +#358 = CARTESIAN_POINT ( 'NONE', ( -97.72099225676075207, -59.01605763575113173, 40.28422325670113224 ) ) ; +#359 = VERTEX_POINT ( 'NONE', #11124 ) ; +#360 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#361 = EDGE_CURVE ( 'NONE', #8075, #8668, #633, .T. ) ; +#362 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#363 = LINE ( 'NONE', #2318, #7382 ) ; +#364 = VECTOR ( 'NONE', #3787, 1000.000000000000000 ) ; +#365 = CIRCLE ( 'NONE', #8882, 2.800000000000836486 ) ; +#366 = ORIENTED_EDGE ( 'NONE', *, *, #9224, .F. ) ; +#367 = CARTESIAN_POINT ( 'NONE', ( -90.05052316422180070, -64.96605763575112746, 1.375023829845842149 ) ) ; +#368 = ORIENTED_EDGE ( 'NONE', *, *, #3082, .F. ) ; +#369 = CARTESIAN_POINT ( 'NONE', ( -85.02768393668618785, -64.96605763575112746, 1.375023829845842149 ) ) ; +#370 = CARTESIAN_POINT ( 'NONE', ( -100.8833505651173823, -64.96605763575112746, 17.12516224672793541 ) ) ; +#371 = ADVANCED_FACE ( 'NONE', ( #11054 ), #6180, .T. ) ; +#372 = ORIENTED_EDGE ( 'NONE', *, *, #5798, .T. ) ; +#373 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.673617379884040402E-17 ) ) ; +#374 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -65.01605763575113883, 36.61720551108070509 ) ) ; +#375 = AXIS2_PLACEMENT_3D ( 'NONE', #977, #4756, #10928 ) ; +#376 = ORIENTED_EDGE ( 'NONE', *, *, #7296, .F. ) ; +#377 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -84.96605763575112746, 16.74016224672766739 ) ) ; +#378 = ORIENTED_EDGE ( 'NONE', *, *, #3417, .F. ) ; +#379 = CARTESIAN_POINT ( 'NONE', ( -87.02215790113889682, -65.01605763575113883, 32.91049171141277441 ) ) ; +#380 = EDGE_CURVE ( 'NONE', #12577, #2900, #2334, .T. ) ; +#381 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#382 = ORIENTED_EDGE ( 'NONE', *, *, #7602, .T. ) ; +#383 = CLOSED_SHELL ( 'NONE', ( #3567, #12859, #11130, #5867, #12661, #12131, #6765, #10804, #4747, #6495, #12272, #1817, #8942, #7147, #3967, #12073, #1970, #4650, #8730, #5140, #8388, #439, #5810, #9525, #5926, #12070, #5244, #2928, #11002, #4441, #7370, #4348, #2432, #10412, #9140, #2933, #2065, #6197, #12560, #8417, #1750, #1570, #8649, #3630, #1146, #7364, #9188, #12852, #9567, #2283, #857, #904, #9352, #10389, #8796, #5003, #3756, #6678, #4440, #2774, #1126, #4334, #465, #10569, #11102, #5529, #10799, #9214, #10961, #10660, #3454, #10629, #11989, #5089, #1983, #8486, #5858, #7516, #8205, #6350, #9128, #3028, #3602, #12284, #6609, #3924, #5639, #9057, #1642 ) ) ; +#384 = DIRECTION ( 'NONE', ( 0.3420201433256621071, 0.000000000000000000, -0.9396926207859107594 ) ) ; +#385 = DATE_TIME_ROLE ( 'classification_date' ) ; +#386 = EDGE_CURVE ( 'NONE', #808, #2831, #6112, .T. ) ; +#387 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#388 = ORIENTED_EDGE ( 'NONE', *, *, #5370, .T. ) ; +#389 = ADVANCED_FACE ( 'NONE', ( #11243 ), #3312, .F. ) ; +#390 = CARTESIAN_POINT ( 'NONE', ( -82.82856908168551513, -64.96605763575112746, 1.375023829845842149 ) ) ; +#391 = EDGE_CURVE ( 'NONE', #5523, #2631, #6374, .T. ) ; +#392 = ORIENTED_EDGE ( 'NONE', *, *, #11338, .F. ) ; +#393 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#394 = VERTEX_POINT ( 'NONE', #252 ) ; +#395 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, 17.75002382984610350 ) ) ; +#396 = ADVANCED_FACE ( 'NONE', ( #1424 ), #4224, .F. ) ; +#397 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#398 = CARTESIAN_POINT ( 'NONE', ( -70.48456709035720280, -84.87238188173213871, 0.7600238298483119603 ) ) ; +#399 = ORIENTED_EDGE ( 'NONE', *, *, #12302, .T. ) ; +#400 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.5000000000000056621, 0.8660254037844354880 ) ) ; +#401 = EDGE_CURVE ( 'NONE', #11434, #4451, #4375, .T. ) ; +#402 = ORIENTED_EDGE ( 'NONE', *, *, #11270, .F. ) ; +#403 = CARTESIAN_POINT ( 'NONE', ( -108.4819473486163020, -64.96605763575112746, 15.55016224672746361 ) ) ; +#404 = VERTEX_POINT ( 'NONE', #2272 ) ; +#405 = CYLINDRICAL_SURFACE ( 'NONE', #1867, 7.700000000002305889 ) ; +#406 = ORIENTED_EDGE ( 'NONE', *, *, #1286, .F. ) ; +#407 = CARTESIAN_POINT ( 'NONE', ( -119.5239754395444862, -78.71085322202807788, 2.740162246727674056 ) ) ; +#408 = EDGE_CURVE ( 'NONE', #9852, #9523, #5414, .T. ) ; +#409 = ORIENTED_EDGE ( 'NONE', *, *, #3939, .F. ) ; +#410 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#411 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -58.46605763575112746, 0.000000000000000000 ) ) ; +#412 = CYLINDRICAL_SURFACE ( 'NONE', #4490, 2.800000000000836486 ) ; +#413 = ORIENTED_EDGE ( 'NONE', *, *, #8479, .F. ) ; +#414 = FACE_OUTER_BOUND ( 'NONE', #4082, .T. ) ; +#415 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#416 = ORIENTED_EDGE ( 'NONE', *, *, #7305, .T. ) ; +#417 = CARTESIAN_POINT ( 'NONE', ( -89.30018893699994464, -59.01605763575113173, 28.97303062765327653 ) ) ; +#418 = ORIENTED_EDGE ( 'NONE', *, *, #6064, .F. ) ; +#419 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#420 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#421 = ORIENTED_EDGE ( 'NONE', *, *, #7230, .T. ) ; +#422 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#423 = EDGE_CURVE ( 'NONE', #6392, #6996, #4797, .T. ) ; +#424 = CARTESIAN_POINT ( 'NONE', ( -95.28725821861233669, -64.96605763575112746, 15.55016224672746006 ) ) ; +#425 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#426 = ORIENTED_EDGE ( 'NONE', *, *, #12838, .F. ) ; +#427 = FACE_OUTER_BOUND ( 'NONE', #3126, .T. ) ; +#428 = ORIENTED_EDGE ( 'NONE', *, *, #2033, .T. ) ; +#429 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -33.25000000000000000, 0.7500238298461039399 ) ) ; +#430 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#431 = ORIENTED_EDGE ( 'NONE', *, *, #5724, .T. ) ; +#432 = FACE_OUTER_BOUND ( 'NONE', #2623, .T. ) ; +#433 = CARTESIAN_POINT ( 'NONE', ( -80.46670735257715990, -64.96605763575112746, 17.12516224672793541 ) ) ; +#434 = ORIENTED_EDGE ( 'NONE', *, *, #9683, .T. ) ; +#435 = AXIS2_PLACEMENT_3D ( 'NONE', #8535, #3607, #7570 ) ; +#436 = CARTESIAN_POINT ( 'NONE', ( -76.40062160693628357, -33.25000000000000000, 3.000000000000002665 ) ) ; +#437 = ORIENTED_EDGE ( 'NONE', *, *, #1220, .F. ) ; +#438 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#439 = ADVANCED_FACE ( 'NONE', ( #10279 ), #8062, .F. ) ; +#440 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -29.25000000000000000, 20.75002382984610350 ) ) ; +#441 = ORIENTED_EDGE ( 'NONE', *, *, #1822, .F. ) ; +#442 = AXIS2_PLACEMENT_3D ( 'NONE', #10883, #4901, #3020 ) ; +#443 = CARTESIAN_POINT ( 'NONE', ( -109.2179473416934314, -64.96605763575112746, 1.375023829845842149 ) ) ; +#444 = LINE ( 'NONE', #1425, #3603 ) ; +#445 = EDGE_LOOP ( 'NONE', ( #3521, #3139, #3291, #761 ) ) ; +#446 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#447 = EDGE_CURVE ( 'NONE', #4008, #4338, #842, .T. ) ; +#448 = ORIENTED_EDGE ( 'NONE', *, *, #8453, .F. ) ; +#449 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#450 = VERTEX_POINT ( 'NONE', #12346 ) ; +#451 = AXIS2_PLACEMENT_3D ( 'NONE', #8267, #12236, #6451 ) ; +#452 = CARTESIAN_POINT ( 'NONE', ( -65.44005981134904459, -75.36534971430498331, 15.76002382984609973 ) ) ; +#453 = ADVANCED_FACE ( 'NONE', ( #640 ), #1554, .T. ) ; +#454 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#455 = EDGE_CURVE ( 'NONE', #11355, #7932, #3636, .T. ) ; +#456 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 0.7600238298461016173 ) ) ; +#457 = VECTOR ( 'NONE', #11956, 1000.000000000000000 ) ; +#458 = ORIENTED_EDGE ( 'NONE', *, *, #11992, .T. ) ; +#459 = LINE ( 'NONE', #2163, #7840 ) ; +#460 = VECTOR ( 'NONE', #5394, 1000.000000000000000 ) ; +#461 = VERTEX_POINT ( 'NONE', #10603 ) ; +#462 = LINE ( 'NONE', #8202, #5022 ) ; +#463 = VERTEX_POINT ( 'NONE', #3569 ) ; +#464 = LINE ( 'NONE', #11333, #7670 ) ; +#465 = ADVANCED_FACE ( 'NONE', ( #9619 ), #12604, .T. ) ; +#466 = ORIENTED_EDGE ( 'NONE', *, *, #7142, .F. ) ; +#467 = CARTESIAN_POINT ( 'NONE', ( -121.9819915484639239, -70.22289204113612016, 3.740162246727440909 ) ) ; +#468 = ORIENTED_EDGE ( 'NONE', *, *, #4821, .F. ) ; +#469 = CIRCLE ( 'NONE', #4000, 2.800000000000836486 ) ; +#470 = EDGE_CURVE ( 'NONE', #7234, #10664, #11382, .T. ) ; +#471 = CIRCLE ( 'NONE', #10449, 6.124000000001829314 ) ; +#472 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#473 = LINE ( 'NONE', #11408, #8578 ) ; +#474 = DIRECTION ( 'NONE', ( -0.9396926207859083169, 0.000000000000000000, -0.3420201433256689350 ) ) ; +#475 = VERTEX_POINT ( 'NONE', #5451 ) ; +#476 = CARTESIAN_POINT ( 'NONE', ( -86.06279969908220551, -64.96605763575112746, 15.55016224672746183 ) ) ; +#477 = CYLINDRICAL_SURFACE ( 'NONE', #9806, 1.000000000000000888 ) ; +#478 = ORIENTED_EDGE ( 'NONE', *, *, #12584, .T. ) ; +#479 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#480 = AXIS2_PLACEMENT_3D ( 'NONE', #6530, #3666, #5745 ) ; +#481 = ORIENTED_EDGE ( 'NONE', *, *, #2299, .F. ) ; +#482 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#483 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#484 = VERTEX_POINT ( 'NONE', #3444 ) ; +#485 = AXIS2_PLACEMENT_3D ( 'NONE', #5894, #5829, #6015 ) ; +#486 = CARTESIAN_POINT ( 'NONE', ( -79.46545513408021577, -58.46605763575112746, 15.55016224672746183 ) ) ; +#487 = CIRCLE ( 'NONE', #1955, 2.800000000000836486 ) ; +#488 = CARTESIAN_POINT ( 'NONE', ( -76.40062160693628357, -16.25000000000000000, 3.000000000000002665 ) ) ; +#489 = LINE ( 'NONE', #4331, #4480 ) ; +#490 = VECTOR ( 'NONE', #1222, 1000.000000000000000 ) ; +#491 = ORIENTED_EDGE ( 'NONE', *, *, #11278, .F. ) ; +#492 = CARTESIAN_POINT ( 'NONE', ( -101.4566036840868151, -64.96605763575112746, 15.55016224672746183 ) ) ; +#493 = VERTEX_POINT ( 'NONE', #4481 ) ; +#495 = VECTOR ( 'NONE', #2956, 1000.000000000000114 ) ; +#494 = FACE_OUTER_BOUND ( 'NONE', #10602, .T. ) ; +#496 = DIRECTION ( 'NONE', ( 0.3420201433256689350, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#497 = ORIENTED_EDGE ( 'NONE', *, *, #7938, .F. ) ; +#498 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#499 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#500 = AXIS2_PLACEMENT_3D ( 'NONE', #9318, #281, #10500 ) ; +#501 = EDGE_CURVE ( 'NONE', #1860, #11413, #1481, .T. ) ; +#502 = VECTOR ( 'NONE', #11097, 1000.000000000000000 ) ; +#503 = ORIENTED_EDGE ( 'NONE', *, *, #7767, .F. ) ; +#504 = PLANE ( 'NONE', #3212 ) ; +#505 = ORIENTED_EDGE ( 'NONE', *, *, #7417, .F. ) ; +#506 = AXIS2_PLACEMENT_3D ( 'NONE', #8232, #11171, #7136 ) ; +#507 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#508 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 10.00000000000000000 ) ) ; +#509 = ORIENTED_EDGE ( 'NONE', *, *, #4807, .T. ) ; +#510 = AXIS2_PLACEMENT_3D ( 'NONE', #1511, #4376, #410 ) ; +#511 = VECTOR ( 'NONE', #3200, 1000.000000000000000 ) ; +#512 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#513 = CARTESIAN_POINT ( 'NONE', ( -86.84155711058959071, -65.01605763575113883, 36.10061750632883104 ) ) ; +#514 = ORIENTED_EDGE ( 'NONE', *, *, #8235, .T. ) ; +#515 = CIRCLE ( 'NONE', #7785, 2.800000000000836486 ) ; +#516 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#517 = EDGE_CURVE ( 'NONE', #7718, #12482, #4610, .T. ) ; +#518 = VERTEX_POINT ( 'NONE', #9422 ) ; +#519 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#520 = ORIENTED_EDGE ( 'NONE', *, *, #299, .F. ) ; +#521 = CARTESIAN_POINT ( 'NONE', ( -67.26233056668274912, -80.59862178778702457, 15.76002382984610684 ) ) ; +#522 = CARTESIAN_POINT ( 'NONE', ( -89.64540189891243926, -59.01605763575113173, 40.90242380761321783 ) ) ; +#523 = VECTOR ( 'NONE', #11965, 1000.000000000000000 ) ; +#524 = ADVANCED_FACE ( 'NONE', ( #5525 ), #10467, .T. ) ; +#525 = LINE ( 'NONE', #12425, #8026 ) ; +#526 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#527 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#528 = ORIENTED_EDGE ( 'NONE', *, *, #57, .F. ) ; +#529 = LINE ( 'NONE', #4501, #11877 ) ; +#530 = ORIENTED_EDGE ( 'NONE', *, *, #7001, .T. ) ; +#531 = CARTESIAN_POINT ( 'NONE', ( -108.2166951231965157, -58.46605763575112746, 2.950023829846315060 ) ) ; +#532 = AXIS2_PLACEMENT_3D ( 'NONE', #8106, #8045, #3949 ) ; +#533 = VERTEX_POINT ( 'NONE', #9353 ) ; +#534 = LINE ( 'NONE', #4568, #2588 ) ; +#535 = EDGE_LOOP ( 'NONE', ( #5698, #3641, #6802, #1274 ) ) ; +#536 = CIRCLE ( 'NONE', #6351, 2.800000000000836486 ) ; +#537 = LINE ( 'NONE', #7299, #2166 ) ; +#539 = EDGE_CURVE ( 'NONE', #742, #5307, #2534, .T. ) ; +#538 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -26.25000000000000355, 3.000000000000002665 ) ) ; +#540 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#541 = LINE ( 'NONE', #7434, #555 ) ; +#542 = VECTOR ( 'NONE', #8212, 1000.000000000000000 ) ; +#543 = VECTOR ( 'NONE', #7788, 1000.000000000000000 ) ; +#544 = ORIENTED_EDGE ( 'NONE', *, *, #3649, .F. ) ; +#545 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -65.96605763575112746, 7.740162246727670059 ) ) ; +#546 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#547 = ORIENTED_EDGE ( 'NONE', *, *, #4357, .T. ) ; +#548 = CARTESIAN_POINT ( 'NONE', ( -105.4443271492264103, -58.46605763575112746, 1.375023829845842149 ) ) ; +#549 = EDGE_CURVE ( 'NONE', #8448, #12505, #8565, .T. ) ; +#550 = EDGE_CURVE ( 'NONE', #394, #3548, #7403, .T. ) ; +#551 = ORIENTED_EDGE ( 'NONE', *, *, #140, .F. ) ; +#552 = EDGE_CURVE ( 'NONE', #10560, #586, #12219, .T. ) ; +#553 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#554 = EDGE_CURVE ( 'NONE', #599, #7800, #579, .T. ) ; +#555 = VECTOR ( 'NONE', #10570, 1000.000000000000000 ) ; +#556 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 12.49999982601869775, 0.000000000000000000 ) ) ; +#557 = ORIENTED_EDGE ( 'NONE', *, *, #5386, .F. ) ; +#558 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -83.96605763575112746, 3.740162246727670503 ) ) ; +#559 = EDGE_CURVE ( 'NONE', #12178, #1232, #8443, .T. ) ; +#560 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -1.334402673828313586E-16 ) ) ; +#561 = CARTESIAN_POINT ( 'NONE', ( -104.2464645127226817, -64.96605763575112746, 2.950023829846315060 ) ) ; +#562 = ORIENTED_EDGE ( 'NONE', *, *, #1302, .F. ) ; +#563 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, 13.24999999999810285, 9.000000000000001776 ) ) ; +#564 = AXIS2_PLACEMENT_3D ( 'NONE', #8814, #10960, #7897 ) ; +#565 = VERTEX_POINT ( 'NONE', #7528 ) ; +#566 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -59.01605763575113173, 36.94034842993836065 ) ) ; +#567 = LINE ( 'NONE', #11429, #11067 ) ; +#568 = ORIENTED_EDGE ( 'NONE', *, *, #8091, .T. ) ; +#569 = CARTESIAN_POINT ( 'NONE', ( -89.62130666395805179, -59.01605763575113173, 28.80941297348431718 ) ) ; +#570 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#571 = EDGE_LOOP ( 'NONE', ( #4328, #8957, #327, #3222 ) ) ; +#572 = CYLINDRICAL_SURFACE ( 'NONE', #89, 1.000000000000000888 ) ; +#573 = ORIENTED_EDGE ( 'NONE', *, *, #2974, .T. ) ; +#574 = AXIS2_PLACEMENT_3D ( 'NONE', #1186, #5277, #9248 ) ; +#575 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#576 = CIRCLE ( 'NONE', #1195, 2.800000000000836486 ) ; +#577 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#578 = ORIENTED_EDGE ( 'NONE', *, *, #12507, .F. ) ; +#579 = LINE ( 'NONE', #8633, #12478 ) ; +#580 = CARTESIAN_POINT ( 'NONE', ( -79.62820200818792671, -64.96605763575112746, 2.950023829846315060 ) ) ; +#581 = VERTEX_POINT ( 'NONE', #2606 ) ; +#582 = AXIS2_PLACEMENT_3D ( 'NONE', #9439, #527, #2549 ) ; +#583 = CARTESIAN_POINT ( 'NONE', ( -86.84155711058957650, -59.01605763575113173, 35.39956857024507286 ) ) ; +#584 = ORIENTED_EDGE ( 'NONE', *, *, #126, .F. ) ; +#585 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -76.14639752325007294, 15.25016224672767073 ) ) ; +#586 = VERTEX_POINT ( 'NONE', #10538 ) ; +#587 = CARTESIAN_POINT ( 'NONE', ( -68.55769985449234127, -83.82780703507620501, 15.76002382984669836 ) ) ; +#588 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164845671, -65.25895085456458844, 4.250023829846105272 ) ) ; +#589 = EDGE_CURVE ( 'NONE', #1309, #5041, #2524, .T. ) ; +#590 = EDGE_CURVE ( 'NONE', #5404, #533, #7902, .T. ) ; +#591 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 14.76002382984610151 ) ) ; +#592 = FACE_OUTER_BOUND ( 'NONE', #11049, .T. ) ; +#593 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#594 = FACE_OUTER_BOUND ( 'NONE', #9714, .T. ) ; +#595 = ORIENTED_EDGE ( 'NONE', *, *, #5706, .F. ) ; +#596 = LINE ( 'NONE', #9642, #1489 ) ; +#597 = VERTEX_POINT ( 'NONE', #1994 ) ; +#598 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#599 = VERTEX_POINT ( 'NONE', #3037 ) ; +#600 = PLANE ( 'NONE', #2161 ) ; +#601 = VERTEX_POINT ( 'NONE', #5716 ) ; +#602 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -23.68297142738791550, -1.982026977722766148 ) ) ; +#603 = EDGE_CURVE ( 'NONE', #6558, #11069, #8940, .T. ) ; +#604 = CARTESIAN_POINT ( 'NONE', ( -91.46228162758046665, -58.46605763575112746, 17.12516224672793541 ) ) ; +#605 = LINE ( 'NONE', #10696, #3262 ) ; +#606 = ORIENTED_EDGE ( 'NONE', *, *, #9301, .T. ) ; +#607 = CARTESIAN_POINT ( 'NONE', ( -83.86368484408154700, -64.96605763575112746, 15.55016224672746183 ) ) ; +#608 = CARTESIAN_POINT ( 'NONE', ( -94.44875287422310350, -64.96605763575112746, 1.375023829845842149 ) ) ; +#609 = ORIENTED_EDGE ( 'NONE', *, *, #8713, .T. ) ; +#610 = LINE ( 'NONE', #4644, #11655 ) ; +#611 = EDGE_LOOP ( 'NONE', ( #12180, #11561, #4244, #11993 ) ) ; +#612 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -58.46605763575112746, 19.25016224672767251 ) ) ; +#613 = EDGE_CURVE ( 'NONE', #12785, #6694, #8094, .T. ) ; +#614 = CIRCLE ( 'NONE', #2071, 1.000000000000000888 ) ; +#615 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 12.40682891339433347 ) ) ; +#616 = ORIENTED_EDGE ( 'NONE', *, *, #1740, .T. ) ; +#617 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#618 = EDGE_CURVE ( 'NONE', #6717, #8937, #9796, .T. ) ; +#619 = DIRECTION ( 'NONE', ( 0.3420201433256620516, 0.000000000000000000, -0.9396926207859107594 ) ) ; +#620 = CYLINDRICAL_SURFACE ( 'NONE', #11564, 7.700000000002309442 ) ; +#621 = EDGE_CURVE ( 'NONE', #6917, #9529, #3758, .T. ) ; +#622 = VERTEX_POINT ( 'NONE', #8697 ) ; +#623 = FACE_OUTER_BOUND ( 'NONE', #2884, .T. ) ; +#624 = EDGE_LOOP ( 'NONE', ( #794, #6713, #12041, #5559 ) ) ; +#625 = FACE_OUTER_BOUND ( 'NONE', #5388, .T. ) ; +#626 = LINE ( 'NONE', #10652, #2348 ) ; +#627 = ORIENTED_EDGE ( 'NONE', *, *, #10169, .F. ) ; +#628 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, 13.24999999999810285, 0.000000000000000000 ) ) ; +#629 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 9.250093038286888003 ) ) ; +#630 = EDGE_CURVE ( 'NONE', #6337, #4960, #5421, .T. ) ; +#631 = LINE ( 'NONE', #10459, #5694 ) ; +#632 = ORIENTED_EDGE ( 'NONE', *, *, #6368, .F. ) ; +#633 = CIRCLE ( 'NONE', #9566, 2.000000000000001776 ) ; +#634 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#635 = VECTOR ( 'NONE', #11967, 1000.000000000000000 ) ; +#636 = EDGE_CURVE ( 'NONE', #4539, #10670, #22, .T. ) ; +#637 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -63.46605763575112746, 14.25016224672766896 ) ) ; +#638 = FACE_OUTER_BOUND ( 'NONE', #2953, .T. ) ; +#639 = ORIENTED_EDGE ( 'NONE', *, *, #3019, .F. ) ; +#640 = FACE_OUTER_BOUND ( 'NONE', #2576, .T. ) ; +#641 = LINE ( 'NONE', #4549, #9601 ) ; +#642 = ORIENTED_EDGE ( 'NONE', *, *, #11281, .F. ) ; +#643 = VECTOR ( 'NONE', #4517, 1000.000000000000000 ) ; +#644 = CYLINDRICAL_SURFACE ( 'NONE', #10248, 2.800000000000843592 ) ; +#645 = VERTEX_POINT ( 'NONE', #3099 ) ; +#646 = DIRECTION ( 'NONE', ( -0.9396926207859082059, 0.000000000000000000, 0.3420201433256692680 ) ) ; +#647 = VERTEX_POINT ( 'NONE', #11873 ) ; +#648 = CARTESIAN_POINT ( 'NONE', ( -68.72168196344682656, -83.95986372592551561, 14.76002382984533590 ) ) ; +#649 = CARTESIAN_POINT ( 'NONE', ( -94.28600600011540678, -64.96605763575112746, 17.12516224672793541 ) ) ; +#650 = VECTOR ( 'NONE', #3475, 1000.000000000000114 ) ; +#651 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#652 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#653 = CARTESIAN_POINT ( 'NONE', ( -64.66668242266275968, -69.96605763575114167, 0.7600238298461047259 ) ) ; +#654 = ORIENTED_EDGE ( 'NONE', *, *, #1996, .F. ) ; +#655 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, -0.3420201433256618295 ) ) ; +#656 = VERTEX_POINT ( 'NONE', #8153 ) ; +#657 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#658 = VECTOR ( 'NONE', #1308, 1000.000000000000000 ) ; +#659 = ORIENTED_EDGE ( 'NONE', *, *, #1075, .T. ) ; +#660 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -55.25000000000000711, -3.249976170153895172 ) ) ; +#661 = ORIENTED_EDGE ( 'NONE', *, *, #11592, .T. ) ; +#662 = EDGE_CURVE ( 'NONE', #1934, #6029, #2113, .T. ) ; +#663 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#664 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#665 = CARTESIAN_POINT ( 'NONE', ( -84.86493706257847691, -58.46605763575112746, 17.12516224672793541 ) ) ; +#666 = AXIS2_PLACEMENT_3D ( 'NONE', #5991, #9961, #1039 ) ; +#667 = ORIENTED_EDGE ( 'NONE', *, *, #2709, .F. ) ; +#668 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#669 = CARTESIAN_POINT ( 'NONE', ( -91.57332089559285748, -59.01605763575113173, 43.32502097427455823 ) ) ; +#670 = EDGE_LOOP ( 'NONE', ( #920, #6188, #10349, #2864 ) ) ; +#671 = LINE ( 'NONE', #5560, #4381 ) ; +#672 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 3, 2, ( + ( #5306, #9276, #8288 ), + ( #7385, #2451, #8426 ), + ( #12258, #8352, #11359 ), + ( #3355, #7448, #10383 ), + ( #1404, #5434, #9398 ), + ( #11290, #2390, #12138 ), + ( #4272, #4393, #8228 ), + ( #6349, #1212, #2193 ), + ( #6162, #235, #10137 ), + ( #9149, #8165, #7199 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 4, 2, 2, 2, 4 ), + ( 3, 3 ), + ( 4.712388980384689674, 5.105088062083414258, 5.497787143782137953, 5.890486225480861648, 6.283185307179586232 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7398497523650615637, 1.000000000000000000), + ( 1.000000000000000000, 0.7702345536269367132, 1.000000000000000000), + ( 1.000000000000000000, 0.8238783972476831918, 1.000000000000000000), + ( 1.000000000000000000, 0.8471316604616374590, 1.000000000000000000), + ( 1.000000000000000000, 0.8849191471072384019, 1.000000000000000000), + ( 1.000000000000000000, 0.8994581712216752623, 1.000000000000000000), + ( 1.000000000000000000, 0.9189375406288494696, 1.000000000000000000), + ( 1.000000000000000000, 0.9238886108933529462, 1.000000000000000000), + ( 1.000000000000000000, 0.9238795325112867385, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#673 = TOROIDAL_SURFACE ( 'NONE', #11691, 4.000000000000000000, 1.000000000000000000 ) ; +#674 = ORIENTED_EDGE ( 'NONE', *, *, #6823, .T. ) ; +#675 = CARTESIAN_POINT ( 'NONE', ( -97.64911994772072035, -58.46605763575112746, 2.950023829846314172 ) ) ; +#676 = ADVANCED_FACE ( 'NONE', ( #6935 ), #2053, .T. ) ; +#677 = VECTOR ( 'NONE', #12334, 1000.000000000000114 ) ; +#678 = VECTOR ( 'NONE', #1998, 1000.000000000000114 ) ; +#679 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#680 = LINE ( 'NONE', #2708, #11924 ) ; +#681 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -13.25000000000000178, 10.00000000000000000 ) ) ; +#682 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#683 = ORIENTED_EDGE ( 'NONE', *, *, #3419, .F. ) ; +#684 = LINE ( 'NONE', #1605, #1184 ) ; +#685 = EDGE_CURVE ( 'NONE', #10838, #1483, #3146, .T. ) ; +#686 = AXIS2_PLACEMENT_3D ( 'NONE', #9407, #9606, #498 ) ; +#687 = ORIENTED_EDGE ( 'NONE', *, *, #7048, .F. ) ; +#688 = CARTESIAN_POINT ( 'NONE', ( -98.52616851986171298, -65.01605763575113883, 41.06590383624336482 ) ) ; +#689 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#690 = ORIENTED_EDGE ( 'NONE', *, *, #318, .T. ) ; +#691 = LINE ( 'NONE', #5513, #8156 ) ; +#692 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 4.250023829846105272 ) ) ; +#693 = EDGE_CURVE ( 'NONE', #1926, #11575, #10128, .T. ) ; +#694 = VECTOR ( 'NONE', #9752, 1000.000000000000000 ) ; +#695 = CARTESIAN_POINT ( 'NONE', ( -116.6610205841155192, -84.33779584175262301, 16.74016224672766739 ) ) ; +#696 = AXIS2_PLACEMENT_3D ( 'NONE', #10911, #6223, #6087 ) ; +#697 = ORIENTED_EDGE ( 'NONE', *, *, #132, .T. ) ; +#698 = CIRCLE ( 'NONE', #12736, 7.700000000002309442 ) ; +#699 = CYLINDRICAL_SURFACE ( 'NONE', #4862, 4.000000000000000000 ) ; +#700 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#701 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#702 = AXIS2_PLACEMENT_3D ( 'NONE', #12686, #11720, #5011 ) ; +#703 = ORIENTED_EDGE ( 'NONE', *, *, #9700, .T. ) ; +#704 = ADVANCED_FACE ( 'NONE', ( #5960 ), #7189, .F. ) ; +#705 = CARTESIAN_POINT ( 'NONE', ( -85.32421051356095631, -59.01605763575113173, 36.77632765115663460 ) ) ; +#706 = AXIS2_PLACEMENT_3D ( 'NONE', #10827, #1855, #6736 ) ; +#707 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#708 = AXIS2_PLACEMENT_3D ( 'NONE', #10083, #2989, #7148 ) ; +#709 = ORIENTED_EDGE ( 'NONE', *, *, #8890, .F. ) ; +#710 = CARTESIAN_POINT ( 'NONE', ( -97.22112084819320899, -64.96605763575112746, 2.950023829846315060 ) ) ; +#711 = EDGE_CURVE ( 'NONE', #4338, #7476, #10204, .T. ) ; +#712 = VERTEX_POINT ( 'NONE', #5038 ) ; +#713 = CIRCLE ( 'NONE', #10484, 6.124000000001836419 ) ; +#714 = EDGE_CURVE ( 'NONE', #9912, #2087, #771, .T. ) ; +#715 = EDGE_CURVE ( 'NONE', #4383, #4951, #3937, .T. ) ; +#716 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#717 = ORIENTED_EDGE ( 'NONE', *, *, #4840, .F. ) ; +#718 = CARTESIAN_POINT ( 'NONE', ( -66.38579967860292186, -81.08088933667099241, 15.76002382984550287 ) ) ; +#719 = VECTOR ( 'NONE', #5416, 1000.000000000000000 ) ; +#720 = VECTOR ( 'NONE', #1418, 1000.000000000000000 ) ; +#721 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#722 = PLANE ( 'NONE', #7203 ) ; +#723 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#724 = CYLINDRICAL_SURFACE ( 'NONE', #582, 2.800000000000843592 ) ; +#725 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#726 = VERTEX_POINT ( 'NONE', #5174 ) ; +#727 = LINE ( 'NONE', #2624, #9180 ) ; +#728 = ORIENTED_EDGE ( 'NONE', *, *, #4285, .F. ) ; +#729 = LINE ( 'NONE', #4701, #7274 ) ; +#730 = ORIENTED_EDGE ( 'NONE', *, *, #3486, .T. ) ; +#731 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#732 = ORIENTED_EDGE ( 'NONE', *, *, #6526, .F. ) ; +#733 = VECTOR ( 'NONE', #3252, 1000.000000000000000 ) ; +#734 = EDGE_CURVE ( 'NONE', #12298, #5309, #11943, .T. ) ; +#735 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -69.96605763575111325, 10.76002382984610151 ) ) ; +#736 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#737 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#738 = ORIENTED_EDGE ( 'NONE', *, *, #9338, .F. ) ; +#739 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 17.74016224672767095 ) ) ; +#740 = EDGE_CURVE ( 'NONE', #4617, #4677, #224, .T. ) ; +#741 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#742 = VERTEX_POINT ( 'NONE', #10434 ) ; +#743 = FACE_OUTER_BOUND ( 'NONE', #6416, .T. ) ; +#744 = ORIENTED_EDGE ( 'NONE', *, *, #11283, .T. ) ; +#745 = FACE_OUTER_BOUND ( 'NONE', #7327, .T. ) ; +#746 = PLANE ( 'NONE', #2803 ) ; +#747 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#748 = LINE ( 'NONE', #10644, #6186 ) ; +#749 = CARTESIAN_POINT ( 'NONE', ( -73.45885654271344833, -58.46605763575112746, 2.950023829846315060 ) ) ; +#750 = ORIENTED_EDGE ( 'NONE', *, *, #4845, .T. ) ; +#751 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#752 = EDGE_CURVE ( 'NONE', #4740, #4141, #854, .T. ) ; +#753 = VERTEX_POINT ( 'NONE', #4382 ) ; +#754 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#755 = PLANE ( 'NONE', #265 ) ; +#756 = AXIS2_PLACEMENT_3D ( 'NONE', #7961, #11937, #11743 ) ; +#757 = VERTEX_POINT ( 'NONE', #8413 ) ; +#758 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, 3.000000000000002665 ) ) ; +#759 = CARTESIAN_POINT ( 'NONE', ( -91.46228162758046665, -64.96605763575112746, 17.12516224672793541 ) ) ; +#760 = CARTESIAN_POINT ( 'NONE', ( -120.9024766297742701, -77.73132331518951332, 16.74016224672826780 ) ) ; +#761 = ORIENTED_EDGE ( 'NONE', *, *, #6907, .F. ) ; +#762 = EDGE_CURVE ( 'NONE', #2552, #12495, #11236, .T. ) ; +#763 = CARTESIAN_POINT ( 'NONE', ( -91.92928263803212019, -65.01605763575113883, 43.38139977562773453 ) ) ; +#764 = VECTOR ( 'NONE', #11115, 1000.000000000000000 ) ; +#765 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -59.01605763575113173, 32.08298056549228505 ) ) ; +#766 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260590E-15 ) ) ; +#767 = AXIS2_PLACEMENT_3D ( 'NONE', #1906, #929, #5870 ) ; +#768 = VECTOR ( 'NONE', #8287, 1000.000000000000000 ) ; +#769 = ORIENTED_EDGE ( 'NONE', *, *, #9110, .T. ) ; +#770 = EDGE_CURVE ( 'NONE', #6135, #4152, #4262, .T. ) ; +#771 = LINE ( 'NONE', #9005, #3343 ) ; +#772 = DIRECTION ( 'NONE', ( 1.544631851866820033E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#773 = ORIENTED_EDGE ( 'NONE', *, *, #845, .F. ) ; +#774 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #8505, #8566, #7530, #12475, #6693, #12542, #12605, #7599, #11698, #11577, #7663, #5717, #9690, #4742, #8698, #12666, #3755, #6951, #5909, #7916, #2867, #11041 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 0.000000000000000000, 0.001015890911598134414, 0.002031781823196268828, 0.003047672734794403676, 0.004063563646392537657, 0.005079454557990672504, 0.006095345469588807352, 0.008127127292785113477, 0.01015890911598141960, 0.01219069093917772746, 0.01625425458557029287 ), + .UNSPECIFIED. ) ; +#775 = LINE ( 'NONE', #11637, #8562 ) ; +#776 = AXIS2_PLACEMENT_3D ( 'NONE', #5575, #1861, #4725 ) ; +#777 = ORIENTED_EDGE ( 'NONE', *, *, #8737, .F. ) ; +#778 = LINE ( 'NONE', #837, #3819 ) ; +#779 = ORIENTED_EDGE ( 'NONE', *, *, #1495, .T. ) ; +#780 = EDGE_CURVE ( 'NONE', #10505, #10370, #1393, .T. ) ; +#781 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -70.04046355758087827, 15.76002382984609618 ) ) ; +#782 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 9.000000000000001776 ) ) ; +#783 = EDGE_CURVE ( 'NONE', #9, #7935, #5229, .T. ) ; +#784 = CARTESIAN_POINT ( 'NONE', ( -93.66139648258112516, -64.96605763575112746, 17.12516224672793541 ) ) ; +#785 = VECTOR ( 'NONE', #1588, 999.9999999999998863 ) ; +#786 = EDGE_CURVE ( 'NONE', #9842, #10072, #10187, .T. ) ; +#787 = EDGE_LOOP ( 'NONE', ( #4385, #1452, #12550, #831 ) ) ; +#788 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#789 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046193190, -69.96605763575112746, 1.498224442046955041 ) ) ; +#790 = EDGE_LOOP ( 'NONE', ( #1109, #10173, #1587, #8856 ) ) ; +#791 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#792 = ORIENTED_EDGE ( 'NONE', *, *, #4050, .F. ) ; +#793 = CARTESIAN_POINT ( 'NONE', ( -97.22112084819320899, -64.96605763575112746, 2.950023829846315060 ) ) ; +#794 = ORIENTED_EDGE ( 'NONE', *, *, #11760, .F. ) ; +#795 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#796 = ORIENTED_EDGE ( 'NONE', *, *, #2061, .F. ) ; +#797 = EDGE_CURVE ( 'NONE', #5702, #6717, #9577, .T. ) ; +#798 = AXIS2_PLACEMENT_3D ( 'NONE', #8457, #2683, #7483 ) ; +#799 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -69.96605763575111325, 7.740162246727670059 ) ) ; +#800 = EDGE_CURVE ( 'NONE', #4094, #1735, #5608, .T. ) ; +#801 = LINE ( 'NONE', #10630, #9625 ) ; +#802 = CARTESIAN_POINT ( 'NONE', ( -97.48637307361302362, -58.46605763575112746, 15.55016224672746183 ) ) ; +#803 = ORIENTED_EDGE ( 'NONE', *, *, #8764, .T. ) ; +#804 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -84.96605763575112746, 0.7600238298461036157 ) ) ; +#805 = CARTESIAN_POINT ( 'NONE', ( -87.17069039786871087, -59.01605763575113173, 38.88120580365181667 ) ) ; +#806 = ORIENTED_EDGE ( 'NONE', *, *, #5211, .T. ) ; +#807 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260590E-15 ) ) ; +#808 = VERTEX_POINT ( 'NONE', #7306 ) ; +#809 = LINE ( 'NONE', #3926, #9008 ) ; +#810 = ORIENTED_EDGE ( 'NONE', *, *, #5211, .F. ) ; +#811 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -84.96605763575112746, 0.7600238298461047259 ) ) ; +#812 = CARTESIAN_POINT ( 'NONE', ( -118.9323001596474967, -66.91580510405695748, 3.740162246727670947 ) ) ; +#813 = CARTESIAN_POINT ( 'NONE', ( -109.8425568592277557, -64.96605763575112746, 1.375023829845842149 ) ) ; +#814 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#815 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#816 = ORIENTED_EDGE ( 'NONE', *, *, #12690, .F. ) ; +#817 = CARTESIAN_POINT ( 'NONE', ( -101.8846027836143264, -64.96605763575112746, 15.55016224672746183 ) ) ; +#818 = ORIENTED_EDGE ( 'NONE', *, *, #4934, .F. ) ; +#819 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.85828453936095173, 17.26214890549094605 ) ) ; +#820 = CARTESIAN_POINT ( 'NONE', ( -107.6434420042270688, -64.96605763575112746, 1.375023829845842149 ) ) ; +#821 = ORIENTED_EDGE ( 'NONE', *, *, #5755, .T. ) ; +#822 = FACE_OUTER_BOUND ( 'NONE', #3044, .T. ) ; +#823 = DIRECTION ( 'NONE', ( 0.3420201433256691570, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#824 = EDGE_CURVE ( 'NONE', #172, #1600, #2307, .T. ) ; +#825 = CARTESIAN_POINT ( 'NONE', ( -121.1910068437157264, -76.68438186607549767, 16.74016224672826070 ) ) ; +#826 = ORIENTED_EDGE ( 'NONE', *, *, #11417, .F. ) ; +#827 = EDGE_CURVE ( 'NONE', #5595, #8593, #2315, .T. ) ; +#828 = LINE ( 'NONE', #2976, #2578 ) ; +#829 = FACE_OUTER_BOUND ( 'NONE', #5889, .T. ) ; +#830 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#831 = ORIENTED_EDGE ( 'NONE', *, *, #7267, .T. ) ; +#832 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 0.01002382984610292183 ) ) ; +#833 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#834 = VERTEX_POINT ( 'NONE', #8278 ) ; +#835 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#836 = ORIENTED_EDGE ( 'NONE', *, *, #8884, .T. ) ; +#837 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 0.000000000000000000, 0.000000000000000000 ) ) ; +#838 = ORIENTED_EDGE ( 'NONE', *, *, #2366, .T. ) ; +#839 = EDGE_CURVE ( 'NONE', #5930, #8658, #11346, .T. ) ; +#840 = CARTESIAN_POINT ( 'NONE', ( -64.93407909134850797, -70.56161769596187128, 15.76002382984610328 ) ) ; +#841 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#842 = CIRCLE ( 'NONE', #9786, 2.800000000000840039 ) ; +#843 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256614409 ) ) ; +#844 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 1.760023829846110610 ) ) ; +#845 = EDGE_CURVE ( 'NONE', #12093, #6766, #30, .T. ) ; +#846 = ORIENTED_EDGE ( 'NONE', *, *, #7212, .F. ) ; +#847 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#848 = ORIENTED_EDGE ( 'NONE', *, *, #8564, .T. ) ; +#849 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#850 = ORIENTED_EDGE ( 'NONE', *, *, #8103, .F. ) ; +#851 = LINE ( 'NONE', #1842, #12341 ) ; +#852 = ADVANCED_FACE ( 'NONE', ( #6339 ), #9197, .F. ) ; +#853 = EDGE_LOOP ( 'NONE', ( #9719, #11484, #6938, #4370 ) ) ; +#854 = CIRCLE ( 'NONE', #2733, 7.700000000002312994 ) ; +#855 = VECTOR ( 'NONE', #7119, 1000.000000000000000 ) ; +#856 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #11233 ) ) ; +#857 = ADVANCED_FACE ( 'NONE', ( #9387 ), #477, .T. ) ; +#858 = CYLINDRICAL_SURFACE ( 'NONE', #6325, 2.800000000000840039 ) ; +#859 = ORIENTED_EDGE ( 'NONE', *, *, #10418, .T. ) ; +#860 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#861 = ORIENTED_EDGE ( 'NONE', *, *, #8572, .F. ) ; +#862 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#863 = EDGE_CURVE ( 'NONE', #8970, #11705, #351, .T. ) ; +#864 = AXIS2_PLACEMENT_3D ( 'NONE', #3345, #11275, #6272 ) ; +#865 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#866 = ORIENTED_EDGE ( 'NONE', *, *, #959, .T. ) ; +#867 = CARTESIAN_POINT ( 'NONE', ( -92.60499278285986691, -59.01605763575113173, 29.63613289797468653 ) ) ; +#868 = ORIENTED_EDGE ( 'NONE', *, *, #9289, .F. ) ; +#869 = LINE ( 'NONE', #6005, #10713 ) ; +#870 = EDGE_CURVE ( 'NONE', #3750, #5010, #3977, .T. ) ; +#871 = ORIENTED_EDGE ( 'NONE', *, *, #1476, .T. ) ; +#872 = EDGE_CURVE ( 'NONE', #5357, #9267, #7438, .T. ) ; +#873 = EDGE_CURVE ( 'NONE', #12664, #11931, #1690, .T. ) ; +#874 = CIRCLE ( 'NONE', #8136, 1.000000000000000888 ) ; +#875 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#876 = FACE_OUTER_BOUND ( 'NONE', #3764, .T. ) ; +#877 = LINE ( 'NONE', #11866, #8262 ) ; +#878 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#879 = EDGE_LOOP ( 'NONE', ( #6366, #6121, #2638, #7691 ) ) ; +#880 = FACE_OUTER_BOUND ( 'NONE', #10918, .T. ) ; +#881 = ORIENTED_EDGE ( 'NONE', *, *, #11757, .T. ) ; +#882 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#883 = CARTESIAN_POINT ( 'NONE', ( -95.86051133758178366, -64.96605763575112746, 17.12516224672793541 ) ) ; +#884 = VECTOR ( 'NONE', #3970, 1000.000000000000000 ) ; +#885 = ORIENTED_EDGE ( 'NONE', *, *, #9125, .F. ) ; +#886 = LINE ( 'NONE', #12786, #2781 ) ; +#887 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 9.000000000000001776 ) ) ; +#888 = CARTESIAN_POINT ( 'NONE', ( -121.4370879437990283, -75.63483116945688778, 16.74016224672647368 ) ) ; +#889 = VERTEX_POINT ( 'NONE', #608 ) ; +#890 = AXIS2_PLACEMENT_3D ( 'NONE', #8516, #11532, #6709 ) ; +#891 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#892 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#893 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 4.053100760940521970E-15 ) ) ; +#894 = ORIENTED_EDGE ( 'NONE', *, *, #590, .F. ) ; +#895 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#896 = CARTESIAN_POINT ( 'NONE', ( -94.85925911908482533, -64.96605763575112746, 15.55016224672746183 ) ) ; +#897 = ADVANCED_FACE ( 'NONE', ( #4712 ), #2640, .F. ) ; +#898 = AXIS2_PLACEMENT_3D ( 'NONE', #9898, #5857, #978 ) ; +#899 = EDGE_LOOP ( 'NONE', ( #12682, #8167, #1631, #9540 ) ) ; +#900 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739794046, -13.44893751831001083, 2.114856351462973461 ) ) ; +#901 = AXIS2_PLACEMENT_3D ( 'NONE', #10859, #1952, #4943 ) ; +#902 = VECTOR ( 'NONE', #9172, 1000.000000000000000 ) ; +#903 = ORIENTED_EDGE ( 'NONE', *, *, #2338, .T. ) ; +#904 = ADVANCED_FACE ( 'NONE', ( #7755 ), #8958, .T. ) ; +#905 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#906 = ORIENTED_EDGE ( 'NONE', *, *, #8182, .T. ) ; +#907 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#908 = PLANE ( 'NONE', #1564 ) ; +#909 = AXIS2_PLACEMENT_3D ( 'NONE', #2783, #169, #1137 ) ; +#910 = AXIS2_PLACEMENT_3D ( 'NONE', #8830, #3696, #2859 ) ; +#911 = AXIS2_PLACEMENT_3D ( 'NONE', #585, #8381, #2478 ) ; +#912 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#913 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#914 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 0.9999999999999991118 ) ) ; +#915 = EDGE_CURVE ( 'NONE', #586, #6616, #11732, .T. ) ; +#916 = ORIENTED_EDGE ( 'NONE', *, *, #207, .F. ) ; +#917 = VECTOR ( 'NONE', #4905, 1000.000000000000000 ) ; +#918 = CARTESIAN_POINT ( 'NONE', ( -98.66192086514536186, -59.01605763575113173, 33.52740687254723184 ) ) ; +#919 = EDGE_LOOP ( 'NONE', ( #200, #8625, #4460, #2937 ) ) ; +#920 = ORIENTED_EDGE ( 'NONE', *, *, #7232, .T. ) ; +#921 = CARTESIAN_POINT ( 'NONE', ( -71.08412672258475595, -83.96605763575111325, 15.76002382984609973 ) ) ; +#922 = CIRCLE ( 'NONE', #9647, 2.000000000000001776 ) ; +#923 = VERTEX_POINT ( 'NONE', #4775 ) ; +#924 = CIRCLE ( 'NONE', #8812, 6.124000000001836419 ) ; +#925 = ADVANCED_FACE ( 'NONE', ( #4833 ), #8604, .T. ) ; +#926 = VECTOR ( 'NONE', #12096, 1000.000000000000000 ) ; +#927 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#928 = VERTEX_POINT ( 'NONE', #2834 ) ; +#929 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#930 = VERTEX_POINT ( 'NONE', #3789 ) ; +#931 = FACE_OUTER_BOUND ( 'NONE', #787, .T. ) ; +#932 = EDGE_CURVE ( 'NONE', #6912, #6743, #12504, .T. ) ; +#933 = VECTOR ( 'NONE', #10708, 1000.000000000000000 ) ; +#934 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#935 = VERTEX_POINT ( 'NONE', #4641 ) ; +#936 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#937 = ORIENTED_EDGE ( 'NONE', *, *, #7216, .F. ) ; +#938 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -58.46605763575112746, 14.25016224672766896 ) ) ; +#939 = EDGE_LOOP ( 'NONE', ( #382, #4542, #562, #1296 ) ) ; +#940 = EDGE_CURVE ( 'NONE', #12673, #8901, #8798, .T. ) ; +#941 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#942 = CARTESIAN_POINT ( 'NONE', ( -98.87855690028372635, -59.01605763575113173, 37.30604204512226119 ) ) ; +#943 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#944 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#945 = AXIS2_PLACEMENT_3D ( 'NONE', #8772, #10746, #1829 ) ; +#946 = VERTEX_POINT ( 'NONE', #5678 ) ; +#947 = PLANE ( 'NONE', #12192 ) ; +#948 = EDGE_CURVE ( 'NONE', #6342, #12370, #11242, .T. ) ; +#949 = ORIENTED_EDGE ( 'NONE', *, *, #5133, .T. ) ; +#950 = LINE ( 'NONE', #8881, #7972 ) ; +#951 = ADVANCED_FACE ( 'NONE', ( #1849 ), #11549, .F. ) ; +#952 = EDGE_CURVE ( 'NONE', #928, #4335, #11663, .T. ) ; +#953 = CARTESIAN_POINT ( 'NONE', ( -104.6569707575844319, -58.46605763575112746, 17.12516224672793541 ) ) ; +#954 = ORIENTED_EDGE ( 'NONE', *, *, #5117, .F. ) ; +#955 = CARTESIAN_POINT ( 'NONE', ( -104.6569707575844319, -64.96605763575112746, 17.12516224672793541 ) ) ; +#956 = CARTESIAN_POINT ( 'NONE', ( -87.02215790113896787, -59.01605763575113173, 38.58969436516112950 ) ) ; +#957 = CARTESIAN_POINT ( 'NONE', ( -121.4370879442807620, -75.63483116956984986, 17.74016224672766384 ) ) ; +#958 = EDGE_LOOP ( 'NONE', ( #7489, #3416, #9738, #9597 ) ) ; +#959 = EDGE_CURVE ( 'NONE', #1806, #1684, #3731, .T. ) ; +#960 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#961 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -69.96605763575111325, 3.740162246727671391 ) ) ; +#962 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#963 = ORIENTED_EDGE ( 'NONE', *, *, #11841, .F. ) ; +#964 = CIRCLE ( 'NONE', #4289, 2.800000000000840039 ) ; +#965 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -44.55000000000000426, 0.7500238298461048281 ) ) ; +#966 = LINE ( 'NONE', #8836, #4204 ) ; +#967 = ORIENTED_EDGE ( 'NONE', *, *, #1190, .T. ) ; +#968 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#969 = EDGE_LOOP ( 'NONE', ( #7531, #1429, #9385, #6105 ) ) ; +#970 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#971 = VERTEX_POINT ( 'NONE', #10573 ) ; +#972 = VECTOR ( 'NONE', #737, 1000.000000000000000 ) ; +#973 = CARTESIAN_POINT ( 'NONE', ( -90.05052316422180070, -58.46605763575112746, 1.375023829845842149 ) ) ; +#974 = AXIS2_PLACEMENT_3D ( 'NONE', #2389, #2450, #6414 ) ; +#975 = CARTESIAN_POINT ( 'NONE', ( -83.29043172511211424, -64.96605763575112746, 17.12516224672793541 ) ) ; +#976 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#977 = CARTESIAN_POINT ( 'NONE', ( -86.65354567271741359, -64.96605763575112746, 2.950023829846315948 ) ) ; +#978 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#979 = VERTEX_POINT ( 'NONE', #2699 ) ; +#980 = AXIS2_PLACEMENT_3D ( 'NONE', #563, #7450, #10325 ) ; +#981 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#982 = VERTEX_POINT ( 'NONE', #669 ) ; +#983 = ORIENTED_EDGE ( 'NONE', *, *, #8713, .F. ) ; +#984 = CARTESIAN_POINT ( 'NONE', ( -65.83223935966513807, -77.00812734559193018, 15.76002382984611039 ) ) ; +#985 = ORIENTED_EDGE ( 'NONE', *, *, #8064, .T. ) ; +#986 = EDGE_CURVE ( 'NONE', #7125, #8129, #6472, .T. ) ; +#987 = CIRCLE ( 'NONE', #3479, 7.700000000002312994 ) ; +#988 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#989 = VECTOR ( 'NONE', #1721, 1000.000000000000000 ) ; +#990 = VERTEX_POINT ( 'NONE', #9585 ) ; +#991 = CARTESIAN_POINT ( 'NONE', ( -90.62377628319123346, -64.96605763575112746, 2.950023829846316836 ) ) ; +#992 = ORIENTED_EDGE ( 'NONE', *, *, #10109, .T. ) ; +#993 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#994 = PLANE ( 'NONE', #1269 ) ; +#995 = EDGE_LOOP ( 'NONE', ( #1290, #8989, #9100, #5512 ) ) ; +#996 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#997 = VECTOR ( 'NONE', #9958, 1000.000000000000000 ) ; +#998 = ORIENTED_EDGE ( 'NONE', *, *, #10857, .T. ) ; +#999 = AXIS2_PLACEMENT_3D ( 'NONE', #3800, #1858, #9794 ) ; +#1000 = CYLINDRICAL_SURFACE ( 'NONE', #7764, 2.800000000000836486 ) ; +#1001 = VERTEX_POINT ( 'NONE', #5558 ) ; +#1002 = EDGE_CURVE ( 'NONE', #5170, #6697, #11608, .T. ) ; +#1003 = LINE ( 'NONE', #162, #8592 ) ; +#1004 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1005 = LINE ( 'NONE', #9073, #6086 ) ; +#1006 = CARTESIAN_POINT ( 'NONE', ( -109.6798099851200305, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1007 = ORIENTED_EDGE ( 'NONE', *, *, #11997, .F. ) ; +#1008 = CARTESIAN_POINT ( 'NONE', ( -87.68866143511344546, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1009 = FACE_OUTER_BOUND ( 'NONE', #8918, .T. ) ; +#1010 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1011 = CARTESIAN_POINT ( 'NONE', ( -93.66139648258112516, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1012 = ADVANCED_FACE ( 'NONE', ( #12766, #5751 ), #12696, .F. ) ; +#1013 = ORIENTED_EDGE ( 'NONE', *, *, #10716, .T. ) ; +#1014 = CARTESIAN_POINT ( 'NONE', ( -94.44875287422310350, -58.46605763575112746, 1.375023829845842149 ) ) ; +#1015 = FACE_OUTER_BOUND ( 'NONE', #6856, .T. ) ; +#1016 = ORIENTED_EDGE ( 'NONE', *, *, #9603, .T. ) ; +#1017 = EDGE_CURVE ( 'NONE', #4177, #133, #6537, .T. ) ; +#1018 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 21.75002382984610705 ) ) ; +#1019 = EDGE_CURVE ( 'NONE', #10636, #7873, #11798, .T. ) ; +#1020 = LINE ( 'NONE', #7911, #9063 ) ; +#1021 = FACE_OUTER_BOUND ( 'NONE', #11862, .T. ) ; +#1022 = VERTEX_POINT ( 'NONE', #11008 ) ; +#1023 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 4.053100760940652921E-15 ) ) ; +#1024 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191058, -84.96605763575112746, 11.01002382984608730 ) ) ; +#1025 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1026 = EDGE_CURVE ( 'NONE', #11875, #1960, #11923, .T. ) ; +#1027 = ORIENTED_EDGE ( 'NONE', *, *, #1589, .T. ) ; +#1028 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1029 = EDGE_LOOP ( 'NONE', ( #54, #6607, #10730, #12022 ) ) ; +#1030 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1031 = ORIENTED_EDGE ( 'NONE', *, *, #10551, .T. ) ; +#1032 = ADVANCED_FACE ( 'NONE', ( #12043 ), #10948, .T. ) ; +#1033 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -70.04081548788050782, 14.76002382984609973 ) ) ; +#1034 = CARTESIAN_POINT ( 'NONE', ( -92.66014426408416682, -64.96605763575112746, 15.55016224672746183 ) ) ; +#1035 = CARTESIAN_POINT ( 'NONE', ( -80.46670735257715990, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1036 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1037 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1038 = ORIENTED_EDGE ( 'NONE', *, *, #11281, .T. ) ; +#1039 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1040 = ORIENTED_EDGE ( 'NONE', *, *, #2757, .T. ) ; +#1041 = CARTESIAN_POINT ( 'NONE', ( -66.02372093657206165, -77.66023911296656479, 15.76002382984609973 ) ) ; +#1042 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1043 = EDGE_LOOP ( 'NONE', ( #2747, #491, #157, #11349 ) ) ; +#1044 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1045 = FACE_OUTER_BOUND ( 'NONE', #6629, .T. ) ; +#1046 = ORIENTED_EDGE ( 'NONE', *, *, #9224, .T. ) ; +#1047 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 3.000000000000002665 ) ) ; +#1048 = ORIENTED_EDGE ( 'NONE', *, *, #7135, .F. ) ; +#1049 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1050 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1051 = CARTESIAN_POINT ( 'NONE', ( -87.03247760151984380, -65.01605763575113883, 34.19414403145155035 ) ) ; +#1052 = EDGE_CURVE ( 'NONE', #6337, #4104, #6982, .T. ) ; +#1053 = VECTOR ( 'NONE', #9138, 1000.000000000000000 ) ; +#1054 = ORIENTED_EDGE ( 'NONE', *, *, #2632, .T. ) ; +#1055 = CIRCLE ( 'NONE', #12068, 7.700000000002305889 ) ; +#1056 = FACE_OUTER_BOUND ( 'NONE', #853, .T. ) ; +#1057 = ORIENTED_EDGE ( 'NONE', *, *, #12436, .F. ) ; +#1058 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1059 = CARTESIAN_POINT ( 'NONE', ( -91.46228162758046665, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1060 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#1061 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -58.46605763575112746, 14.42173512198147911 ) ) ; +#1062 = AXIS2_PLACEMENT_3D ( 'NONE', #1260, #1781, #6604 ) ; +#1063 = ORIENTED_EDGE ( 'NONE', *, *, #4103, .F. ) ; +#1064 = CARTESIAN_POINT ( 'NONE', ( -86.84155711058959071, -59.01605763575113173, 36.10061750632883104 ) ) ; +#1065 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#1066 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -15.25000000000000000, 10.00000000000000000 ) ) ; +#1067 = CARTESIAN_POINT ( 'NONE', ( -88.21525270734090896, -65.01605763575113883, 39.62736889345659819 ) ) ; +#1068 = EDGE_CURVE ( 'NONE', #12320, #1714, #2533, .T. ) ; +#1069 = ORIENTED_EDGE ( 'NONE', *, *, #1094, .T. ) ; +#1070 = FACE_OUTER_BOUND ( 'NONE', #2360, .T. ) ; +#1071 = VECTOR ( 'NONE', #7551, 1000.000000000000000 ) ; +#1072 = LINE ( 'NONE', #7124, #8603 ) ; +#1073 = ORIENTED_EDGE ( 'NONE', *, *, #752, .T. ) ; +#1074 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#1075 = EDGE_CURVE ( 'NONE', #5041, #2238, #4187, .T. ) ; +#1076 = CARTESIAN_POINT ( 'NONE', ( -95.17820341664138084, -59.01605763575113173, 30.04368942404330056 ) ) ; +#1077 = CYLINDRICAL_SURFACE ( 'NONE', #7184, 2.800000000000843592 ) ; +#1078 = VECTOR ( 'NONE', #10916, 1000.000000000000000 ) ; +#1079 = VERTEX_POINT ( 'NONE', #5094 ) ; +#1080 = LINE ( 'NONE', #5051, #9070 ) ; +#1081 = AXIS2_PLACEMENT_3D ( 'NONE', #5331, #2277, #10158 ) ; +#1082 = CARTESIAN_POINT ( 'NONE', ( -86.22554657318990223, -64.96605763575112746, 2.950023829846315060 ) ) ; +#1083 = EDGE_CURVE ( 'NONE', #10873, #11517, #10634, .T. ) ; +#1084 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -63.46605763575112746, 0.000000000000000000 ) ) ; +#1085 = VERTEX_POINT ( 'NONE', #3143 ) ; +#1086 = CARTESIAN_POINT ( 'NONE', ( -87.22679879168684636, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1087 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164844250, -69.25895085456458844, 14.76002382984610151 ) ) ; +#1088 = ORIENTED_EDGE ( 'NONE', *, *, #2601, .F. ) ; +#1089 = VECTOR ( 'NONE', #10592, 1000.000000000000000 ) ; +#1090 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1091 = VERTEX_POINT ( 'NONE', #2952 ) ; +#1092 = AXIS2_PLACEMENT_3D ( 'NONE', #2325, #243, #9343 ) ; +#1093 = LINE ( 'NONE', #8963, #9413 ) ; +#1094 = EDGE_CURVE ( 'NONE', #5497, #12687, #5015, .T. ) ; +#1095 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#1096 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685318, -64.96605763575112746, 14.25016224672766896 ) ) ; +#1097 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#1098 = EDGE_CURVE ( 'NONE', #4383, #10771, #7043, .T. ) ; +#1099 = LINE ( 'NONE', #10993, #12514 ) ; +#1100 = VECTOR ( 'NONE', #11687, 1000.000000000000000 ) ; +#1101 = ORIENTED_EDGE ( 'NONE', *, *, #5686, .F. ) ; +#1102 = ADVANCED_FACE ( 'NONE', ( #9914 ), #994, .F. ) ; +#1103 = CARTESIAN_POINT ( 'NONE', ( -104.6569707575844319, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1104 = EDGE_CURVE ( 'NONE', #8445, #6970, #7948, .T. ) ; +#1105 = EDGE_CURVE ( 'NONE', #5033, #4562, #5875, .T. ) ; +#1106 = ORIENTED_EDGE ( 'NONE', *, *, #7534, .T. ) ; +#1107 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, -12.50498006704500042, 10.00000000000000000 ) ) ; +#1108 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1109 = ORIENTED_EDGE ( 'NONE', *, *, #986, .T. ) ; +#1110 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -64.96605763575112746, 1.760023829846103727 ) ) ; +#1111 = CIRCLE ( 'NONE', #4235, 2.800000000000840039 ) ; +#1112 = AXIS2_PLACEMENT_3D ( 'NONE', #6503, #2541, #11582 ) ; +#1113 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, 3.078450954592295563 ) ) ; +#1114 = EDGE_LOOP ( 'NONE', ( #3716, #1613, #4514, #4547 ) ) ; +#1115 = CARTESIAN_POINT ( 'NONE', ( -66.78904329351726687, -81.76244302364914063, 0.7600238298463672937 ) ) ; +#1116 = VECTOR ( 'NONE', #731, 1000.000000000000000 ) ; +#1117 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #1880, #900, #8840, #12804, #3896, #6888, #9888, #2012, #12863, #5979 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 4 ), + ( -1.095446142041066288E-05, 0.0006781842535693143872, 0.001367322968559039420, 0.002056461683548764345, 0.002745600398538489487 ), + .UNSPECIFIED. ) ; +#1118 = ORIENTED_EDGE ( 'NONE', *, *, #734, .T. ) ; +#1119 = DIRECTION ( 'NONE', ( 2.026550380470260590E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1120 = VECTOR ( 'NONE', #8458, 1000.000000000000000 ) ; +#1121 = FACE_OUTER_BOUND ( 'NONE', #2675, .T. ) ; +#1122 = CIRCLE ( 'NONE', #2801, 1.000000000000000000 ) ; +#1123 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1124 = ORIENTED_EDGE ( 'NONE', *, *, #2530, .T. ) ; +#1125 = CARTESIAN_POINT ( 'NONE', ( -119.1407933906905328, -81.73284268322939283, 3.740162246727673612 ) ) ; +#1126 = ADVANCED_FACE ( 'NONE', ( #1121 ), #6134, .T. ) ; +#1127 = VERTEX_POINT ( 'NONE', #4055 ) ; +#1128 = VECTOR ( 'NONE', #5245, 1000.000000000000000 ) ; +#1129 = CARTESIAN_POINT ( 'NONE', ( -98.22237306669012469, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1130 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 10.74682891339433510 ) ) ; +#1131 = VECTOR ( 'NONE', #10033, 1000.000000000000000 ) ; +#1132 = FACE_OUTER_BOUND ( 'NONE', #12378, .T. ) ; +#1133 = CARTESIAN_POINT ( 'NONE', ( -97.05837397408551226, -64.96605763575112746, 15.55016224672746006 ) ) ; +#1134 = AXIS2_PLACEMENT_3D ( 'NONE', #7227, #1297, #330 ) ; +#1135 = ORIENTED_EDGE ( 'NONE', *, *, #2442, .F. ) ; +#1136 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416525, -69.96605763575112746, 14.91682891339434036 ) ) ; +#1137 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1138 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1139 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1140 = ORIENTED_EDGE ( 'NONE', *, *, #9098, .F. ) ; +#1141 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1142 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -64.96605763575112746, 19.25016224672767251 ) ) ; +#1143 = VERTEX_POINT ( 'NONE', #10113 ) ; +#1144 = VECTOR ( 'NONE', #6299, 1000.000000000000000 ) ; +#1145 = CARTESIAN_POINT ( 'NONE', ( -71.97605815619844805, -14.61518048632345845, 2.744374419371701901 ) ) ; +#1146 = ADVANCED_FACE ( 'NONE', ( #9122 ), #9062, .T. ) ; +#1147 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1148 = CARTESIAN_POINT ( 'NONE', ( -88.26191455408286402, -64.96605763575112746, 15.55016224672746183 ) ) ; +#1149 = ORIENTED_EDGE ( 'NONE', *, *, #12074, .T. ) ; +#1150 = CARTESIAN_POINT ( 'NONE', ( -89.30018893699994464, -59.01605763575113173, 28.97303062765327653 ) ) ; +#1151 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1152 = CARTESIAN_POINT ( 'NONE', ( -117.5123248360631436, -65.49582978047655502, 5.410025414769860319 ) ) ; +#1153 = ORIENTED_EDGE ( 'NONE', *, *, #10366, .T. ) ; +#1154 = VECTOR ( 'NONE', #10711, 1000.000000000000000 ) ; +#1155 = FACE_OUTER_BOUND ( 'NONE', #3544, .T. ) ; +#1156 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1157 = ORIENTED_EDGE ( 'NONE', *, *, #5797, .F. ) ; +#1158 = DIRECTION ( 'NONE', ( -1.192622389734055617E-16, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1159 = VERTEX_POINT ( 'NONE', #2896 ) ; +#1160 = CARTESIAN_POINT ( 'NONE', ( -121.4699726592052400, -70.17736318714521815, 2.858209288317245633 ) ) ; +#1161 = EDGE_CURVE ( 'NONE', #11904, #7751, #1187, .T. ) ; +#1162 = LINE ( 'NONE', #2994, #7371 ) ; +#1163 = VECTOR ( 'NONE', #8030, 1000.000000000000000 ) ; +#1164 = CARTESIAN_POINT ( 'NONE', ( -81.66456998908088849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#1165 = MECHANICAL_CONTEXT ( 'NONE', #3588, 'mechanical' ) ; +#1166 = CARTESIAN_POINT ( 'NONE', ( -101.6193505581945118, -64.96605763575112746, 2.950023829846315060 ) ) ; +#1167 = ORIENTED_EDGE ( 'NONE', *, *, #7781, .F. ) ; +#1168 = LINE ( 'NONE', #12417, #1499 ) ; +#1169 = ADVANCED_FACE ( 'NONE', ( #7824 ), #6855, .F. ) ; +#1170 = VECTOR ( 'NONE', #6599, 1000.000000000000000 ) ; +#1171 = ORIENTED_EDGE ( 'NONE', *, *, #10156, .F. ) ; +#1172 = CARTESIAN_POINT ( 'NONE', ( -65.34269537283499574, -69.96605763575111325, 15.76002382984610328 ) ) ; +#1173 = TOROIDAL_SURFACE ( 'NONE', #8233, 2.000000000000000000, 1.000000000000000000 ) ; +#1174 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793762, -26.66421356237309581, 2.585786437626906853 ) ) ; +#1175 = ORIENTED_EDGE ( 'NONE', *, *, #7620, .F. ) ; +#1176 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -58.46605763575112746, 3.250023829846105716 ) ) ; +#1177 = EDGE_CURVE ( 'NONE', #12819, #4338, #10228, .T. ) ; +#1178 = EDGE_CURVE ( 'NONE', #7223, #6394, #272, .T. ) ; +#1179 = FACE_OUTER_BOUND ( 'NONE', #4107, .T. ) ; +#1180 = EDGE_CURVE ( 'NONE', #11940, #2724, #7422, .T. ) ; +#1181 = EDGE_CURVE ( 'NONE', #12577, #404, #2489, .T. ) ; +#1182 = ORIENTED_EDGE ( 'NONE', *, *, #1784, .F. ) ; +#1183 = CARTESIAN_POINT ( 'NONE', ( -67.63371018847725225, -81.22632020997501456, 0.7600238298461045039 ) ) ; +#1184 = VECTOR ( 'NONE', #3684, 1000.000000000000000 ) ; +#1185 = ORIENTED_EDGE ( 'NONE', *, *, #6759, .T. ) ; +#1186 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -84.96605763575112746, 0.000000000000000000 ) ) ; +#1187 = LINE ( 'NONE', #5156, #2944 ) ; +#1188 = ORIENTED_EDGE ( 'NONE', *, *, #5178, .F. ) ; +#1189 = LINE ( 'NONE', #5158, #9330 ) ; +#1190 = EDGE_CURVE ( 'NONE', #11381, #9545, #10170, .T. ) ; +#1191 = ORIENTED_EDGE ( 'NONE', *, *, #4021, .F. ) ; +#1192 = CARTESIAN_POINT ( 'NONE', ( -118.4709073083751036, -82.68144243967533669, 2.740162246727677164 ) ) ; +#1193 = ORIENTED_EDGE ( 'NONE', *, *, #8183, .F. ) ; +#1194 = CIRCLE ( 'NONE', #8455, 3.000000000000000000 ) ; +#1195 = AXIS2_PLACEMENT_3D ( 'NONE', #9667, #12711, #4722 ) ; +#1196 = EDGE_CURVE ( 'NONE', #990, #256, #7173, .T. ) ; +#1197 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -13.25000000000000178, 2.000000000000002665 ) ) ; +#1198 = FACE_OUTER_BOUND ( 'NONE', #7943, .T. ) ; +#1199 = CYLINDRICAL_SURFACE ( 'NONE', #2144, 0.7999999999999951594 ) ; +#1200 = CARTESIAN_POINT ( 'NONE', ( -101.8846027836143264, -58.46605763575112746, 15.55016224672746183 ) ) ; +#1201 = VERTEX_POINT ( 'NONE', #3274 ) ; +#1202 = CARTESIAN_POINT ( 'NONE', ( -86.49079879860971687, -58.46605763575112746, 15.55016224672746183 ) ) ; +#1203 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1204 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#1205 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1206 = VERTEX_POINT ( 'NONE', #2356 ) ; +#1207 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#1208 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#1209 = ORIENTED_EDGE ( 'NONE', *, *, #12293, .T. ) ; +#1210 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1211 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1212 = CARTESIAN_POINT ( 'NONE', ( -68.81782962950289573, -65.07670981671013521, 11.96633138294659560 ) ) ; +#1213 = VERTEX_POINT ( 'NONE', #11144 ) ; +#1214 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1215 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#1216 = CARTESIAN_POINT ( 'NONE', ( -88.26191455408286402, -58.46605763575112746, 15.55016224672746183 ) ) ; +#1217 = ORIENTED_EDGE ( 'NONE', *, *, #5958, .T. ) ; +#1218 = LINE ( 'NONE', #4212, #10663 ) ; +#1219 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#1220 = EDGE_CURVE ( 'NONE', #8129, #1934, #8551, .T. ) ; +#1221 = ORIENTED_EDGE ( 'NONE', *, *, #6425, .F. ) ; +#1222 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1223 = ORIENTED_EDGE ( 'NONE', *, *, #2196, .T. ) ; +#1224 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1225 = FACE_OUTER_BOUND ( 'NONE', #10848, .T. ) ; +#1226 = CARTESIAN_POINT ( 'NONE', ( -94.28600600011540678, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1227 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#1228 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1229 = ORIENTED_EDGE ( 'NONE', *, *, #8259, .F. ) ; +#1230 = LINE ( 'NONE', #10096, #2760 ) ; +#1231 = EDGE_CURVE ( 'NONE', #11890, #2554, #9182, .T. ) ; +#1232 = VERTEX_POINT ( 'NONE', #4243 ) ; +#1233 = VECTOR ( 'NONE', #6063, 1000.000000000000000 ) ; +#1234 = LINE ( 'NONE', #137, #926 ) ; +#1235 = AXIS2_PLACEMENT_3D ( 'NONE', #5024, #8139, #10115 ) ; +#1236 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1237 = ORIENTED_EDGE ( 'NONE', *, *, #5561, .F. ) ; +#1238 = CYLINDRICAL_SURFACE ( 'NONE', #2178, 1.000000000000000888 ) ; +#1239 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1240 = EDGE_CURVE ( 'NONE', #4403, #4383, #462, .T. ) ; +#1241 = CARTESIAN_POINT ( 'NONE', ( -67.45774816468507140, -82.70338415708665991, 1.760023829845426269 ) ) ; +#1242 = AXIS2_PLACEMENT_3D ( 'NONE', #8113, #5129, #12082 ) ; +#1243 = ORIENTED_EDGE ( 'NONE', *, *, #9287, .F. ) ; +#1244 = LINE ( 'NONE', #5210, #10553 ) ; +#1245 = CARTESIAN_POINT ( 'NONE', ( -77.42908715318728241, -64.96605763575112746, 2.950023829846312395 ) ) ; +#1246 = ORIENTED_EDGE ( 'NONE', *, *, #9614, .T. ) ; +#1247 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, -0.3420201433256618295 ) ) ; +#1248 = ADVANCED_FACE ( 'NONE', ( #2291 ), #6256, .T. ) ; +#1249 = ORIENTED_EDGE ( 'NONE', *, *, #6510, .F. ) ; +#1250 = CARTESIAN_POINT ( 'NONE', ( -120.4595314290280328, -79.06592283800641496, 2.740162246727976036 ) ) ; +#1251 = ORIENTED_EDGE ( 'NONE', *, *, #6734, .F. ) ; +#1252 = FACE_BOUND ( 'NONE', #4145, .T. ) ; +#1253 = EDGE_CURVE ( 'NONE', #6694, #1556, #337, .T. ) ; +#1254 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1255 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 17.75002382984610350 ) ) ; +#1256 = ORIENTED_EDGE ( 'NONE', *, *, #6759, .F. ) ; +#1257 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1258 = VECTOR ( 'NONE', #12190, 1000.000000000000000 ) ; +#1259 = DIRECTION ( 'NONE', ( 0.3420201433256691570, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#1260 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1261 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1262 = EDGE_CURVE ( 'NONE', #9834, #12544, #1919, .T. ) ; +#1263 = ORIENTED_EDGE ( 'NONE', *, *, #8617, .F. ) ; +#1264 = ADVANCED_FACE ( 'NONE', ( #3329 ), #7288, .T. ) ; +#1265 = CARTESIAN_POINT ( 'NONE', ( -95.45000509272006184, -64.96605763575112746, 2.950023829846315948 ) ) ; +#1266 = EDGE_CURVE ( 'NONE', #4743, #11231, #12365, .T. ) ; +#1267 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869952, 9.000000000000001776 ) ) ; +#1268 = ORIENTED_EDGE ( 'NONE', *, *, #4975, .F. ) ; +#1269 = AXIS2_PLACEMENT_3D ( 'NONE', #10039, #9973, #85 ) ; +#1270 = VECTOR ( 'NONE', #12191, 1000.000000000000000 ) ; +#1271 = CARTESIAN_POINT ( 'NONE', ( -102.6206027766914701, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1272 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1273 = CARTESIAN_POINT ( 'NONE', ( -87.22679879168684636, -58.46605763575112746, 1.375023829845842149 ) ) ; +#1274 = ORIENTED_EDGE ( 'NONE', *, *, #7624, .T. ) ; +#1275 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -64.96605763575112746, 15.42173512198147556 ) ) ; +#1276 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1277 = CARTESIAN_POINT ( 'NONE', ( -117.3795552053027933, -65.36306014971226830, 6.693170704895081258 ) ) ; +#1278 = ORIENTED_EDGE ( 'NONE', *, *, #11131, .T. ) ; +#1279 = LINE ( 'NONE', #5248, #3596 ) ; +#1280 = FACE_OUTER_BOUND ( 'NONE', #10952, .T. ) ; +#1281 = ORIENTED_EDGE ( 'NONE', *, *, #4181, .F. ) ; +#1282 = LINE ( 'NONE', #4024, #1956 ) ; +#1283 = VERTEX_POINT ( 'NONE', #10359 ) ; +#1284 = FACE_OUTER_BOUND ( 'NONE', #6132, .T. ) ; +#1285 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1286 = EDGE_CURVE ( 'NONE', #8334, #4740, #7302, .T. ) ; +#1287 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1288 = DATE_AND_TIME ( #3190, #3288 ) ; +#1289 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 14.76002382984610861 ) ) ; +#1290 = ORIENTED_EDGE ( 'NONE', *, *, #10892, .T. ) ; +#1291 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1292 = EDGE_CURVE ( 'NONE', #12224, #3430, #2751, .T. ) ; +#1293 = AXIS2_PLACEMENT_3D ( 'NONE', #7475, #11446, #12479 ) ; +#1294 = EDGE_LOOP ( 'NONE', ( #8699, #8868, #3368, #2447 ) ) ; +#1295 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1296 = ORIENTED_EDGE ( 'NONE', *, *, #5715, .F. ) ; +#1297 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1298 = VECTOR ( 'NONE', #6376, 1000.000000000000000 ) ; +#1299 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #5343, #12105, #3272, #11142, #2232, #334 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.4999999999999988898, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#1300 = AXIS2_PLACEMENT_3D ( 'NONE', #9405, #9674, #10452 ) ; +#1301 = DIRECTION ( 'NONE', ( 0.3420201433256687129, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#1302 = EDGE_CURVE ( 'NONE', #4487, #5099, #12707, .T. ) ; +#1303 = CARTESIAN_POINT ( 'NONE', ( -65.11708765063117710, -78.08022944970659296, 0.7600238298464765396 ) ) ; +#1304 = VECTOR ( 'NONE', #4089, 1000.000000000000000 ) ; +#1305 = ORIENTED_EDGE ( 'NONE', *, *, #8000, .T. ) ; +#1306 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1307 = VERTEX_POINT ( 'NONE', #12106 ) ; +#1308 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1309 = VERTEX_POINT ( 'NONE', #12622 ) ; +#1310 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1311 = AXIS2_PLACEMENT_3D ( 'NONE', #4226, #1228, #4412 ) ; +#1312 = VERTEX_POINT ( 'NONE', #4759 ) ; +#1313 = VECTOR ( 'NONE', #10368, 1000.000000000000000 ) ; +#1314 = CARTESIAN_POINT ( 'NONE', ( -118.8116663364090329, -80.29183731546999070, 2.740162246727671835 ) ) ; +#1315 = AXIS2_PLACEMENT_3D ( 'NONE', #5447, #10396, #634 ) ; +#1316 = ORIENTED_EDGE ( 'NONE', *, *, #2505, .T. ) ; +#1317 = EDGE_CURVE ( 'NONE', #6711, #7357, #596, .T. ) ; +#1318 = VECTOR ( 'NONE', #12223, 1000.000000000000000 ) ; +#1319 = AXIS2_PLACEMENT_3D ( 'NONE', #4649, #3676, #5427 ) ; +#1320 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1321 = EDGE_CURVE ( 'NONE', #7844, #11974, #2820, .T. ) ; +#1322 = FACE_OUTER_BOUND ( 'NONE', #2809, .T. ) ; +#1323 = LINE ( 'NONE', #3340, #542 ) ; +#1324 = VERTEX_POINT ( 'NONE', #7679 ) ; +#1325 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1326 = VECTOR ( 'NONE', #1790, 1000.000000000000000 ) ; +#1327 = VECTOR ( 'NONE', #3643, 1000.000000000000000 ) ; +#1328 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575114167, 14.76002382984610861 ) ) ; +#1329 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#1330 = VECTOR ( 'NONE', #1151, 1000.000000000000000 ) ; +#1331 = ORIENTED_EDGE ( 'NONE', *, *, #386, .T. ) ; +#1332 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -26.25000000000000355, 3.000000000000002665 ) ) ; +#1333 = EDGE_CURVE ( 'NONE', #6433, #12791, #9593, .T. ) ; +#1334 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -17.44615242270659650, 0.000000000000000000 ) ) ; +#1335 = AXIS2_PLACEMENT_3D ( 'NONE', #3283, #6265, #6399 ) ; +#1336 = ORIENTED_EDGE ( 'NONE', *, *, #9747, .T. ) ; +#1337 = AXIS2_PLACEMENT_3D ( 'NONE', #10923, #1030, #7991 ) ; +#1338 = CARTESIAN_POINT ( 'NONE', ( -103.2452122942257517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1339 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #7681, #10080, #7017, #3056, #185, #1087 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000012212, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#1340 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#1341 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1342 = EDGE_CURVE ( 'NONE', #8011, #9934, #727, .T. ) ; +#1343 = CIRCLE ( 'NONE', #3013, 3.000000000000000000 ) ; +#1344 = EDGE_CURVE ( 'NONE', #1600, #2428, #3523, .T. ) ; +#1345 = ADVANCED_FACE ( 'NONE', ( #11534 ), #4564, .F. ) ; +#1346 = VERTEX_POINT ( 'NONE', #4699 ) ; +#1347 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#1348 = ORIENTED_EDGE ( 'NONE', *, *, #5961, .F. ) ; +#1349 = FACE_OUTER_BOUND ( 'NONE', #12274, .T. ) ; +#1350 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550992, -65.25895085456457423, 7.740162246727677164 ) ) ; +#1351 = ORIENTED_EDGE ( 'NONE', *, *, #7466, .F. ) ; +#1352 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1353 = CYLINDRICAL_SURFACE ( 'NONE', #3478, 7.700000000002309442 ) ; +#1354 = EDGE_CURVE ( 'NONE', #5497, #5680, #7486, .T. ) ; +#1355 = ORIENTED_EDGE ( 'NONE', *, *, #7666, .F. ) ; +#1356 = VECTOR ( 'NONE', #2902, 1000.000000000000000 ) ; +#1357 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1358 = ORIENTED_EDGE ( 'NONE', *, *, #3009, .T. ) ; +#1359 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -65.01605763575113883, 32.08298056549219268 ) ) ; +#1360 = CARTESIAN_POINT ( 'NONE', ( -84.02643171818924372, -58.46605763575112746, 2.950023829846315060 ) ) ; +#1361 = ADVANCED_FACE ( 'NONE', ( #4627 ), #8655, .F. ) ; +#1362 = VECTOR ( 'NONE', #10087, 1000.000000000000114 ) ; +#1363 = CARTESIAN_POINT ( 'NONE', ( -96.02325821168946618, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1364 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#1365 = CARTESIAN_POINT ( 'NONE', ( -84.86493706257847691, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1366 = VERTEX_POINT ( 'NONE', #5544 ) ; +#1367 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#1368 = ORIENTED_EDGE ( 'NONE', *, *, #3106, .F. ) ; +#1369 = CARTESIAN_POINT ( 'NONE', ( -76.06847764257581446, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1370 = ORIENTED_EDGE ( 'NONE', *, *, #11972, .F. ) ; +#1371 = CIRCLE ( 'NONE', #3041, 2.800000000000836486 ) ; +#1372 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -84.96605763575111325, 15.76002382984609973 ) ) ; +#1373 = DIRECTION ( 'NONE', ( 1.301042606982606060E-16, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1374 = CARTESIAN_POINT ( 'NONE', ( -67.45774816622667913, -82.70338415594629566, 0.7600238298447480334 ) ) ; +#1375 = VERTEX_POINT ( 'NONE', #11462 ) ; +#1376 = PLANE ( 'NONE', #10758 ) ; +#1377 = EDGE_LOOP ( 'NONE', ( #547, #7405, #12421, #5045 ) ) ; +#1378 = AXIS2_PLACEMENT_3D ( 'NONE', #8528, #2696, #10430 ) ; +#1379 = CARTESIAN_POINT ( 'NONE', ( -84.02643171818924372, -64.96605763575112746, 2.950023829846315060 ) ) ; +#1380 = AXIS2_PLACEMENT_3D ( 'NONE', #7594, #10291, #12170 ) ; +#1381 = ORIENTED_EDGE ( 'NONE', *, *, #3322, .T. ) ; +#1382 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1383 = ORIENTED_EDGE ( 'NONE', *, *, #10094, .T. ) ; +#1384 = CARTESIAN_POINT ( 'NONE', ( -120.4709746904496939, -75.36534971430978658, 2.740162246727668727 ) ) ; +#1385 = ORIENTED_EDGE ( 'NONE', *, *, #4222, .T. ) ; +#1386 = EDGE_CURVE ( 'NONE', #5191, #3392, #12492, .T. ) ; +#1387 = VECTOR ( 'NONE', #6579, 1000.000000000000000 ) ; +#1388 = CARTESIAN_POINT ( 'NONE', ( -97.48637307361302362, -58.46605763575112746, 15.55016224672746183 ) ) ; +#1389 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#1390 = CARTESIAN_POINT ( 'NONE', ( -89.26316677257977972, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1391 = ORIENTED_EDGE ( 'NONE', *, *, #4195, .F. ) ; +#1392 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1393 = LINE ( 'NONE', #2439, #8119 ) ; +#1394 = ORIENTED_EDGE ( 'NONE', *, *, #10303, .T. ) ; +#1395 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1396 = CIRCLE ( 'NONE', #8663, 2.000000000000001776 ) ; +#1397 = ORIENTED_EDGE ( 'NONE', *, *, #6814, .F. ) ; +#1398 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 0.9999999999999991118 ) ) ; +#1399 = EDGE_CURVE ( 'NONE', #1479, #10460, #2553, .T. ) ; +#1400 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1401 = EDGE_LOOP ( 'NONE', ( #6452, #7792, #10282, #7810 ) ) ; +#1402 = FACE_OUTER_BOUND ( 'NONE', #11227, .T. ) ; +#1403 = DIRECTION ( 'NONE', ( -0.3420201433256545021, 0.000000000000000000, 0.9396926207859136460 ) ) ; +#1404 = CARTESIAN_POINT ( 'NONE', ( -67.09377547411972387, -66.80076397209332129, 13.95869119686778070 ) ) ; +#1405 = ORIENTED_EDGE ( 'NONE', *, *, #11847, .T. ) ; +#1406 = CARTESIAN_POINT ( 'NONE', ( -71.98255269134165246, -64.96605763575112746, 18.25016224672766540 ) ) ; +#1407 = EDGE_CURVE ( 'NONE', #7250, #1079, #8339, .T. ) ; +#1408 = EDGE_LOOP ( 'NONE', ( #5695, #11535, #1431, #2668 ) ) ; +#1409 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.85828453936095173, 3.218175587964387852 ) ) ; +#1410 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1411 = ORIENTED_EDGE ( 'NONE', *, *, #1417, .T. ) ; +#1412 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -58.46605763575112746, 1.611100693129447370 ) ) ; +#1413 = LINE ( 'NONE', #8297, #5332 ) ; +#1414 = EDGE_CURVE ( 'NONE', #4700, #2735, #4399, .T. ) ; +#1415 = AXIS2_PLACEMENT_3D ( 'NONE', #3519, #6515, #10617 ) ; +#1416 = EDGE_LOOP ( 'NONE', ( #11559, #10495, #10726, #1891 ) ) ; +#1417 = EDGE_CURVE ( 'NONE', #12147, #9527, #7723, .T. ) ; +#1418 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1419 = ORIENTED_EDGE ( 'NONE', *, *, #8077, .F. ) ; +#1420 = FACE_OUTER_BOUND ( 'NONE', #2785, .T. ) ; +#1421 = FACE_OUTER_BOUND ( 'NONE', #7425, .T. ) ; +#1422 = ORIENTED_EDGE ( 'NONE', *, *, #12423, .F. ) ; +#1423 = EDGE_CURVE ( 'NONE', #4853, #1997, #8586, .T. ) ; +#1424 = FACE_OUTER_BOUND ( 'NONE', #11328, .T. ) ; +#1425 = CARTESIAN_POINT ( 'NONE', ( -108.0539482490888190, -64.96605763575112746, 15.55016224672746361 ) ) ; +#1426 = ORIENTED_EDGE ( 'NONE', *, *, #10085, .T. ) ; +#1427 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 9.000000000000001776 ) ) ; +#1428 = EDGE_CURVE ( 'NONE', #6570, #333, #12089, .T. ) ; +#1429 = ORIENTED_EDGE ( 'NONE', *, *, #5670, .T. ) ; +#1430 = FACE_OUTER_BOUND ( 'NONE', #10293, .T. ) ; +#1431 = ORIENTED_EDGE ( 'NONE', *, *, #10320, .T. ) ; +#1432 = CARTESIAN_POINT ( 'NONE', ( -64.70344397898087152, -76.61781865419636972, 15.76002382984669836 ) ) ; +#1433 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1434 = CARTESIAN_POINT ( 'NONE', ( -63.92848181067347468, -71.39981715198130985, 0.7600238298468530163 ) ) ; +#1435 = ORIENTED_EDGE ( 'NONE', *, *, #6088, .F. ) ; +#1436 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#1437 = VERTEX_POINT ( 'NONE', #11594 ) ; +#1438 = VECTOR ( 'NONE', #3393, 1000.000000000000000 ) ; +#1439 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1440 = ORIENTED_EDGE ( 'NONE', *, *, #6113, .F. ) ; +#1441 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1442 = VERTEX_POINT ( 'NONE', #6646 ) ; +#1443 = LINE ( 'NONE', #5610, #8805 ) ; +#1444 = ORIENTED_EDGE ( 'NONE', *, *, #1667, .T. ) ; +#1445 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046191769, -84.96605763575112746, 1.760023829846103727 ) ) ; +#1446 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1447 = CARTESIAN_POINT ( 'NONE', ( -74.65671917921717693, -58.46605763575112746, 1.375023829845842149 ) ) ; +#1448 = VERTEX_POINT ( 'NONE', #1696 ) ; +#1449 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 15.25016224672767073 ) ) ; +#1450 = EDGE_CURVE ( 'NONE', #8548, #2591, #3164, .T. ) ; +#1451 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1452 = ORIENTED_EDGE ( 'NONE', *, *, #559, .F. ) ; +#1453 = CARTESIAN_POINT ( 'NONE', ( -85.48954658011275853, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1454 = ORIENTED_EDGE ( 'NONE', *, *, #6902, .F. ) ; +#1455 = AXIS2_PLACEMENT_3D ( 'NONE', #5738, #6784, #7811 ) ; +#1456 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 17.74016224672767095 ) ) ; +#1457 = CARTESIAN_POINT ( 'NONE', ( -89.62130666395819389, -65.01605763575113883, 42.69077310308952633 ) ) ; +#1458 = VERTEX_POINT ( 'NONE', #5802 ) ; +#1459 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1460 = CARTESIAN_POINT ( 'NONE', ( -75.22997229818662390, -58.46605763575112746, 2.950023829846312395 ) ) ; +#1461 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -64.96605763575112746, 14.25016224672766896 ) ) ; +#1462 = ORIENTED_EDGE ( 'NONE', *, *, #2875, .T. ) ; +#1463 = CARTESIAN_POINT ( 'NONE', ( -79.05494888921849395, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1464 = EDGE_CURVE ( 'NONE', #11298, #12837, #529, .T. ) ; +#1465 = ORIENTED_EDGE ( 'NONE', *, *, #9132, .F. ) ; +#1466 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1467 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1468 = ORIENTED_EDGE ( 'NONE', *, *, #9452, .F. ) ; +#1469 = CARTESIAN_POINT ( 'NONE', ( -87.63970645294536155, -59.01605763575113173, 41.32074430724686920 ) ) ; +#1470 = LINE ( 'NONE', #6232, #8662 ) ; +#1471 = AXIS2_PLACEMENT_3D ( 'NONE', #6151, #4977, #1010 ) ; +#1472 = ORIENTED_EDGE ( 'NONE', *, *, #12657, .F. ) ; +#1473 = AXIS2_PLACEMENT_3D ( 'NONE', #11348, #2441, #6407 ) ; +#1474 = CARTESIAN_POINT ( 'NONE', ( -107.0188324866927729, -58.46605763575112746, 1.375023829845842149 ) ) ; +#1475 = VERTEX_POINT ( 'NONE', #6049 ) ; +#1476 = EDGE_CURVE ( 'NONE', #597, #12206, #4818, .T. ) ; +#1477 = PLANE ( 'NONE', #8373 ) ; +#1478 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685460, -65.96605763575112746, 7.740162246727670059 ) ) ; +#1479 = VERTEX_POINT ( 'NONE', #3128 ) ; +#1480 = EDGE_CURVE ( 'NONE', #5330, #5943, #8851, .T. ) ; +#1481 = LINE ( 'NONE', #6692, #7085 ) ; +#1482 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -18.94615242270661071, -0.4019237886466941467 ) ) ; +#1483 = VERTEX_POINT ( 'NONE', #918 ) ; +#1484 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#1485 = ORIENTED_EDGE ( 'NONE', *, *, #5706, .T. ) ; +#1486 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -83.96605763575112746, 16.74016224672766739 ) ) ; +#1487 = ORIENTED_EDGE ( 'NONE', *, *, #10954, .F. ) ; +#1488 = EDGE_CURVE ( 'NONE', #10588, #7411, #4822, .T. ) ; +#1489 = VECTOR ( 'NONE', #8460, 1000.000000000000000 ) ; +#1490 = CARTESIAN_POINT ( 'NONE', ( -68.22333679558262531, -82.05852311186981751, 15.76002382984609618 ) ) ; +#1491 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.5000000000000039968, -0.8660254037844363761 ) ) ; +#1492 = CARTESIAN_POINT ( 'NONE', ( -64.02884155252408505, -72.81933044642870811, 0.7600238298484884858 ) ) ; +#1493 = EDGE_CURVE ( 'NONE', #5647, #1847, #874, .T. ) ; +#1494 = VECTOR ( 'NONE', #5187, 1000.000000000000114 ) ; +#1495 = EDGE_CURVE ( 'NONE', #9527, #8209, #4196, .T. ) ; +#1496 = CARTESIAN_POINT ( 'NONE', ( -100.5868239882426280, -65.01605763575113883, 36.77632765115652802 ) ) ; +#1497 = CARTESIAN_POINT ( 'NONE', ( -110.6810622036169605, -58.46605763575112746, 15.55016224672746361 ) ) ; +#1498 = FACE_OUTER_BOUND ( 'NONE', #2319, .T. ) ; +#1499 = VECTOR ( 'NONE', #4614, 1000.000000000000000 ) ; +#1500 = EDGE_CURVE ( 'NONE', #2690, #12239, #5928, .T. ) ; +#1501 = ORIENTED_EDGE ( 'NONE', *, *, #8816, .F. ) ; +#1502 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1503 = ORIENTED_EDGE ( 'NONE', *, *, #1386, .T. ) ; +#1504 = CARTESIAN_POINT ( 'NONE', ( -83.29043172511211424, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1505 = ORIENTED_EDGE ( 'NONE', *, *, #1903, .T. ) ; +#1506 = CARTESIAN_POINT ( 'NONE', ( -74.03210966168288110, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1507 = ORIENTED_EDGE ( 'NONE', *, *, #517, .T. ) ; +#1508 = AXIS2_PLACEMENT_3D ( 'NONE', #6780, #11646, #5661 ) ; +#1509 = AXIS2_PLACEMENT_3D ( 'NONE', #4791, #11749, #6813 ) ; +#1510 = AXIS2_PLACEMENT_3D ( 'NONE', #4339, #12266, #3363 ) ; +#1511 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685318, -65.96605763575112746, 0.000000000000000000 ) ) ; +#1512 = LINE ( 'NONE', #12571, #9416 ) ; +#1513 = LINE ( 'NONE', #12307, #8161 ) ; +#1514 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1515 = ADVANCED_FACE ( 'NONE', ( #9765 ), #68, .F. ) ; +#1516 = EDGE_LOOP ( 'NONE', ( #8932, #11264, #9459, #1485 ) ) ; +#1517 = LINE ( 'NONE', #607, #7018 ) ; +#1518 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1519 = AXIS2_PLACEMENT_3D ( 'NONE', #11251, #4108, #12099 ) ; +#1520 = ORIENTED_EDGE ( 'NONE', *, *, #4437, .T. ) ; +#1521 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -64.96605763575112746, 19.25016224672767251 ) ) ; +#1522 = AXIS2_PLACEMENT_3D ( 'NONE', #2854, #4731, #8687 ) ; +#1523 = ORIENTED_EDGE ( 'NONE', *, *, #6828, .F. ) ; +#1524 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1525 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1526 = VERTEX_POINT ( 'NONE', #11059 ) ; +#1527 = AXIS2_PLACEMENT_3D ( 'NONE', #4790, #8749, #10718 ) ; +#1528 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -12.50498006704500042, 10.00000000000000000 ) ) ; +#1529 = VECTOR ( 'NONE', #1210, 1000.000000000000000 ) ; +#1530 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092019669, -59.01605763575113173, 34.55983764663545088 ) ) ; +#1531 = LINE ( 'NONE', #10645, #1154 ) ; +#1532 = VECTOR ( 'NONE', #5982, 1000.000000000000000 ) ; +#1533 = ORIENTED_EDGE ( 'NONE', *, *, #613, .T. ) ; +#1534 = PLANE ( 'NONE', #5759 ) ; +#1535 = ORIENTED_EDGE ( 'NONE', *, *, #6909, .F. ) ; +#1537 = AXIS2_PLACEMENT_3D ( 'NONE', #8402, #10624, #11539 ) ; +#1536 = LINE ( 'NONE', #12329, #3639 ) ; +#1538 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#1539 = ORIENTED_EDGE ( 'NONE', *, *, #12203, .F. ) ; +#1540 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#1541 = LINE ( 'NONE', #692, #7804 ) ; +#1542 = VECTOR ( 'NONE', #1320, 1000.000000000000000 ) ; +#1543 = VECTOR ( 'NONE', #420, 1000.000000000000000 ) ; +#1544 = ORIENTED_EDGE ( 'NONE', *, *, #6823, .F. ) ; +#1545 = CARTESIAN_POINT ( 'NONE', ( -114.9646768191650921, -84.96605762397285844, 17.74016224673746933 ) ) ; +#1546 = ORIENTED_EDGE ( 'NONE', *, *, #11181, .F. ) ; +#1547 = EDGE_CURVE ( 'NONE', #10106, #6584, #250, .T. ) ; +#1548 = VECTOR ( 'NONE', #10915, 1000.000000000000000 ) ; +#1549 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1550 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1551 = VERTEX_POINT ( 'NONE', #5078 ) ; +#1552 = AXIS2_PLACEMENT_3D ( 'NONE', #7626, #5552, #5612 ) ; +#1553 = AXIS2_PLACEMENT_3D ( 'NONE', #5135, #5253, #4288 ) ; +#1554 = CYLINDRICAL_SURFACE ( 'NONE', #7492, 6.124000000001836419 ) ; +#1555 = CARTESIAN_POINT ( 'NONE', ( -91.76526185925033019, -65.01605763575113883, 29.28082870826848350 ) ) ; +#1556 = VERTEX_POINT ( 'NONE', #10932 ) ; +#1557 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1558 = ORIENTED_EDGE ( 'NONE', *, *, #5009, .F. ) ; +#1559 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#1560 = EDGE_LOOP ( 'NONE', ( #3396, #4698, #7309, #10647 ) ) ; +#1561 = EDGE_CURVE ( 'NONE', #7200, #9240, #7872, .T. ) ; +#1562 = CARTESIAN_POINT ( 'NONE', ( -67.09936816540175641, -80.29183731547240654, 15.76002382984610684 ) ) ; +#1563 = CARTESIAN_POINT ( 'NONE', ( -90.11591592402756135, -59.01605763575113173, 29.81673368852405659 ) ) ; +#1564 = AXIS2_PLACEMENT_3D ( 'NONE', #10550, #2879, #4881 ) ; +#1565 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1566 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1567 = AXIS2_PLACEMENT_3D ( 'NONE', #11027, #6083, #2913 ) ; +#1568 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1569 = PLANE ( 'NONE', #890 ) ; +#1570 = ADVANCED_FACE ( 'NONE', ( #7933 ), #8781, .T. ) ; +#1571 = ORIENTED_EDGE ( 'NONE', *, *, #11927, .F. ) ; +#1572 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -59.46605763575112746, 14.25016224672766896 ) ) ; +#1573 = ORIENTED_EDGE ( 'NONE', *, *, #7340, .T. ) ; +#1574 = FACE_OUTER_BOUND ( 'NONE', #2344, .T. ) ; +#1575 = AXIS2_PLACEMENT_3D ( 'NONE', #3047, #3171, #7980 ) ; +#1576 = ORIENTED_EDGE ( 'NONE', *, *, #10939, .T. ) ; +#1577 = CARTESIAN_POINT ( 'NONE', ( -121.9725357169366191, -70.76159287803561426, 3.740162246727857909 ) ) ; +#1578 = EDGE_CURVE ( 'NONE', #2218, #6956, #10226, .T. ) ; +#1579 = EDGE_LOOP ( 'NONE', ( #12109, #6851, #2473, #6248 ) ) ; +#1580 = EDGE_CURVE ( 'NONE', #6456, #4831, #5008, .T. ) ; +#1581 = EDGE_CURVE ( 'NONE', #12291, #7798, #4208, .T. ) ; +#1582 = CARTESIAN_POINT ( 'NONE', ( -91.46228162758046665, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1583 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1584 = CARTESIAN_POINT ( 'NONE', ( -88.19004224504287492, -65.01605763575113883, 40.28422325670119619 ) ) ; +#1585 = VECTOR ( 'NONE', #6012, 1000.000000000000000 ) ; +#1586 = CIRCLE ( 'NONE', #5952, 2.800000000000836486 ) ; +#1587 = ORIENTED_EDGE ( 'NONE', *, *, #11847, .F. ) ; +#1588 = DIRECTION ( 'NONE', ( -0.3420201433256691570, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#1589 = EDGE_CURVE ( 'NONE', #1882, #11355, #5860, .T. ) ; +#1590 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1591 = ORIENTED_EDGE ( 'NONE', *, *, #12303, .T. ) ; +#1592 = FACE_OUTER_BOUND ( 'NONE', #1951, .T. ) ; +#1593 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #10615, #3650, #8454, #9504 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( -1.776356839400250465E-15, 1.570796326794896558 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243646044, 0.8047378541243646044, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#1594 = ORIENTED_EDGE ( 'NONE', *, *, #2627, .F. ) ; +#1595 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1596 = EDGE_CURVE ( 'NONE', #1665, #4474, #3910, .T. ) ; +#1597 = AXIS2_PLACEMENT_3D ( 'NONE', #8727, #7040, #2893 ) ; +#1598 = VECTOR ( 'NONE', #1403, 999.9999999999998863 ) ; +#1599 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 3.740162246727670059 ) ) ; +#1600 = VERTEX_POINT ( 'NONE', #11903 ) ; +#1601 = FACE_OUTER_BOUND ( 'NONE', #3914, .T. ) ; +#1602 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1603 = LINE ( 'NONE', #561, #1789 ) ; +#1604 = VERTEX_POINT ( 'NONE', #6967 ) ; +#1605 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, -2.249976170153895172 ) ) ; +#1606 = VECTOR ( 'NONE', #751, 1000.000000000000000 ) ; +#1607 = ORIENTED_EDGE ( 'NONE', *, *, #770, .F. ) ; +#1608 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 4.053100760940521970E-15 ) ) ; +#1609 = LINE ( 'NONE', #7453, #4216 ) ; +#1610 = ORIENTED_EDGE ( 'NONE', *, *, #4449, .F. ) ; +#1611 = CARTESIAN_POINT ( 'NONE', ( -88.42138703248758702, -59.01605763575113173, 40.51556804414590829 ) ) ; +#1612 = FACE_OUTER_BOUND ( 'NONE', #7344, .T. ) ; +#1613 = ORIENTED_EDGE ( 'NONE', *, *, #870, .F. ) ; +#1614 = DIRECTION ( 'NONE', ( 0.3420201433256612744, 0.000000000000000000, -0.9396926207859110924 ) ) ; +#1615 = VECTOR ( 'NONE', #10774, 1000.000000000000000 ) ; +#1616 = CARTESIAN_POINT ( 'NONE', ( -82.66582220757781840, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1617 = LINE ( 'NONE', #5587, #1999 ) ; +#1618 = VERTEX_POINT ( 'NONE', #2026 ) ; +#1619 = CARTESIAN_POINT ( 'NONE', ( -90.11591592402768924, -59.01605763575113173, 41.68345238804977271 ) ) ; +#1620 = CARTESIAN_POINT ( 'NONE', ( -85.48954658011275853, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1621 = EDGE_CURVE ( 'NONE', #11186, #1847, #9822, .T. ) ; +#1622 = ORIENTED_EDGE ( 'NONE', *, *, #11527, .F. ) ; +#1623 = APPROVAL_PERSON_ORGANIZATION ( #253, #302, #2213 ) ; +#1624 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 0.000000000000000000 ) ) ; +#1625 = EDGE_LOOP ( 'NONE', ( #632, #7871, #8327, #9514 ) ) ; +#1626 = FACE_OUTER_BOUND ( 'NONE', #445, .T. ) ; +#1627 = ORIENTED_EDGE ( 'NONE', *, *, #7830, .F. ) ; +#1628 = CARTESIAN_POINT ( 'NONE', ( -66.05189482000889711, -77.71992162083094513, 15.76002382984610684 ) ) ; +#1629 = CYLINDRICAL_SURFACE ( 'NONE', #12159, 7.700000000002302336 ) ; +#1630 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1631 = ORIENTED_EDGE ( 'NONE', *, *, #12293, .F. ) ; +#1632 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -27.25000000000000355, 2.000000000000002665 ) ) ; +#1633 = CARTESIAN_POINT ( 'NONE', ( -64.03625490685210764, -69.96605763575114167, 1.238037171082822852 ) ) ; +#1634 = ADVANCED_FACE ( 'NONE', ( #3069 ), #10995, .F. ) ; +#1635 = ORIENTED_EDGE ( 'NONE', *, *, #12796, .F. ) ; +#1636 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1637 = ORIENTED_EDGE ( 'NONE', *, *, #7038, .T. ) ; +#1638 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -83.96605763575112746, 17.74016224672767095 ) ) ; +#1639 = ORIENTED_EDGE ( 'NONE', *, *, #4296, .F. ) ; +#1640 = CARTESIAN_POINT ( 'NONE', ( -121.9369261198946646, -71.65694149564302506, 2.740162246726177031 ) ) ; +#1641 = EDGE_LOOP ( 'NONE', ( #9410, #4596, #4823, #1031 ) ) ; +#1642 = ADVANCED_FACE ( 'NONE', ( #8252 ), #8192, .T. ) ; +#1643 = DIRECTION ( 'NONE', ( 6.505213034913077880E-16, -0.8660254037844363761, -0.5000000000000043299 ) ) ; +#1644 = CARTESIAN_POINT ( 'NONE', ( -76.23122451668353960, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1645 = CARTESIAN_POINT ( 'NONE', ( -106.2828324936156434, -58.46605763575112746, 15.55016224672746183 ) ) ; +#1646 = VERTEX_POINT ( 'NONE', #4229 ) ; +#1647 = CARTESIAN_POINT ( 'NONE', ( -120.2208094516659003, -76.44160863477902979, 17.74016224672766384 ) ) ; +#1648 = EDGE_CURVE ( 'NONE', #11370, #6672, #1230, .T. ) ; +#1649 = CARTESIAN_POINT ( 'NONE', ( -105.8548333940881321, -64.96605763575112746, 15.55016224672746006 ) ) ; +#1650 = VERTEX_POINT ( 'NONE', #6378 ) ; +#1651 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#1652 = ORIENTED_EDGE ( 'NONE', *, *, #9936, .F. ) ; +#1653 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#1654 = VECTOR ( 'NONE', #7744, 1000.000000000000000 ) ; +#1655 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1656 = ORIENTED_EDGE ( 'NONE', *, *, #5062, .T. ) ; +#1657 = EDGE_CURVE ( 'NONE', #8870, #6847, #1664, .T. ) ; +#1658 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 1.000000000000000000 ) ) ; +#1659 = LINE ( 'NONE', #12323, #8441 ) ; +#1660 = LINE ( 'NONE', #5629, #6370 ) ; +#1661 = ORIENTED_EDGE ( 'NONE', *, *, #4139, .T. ) ; +#1662 = CARTESIAN_POINT ( 'NONE', ( -86.22554657318990223, -58.46605763575112746, 2.950023829846315060 ) ) ; +#1663 = EDGE_CURVE ( 'NONE', #1934, #9288, #4830, .T. ) ; +#1664 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #6307, #9109, #5143, #1427 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 1.570796326794897446, 3.141592653589793116 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243652705, 0.8047378541243652705, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#1665 = VERTEX_POINT ( 'NONE', #10348 ) ; +#1666 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1667 = EDGE_CURVE ( 'NONE', #12014, #9374, #9300, .T. ) ; +#1668 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 0.9999999999999991118 ) ) ; +#1669 = EDGE_CURVE ( 'NONE', #8714, #6625, #3259, .T. ) ; +#1670 = ORIENTED_EDGE ( 'NONE', *, *, #4428, .T. ) ; +#1671 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1672 = LINE ( 'NONE', #10722, #11364 ) ; +#1673 = CARTESIAN_POINT ( 'NONE', ( -119.5061490105852613, -81.11532610405818389, 16.74016224672826780 ) ) ; +#1674 = ORIENTED_EDGE ( 'NONE', *, *, #3576, .F. ) ; +#1675 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, -0.7499761701538951719 ) ) ; +#1676 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 1.760023829846110610 ) ) ; +#1677 = DIRECTION ( 'NONE', ( 2.026550380470260590E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1678 = ORIENTED_EDGE ( 'NONE', *, *, #9202, .T. ) ; +#1679 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -51.45000000000000284, 3.999984739999989714 ) ) ; +#1680 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1681 = ORIENTED_EDGE ( 'NONE', *, *, #6023, .T. ) ; +#1682 = VECTOR ( 'NONE', #4324, 1000.000000000000000 ) ; +#1683 = LINE ( 'NONE', #10471, #8356 ) ; +#1684 = VERTEX_POINT ( 'NONE', #196 ) ; +#1685 = CARTESIAN_POINT ( 'NONE', ( -106.2828324936156434, -64.96605763575112746, 15.55016224672746183 ) ) ; +#1686 = VERTEX_POINT ( 'NONE', #9357 ) ; +#1687 = CARTESIAN_POINT ( 'NONE', ( -66.21048109296619089, -80.75061318002268251, 14.76002382984640171 ) ) ; +#1688 = EDGE_CURVE ( 'NONE', #211, #1794, #6118, .T. ) ; +#1689 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1690 = CIRCLE ( 'NONE', #1062, 7.700000000002309442 ) ; +#1691 = CARTESIAN_POINT ( 'NONE', ( -82.66582220757781840, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1692 = LINE ( 'NONE', #9637, #7069 ) ; +#1693 = FACE_BOUND ( 'NONE', #9091, .T. ) ; +#1694 = FACE_OUTER_BOUND ( 'NONE', #12770, .T. ) ; +#1695 = ORIENTED_EDGE ( 'NONE', *, *, #455, .T. ) ; +#1696 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -58.46605763575112746, 1.760023829846103949 ) ) ; +#1697 = ORIENTED_EDGE ( 'NONE', *, *, #4205, .F. ) ; +#1698 = FACE_OUTER_BOUND ( 'NONE', #879, .T. ) ; +#1699 = AXIS2_PLACEMENT_3D ( 'NONE', #11331, #9250, #11398 ) ; +#1700 = EDGE_LOOP ( 'NONE', ( #1912, #551, #245, #4630 ) ) ; +#1701 = CARTESIAN_POINT ( 'NONE', ( -120.9559487243477633, -71.25473018635872791, 2.740162246727669615 ) ) ; +#1702 = ORIENTED_EDGE ( 'NONE', *, *, #4296, .T. ) ; +#1703 = EDGE_CURVE ( 'NONE', #10084, #12018, #11129, .T. ) ; +#1704 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1705 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1706 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#1707 = AXIS2_PLACEMENT_3D ( 'NONE', #390, #12094, #6243 ) ; +#1708 = ORIENTED_EDGE ( 'NONE', *, *, #2674, .T. ) ; +#1709 = CARTESIAN_POINT ( 'NONE', ( -78.26759249757650139, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1710 = CARTESIAN_POINT ( 'NONE', ( -97.64911994772072035, -64.96605763575112746, 2.950023829846314172 ) ) ; +#1711 = VERTEX_POINT ( 'NONE', #7160 ) ; +#1712 = LINE ( 'NONE', #548, #1899 ) ; +#1713 = EDGE_CURVE ( 'NONE', #5265, #581, #2128, .T. ) ; +#1714 = VERTEX_POINT ( 'NONE', #3377 ) ; +#1715 = AXIS2_PLACEMENT_3D ( 'NONE', #10719, #5963, #9933 ) ; +#1716 = FACE_OUTER_BOUND ( 'NONE', #1294, .T. ) ; +#1717 = VECTOR ( 'NONE', #8173, 1000.000000000000000 ) ; +#1718 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1719 = ADVANCED_FACE ( 'NONE', ( #4295 ), #326, .F. ) ; +#1720 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550850, -65.25895085456457423, 5.397016496220051529 ) ) ; +#1721 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1722 = LINE ( 'NONE', #9536, #3243 ) ; +#1723 = VERTEX_POINT ( 'NONE', #10215 ) ; +#1724 = VECTOR ( 'NONE', #8069, 1000.000000000000000 ) ; +#1725 = EDGE_LOOP ( 'NONE', ( #9028, #1237, #5642, #4418, #11026, #406, #273, #4232, #7289, #9645, #846, #5351, #5556, #7442, #4313, #10386, #4724, #2846, #2055, #11747, #10300, #11191, #426, #5893, #8382, #2076, #6097, #12782, #11581, #5090, #10571, #2378, #8519, #3656, #2782, #4162, #8142, #5914, #3507, #10297, #916, #5667, #8558, #9391, #12354, #9389, #4898, #5968, #5981, #6466, #1594, #8536, #9501, #9962, #2915, #7874, #9659, #2266, #8345, #5918, #10422, #4092, #6085, #3848, #2558, #8913, #6943, #11652, #11618, #7694, #99, #4211, #3644, #12858, #4172, #9032, #4374, #2919, #11985, #12313, #9512, #5379, #8056, #7114, #5636 ) ) ; +#1726 = CYLINDRICAL_SURFACE ( 'NONE', #8405, 2.800000000000836486 ) ; +#1727 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1728 = EDGE_CURVE ( 'NONE', #4677, #11012, #11482, .T. ) ; +#1729 = ORIENTED_EDGE ( 'NONE', *, *, #9367, .F. ) ; +#1730 = CARTESIAN_POINT ( 'NONE', ( -104.0837176386149849, -58.46605763575112746, 15.55016224672746183 ) ) ; +#1731 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 9.000000000000001776 ) ) ; +#1732 = VECTOR ( 'NONE', #707, 1000.000000000000000 ) ; +#1733 = CARTESIAN_POINT ( 'NONE', ( -120.7939468511724073, -78.08022944970657875, 17.74016224672525865 ) ) ; +#1734 = VECTOR ( 'NONE', #3545, 1000.000000000000000 ) ; +#1735 = VERTEX_POINT ( 'NONE', #5264 ) ; +#1736 = EDGE_CURVE ( 'NONE', #5309, #6442, #6185, .T. ) ; +#1737 = CIRCLE ( 'NONE', #3400, 2.800000000000836486 ) ; +#1738 = ADVANCED_FACE ( 'NONE', ( #11246 ), #4416, .F. ) ; +#1739 = FACE_OUTER_BOUND ( 'NONE', #6517, .T. ) ; +#1740 = EDGE_CURVE ( 'NONE', #1926, #2203, #7110, .T. ) ; +#1741 = EDGE_CURVE ( 'NONE', #4539, #2428, #1168, .T. ) ; +#1742 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046191769, -71.35208966128790564, 0.7600238298461048370 ) ) ; +#1743 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1744 = VECTOR ( 'NONE', #11416, 1000.000000000000000 ) ; +#1745 = ORIENTED_EDGE ( 'NONE', *, *, #11960, .T. ) ; +#1746 = AXIS2_PLACEMENT_3D ( 'NONE', #4697, #8584, #11781 ) ; +#1747 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1748 = AXIS2_PLACEMENT_3D ( 'NONE', #6070, #4063, #11015 ) ; +#1749 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1750 = ADVANCED_FACE ( 'NONE', ( #3760 ), #4745, .T. ) ; +#1751 = CIRCLE ( 'NONE', #9016, 5.000000000000000000 ) ; +#1752 = EDGE_LOOP ( 'NONE', ( #9856, #9326, #7664, #12805 ) ) ; +#1753 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#1754 = ORIENTED_EDGE ( 'NONE', *, *, #12304, .F. ) ; +#1755 = AXIS2_PLACEMENT_3D ( 'NONE', #12143, #10075, #8292 ) ; +#1756 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1757 = ORIENTED_EDGE ( 'NONE', *, *, #4276, .F. ) ; +#1758 = EDGE_CURVE ( 'NONE', #1767, #8548, #12668, .T. ) ; +#1759 = CARTESIAN_POINT ( 'NONE', ( -63.93849878486567206, -70.76159287803560005, 15.76002382984639638 ) ) ; +#1760 = CIRCLE ( 'NONE', #2175, 0.9999999999999998890 ) ; +#1761 = CARTESIAN_POINT ( 'NONE', ( -96.28972783784547573, -59.01605763575113173, 42.69077310308948370 ) ) ; +#1762 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -69.96605763575114167, 17.74016224672767095 ) ) ; +#1763 = VECTOR ( 'NONE', #10387, 1000.000000000000000 ) ; +#1764 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1765 = LINE ( 'NONE', #5660, #2246 ) ; +#1766 = PLANE ( 'NONE', #6076 ) ; +#1767 = VERTEX_POINT ( 'NONE', #3572 ) ; +#1768 = CARTESIAN_POINT ( 'NONE', ( -103.2452122942257517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1769 = EDGE_LOOP ( 'NONE', ( #154, #1391, #6680, #5059 ) ) ; +#1770 = LINE ( 'NONE', #8783, #8922 ) ; +#1771 = ORIENTED_EDGE ( 'NONE', *, *, #4533, .F. ) ; +#1772 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1773 = EDGE_LOOP ( 'NONE', ( #12862, #6236, #4748, #3935 ) ) ; +#1774 = TOROIDAL_SURFACE ( 'NONE', #9039, 4.000000000000000000, 1.000000000000000000 ) ; +#1775 = CARTESIAN_POINT ( 'NONE', ( -79.05494888921849395, -64.96605763575112746, 1.375023829845842149 ) ) ; +#1776 = FACE_OUTER_BOUND ( 'NONE', #4280, .T. ) ; +#1777 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1778 = ORIENTED_EDGE ( 'NONE', *, *, #3100, .F. ) ; +#1779 = FACE_OUTER_BOUND ( 'NONE', #3743, .T. ) ; +#1780 = VECTOR ( 'NONE', #893, 1000.000000000000000 ) ; +#1781 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1782 = VERTEX_POINT ( 'NONE', #9692 ) ; +#1783 = CARTESIAN_POINT ( 'NONE', ( -99.84823480272136464, -64.96605763575112746, 2.950023829846315060 ) ) ; +#1784 = EDGE_CURVE ( 'NONE', #5563, #10435, #775, .T. ) ; +#1785 = ORIENTED_EDGE ( 'NONE', *, *, #2061, .T. ) ; +#1786 = FACE_OUTER_BOUND ( 'NONE', #7091, .T. ) ; +#1787 = EDGE_LOOP ( 'NONE', ( #3673, #10176, #9187, #6574 ) ) ; +#1788 = FACE_OUTER_BOUND ( 'NONE', #3566, .T. ) ; +#1789 = VECTOR ( 'NONE', #5693, 1000.000000000000000 ) ; +#1790 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1791 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1792 = LINE ( 'NONE', #12647, #7429 ) ; +#1793 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1794 = VERTEX_POINT ( 'NONE', #5719 ) ; +#1795 = FACE_OUTER_BOUND ( 'NONE', #136, .T. ) ; +#1796 = ORIENTED_EDGE ( 'NONE', *, *, #10442, .T. ) ; +#1797 = PLANE ( 'NONE', #5689 ) ; +#1798 = CARTESIAN_POINT ( 'NONE', ( -86.49079879860971687, -64.96605763575112746, 15.55016224672746183 ) ) ; +#1799 = ADVANCED_FACE ( 'NONE', ( #8568 ), #10606, .F. ) ; +#1800 = VECTOR ( 'NONE', #10942, 1000.000000000000000 ) ; +#1801 = EDGE_LOOP ( 'NONE', ( #7987, #2752, #6311, #416 ) ) ; +#1802 = LINE ( 'NONE', #758, #1100 ) ; +#1803 = VECTOR ( 'NONE', #892, 1000.000000000000000 ) ; +#1804 = LINE ( 'NONE', #1731, #144 ) ; +#1805 = CARTESIAN_POINT ( 'NONE', ( -115.4264674163898263, -84.87238189499805685, 16.74016224672583775 ) ) ; +#1806 = VERTEX_POINT ( 'NONE', #2673 ) ; +#1807 = LINE ( 'NONE', #5778, #3817 ) ; +#1808 = CIRCLE ( 'NONE', #4507, 0.8000000000000003775 ) ; +#1809 = EDGE_CURVE ( 'NONE', #6625, #7751, #259, .T. ) ; +#1810 = LINE ( 'NONE', #7659, #12177 ) ; +#1811 = CARTESIAN_POINT ( 'NONE', ( -107.4806951301193720, -64.96605763575112746, 17.12516224672793541 ) ) ; +#1812 = AXIS2_PLACEMENT_3D ( 'NONE', #4259, #4380, #2245 ) ; +#1813 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #7786, #10974, #11165, #4199, #1145, #2060, #12011, #177, #4142, #6159 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 4 ), + ( 0.000000000000000000, 0.0006870967775923612648, 0.001374193555184722530, 0.002061290332777084011, 0.002748387110369445059 ), + .UNSPECIFIED. ) ; +#1814 = VECTOR ( 'NONE', #10322, 1000.000000000000000 ) ; +#1815 = VERTEX_POINT ( 'NONE', #9624 ) ; +#1816 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -26.25000000000000355, 3.000000000000002665 ) ) ; +#1817 = ADVANCED_FACE ( 'NONE', ( #8507 ), #9557, .F. ) ; +#1818 = PLANE ( 'NONE', #11286 ) ; +#1819 = ORIENTED_EDGE ( 'NONE', *, *, #9369, .F. ) ; +#1820 = CARTESIAN_POINT ( 'NONE', ( -96.81981506237306689, 11.91421338839179178, -9.032308122795894407E-16 ) ) ; +#1821 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #3373, #7218, ( #11233 ) ) ; +#1822 = EDGE_CURVE ( 'NONE', #8548, #7234, #10236, .T. ) ; +#1823 = AXIS2_PLACEMENT_3D ( 'NONE', #11256, #12233, #7285 ) ; +#1824 = EDGE_LOOP ( 'NONE', ( #4628, #8748, #983, #12413 ) ) ; +#1825 = FACE_OUTER_BOUND ( 'NONE', #6412, .T. ) ; +#1826 = EDGE_LOOP ( 'NONE', ( #11782, #3786, #4896, #10779, #6977, #7368, #4906, #6426, #9753, #9081, #3380 ) ) ; +#1827 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.86644213680254722, 14.76002382984609973 ) ) ; +#1828 = EDGE_CURVE ( 'NONE', #8079, #12014, #7665, .T. ) ; +#1829 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1830 = VECTOR ( 'NONE', #5470, 1000.000000000000000 ) ; +#1831 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685460, -64.96605763575112746, 7.740162246727670059 ) ) ; +#1832 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#1833 = EDGE_CURVE ( 'NONE', #8817, #7108, #12305, .T. ) ; +#1834 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1835 = ORIENTED_EDGE ( 'NONE', *, *, #6317, .F. ) ; +#1836 = CARTESIAN_POINT ( 'NONE', ( -85.32421051356092789, -59.01605763575113173, 34.72385842541730483 ) ) ; +#1838 = ORIENTED_EDGE ( 'NONE', *, *, #9233, .T. ) ; +#1837 = EDGE_CURVE ( 'NONE', #971, #5647, #2538, .T. ) ; +#1839 = EDGE_CURVE ( 'NONE', #2631, #11384, #1683, .T. ) ; +#1840 = CARTESIAN_POINT ( 'NONE', ( -77.42908715318728241, -64.96605763575112746, 2.950023829846312395 ) ) ; +#1841 = ORIENTED_EDGE ( 'NONE', *, *, #3151, .F. ) ; +#1842 = CARTESIAN_POINT ( 'NONE', ( -98.27132804885827966, -59.01605763575113173, 41.32074430724679104 ) ) ; +#1843 = ORIENTED_EDGE ( 'NONE', *, *, #552, .T. ) ; +#1844 = LINE ( 'NONE', #12570, #4880 ) ; +#1845 = VERTEX_POINT ( 'NONE', #583 ) ; +#1846 = LINE ( 'NONE', #5019, #5123 ) ; +#1847 = VERTEX_POINT ( 'NONE', #11516 ) ; +#1848 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1849 = FACE_OUTER_BOUND ( 'NONE', #7165, .T. ) ; +#1850 = ORIENTED_EDGE ( 'NONE', *, *, #3831, .T. ) ; +#1851 = LINE ( 'NONE', #4777, #5779 ) ; +#1852 = VERTEX_POINT ( 'NONE', #4551 ) ; +#1853 = DIRECTION ( 'NONE', ( 0.9396926207859108704, -0.000000000000000000, 0.3420201433256618295 ) ) ; +#1854 = ORIENTED_EDGE ( 'NONE', *, *, #12090, .T. ) ; +#1855 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1856 = DIRECTION ( 'NONE', ( 0.3420201433256545021, 0.000000000000000000, -0.9396926207859136460 ) ) ; +#1857 = EDGE_CURVE ( 'NONE', #8179, #565, #2610, .T. ) ; +#1858 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1859 = CARTESIAN_POINT ( 'NONE', ( -105.2815802751187135, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1860 = VERTEX_POINT ( 'NONE', #12607 ) ; +#1861 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1862 = ORIENTED_EDGE ( 'NONE', *, *, #10930, .F. ) ; +#1863 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1864 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1865 = EDGE_LOOP ( 'NONE', ( #152, #8493, #3442, #1118 ) ) ; +#1866 = DIRECTION ( 'NONE', ( 0.9396926207859083169, 0.000000000000000000, -0.3420201433256689350 ) ) ; +#1867 = AXIS2_PLACEMENT_3D ( 'NONE', #10361, #1441, #8520 ) ; +#1868 = CARTESIAN_POINT ( 'NONE', ( -88.21525270734090896, -59.01605763575113173, 39.62736889345659819 ) ) ; +#1869 = CARTESIAN_POINT ( 'NONE', ( -120.9024766294393913, -77.73132331509427217, 17.74016224672768516 ) ) ; +#1870 = ORIENTED_EDGE ( 'NONE', *, *, #9441, .T. ) ; +#1871 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#1872 = ADVANCED_FACE ( 'NONE', ( #10541 ), #644, .T. ) ; +#1873 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#1874 = CYLINDRICAL_SURFACE ( 'NONE', #2628, 1.000000000000000888 ) ; +#1875 = AXIS2_PLACEMENT_3D ( 'NONE', #10492, #5546, #6589 ) ; +#1876 = ORIENTED_EDGE ( 'NONE', *, *, #5792, .T. ) ; +#1877 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 11.01002382984608907 ) ) ; +#1878 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 0.9999999999999991118 ) ) ; +#1879 = ORIENTED_EDGE ( 'NONE', *, *, #5155, .T. ) ; +#1880 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -13.25000000000000178, 2.000000000000002665 ) ) ; +#1881 = EDGE_CURVE ( 'NONE', #5010, #6158, #5040, .T. ) ; +#1882 = VERTEX_POINT ( 'NONE', #2734 ) ; +#1883 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1884 = VERTEX_POINT ( 'NONE', #6695 ) ; +#1885 = CARTESIAN_POINT ( 'NONE', ( -63.93849878486698657, -70.76159287803555742, 14.76002382984624894 ) ) ; +#1886 = EDGE_CURVE ( 'NONE', #4485, #4137, #10668, .T. ) ; +#1887 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1888 = CARTESIAN_POINT ( 'NONE', ( -77.85708625271475114, -64.96605763575112746, 2.950023829846313284 ) ) ; +#1889 = LINE ( 'NONE', #10992, #7850 ) ; +#1890 = CARTESIAN_POINT ( 'NONE', ( -64.93139904479190250, -70.37735396380439568, 15.76002382984610684 ) ) ; +#1891 = ORIENTED_EDGE ( 'NONE', *, *, #160, .T. ) ; +#1892 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -29.25000000000000000, 18.75002382984610705 ) ) ; +#1893 = EDGE_LOOP ( 'NONE', ( #8309, #8250, #4341, #1702 ) ) ; +#1894 = EDGE_CURVE ( 'NONE', #12419, #11231, #3955, .T. ) ; +#1895 = ORIENTED_EDGE ( 'NONE', *, *, #9056, .T. ) ; +#1896 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1897 = ORIENTED_EDGE ( 'NONE', *, *, #2138, .F. ) ; +#1898 = VECTOR ( 'NONE', #8372, 1000.000000000000000 ) ; +#1899 = VECTOR ( 'NONE', #1651, 1000.000000000000114 ) ; +#1900 = EDGE_CURVE ( 'NONE', #11479, #601, #8959, .T. ) ; +#1901 = EDGE_CURVE ( 'NONE', #7104, #565, #6035, .T. ) ; +#1902 = FACE_OUTER_BOUND ( 'NONE', #2041, .T. ) ; +#1903 = EDGE_CURVE ( 'NONE', #9219, #9549, #6153, .T. ) ; +#1904 = ADVANCED_FACE ( 'NONE', ( #53 ), #121, .F. ) ; +#1905 = ORIENTED_EDGE ( 'NONE', *, *, #8602, .T. ) ; +#1906 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1907 = EDGE_CURVE ( 'NONE', #6264, #11826, #8766, .T. ) ; +#1908 = ORIENTED_EDGE ( 'NONE', *, *, #11972, .T. ) ; +#1909 = LINE ( 'NONE', #5873, #11377 ) ; +#1910 = AXIS2_PLACEMENT_3D ( 'NONE', #1911, #5942, #11987 ) ; +#1911 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#1912 = ORIENTED_EDGE ( 'NONE', *, *, #7993, .T. ) ; +#1913 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -65.96605763575112746, 10.76002382984610151 ) ) ; +#1914 = EDGE_CURVE ( 'NONE', #6601, #3362, #10036, .T. ) ; +#1915 = ORIENTED_EDGE ( 'NONE', *, *, #354, .T. ) ; +#1916 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ; +#1917 = DIRECTION ( 'NONE', ( -0.3420201433256687129, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#1918 = ORIENTED_EDGE ( 'NONE', *, *, #12744, .T. ) ; +#1919 = CIRCLE ( 'NONE', #451, 6.124000000001836419 ) ; +#1920 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 17.74016224672767095 ) ) ; +#1921 = CARTESIAN_POINT ( 'NONE', ( -103.0824654201180692, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1922 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1923 = FACE_OUTER_BOUND ( 'NONE', #6082, .T. ) ; +#1924 = ORIENTED_EDGE ( 'NONE', *, *, #6352, .F. ) ; +#1925 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.25000000000000711, -3.249976170153895172 ) ) ; +#1926 = VERTEX_POINT ( 'NONE', #5848 ) ; +#1927 = PLANE ( 'NONE', #12120 ) ; +#1928 = VECTOR ( 'NONE', #6168, 1000.000000000000000 ) ; +#1929 = LINE ( 'NONE', #12848, #7117 ) ; +#1930 = ORIENTED_EDGE ( 'NONE', *, *, #1621, .T. ) ; +#1931 = CARTESIAN_POINT ( 'NONE', ( -103.2452122942257517, -58.46605763575112746, 1.375023829845842149 ) ) ; +#1932 = LINE ( 'NONE', #2856, #678 ) ; +#1933 = CARTESIAN_POINT ( 'NONE', ( -116.9644521010267368, -82.83819084239939912, 17.74016224672767805 ) ) ; +#1934 = VERTEX_POINT ( 'NONE', #10984 ) ; +#1935 = CIRCLE ( 'NONE', #6671, 5.000000000000004441 ) ; +#1936 = DIRECTION ( 'NONE', ( -0.3420201433256621071, 0.000000000000000000, 0.9396926207859107594 ) ) ; +#1937 = CARTESIAN_POINT ( 'NONE', ( -70.07433452763267212, -83.65247605366695893, 0.7600238298461025055 ) ) ; +#1938 = FACE_OUTER_BOUND ( 'NONE', #90, .T. ) ; +#1939 = CIRCLE ( 'NONE', #10866, 6.124000000001832866 ) ; +#1940 = ORIENTED_EDGE ( 'NONE', *, *, #12090, .F. ) ; +#1941 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#1942 = CYLINDRICAL_SURFACE ( 'NONE', #8768, 5.000000000000004441 ) ; +#1943 = ORIENTED_EDGE ( 'NONE', *, *, #3009, .F. ) ; +#1944 = VECTOR ( 'NONE', #11341, 1000.000000000000000 ) ; +#1945 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1946 = AXIS2_PLACEMENT_3D ( 'NONE', #2916, #4798, #9746 ) ; +#1947 = EDGE_CURVE ( 'NONE', #4451, #5702, #471, .T. ) ; +#1948 = AXIS2_PLACEMENT_3D ( 'NONE', #7688, #11407, #7562 ) ; +#1949 = ORIENTED_EDGE ( 'NONE', *, *, #9908, .F. ) ; +#1950 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#1951 = EDGE_LOOP ( 'NONE', ( #6899, #10565, #5927, #10125, #12508, #12493, #8391, #3634 ) ) ; +#1952 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1953 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, -3.249976170153895172 ) ) ; +#1954 = VECTOR ( 'NONE', #10186, 1000.000000000000000 ) ; +#1955 = AXIS2_PLACEMENT_3D ( 'NONE', #12792, #9613, #8892 ) ; +#1956 = VECTOR ( 'NONE', #246, 1000.000000000000000 ) ; +#1957 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1958 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -58.46605763575112746, 15.42173512198147911 ) ) ; +#1959 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -33.25000000000000000, 9.250023829846105272 ) ) ; +#1960 = VERTEX_POINT ( 'NONE', #5788 ) ; +#1961 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1962 = EDGE_LOOP ( 'NONE', ( #4420, #1870, #1385, #5545 ) ) ; +#1963 = ADVANCED_FACE ( 'NONE', ( #12734 ), #3830, .T. ) ; +#1964 = ORIENTED_EDGE ( 'NONE', *, *, #8182, .F. ) ; +#1965 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1966 = VECTOR ( 'NONE', #617, 1000.000000000000000 ) ; +#1967 = ORIENTED_EDGE ( 'NONE', *, *, #34, .T. ) ; +#1968 = VECTOR ( 'NONE', #5124, 1000.000000000000000 ) ; +#1969 = FACE_OUTER_BOUND ( 'NONE', #1043, .T. ) ; +#1971 = ORIENTED_EDGE ( 'NONE', *, *, #5390, .T. ) ; +#1970 = ADVANCED_FACE ( 'NONE', ( #9754 ), #11831, .T. ) ; +#1972 = FACE_OUTER_BOUND ( 'NONE', #311, .T. ) ; +#1973 = ORIENTED_EDGE ( 'NONE', *, *, #6007, .F. ) ; +#1974 = CYLINDRICAL_SURFACE ( 'NONE', #7637, 7.700000000002309442 ) ; +#1975 = VECTOR ( 'NONE', #3134, 1000.000000000000000 ) ; +#1976 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1977 = ORIENTED_EDGE ( 'NONE', *, *, #10242, .T. ) ; +#1978 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1979 = EDGE_CURVE ( 'NONE', #325, #2690, #7858, .T. ) ; +#1980 = VECTOR ( 'NONE', #3552, 1000.000000000000114 ) ; +#1981 = ORIENTED_EDGE ( 'NONE', *, *, #693, .F. ) ; +#1982 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1983 = ADVANCED_FACE ( 'NONE', ( #7797 ), #11770, .T. ) ; +#1984 = ORIENTED_EDGE ( 'NONE', *, *, #4200, .T. ) ; +#1985 = CARTESIAN_POINT ( 'NONE', ( -107.4806951301193720, -58.46605763575112746, 17.12516224672793541 ) ) ; +#1986 = CYLINDRICAL_SURFACE ( 'NONE', #7168, 6.124000000001829314 ) ; +#1987 = EDGE_CURVE ( 'NONE', #8475, #1884, #1117, .T. ) ; +#1988 = FACE_BOUND ( 'NONE', #7380, .T. ) ; +#1989 = CARTESIAN_POINT ( 'NONE', ( -76.85583403421783544, -58.46605763575112746, 1.375023829845842149 ) ) ; +#1990 = CIRCLE ( 'NONE', #111, 2.800000000000840039 ) ; +#1991 = ORIENTED_EDGE ( 'NONE', *, *, #5916, .T. ) ; +#1992 = PLANE ( 'NONE', #8242 ) ; +#1993 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1994 = CARTESIAN_POINT ( 'NONE', ( -81.82731686318858522, -64.96605763575112746, 2.950023829846315060 ) ) ; +#1995 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575111325, 2.740162246727670503 ) ) ; +#1996 = EDGE_CURVE ( 'NONE', #7318, #2631, #7919, .T. ) ; +#1997 = VERTEX_POINT ( 'NONE', #12019 ) ; +#1998 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#1999 = VECTOR ( 'NONE', #4930, 1000.000000000000000 ) ; +#2000 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2001 = ORIENTED_EDGE ( 'NONE', *, *, #5164, .T. ) ; +#2002 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 1.000000000000000000 ) ) ; +#2003 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2004 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#2005 = ORIENTED_EDGE ( 'NONE', *, *, #10501, .T. ) ; +#2006 = CARTESIAN_POINT ( 'NONE', ( -121.2443520791408389, -69.96605763575114167, 17.74016224672767450 ) ) ; +#2007 = VECTOR ( 'NONE', #7053, 1000.000000000000000 ) ; +#2008 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 16.51002382984610506 ) ) ; +#2009 = AXIS2_PLACEMENT_3D ( 'NONE', #5997, #8010, #9840 ) ; +#2010 = CARTESIAN_POINT ( 'NONE', ( -105.2815802751187135, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2011 = VERTEX_POINT ( 'NONE', #10332 ) ; +#2012 = CARTESIAN_POINT ( 'NONE', ( -103.4794949197316924, -15.15989539340169223, 2.956665648993159756 ) ) ; +#2013 = VERTEX_POINT ( 'NONE', #7262 ) ; +#2014 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -51.45000000000000284, -0.7499761701538956160 ) ) ; +#2015 = ORIENTED_EDGE ( 'NONE', *, *, #8248, .T. ) ; +#2016 = AXIS2_PLACEMENT_3D ( 'NONE', #11587, #2681, #6640 ) ; +#2017 = CARTESIAN_POINT ( 'NONE', ( -67.68584112334262670, -67.03712544761660297, 15.76002382984610684 ) ) ; +#2018 = AXIS2_PLACEMENT_3D ( 'NONE', #8164, #9275, #7198 ) ; +#2019 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2020 = ADVANCED_FACE ( 'NONE', ( #1155 ), #7077, .T. ) ; +#2021 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#2022 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -29.25000000000000000, 20.75002382984610350 ) ) ; +#2023 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#2024 = VERTEX_POINT ( 'NONE', #1412 ) ; +#2025 = CIRCLE ( 'NONE', #12609, 1.000000000000000888 ) ; +#2026 = CARTESIAN_POINT ( 'NONE', ( -89.42591364668750487, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2027 = ORIENTED_EDGE ( 'NONE', *, *, #6300, .F. ) ; +#2028 = CARTESIAN_POINT ( 'NONE', ( -70.10625674599064894, -83.66714618240314394, 15.76002382984610684 ) ) ; +#2029 = EDGE_LOOP ( 'NONE', ( #9643, #9492, #6788, #7478 ) ) ; +#2030 = FACE_OUTER_BOUND ( 'NONE', #7889, .T. ) ; +#2031 = CIRCLE ( 'NONE', #3076, 1.000000000000000000 ) ; +#2032 = CARTESIAN_POINT ( 'NONE', ( -99.42023570319385328, -58.46605763575112746, 2.950023829846314172 ) ) ; +#2033 = EDGE_CURVE ( 'NONE', #475, #5754, #6081, .T. ) ; +#2034 = ORIENTED_EDGE ( 'NONE', *, *, #7877, .F. ) ; +#2035 = CARTESIAN_POINT ( 'NONE', ( -109.6798099851200305, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2036 = ORIENTED_EDGE ( 'NONE', *, *, #231, .F. ) ; +#2037 = CARTESIAN_POINT ( 'NONE', ( -96.48512085511606529, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2038 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2039 = LINE ( 'NONE', #7695, #4530 ) ; +#2040 = CIRCLE ( 'NONE', #11802, 6.124000000001836419 ) ; +#2041 = EDGE_LOOP ( 'NONE', ( #10324, #10420, #12568, #4713 ) ) ; +#2042 = CARTESIAN_POINT ( 'NONE', ( -115.4328320969387249, -84.87102851662824321, 2.740162246725903916 ) ) ; +#2043 = ORIENTED_EDGE ( 'NONE', *, *, #361, .F. ) ; +#2044 = EDGE_CURVE ( 'NONE', #5407, #9707, #3304, .T. ) ; +#2045 = DIRECTION ( 'NONE', ( 0.3420201433256614409, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#2046 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2047 = EDGE_CURVE ( 'NONE', #1646, #8802, #10268, .T. ) ; +#2048 = LINE ( 'NONE', #3994, #12529 ) ; +#2049 = PLANE ( 'NONE', #9270 ) ; +#2050 = ORIENTED_EDGE ( 'NONE', *, *, #4907, .F. ) ; +#2051 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2052 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2053 = PLANE ( 'NONE', #6670 ) ; +#2054 = PLANE ( 'NONE', #7317 ) ; +#2055 = ORIENTED_EDGE ( 'NONE', *, *, #5630, .F. ) ; +#2056 = DIRECTION ( 'NONE', ( 2.026550380470260590E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2057 = EDGE_CURVE ( 'NONE', #10736, #6700, #3116, .T. ) ; +#2058 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 7.490162246727668283 ) ) ; +#2059 = ORIENTED_EDGE ( 'NONE', *, *, #9945, .F. ) ; +#2060 = CARTESIAN_POINT ( 'NONE', ( -71.81266136503614916, -14.23049050158843620, 2.552561584197691857 ) ) ; +#2061 = EDGE_CURVE ( 'NONE', #2552, #8714, #6289, .T. ) ; +#2062 = FACE_OUTER_BOUND ( 'NONE', #4175, .T. ) ; +#2063 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2064 = ADVANCED_FACE ( 'NONE', ( #11300 ), #11174, .F. ) ; +#2065 = ADVANCED_FACE ( 'NONE', ( #2399 ), #4150, .F. ) ; +#2066 = EDGE_CURVE ( 'NONE', #1794, #1997, #12081, .T. ) ; +#2067 = VERTEX_POINT ( 'NONE', #5315 ) ; +#2068 = CARTESIAN_POINT ( 'NONE', ( -121.8747795949514909, -69.96605763575114167, 17.26214890549094605 ) ) ; +#2069 = EDGE_CURVE ( 'NONE', #11069, #1458, #8984, .T. ) ; +#2070 = CARTESIAN_POINT ( 'NONE', ( -108.2166951231965157, -58.46605763575112746, 2.950023829846315060 ) ) ; +#2071 = AXIS2_PLACEMENT_3D ( 'NONE', #5347, #598, #2427 ) ; +#2072 = LINE ( 'NONE', #9885, #3990 ) ; +#2073 = VERTEX_POINT ( 'NONE', #6170 ) ; +#2074 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2075 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -13.25000000000000178, 10.00000000000000000 ) ) ; +#2076 = ORIENTED_EDGE ( 'NONE', *, *, #11208, .F. ) ; +#2077 = PLANE ( 'NONE', #288 ) ; +#2078 = ORIENTED_EDGE ( 'NONE', *, *, #8021, .T. ) ; +#2079 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416525, -69.96605763575111325, 3.740162246727671391 ) ) ; +#2080 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 18.25016224672766540 ) ) ; +#2081 = ADVANCED_FACE ( 'NONE', ( #432 ), #2201, .T. ) ; +#2082 = LINE ( 'NONE', #10927, #4986 ) ; +#2083 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2084 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -23.68297142738791905, -1.982026977722763039 ) ) ; +#2085 = ORIENTED_EDGE ( 'NONE', *, *, #1386, .F. ) ; +#2086 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2087 = VERTEX_POINT ( 'NONE', #10079 ) ; +#2088 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -64.96605763575112746, 4.250023829846106160 ) ) ; +#2089 = LINE ( 'NONE', #7224, #7956 ) ; +#2090 = ORIENTED_EDGE ( 'NONE', *, *, #10646, .F. ) ; +#2091 = EDGE_CURVE ( 'NONE', #211, #4853, #12148, .T. ) ; +#2092 = CARTESIAN_POINT ( 'NONE', ( -70.94338337170428588, -84.96605763575111325, 14.76002382984517425 ) ) ; +#2093 = VECTOR ( 'NONE', #7335, 1000.000000000000000 ) ; +#2094 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#2095 = EDGE_LOOP ( 'NONE', ( #8630, #5727, #8701, #11721 ) ) ; +#2096 = CARTESIAN_POINT ( 'NONE', ( -106.8560856125850762, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2097 = VERTEX_POINT ( 'NONE', #11114 ) ; +#2098 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2099 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 3.000000000000002665 ) ) ; +#2100 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#2101 = ORIENTED_EDGE ( 'NONE', *, *, #3258, .T. ) ; +#2102 = CARTESIAN_POINT ( 'NONE', ( -120.9204796289420614, -77.67155388488815504, 2.740162246727670503 ) ) ; +#2103 = ORIENTED_EDGE ( 'NONE', *, *, #6748, .F. ) ; +#2104 = EDGE_CURVE ( 'NONE', #2839, #11745, #1218, .T. ) ; +#2105 = LINE ( 'NONE', #1197, #6737 ) ; +#2106 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2107 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2108 = LINE ( 'NONE', #8876, #1585 ) ; +#2109 = AXIS2_PLACEMENT_3D ( 'NONE', #9373, #7237, #5279 ) ; +#2110 = ORIENTED_EDGE ( 'NONE', *, *, #11195, .F. ) ; +#2111 = CARTESIAN_POINT ( 'NONE', ( -98.87855690028371214, -65.01605763575113883, 34.19414403145147219 ) ) ; +#2112 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, -12.50498006704500042, 10.00000000000000000 ) ) ; +#2113 = LINE ( 'NONE', #1066, #8744 ) ; +#2114 = LINE ( 'NONE', #4263, #1270 ) ; +#2115 = ORIENTED_EDGE ( 'NONE', *, *, #6652, .T. ) ; +#2116 = LINE ( 'NONE', #1868, #6279 ) ; +#2117 = EDGE_CURVE ( 'NONE', #7932, #9448, #1279, .T. ) ; +#2118 = VECTOR ( 'NONE', #6518, 1000.000000000000000 ) ; +#2119 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -84.96605763575112746, 1.760023829846103727 ) ) ; +#2120 = EDGE_LOOP ( 'NONE', ( #180, #5619, #11978, #10356 ) ) ; +#2121 = FACE_OUTER_BOUND ( 'NONE', #3927, .T. ) ; +#2122 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2123 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#2124 = CIRCLE ( 'NONE', #6491, 5.000000000000004441 ) ; +#2125 = ORIENTED_EDGE ( 'NONE', *, *, #8416, .F. ) ; +#2126 = LINE ( 'NONE', #6093, #5333 ) ; +#2127 = EDGE_CURVE ( 'NONE', #9254, #7900, #11232, .T. ) ; +#2128 = CIRCLE ( 'NONE', #11060, 1.000000000000000888 ) ; +#2129 = LINE ( 'NONE', #429, #5700 ) ; +#2130 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -63.46605763575112746, 14.25016224672766896 ) ) ; +#2131 = ORIENTED_EDGE ( 'NONE', *, *, #61, .F. ) ; +#2132 = CARTESIAN_POINT ( 'NONE', ( -105.4443271492264103, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2133 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#2134 = EDGE_CURVE ( 'NONE', #11376, #8799, #7120, .T. ) ; +#2135 = EDGE_CURVE ( 'NONE', #1127, #6601, #12103, .T. ) ; +#2136 = ORIENTED_EDGE ( 'NONE', *, *, #952, .F. ) ; +#2137 = VECTOR ( 'NONE', #9990, 1000.000000000000000 ) ; +#2138 = EDGE_CURVE ( 'NONE', #935, #298, #3555, .T. ) ; +#2139 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 9.000000000000001776 ) ) ; +#2140 = VERTEX_POINT ( 'NONE', #8433 ) ; +#2141 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2142 = LINE ( 'NONE', #5136, #3851 ) ; +#2143 = EDGE_CURVE ( 'NONE', #1847, #1711, #691, .T. ) ; +#2144 = AXIS2_PLACEMENT_3D ( 'NONE', #8935, #4971, #1254 ) ; +#2145 = CARTESIAN_POINT ( 'NONE', ( -111.2543153225863932, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2146 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2147 = CIRCLE ( 'NONE', #6091, 0.8000000000000003775 ) ; +#2148 = ORIENTED_EDGE ( 'NONE', *, *, #714, .F. ) ; +#2149 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2150 = EDGE_CURVE ( 'NONE', #4940, #10365, #8622, .T. ) ; +#2151 = EDGE_LOOP ( 'NONE', ( #5683, #838 ) ) ; +#2152 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 10.00000000000000000 ) ) ; +#2153 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2154 = ORIENTED_EDGE ( 'NONE', *, *, #9495, .F. ) ; +#2155 = FACE_OUTER_BOUND ( 'NONE', #9691, .T. ) ; +#2156 = AXIS2_PLACEMENT_3D ( 'NONE', #5321, #3504, #12534 ) ; +#2157 = AXIS2_PLACEMENT_3D ( 'NONE', #11833, #1756, #12806 ) ; +#2158 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, 0.000000000000000000, 9.000000000000001776 ) ) ; +#2159 = ORIENTED_EDGE ( 'NONE', *, *, #6677, .F. ) ; +#2160 = CARTESIAN_POINT ( 'NONE', ( -64.47394655799899965, -75.63483116943318407, 1.760023829845507759 ) ) ; +#2161 = AXIS2_PLACEMENT_3D ( 'NONE', #2630, #8591, #7490 ) ; +#2162 = ORIENTED_EDGE ( 'NONE', *, *, #4484, .T. ) ; +#2163 = CARTESIAN_POINT ( 'NONE', ( -90.46102940908352252, -64.96605763575112746, 15.55016224672746006 ) ) ; +#2164 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2165 = ORIENTED_EDGE ( 'NONE', *, *, #5161, .F. ) ; +#2166 = VECTOR ( 'NONE', #472, 1000.000000000000000 ) ; +#2167 = LINE ( 'NONE', #210, #8705 ) ; +#2168 = VECTOR ( 'NONE', #9937, 1000.000000000000000 ) ; +#2169 = ORIENTED_EDGE ( 'NONE', *, *, #1177, .T. ) ; +#2170 = CARTESIAN_POINT ( 'NONE', ( -119.8591396817922856, -77.71992162083337519, 2.740162246727674056 ) ) ; +#2171 = VERTEX_POINT ( 'NONE', #12405 ) ; +#2172 = AXIS2_PLACEMENT_3D ( 'NONE', #9948, #6884, #9884 ) ; +#2173 = LINE ( 'NONE', #1985, #297 ) ; +#2174 = LINE ( 'NONE', #10481, #4260 ) ; +#2175 = AXIS2_PLACEMENT_3D ( 'NONE', #602, #1643, #4705 ) ; +#2176 = FACE_OUTER_BOUND ( 'NONE', #5334, .T. ) ; +#2177 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -76.14639752325007294, -0.7499761701538951719 ) ) ; +#2178 = AXIS2_PLACEMENT_3D ( 'NONE', #5205, #263, #6313 ) ; +#2179 = EDGE_CURVE ( 'NONE', #5943, #2180, #7653, .T. ) ; +#2180 = VERTEX_POINT ( 'NONE', #1730 ) ; +#2181 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2182 = EDGE_CURVE ( 'NONE', #4873, #12659, #2659, .T. ) ; +#2183 = CARTESIAN_POINT ( 'NONE', ( -92.60499278285990954, -59.01605763575113173, 41.86405317859909303 ) ) ; +#2184 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#2185 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2186 = VERTEX_POINT ( 'NONE', #10454 ) ; +#2187 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2188 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, 9.000000000000001776 ) ) ; +#2189 = VERTEX_POINT ( 'NONE', #6423 ) ; +#2190 = VECTOR ( 'NONE', #249, 1000.000000000000000 ) ; +#2191 = CARTESIAN_POINT ( 'NONE', ( -103.6557185390874736, -64.96605763575112746, 15.55016224672746006 ) ) ; +#2192 = CARTESIAN_POINT ( 'NONE', ( -97.48964746931601155, -59.01605763575113173, 30.98461803242789259 ) ) ; +#2193 = CARTESIAN_POINT ( 'NONE', ( -69.23858607768926277, -65.09619425468558518, 12.06876325713738396 ) ) ; +#2194 = ORIENTED_EDGE ( 'NONE', *, *, #292, .T. ) ; +#2195 = LINE ( 'NONE', #3768, #7002 ) ; +#2196 = EDGE_CURVE ( 'NONE', #3900, #4403, #11566, .T. ) ; +#2197 = CARTESIAN_POINT ( 'NONE', ( -90.73283108516223194, -59.01605763575113173, 41.45649665253048965 ) ) ; +#2198 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2199 = CIRCLE ( 'NONE', #10515, 4.000000000000000000 ) ; +#2200 = ORIENTED_EDGE ( 'NONE', *, *, #4421, .F. ) ; +#2201 = CYLINDRICAL_SURFACE ( 'NONE', #4842, 2.800000000000836486 ) ; +#2202 = PLANE ( 'NONE', #2431 ) ; +#2203 = VERTEX_POINT ( 'NONE', #569 ) ; +#2204 = CIRCLE ( 'NONE', #9476, 2.000000000000001776 ) ; +#2205 = CARTESIAN_POINT ( 'NONE', ( -110.2530631040894775, -58.46605763575112746, 15.55016224672746006 ) ) ; +#2206 = EDGE_LOOP ( 'NONE', ( #1697, #5276, #2651, #4727 ) ) ; +#2207 = EDGE_CURVE ( 'NONE', #10588, #10097, #12594, .T. ) ; +#2208 = CARTESIAN_POINT ( 'NONE', ( -75.22997229818662390, -64.96605763575112746, 2.950023829846312395 ) ) ; +#2209 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -1.301042606982606060E-16 ) ) ; +#2210 = AXIS2_PLACEMENT_3D ( 'NONE', #9260, #8338, #12308 ) ; +#2211 = ADVANCED_FACE ( 'NONE', ( #10391 ), #3626, .F. ) ; +#2212 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 16.74016224672766739 ) ) ; +#2213 = APPROVAL_ROLE ( '' ) ; +#2214 = FACE_OUTER_BOUND ( 'NONE', #8529, .T. ) ; +#2215 = ORIENTED_EDGE ( 'NONE', *, *, #9052, .T. ) ; +#2216 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -58.46605763575112746, 15.42173512198147911 ) ) ; +#2217 = AXIS2_PLACEMENT_3D ( 'NONE', #6511, #8580, #12487 ) ; +#2218 = VERTEX_POINT ( 'NONE', #3498 ) ; +#2219 = CYLINDRICAL_SURFACE ( 'NONE', #6540, 1.000000000000000888 ) ; +#2220 = AXIS2_PLACEMENT_3D ( 'NONE', #1530, #362, #2580 ) ; +#2221 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -27.25000000000000355, 2.000000000000002665 ) ) ; +#2222 = VERTEX_POINT ( 'NONE', #7394 ) ; +#2223 = ADVANCED_FACE ( 'NONE', ( #4540, #10594 ), #5703, .T. ) ; +#2224 = CARTESIAN_POINT ( 'NONE', ( -93.98175186377146417, -65.01605763575113883, 43.38139977562773453 ) ) ; +#2225 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#2226 = EDGE_CURVE ( 'NONE', #7357, #11611, #2522, .T. ) ; +#2227 = CARTESIAN_POINT ( 'NONE', ( -68.57246334083079375, -83.83997004273787468, 1.760023829846275589 ) ) ; +#2228 = AXIS2_PLACEMENT_3D ( 'NONE', #12141, #5243, #3239 ) ; +#2229 = EDGE_CURVE ( 'NONE', #11441, #7012, #4401, .T. ) ; +#2230 = EDGE_CURVE ( 'NONE', #11890, #12798, #8361, .T. ) ; +#2231 = ORIENTED_EDGE ( 'NONE', *, *, #7154, .F. ) ; +#2232 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046187506, -84.96605763575108483, 15.02182321764524531 ) ) ; +#2233 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2234 = ORIENTED_EDGE ( 'NONE', *, *, #7608, .F. ) ; +#2235 = CARTESIAN_POINT ( 'NONE', ( -87.85140830922114219, -58.46605763575112746, 1.375023829845842149 ) ) ; +#2236 = EDGE_LOOP ( 'NONE', ( #5188, #1256, #7521, #9975 ) ) ; +#2237 = CARTESIAN_POINT ( 'NONE', ( -117.6618206331971948, -83.55585800934989038, 2.740162246727341433 ) ) ; +#2238 = VERTEX_POINT ( 'NONE', #1469 ) ; +#2239 = AXIS2_PLACEMENT_3D ( 'NONE', #4961, #8925, #3982 ) ; +#2240 = AXIS2_PLACEMENT_3D ( 'NONE', #11666, #5944, #2836 ) ; +#2241 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#2242 = PLANE ( 'NONE', #4848 ) ; +#2243 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2244 = EDGE_LOOP ( 'NONE', ( #12756, #5625 ) ) ; +#2245 = DIRECTION ( 'NONE', ( 0.3420201433256689350, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#2246 = VECTOR ( 'NONE', #788, 1000.000000000000000 ) ; +#2247 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2248 = CARTESIAN_POINT ( 'NONE', ( -110.6810622036169605, -64.96605763575112746, 15.55016224672746361 ) ) ; +#2249 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2250 = ORIENTED_EDGE ( 'NONE', *, *, #11433, .F. ) ; +#2251 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2252 = CARTESIAN_POINT ( 'NONE', ( -84.45443081771675509, -64.96605763575112746, 2.950023829846314172 ) ) ; +#2253 = ORIENTED_EDGE ( 'NONE', *, *, #5069, .F. ) ; +#2254 = EDGE_CURVE ( 'NONE', #622, #10351, #1939, .T. ) ; +#2255 = CARTESIAN_POINT ( 'NONE', ( -89.62130666395805179, -65.01605763575113883, 28.80941297348431718 ) ) ; +#2256 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 16.74016224672766739 ) ) ; +#2257 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.673617379884041635E-17 ) ) ; +#2258 = ADVANCED_FACE ( 'NONE', ( #2592 ), #10526, .T. ) ; +#2259 = ORIENTED_EDGE ( 'NONE', *, *, #8955, .T. ) ; +#2260 = CARTESIAN_POINT ( 'NONE', ( -78.89220201511079722, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2261 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.8660254037844353769, 0.5000000000000055511 ) ) ; +#2262 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -64.96605763575112746, 16.74016224672766739 ) ) ; +#2263 = ORIENTED_EDGE ( 'NONE', *, *, #7202, .T. ) ; +#2264 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2265 = LINE ( 'NONE', #3246, #9788 ) ; +#2266 = ORIENTED_EDGE ( 'NONE', *, *, #9683, .F. ) ; +#2267 = LINE ( 'NONE', #2139, #9636 ) ; +#2268 = VERTEX_POINT ( 'NONE', #628 ) ; +#2269 = EDGE_CURVE ( 'NONE', #12628, #8802, #8367, .T. ) ; +#2270 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2271 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2272 = CARTESIAN_POINT ( 'NONE', ( -108.4819473486163020, -58.46605763575112746, 15.55016224672746361 ) ) ; +#2273 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#2274 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 10.76002382984610151 ) ) ; +#2275 = EDGE_CURVE ( 'NONE', #7261, #3693, #1802, .T. ) ; +#2276 = ORIENTED_EDGE ( 'NONE', *, *, #1262, .T. ) ; +#2277 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2278 = ORIENTED_EDGE ( 'NONE', *, *, #2135, .T. ) ; +#2279 = AXIS2_PLACEMENT_3D ( 'NONE', #5475, #9375, #3659 ) ; +#2280 = VECTOR ( 'NONE', #11262, 1000.000000000000000 ) ; +#2281 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2282 = ORIENTED_EDGE ( 'NONE', *, *, #8789, .F. ) ; +#2283 = ADVANCED_FACE ( 'NONE', ( #12850 ), #3941, .T. ) ; +#2284 = FACE_OUTER_BOUND ( 'NONE', #8510, .T. ) ; +#2285 = CARTESIAN_POINT ( 'NONE', ( -87.68866143511344546, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2286 = CARTESIAN_POINT ( 'NONE', ( -65.74315047451511873, -79.79297887959087632, 0.7600238298478242394 ) ) ; +#2287 = ORIENTED_EDGE ( 'NONE', *, *, #1098, .T. ) ; +#2288 = CARTESIAN_POINT ( 'NONE', ( -91.92928263803207756, -65.01605763575113883, 28.11878630094604858 ) ) ; +#2289 = EDGE_CURVE ( 'NONE', #11940, #8281, #7905, .T. ) ; +#2290 = VERTEX_POINT ( 'NONE', #1931 ) ; +#2291 = FACE_OUTER_BOUND ( 'NONE', #10240, .T. ) ; +#2292 = EDGE_LOOP ( 'NONE', ( #3356, #6479, #5757, #2608 ) ) ; +#2293 = CARTESIAN_POINT ( 'NONE', ( -79.89345423360771292, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2294 = ORIENTED_EDGE ( 'NONE', *, *, #238, .F. ) ; +#2295 = CARTESIAN_POINT ( 'NONE', ( -119.5252348219657250, -81.08088933595142578, 3.740162246727673612 ) ) ; +#2296 = EDGE_CURVE ( 'NONE', #6330, #6616, #8992, .T. ) ; +#2297 = ORIENTED_EDGE ( 'NONE', *, *, #8421, .T. ) ; +#2298 = EDGE_CURVE ( 'NONE', #597, #5930, #11752, .T. ) ; +#2299 = EDGE_CURVE ( 'NONE', #5191, #8802, #8166, .T. ) ; +#2300 = ADVANCED_FACE ( 'NONE', ( #12721 ), #7778, .F. ) ; +#2301 = LINE ( 'NONE', #11269, #3209 ) ; +#2302 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -58.46605763575112746, -0.7499761701538939507 ) ) ; +#2303 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.5000000000000068834, 0.8660254037844347108 ) ) ; +#2304 = ORIENTED_EDGE ( 'NONE', *, *, #780, .T. ) ; +#2305 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685318, -65.96605763575112746, 14.25016224672766896 ) ) ; +#2306 = EDGE_CURVE ( 'NONE', #10007, #2804, #3747, .T. ) ; +#2307 = CIRCLE ( 'NONE', #3964, 4.000000000000003553 ) ; +#2308 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 4.250023829846108825 ) ) ; +#2309 = CARTESIAN_POINT ( 'NONE', ( -82.66582220757781840, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2310 = VERTEX_POINT ( 'NONE', #9742 ) ; +#2311 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -59.01605763575113173, 34.88298056549312065 ) ) ; +#2312 = EDGE_CURVE ( 'NONE', #9288, #7125, #5262, .T. ) ; +#2313 = DIRECTION ( 'NONE', ( 4.053100760940521181E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2314 = ORIENTED_EDGE ( 'NONE', *, *, #5303, .T. ) ; +#2315 = CIRCLE ( 'NONE', #864, 7.700000000002312994 ) ; +#2316 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2317 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -76.14639752325007294, 3.250023829846105272 ) ) ; +#2318 = CARTESIAN_POINT ( 'NONE', ( -90.88902850861101967, -58.46605763575112746, 15.55016224672746183 ) ) ; +#2319 = EDGE_LOOP ( 'NONE', ( #2488, #642, #11445, #2586 ) ) ; +#2320 = LINE ( 'NONE', #6288, #5973 ) ; +#2321 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2322 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2323 = VECTOR ( 'NONE', #2233, 1000.000000000000000 ) ; +#2324 = ORIENTED_EDGE ( 'NONE', *, *, #299, .T. ) ; +#2325 = CARTESIAN_POINT ( 'NONE', ( -72.98255269134165246, -58.46605763575112746, 18.25016224672766896 ) ) ; +#2326 = PLANE ( 'NONE', #5415 ) ; +#2327 = ORIENTED_EDGE ( 'NONE', *, *, #12868, .T. ) ; +#2328 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#2329 = ORIENTED_EDGE ( 'NONE', *, *, #4437, .F. ) ; +#2330 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2331 = CARTESIAN_POINT ( 'NONE', ( -89.30018893700008675, -59.01605763575113173, 42.52715544892058119 ) ) ; +#2332 = AXIS2_PLACEMENT_3D ( 'NONE', #4353, #3447, #8311 ) ; +#2333 = AXIS2_PLACEMENT_3D ( 'NONE', #6817, #8944, #12722 ) ; +#2334 = LINE ( 'NONE', #3372, #8310 ) ; +#2335 = ADVANCED_FACE ( 'NONE', ( #822 ), #4793, .F. ) ; +#2336 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #1916 ) ; +#2337 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2338 = EDGE_CURVE ( 'NONE', #11420, #2011, #886, .T. ) ; +#2339 = VECTOR ( 'NONE', #3000, 1000.000000000000000 ) ; +#2340 = ORIENTED_EDGE ( 'NONE', *, *, #5390, .F. ) ; +#2341 = VECTOR ( 'NONE', #11874, 1000.000000000000000 ) ; +#2342 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2343 = VECTOR ( 'NONE', #12526, 1000.000000000000000 ) ; +#2344 = EDGE_LOOP ( 'NONE', ( #8703, #1351, #4801, #6422 ) ) ; +#2345 = CARTESIAN_POINT ( 'NONE', ( -96.08663001626662492, -59.01605763575113173, 29.96526618525374985 ) ) ; +#2346 = EDGE_LOOP ( 'NONE', ( #8047, #9915, #503, #7815 ) ) ; +#2347 = LINE ( 'NONE', #1176, #2605 ) ; +#2348 = VECTOR ( 'NONE', #11683, 1000.000000000000000 ) ; +#2349 = CYLINDRICAL_SURFACE ( 'NONE', #338, 7.700000000002312994 ) ; +#2350 = CARTESIAN_POINT ( 'NONE', ( -65.96593137503495541, -77.44200639512824580, 0.7600238298461070574 ) ) ; +#2351 = AXIS2_PLACEMENT_3D ( 'NONE', #5833, #6750, #10721 ) ; +#2352 = EDGE_LOOP ( 'NONE', ( #5896, #5349, #2165, #3320 ) ) ; +#2353 = LINE ( 'NONE', #8135, #9089 ) ; +#2354 = EDGE_CURVE ( 'NONE', #5330, #8786, #6874, .T. ) ; +#2355 = ORIENTED_EDGE ( 'NONE', *, *, #12213, .T. ) ; +#2356 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164847092, -65.25895085456457423, 10.76002382984610151 ) ) ; +#2357 = ORIENTED_EDGE ( 'NONE', *, *, #4184, .F. ) ; +#2358 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2359 = AXIS2_PLACEMENT_3D ( 'NONE', #11444, #8634, #3701 ) ; +#2360 = EDGE_LOOP ( 'NONE', ( #12364, #6948, #12416, #4819 ) ) ; +#2361 = CARTESIAN_POINT ( 'NONE', ( -117.1035237337678154, -82.70440121468243433, 2.740162246727671835 ) ) ; +#2362 = VECTOR ( 'NONE', #7851, 1000.000000000000000 ) ; +#2363 = VERTEX_POINT ( 'NONE', #10503 ) ; +#2364 = AXIS2_PLACEMENT_3D ( 'NONE', #261, #11249, #1236 ) ; +#2365 = CIRCLE ( 'NONE', #5684, 1.000000000000000888 ) ; +#2366 = EDGE_CURVE ( 'NONE', #601, #6394, #2147, .T. ) ; +#2367 = CIRCLE ( 'NONE', #9238, 1.000000000000000888 ) ; +#2368 = FACE_OUTER_BOUND ( 'NONE', #5851, .T. ) ; +#2369 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2370 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2371 = ORIENTED_EDGE ( 'NONE', *, *, #9454, .T. ) ; +#2372 = CARTESIAN_POINT ( 'NONE', ( -87.63970645294524786, -59.01605763575113173, 30.17944176932702405 ) ) ; +#2373 = VECTOR ( 'NONE', #9258, 1000.000000000000000 ) ; +#2374 = EDGE_CURVE ( 'NONE', #645, #4180, #5553, .T. ) ; +#2375 = CIRCLE ( 'NONE', #4031, 2.800000000000836486 ) ; +#2376 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2377 = EDGE_CURVE ( 'NONE', #3115, #1159, #801, .T. ) ; +#2378 = ORIENTED_EDGE ( 'NONE', *, *, #5798, .F. ) ; +#2379 = CYLINDRICAL_SURFACE ( 'NONE', #9797, 2.800000000000843592 ) ; +#2380 = CIRCLE ( 'NONE', #3833, 5.000000000000000000 ) ; +#2381 = VERTEX_POINT ( 'NONE', #9521 ) ; +#2382 = CARTESIAN_POINT ( 'NONE', ( -110.2530631040894775, -64.96605763575112746, 15.55016224672746006 ) ) ; +#2383 = CARTESIAN_POINT ( 'NONE', ( -91.39956824406647229, -59.01605763575113173, 41.67313268766883994 ) ) ; +#2384 = VECTOR ( 'NONE', #12759, 1000.000000000000000 ) ; +#2385 = VERTEX_POINT ( 'NONE', #604 ) ; +#2386 = ADVANCED_FACE ( 'NONE', ( #1776 ), #10428, .T. ) ; +#2387 = VECTOR ( 'NONE', #8498, 1000.000000000000114 ) ; +#2388 = LINE ( 'NONE', #6283, #10063 ) ; +#2389 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, -11.50498006704499865, 0.9999999999999991118 ) ) ; +#2390 = CARTESIAN_POINT ( 'NONE', ( -68.08218302877877193, -65.81235641742991049, 13.61700120443638973 ) ) ; +#2391 = AXIS2_PLACEMENT_3D ( 'NONE', #11084, #10354, #2106 ) ; +#2392 = VERTEX_POINT ( 'NONE', #8597 ) ; +#2393 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2394 = EDGE_CURVE ( 'NONE', #7751, #10736, #1512, .T. ) ; +#2395 = EDGE_LOOP ( 'NONE', ( #2947, #773, #8728, #4681 ) ) ; +#2396 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 3.740162246727670059 ) ) ; +#2397 = LINE ( 'NONE', #4149, #11058 ) ; +#2398 = ORIENTED_EDGE ( 'NONE', *, *, #11014, .F. ) ; +#2399 = FACE_OUTER_BOUND ( 'NONE', #12062, .T. ) ; +#2400 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2401 = EDGE_LOOP ( 'NONE', ( #7474, #6255, #3846, #1850, #3007, #8019, #10856 ) ) ; +#2402 = CIRCLE ( 'NONE', #10290, 2.800000000000836486 ) ; +#2403 = CARTESIAN_POINT ( 'NONE', ( -88.21525270734082369, -59.01605763575113173, 31.87281718311728440 ) ) ; +#2404 = VERTEX_POINT ( 'NONE', #9456 ) ; +#2405 = FACE_OUTER_BOUND ( 'NONE', #4343, .T. ) ; +#2406 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -33.25000000000000000, 3.999984739999989714 ) ) ; +#2407 = ORIENTED_EDGE ( 'NONE', *, *, #1914, .F. ) ; +#2408 = AXIS2_PLACEMENT_3D ( 'NONE', #11168, #1341, #7316 ) ; +#2409 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2410 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#2411 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -59.46605763575112746, 4.250023829846106160 ) ) ; +#2412 = ORIENTED_EDGE ( 'NONE', *, *, #9117, .F. ) ; +#2413 = DIRECTION ( 'NONE', ( -0.9396926207859136460, 0.000000000000000000, 0.3420201433256545021 ) ) ; +#2414 = ORIENTED_EDGE ( 'NONE', *, *, #11682, .T. ) ; +#2415 = DIRECTION ( 'NONE', ( 0.3420201433256692680, 0.000000000000000000, 0.9396926207859082059 ) ) ; +#2416 = ORIENTED_EDGE ( 'NONE', *, *, #12451, .F. ) ; +#2417 = AXIS2_PLACEMENT_3D ( 'NONE', #6401, #11086, #5169 ) ; +#2418 = CARTESIAN_POINT ( 'NONE', ( -65.76012259994661235, -76.71434839998278221, 15.76002382984610684 ) ) ; +#2419 = EDGE_CURVE ( 'NONE', #5159, #8490, #3806, .T. ) ; +#2420 = CYLINDRICAL_SURFACE ( 'NONE', #7990, 2.000000000000001776 ) ; +#2421 = ORIENTED_EDGE ( 'NONE', *, *, #11529, .F. ) ; +#2422 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 20.75002382984610350 ) ) ; +#2423 = ORIENTED_EDGE ( 'NONE', *, *, #12822, .T. ) ; +#2424 = VECTOR ( 'NONE', #5658, 1000.000000000000000 ) ; +#2425 = CARTESIAN_POINT ( 'NONE', ( -74.65671917921717693, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2426 = VERTEX_POINT ( 'NONE', #538 ) ; +#2427 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2428 = VERTEX_POINT ( 'NONE', #4572 ) ; +#2429 = LINE ( 'NONE', #5412, #3204 ) ; +#2430 = ORIENTED_EDGE ( 'NONE', *, *, #3412, .T. ) ; +#2431 = AXIS2_PLACEMENT_3D ( 'NONE', #433, #5190, #4402 ) ; +#2432 = ADVANCED_FACE ( 'NONE', ( #10695 ), #8527, .F. ) ; +#2433 = CIRCLE ( 'NONE', #2016, 6.124000000001836419 ) ; +#2434 = CARTESIAN_POINT ( 'NONE', ( -100.5304451868894375, -59.01605763575113173, 34.36789668297783606 ) ) ; +#2435 = CARTESIAN_POINT ( 'NONE', ( -101.6193505581945118, -58.46605763575112746, 2.950023829846315060 ) ) ; +#2436 = LINE ( 'NONE', #1255, #11764 ) ; +#2437 = ORIENTED_EDGE ( 'NONE', *, *, #9098, .T. ) ; +#2438 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2439 = CARTESIAN_POINT ( 'NONE', ( -83.45317859921982517, -58.46605763575112746, 1.375023829845842149 ) ) ; +#2440 = VERTEX_POINT ( 'NONE', #12499 ) ; +#2441 = DIRECTION ( 'NONE', ( 0.9396926207859136460, 0.000000000000000000, -0.3420201433256545021 ) ) ; +#2442 = EDGE_CURVE ( 'NONE', #10249, #9909, #7629, .T. ) ; +#2443 = AXIS2_PLACEMENT_3D ( 'NONE', #10184, #1392, #11345 ) ; +#2444 = ORIENTED_EDGE ( 'NONE', *, *, #3100, .T. ) ; +#2445 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 1.301042606982606060E-16 ) ) ; +#2446 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -4.053100760940521181E-15 ) ) ; +#2447 = ORIENTED_EDGE ( 'NONE', *, *, #5686, .T. ) ; +#2448 = ADVANCED_FACE ( 'NONE', ( #3470 ), #3598, .T. ) ; +#2449 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#2450 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2451 = CARTESIAN_POINT ( 'NONE', ( -65.19849556918488531, -68.69604387704286808, 15.67157153153639015 ) ) ; +#2452 = AXIS2_PLACEMENT_3D ( 'NONE', #11986, #8076, #993 ) ; +#2453 = VECTOR ( 'NONE', #2903, 1000.000000000000000 ) ; +#2454 = CIRCLE ( 'NONE', #9518, 1.000000000000000888 ) ; +#2455 = ORIENTED_EDGE ( 'NONE', *, *, #9432, .F. ) ; +#2456 = LINE ( 'NONE', #10385, #8046 ) ; +#2457 = ORIENTED_EDGE ( 'NONE', *, *, #1947, .T. ) ; +#2458 = LINE ( 'NONE', #4397, #6962 ) ; +#2459 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -64.96605763575112746, -0.7499761701538951719 ) ) ; +#2460 = EDGE_CURVE ( 'NONE', #8334, #1437, #8666, .T. ) ; +#2461 = ORIENTED_EDGE ( 'NONE', *, *, #8640, .F. ) ; +#2462 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2463 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2464 = LOCAL_TIME ( 15, 10, 40.00000000000000000, #1097 ) ; +#2465 = ORIENTED_EDGE ( 'NONE', *, *, #3042, .T. ) ; +#2466 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#2467 = EDGE_LOOP ( 'NONE', ( #1897, #7982, #998, #12098 ) ) ; +#2468 = EDGE_CURVE ( 'NONE', #3778, #3497, #5468, .T. ) ; +#2469 = EDGE_CURVE ( 'NONE', #10670, #3105, #6598, .T. ) ; +#2470 = CARTESIAN_POINT ( 'NONE', ( -99.89619731570437011, -59.01605763575113173, 32.41588245134317958 ) ) ; +#2471 = EDGE_CURVE ( 'NONE', #11875, #493, #12438, .T. ) ; +#2472 = CARTESIAN_POINT ( 'NONE', ( -75.22997229818662390, -64.96605763575112746, 2.950023829846312395 ) ) ; +#2473 = ORIENTED_EDGE ( 'NONE', *, *, #6632, .F. ) ; +#2474 = CARTESIAN_POINT ( 'NONE', ( -111.8789248401206891, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2475 = ORIENTED_EDGE ( 'NONE', *, *, #5386, .T. ) ; +#2476 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2477 = VERTEX_POINT ( 'NONE', #9717 ) ; +#2478 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2479 = ORIENTED_EDGE ( 'NONE', *, *, #1657, .T. ) ; +#2480 = CARTESIAN_POINT ( 'NONE', ( -69.61556566640506105, -84.54767695139280193, 15.76002382984610506 ) ) ; +#2481 = EDGE_CURVE ( 'NONE', #7718, #10157, #698, .T. ) ; +#2482 = CYLINDRICAL_SURFACE ( 'NONE', #5087, 2.800000000000840039 ) ; +#2483 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #1890, #11056, #8849, #7029, #7088, #10929, #12814, #7931, #4161, #131 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 4 ), + ( -7.468823430252276946E-06, 0.0004012366533397341119, 0.0008099421301097204338, 0.001218647606879706864, 0.001627353083649693295 ), + .UNSPECIFIED. ) ; +#2484 = CARTESIAN_POINT ( 'NONE', ( -90.88902850861101967, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2485 = LINE ( 'NONE', #5469, #8725 ) ; +#2486 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#2487 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -26.25000000000000355, 3.000000000000002665 ) ) ; +#2488 = ORIENTED_EDGE ( 'NONE', *, *, #11188, .T. ) ; +#2489 = LINE ( 'NONE', #403, #658 ) ; +#2490 = ORIENTED_EDGE ( 'NONE', *, *, #8096, .T. ) ; +#2491 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -33.25000000000000000, 3.000000000000002665 ) ) ; +#2492 = ORIENTED_EDGE ( 'NONE', *, *, #8096, .F. ) ; +#2493 = CARTESIAN_POINT ( 'NONE', ( -121.9767622626397099, -70.58216493585150886, 2.740162246728301554 ) ) ; +#2494 = ORIENTED_EDGE ( 'NONE', *, *, #2702, .T. ) ; +#2495 = VECTOR ( 'NONE', #2626, 1000.000000000000000 ) ; +#2496 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2497 = CARTESIAN_POINT ( 'NONE', ( -89.82440448553688839, -59.01605763575113173, 29.96526618525379604 ) ) ; +#2498 = CARTESIAN_POINT ( 'NONE', ( -92.66014426408416682, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2499 = CARTESIAN_POINT ( 'NONE', ( -97.05837397408551226, -58.46605763575112746, 15.55016224672746006 ) ) ; +#2500 = ORIENTED_EDGE ( 'NONE', *, *, #6276, .F. ) ; +#2501 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2502 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -63.46605763575112746, 14.25016224672766896 ) ) ; +#2503 = ORIENTED_EDGE ( 'NONE', *, *, #5084, .T. ) ; +#2504 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#2505 = EDGE_CURVE ( 'NONE', #10016, #2024, #2694, .T. ) ; +#2506 = CIRCLE ( 'NONE', #6662, 6.124000000001829314 ) ; +#2507 = ORIENTED_EDGE ( 'NONE', *, *, #6513, .F. ) ; +#2508 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 12.49999982601869775, 10.00000000000000000 ) ) ; +#2509 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2510 = ORIENTED_EDGE ( 'NONE', *, *, #7666, .T. ) ; +#2511 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -64.96605763575112746, 14.42173512198147556 ) ) ; +#2512 = CARTESIAN_POINT ( 'NONE', ( -87.85140830922114219, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2513 = PLANE ( 'NONE', #7193 ) ; +#2514 = VECTOR ( 'NONE', #8966, 1000.000000000000000 ) ; +#2515 = VERTEX_POINT ( 'NONE', #4706 ) ; +#2516 = LINE ( 'NONE', #7387, #3060 ) ; +#2517 = ORIENTED_EDGE ( 'NONE', *, *, #5238, .F. ) ; +#2518 = CARTESIAN_POINT ( 'NONE', ( -81.82731686318858522, -58.46605763575112746, 2.950023829846315060 ) ) ; +#2519 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#2520 = ADVANCED_FACE ( 'NONE', ( #4771 ), #12635, .T. ) ; +#2521 = EDGE_LOOP ( 'NONE', ( #10437, #11504, #7880, #7035 ) ) ; +#2522 = LINE ( 'NONE', #5442, #5882 ) ; +#2523 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2524 = CIRCLE ( 'NONE', #8525, 2.800000000000836486 ) ; +#2525 = ORIENTED_EDGE ( 'NONE', *, *, #2354, .F. ) ; +#2526 = AXIS2_PLACEMENT_3D ( 'NONE', #11551, #2642, #6606 ) ; +#2527 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#2528 = ORIENTED_EDGE ( 'NONE', *, *, #8077, .T. ) ; +#2529 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2530 = EDGE_CURVE ( 'NONE', #359, #10143, #10876, .T. ) ; +#2531 = CARTESIAN_POINT ( 'NONE', ( -112.4521779590901218, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2532 = VERTEX_POINT ( 'NONE', #4299 ) ; +#2533 = CIRCLE ( 'NONE', #7507, 2.800000000000836486 ) ; +#2534 = LINE ( 'NONE', #11512, #11031 ) ; +#2535 = EDGE_CURVE ( 'NONE', #2831, #6901, #3264, .T. ) ; +#2536 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2537 = ORIENTED_EDGE ( 'NONE', *, *, #9279, .F. ) ; +#2538 = LINE ( 'NONE', #6500, #58 ) ; +#2539 = EDGE_CURVE ( 'NONE', #12, #11376, #9839, .T. ) ; +#2540 = EDGE_LOOP ( 'NONE', ( #4789, #10118, #8083, #12039 ) ) ; +#2541 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2542 = VERTEX_POINT ( 'NONE', #71 ) ; +#2543 = VECTOR ( 'NONE', #8715, 1000.000000000000000 ) ; +#2544 = CARTESIAN_POINT ( 'NONE', ( -65.67434398453258382, -76.37787028960325131, 15.76002382984609973 ) ) ; +#2545 = EDGE_CURVE ( 'NONE', #3351, #9852, #2089, .T. ) ; +#2546 = CARTESIAN_POINT ( 'NONE', ( -92.66014426408416682, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2547 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 1.760023829846103283 ) ) ; +#2548 = ORIENTED_EDGE ( 'NONE', *, *, #2865, .F. ) ; +#2549 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2550 = EDGE_CURVE ( 'NONE', #12693, #7657, #8256, .T. ) ; +#2551 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2552 = VERTEX_POINT ( 'NONE', #4231 ) ; +#2553 = LINE ( 'NONE', #1836, #2543 ) ; +#2554 = VERTEX_POINT ( 'NONE', #12097 ) ; +#2555 = CARTESIAN_POINT ( 'NONE', ( -95.28725821861233669, -58.46605763575112746, 15.55016224672746006 ) ) ; +#2556 = EDGE_LOOP ( 'NONE', ( #175, #10064, #6959, #9663, #3594, #10978 ) ) ; +#2557 = CARTESIAN_POINT ( 'NONE', ( -76.06847764257581446, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2558 = ORIENTED_EDGE ( 'NONE', *, *, #6478, .F. ) ; +#2559 = CIRCLE ( 'NONE', #11486, 0.8000000000000003775 ) ; +#2560 = VECTOR ( 'NONE', #8431, 1000.000000000000000 ) ; +#2561 = VECTOR ( 'NONE', #10654, 1000.000000000000000 ) ; +#2562 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2563 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2564 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2565 = ORIENTED_EDGE ( 'NONE', *, *, #6510, .T. ) ; +#2566 = CARTESIAN_POINT ( 'NONE', ( -118.6310272412140989, -80.63050477189392495, 17.74016224672767095 ) ) ; +#2567 = CIRCLE ( 'NONE', #2775, 3.000000000000002665 ) ; +#2568 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2569 = VECTOR ( 'NONE', #5065, 1000.000000000000000 ) ; +#2570 = ORIENTED_EDGE ( 'NONE', *, *, #6373, .F. ) ; +#2571 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2572 = AXIS2_PLACEMENT_3D ( 'NONE', #2497, #5266, #10999 ) ; +#2573 = ORIENTED_EDGE ( 'NONE', *, *, #2091, .F. ) ; +#2574 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2575 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2576 = EDGE_LOOP ( 'NONE', ( #7098, #3503, #1635, #1918 ) ) ; +#2577 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2578 = VECTOR ( 'NONE', #3820, 1000.000000000000000 ) ; +#2579 = ADVANCED_FACE ( 'NONE', ( #9048 ), #3198, .F. ) ; +#2580 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2581 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256614409 ) ) ; +#2582 = AXIS2_PLACEMENT_3D ( 'NONE', #5531, #646, #2415 ) ; +#2583 = ORIENTED_EDGE ( 'NONE', *, *, #2530, .F. ) ; +#2584 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2585 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #47, #9702, #2068, #6776, #2006, #1762 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#2586 = ORIENTED_EDGE ( 'NONE', *, *, #3490, .T. ) ; +#2588 = VECTOR ( 'NONE', #3593, 1000.000000000000114 ) ; +#2587 = CYLINDRICAL_SURFACE ( 'NONE', #12569, 1.000000000000000444 ) ; +#2589 = FACE_OUTER_BOUND ( 'NONE', #1826, .T. ) ; +#2590 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #4781, #615, #10513, #1599 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.06666666666666652696, 0.9333333333333333481 ), + .UNSPECIFIED. ) ; +#2591 = VERTEX_POINT ( 'NONE', #6052 ) ; +#2592 = FACE_OUTER_BOUND ( 'NONE', #3484, .T. ) ; +#2593 = FACE_OUTER_BOUND ( 'NONE', #8782, .T. ) ; +#2594 = AXIS2_PLACEMENT_3D ( 'NONE', #11356, #1459, #8349 ) ; +#2595 = VECTOR ( 'NONE', #5367, 1000.000000000000000 ) ; +#2596 = ORIENTED_EDGE ( 'NONE', *, *, #2920, .T. ) ; +#2597 = LINE ( 'NONE', #4342, #2387 ) ; +#2598 = EDGE_LOOP ( 'NONE', ( #806, #9158, #1854, #11852 ) ) ; +#2599 = VECTOR ( 'NONE', #8549, 1000.000000000000000 ) ; +#2600 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2601 = EDGE_CURVE ( 'NONE', #6372, #10390, #4106, .T. ) ; +#2602 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, 20.75002382984610350 ) ) ; +#2603 = CARTESIAN_POINT ( 'NONE', ( -75.65797139771410684, -58.46605763575112746, 2.950023829846315948 ) ) ; +#2604 = VERTEX_POINT ( 'NONE', #5203 ) ; +#2605 = VECTOR ( 'NONE', #11137, 1000.000000000000000 ) ; +#2606 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -55.25000000000000711, 21.75002382984610705 ) ) ; +#2607 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#2608 = ORIENTED_EDGE ( 'NONE', *, *, #2254, .F. ) ; +#2609 = AXIS2_PLACEMENT_3D ( 'NONE', #4910, #9792, #4844 ) ; +#2610 = LINE ( 'NONE', #710, #4417 ) ; +#2611 = EDGE_CURVE ( 'NONE', #935, #1551, #8005, .T. ) ; +#2612 = ORIENTED_EDGE ( 'NONE', *, *, #2706, .T. ) ; +#2613 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2614 = VERTEX_POINT ( 'NONE', #8194 ) ; +#2615 = CARTESIAN_POINT ( 'NONE', ( -65.72392409097844279, -79.74865146050655085, 15.76002382984610506 ) ) ; +#2616 = EDGE_CURVE ( 'NONE', #1782, #1618, #10030, .T. ) ; +#2617 = CARTESIAN_POINT ( 'NONE', ( -84.45443081771675509, -58.46605763575112746, 2.950023829846314172 ) ) ; +#2618 = VECTOR ( 'NONE', #10018, 1000.000000000000114 ) ; +#2619 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2620 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2621 = LINE ( 'NONE', #8583, #7428 ) ; +#2622 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#2623 = EDGE_LOOP ( 'NONE', ( #12716, #2663, #2873, #3265 ) ) ; +#2624 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -33.25000000000000000, 3.000000000000002665 ) ) ; +#2625 = ORIENTED_EDGE ( 'NONE', *, *, #7272, .T. ) ; +#2626 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 4.053100760940521970E-15 ) ) ; +#2627 = EDGE_CURVE ( 'NONE', #11957, #8843, #3387, .T. ) ; +#2628 = AXIS2_PLACEMENT_3D ( 'NONE', #5713, #2861, #1743 ) ; +#2629 = VERTEX_POINT ( 'NONE', #7034 ) ; +#2630 = CARTESIAN_POINT ( 'NONE', ( -107.0188324866927729, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2631 = VERTEX_POINT ( 'NONE', #6247 ) ; +#2632 = EDGE_CURVE ( 'NONE', #2392, #6147, #5892, .T. ) ; +#2633 = CARTESIAN_POINT ( 'NONE', ( -78.26759249757650139, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2634 = EDGE_CURVE ( 'NONE', #11381, #2363, #5146, .T. ) ; +#2635 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2636 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2637 = AXIS2_PLACEMENT_3D ( 'NONE', #7113, #4378, #2243 ) ; +#2638 = ORIENTED_EDGE ( 'NONE', *, *, #1190, .F. ) ; +#2639 = LINE ( 'NONE', #6602, #5768 ) ; +#2640 = PLANE ( 'NONE', #3352 ) ; +#2641 = ORIENTED_EDGE ( 'NONE', *, *, #2047, .F. ) ; +#2642 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2643 = ORIENTED_EDGE ( 'NONE', *, *, #2742, .F. ) ; +#2644 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -59.46605763575112746, 4.250023829846106160 ) ) ; +#2645 = AXIS2_PLACEMENT_3D ( 'NONE', #11983, #6978, #4959 ) ; +#2646 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -13.25000000000000178, 3.000000000000002665 ) ) ; +#2647 = ORIENTED_EDGE ( 'NONE', *, *, #9176, .F. ) ; +#2648 = CARTESIAN_POINT ( 'NONE', ( -80.05620110771543807, -64.96605763575112746, 2.950023829846315948 ) ) ; +#2649 = LINE ( 'NONE', #3546, #768 ) ; +#2650 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2651 = ORIENTED_EDGE ( 'NONE', *, *, #4585, .F. ) ; +#2652 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2653 = CIRCLE ( 'NONE', #8859, 7.700000000002309442 ) ; +#2654 = VECTOR ( 'NONE', #12650, 1000.000000000000000 ) ; +#2655 = VERTEX_POINT ( 'NONE', #5081 ) ; +#2656 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2657 = FACE_OUTER_BOUND ( 'NONE', #11623, .T. ) ; +#2658 = VERTEX_POINT ( 'NONE', #9241 ) ; +#2659 = LINE ( 'NONE', #9484, #677 ) ; +#2660 = FACE_OUTER_BOUND ( 'NONE', #166, .T. ) ; +#2661 = EDGE_CURVE ( 'NONE', #11441, #12753, #5584, .T. ) ; +#2662 = CARTESIAN_POINT ( 'NONE', ( -117.6462122625755882, -83.57038944373032052, 16.74016224672736897 ) ) ; +#2663 = ORIENTED_EDGE ( 'NONE', *, *, #1881, .F. ) ; +#2664 = VECTOR ( 'NONE', #5021, 1000.000000000000114 ) ; +#2665 = LINE ( 'NONE', #9349, #8579 ) ; +#2666 = LINE ( 'NONE', #637, #5326 ) ; +#2667 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2668 = ORIENTED_EDGE ( 'NONE', *, *, #6603, .F. ) ; +#2669 = CARTESIAN_POINT ( 'NONE', ( -92.82289113819189197, -64.96605763575112746, 2.950023829846314172 ) ) ; +#2670 = CARTESIAN_POINT ( 'NONE', ( -86.65354567271741359, -64.96605763575112746, 2.950023829846315948 ) ) ; +#2671 = ORIENTED_EDGE ( 'NONE', *, *, #11801, .T. ) ; +#2672 = VECTOR ( 'NONE', #9507, 1000.000000000000000 ) ; +#2673 = CARTESIAN_POINT ( 'NONE', ( -111.8789248401206891, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2674 = EDGE_CURVE ( 'NONE', #1782, #7240, #3132, .T. ) ; +#2675 = EDGE_LOOP ( 'NONE', ( #12854, #42, #8414, #4565 ) ) ; +#2676 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -64.96605763575112746, 10.76002382984610151 ) ) ; +#2677 = ORIENTED_EDGE ( 'NONE', *, *, #2306, .T. ) ; +#2678 = CARTESIAN_POINT ( 'NONE', ( -66.98057153564998600, -82.05627176714239113, 14.76002382984549399 ) ) ; +#2679 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2680 = EDGE_CURVE ( 'NONE', #7819, #4485, #5049, .T. ) ; +#2681 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2682 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -33.25000000000000000, 17.75002382984610350 ) ) ; +#2683 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2684 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -33.25000000000000000, 0.7500238298461039399 ) ) ; +#2685 = ORIENTED_EDGE ( 'NONE', *, *, #11992, .F. ) ; +#2686 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2687 = ORIENTED_EDGE ( 'NONE', *, *, #5485, .T. ) ; +#2688 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2689 = EDGE_CURVE ( 'NONE', #2923, #6743, #7330, .T. ) ; +#2690 = VERTEX_POINT ( 'NONE', #9359 ) ; +#2691 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2692 = EDGE_LOOP ( 'NONE', ( #3335, #11177, #6867, #10672 ) ) ; +#2693 = CARTESIAN_POINT ( 'NONE', ( -87.22679879168684636, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2695 = ADVANCED_FACE ( 'NONE', ( #1430 ), #3513, .T. ) ; +#2694 = LINE ( 'NONE', #4636, #3193 ) ; +#2696 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2697 = ORIENTED_EDGE ( 'NONE', *, *, #7608, .T. ) ; +#2698 = CARTESIAN_POINT ( 'NONE', ( -79.62820200818792671, -58.46605763575112746, 2.950023829846315060 ) ) ; +#2699 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -58.46605763575112746, 16.88908538344432841 ) ) ; +#2700 = ORIENTED_EDGE ( 'NONE', *, *, #7297, .T. ) ; +#2701 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -84.96605763575112746, 17.74016224672767095 ) ) ; +#2702 = EDGE_CURVE ( 'NONE', #656, #2222, #6944, .T. ) ; +#2703 = EDGE_CURVE ( 'NONE', #2591, #11298, #4419, .T. ) ; +#2704 = ORIENTED_EDGE ( 'NONE', *, *, #9509, .T. ) ; +#2705 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#2706 = EDGE_CURVE ( 'NONE', #5170, #9488, #77, .T. ) ; +#2707 = FACE_OUTER_BOUND ( 'NONE', #11205, .T. ) ; +#2708 = CARTESIAN_POINT ( 'NONE', ( -81.09131687011145573, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2709 = EDGE_CURVE ( 'NONE', #5680, #4284, #9003, .T. ) ; +#2710 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2711 = LINE ( 'NONE', #5506, #3858 ) ; +#2712 = VERTEX_POINT ( 'NONE', #8314 ) ; +#2713 = CYLINDRICAL_SURFACE ( 'NONE', #2862, 6.124000000001836419 ) ; +#2714 = ORIENTED_EDGE ( 'NONE', *, *, #9614, .F. ) ; +#2715 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 20.75002382984610350 ) ) ; +#2716 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2717 = EDGE_CURVE ( 'NONE', #12018, #8668, #8574, .T. ) ; +#2718 = ORIENTED_EDGE ( 'NONE', *, *, #12702, .T. ) ; +#2719 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 2.740162246727670503 ) ) ; +#2720 = DIRECTION ( 'NONE', ( 0.7071067811865489050, -0.7071067811865460184, -6.133173666733511344E-17 ) ) ; +#2721 = ADVANCED_FACE ( 'NONE', ( #1626 ), #5397, .T. ) ; +#2722 = EDGE_CURVE ( 'NONE', #2073, #3705, #12549, .T. ) ; +#2723 = CARTESIAN_POINT ( 'NONE', ( -116.1389956839118867, -83.48179195663637131, 17.74016224672767095 ) ) ; +#2724 = VERTEX_POINT ( 'NONE', #10409 ) ; +#2725 = AXIS2_PLACEMENT_3D ( 'NONE', #5137, #191, #10210 ) ; +#2726 = CYLINDRICAL_SURFACE ( 'NONE', #9223, 7.700000000002309442 ) ; +#2727 = CARTESIAN_POINT ( 'NONE', ( -99.42023570319385328, -64.96605763575112746, 2.950023829846314172 ) ) ; +#2728 = LINE ( 'NONE', #8629, #5524 ) ; +#2729 = VERTEX_POINT ( 'NONE', #2676 ) ; +#2730 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2731 = LINE ( 'NONE', #2670, #1732 ) ; +#2732 = ORIENTED_EDGE ( 'NONE', *, *, #1495, .F. ) ; +#2733 = AXIS2_PLACEMENT_3D ( 'NONE', #7372, #4322, #1451 ) ; +#2734 = CARTESIAN_POINT ( 'NONE', ( -92.24963801922244500, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2735 = VERTEX_POINT ( 'NONE', #9430 ) ; +#2736 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2737 = ORIENTED_EDGE ( 'NONE', *, *, #9384, .T. ) ; +#2738 = LINE ( 'NONE', #973, #3838 ) ; +#2739 = AXIS2_PLACEMENT_3D ( 'NONE', #9011, #107, #419 ) ; +#2740 = LINE ( 'NONE', #649, #4893 ) ; +#2741 = AXIS2_PLACEMENT_3D ( 'NONE', #5023, #6062, #8987 ) ; +#2742 = EDGE_CURVE ( 'NONE', #2629, #8618, #5336, .T. ) ; +#2743 = LINE ( 'NONE', #6706, #12602 ) ; +#2744 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550850, -65.25895085456457423, 14.25016224672766896 ) ) ; +#2745 = CARTESIAN_POINT ( 'NONE', ( -99.89619731570437011, -59.01605763575113173, 32.41588245134317958 ) ) ; +#2746 = CARTESIAN_POINT ( 'NONE', ( -99.68548792861368213, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2747 = ORIENTED_EDGE ( 'NONE', *, *, #9661, .T. ) ; +#2748 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -84.96605763575112746, 2.740162246727670503 ) ) ; +#2749 = ORIENTED_EDGE ( 'NONE', *, *, #160, .F. ) ; +#2750 = CARTESIAN_POINT ( 'NONE', ( -92.24963801922244500, -58.46605763575112746, 1.375023829845842149 ) ) ; +#2751 = CIRCLE ( 'NONE', #3579, 0.7999999999999951594 ) ; +#2752 = ORIENTED_EDGE ( 'NONE', *, *, #3378, .F. ) ; +#2753 = CARTESIAN_POINT ( 'NONE', ( -82.09256908860837143, -64.96605763575112746, 15.55016224672746183 ) ) ; +#2754 = EDGE_LOOP ( 'NONE', ( #12587, #6408, #7360, #2043 ) ) ; +#2755 = AXIS2_PLACEMENT_3D ( 'NONE', #10006, #1025, #3052 ) ; +#2756 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2757 = EDGE_CURVE ( 'NONE', #8148, #3277, #12420, .T. ) ; +#2758 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#2759 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -64.96605763575112746, 0.000000000000000000 ) ) ; +#2760 = VECTOR ( 'NONE', #8125, 1000.000000000000000 ) ; +#2761 = EDGE_LOOP ( 'NONE', ( #11848, #8962, #6295, #796 ) ) ; +#2762 = CARTESIAN_POINT ( 'NONE', ( -116.7022296130412968, -83.06797188984148761, 17.74016224672766384 ) ) ; +#2763 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2764 = ORIENTED_EDGE ( 'NONE', *, *, #12625, .F. ) ; +#2765 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2766 = AXIS2_PLACEMENT_3D ( 'NONE', #10127, #5228, #1203 ) ; +#2767 = ORIENTED_EDGE ( 'NONE', *, *, #6300, .T. ) ; +#2768 = AXIS2_PLACEMENT_3D ( 'NONE', #7776, #6872, #8883 ) ; +#2769 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2770 = ADVANCED_FACE ( 'NONE', ( #5459 ), #11451, .F. ) ; +#2771 = AXIS2_PLACEMENT_3D ( 'NONE', #8902, #2924, #2869 ) ; +#2772 = CARTESIAN_POINT ( 'NONE', ( -107.4806951301193720, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2773 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2774 = ADVANCED_FACE ( 'NONE', ( #9500 ), #6441, .T. ) ; +#2775 = AXIS2_PLACEMENT_3D ( 'NONE', #8063, #12029, #2146 ) ; +#2776 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#2777 = CARTESIAN_POINT ( 'NONE', ( -82.25531596271609658, -64.96605763575112746, 2.950023829846315948 ) ) ; +#2778 = ADVANCED_FACE ( 'NONE', ( #7345 ), #7410, .F. ) ; +#2779 = VERTEX_POINT ( 'NONE', #3577 ) ; +#2780 = DIRECTION ( 'NONE', ( -0.9396926207859084279, 0.000000000000000000, 0.3420201433256687684 ) ) ; +#2781 = VECTOR ( 'NONE', #7845, 1000.000000000000000 ) ; +#2782 = ORIENTED_EDGE ( 'NONE', *, *, #1083, .F. ) ; +#2783 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#2784 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2785 = EDGE_LOOP ( 'NONE', ( #4983, #3002, #6253, #7375 ) ) ; +#2786 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 1.000000000000000000 ) ) ; +#2787 = PLANE ( 'NONE', #1567 ) ; +#2788 = EDGE_CURVE ( 'NONE', #7266, #325, #11321, .T. ) ; +#2789 = CARTESIAN_POINT ( 'NONE', ( -119.8416832523654705, -77.77440506528708397, 17.74016224672766384 ) ) ; +#2790 = CIRCLE ( 'NONE', #10053, 2.800000000000843592 ) ; +#2791 = ORIENTED_EDGE ( 'NONE', *, *, #2865, .T. ) ; +#2792 = AXIS2_PLACEMENT_3D ( 'NONE', #12611, #1883, #8769 ) ; +#2793 = CARTESIAN_POINT ( 'NONE', ( -81.25406374421915245, -58.46605763575112746, 1.375023829845842149 ) ) ; +#2794 = EDGE_CURVE ( 'NONE', #2542, #7261, #6382, .T. ) ; +#2795 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2796 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2797 = AXIS2_PLACEMENT_3D ( 'NONE', #3349, #295, #8100 ) ; +#2798 = EDGE_LOOP ( 'NONE', ( #8089, #5314, #418, #10575 ) ) ; +#2799 = LINE ( 'NONE', #10004, #6744 ) ; +#2800 = VECTOR ( 'NONE', #2023, 1000.000000000000000 ) ; +#2801 = AXIS2_PLACEMENT_3D ( 'NONE', #8993, #8144, #11151 ) ; +#2802 = CARTESIAN_POINT ( 'NONE', ( -99.73257966153543919, -59.01605763575113173, 39.40542135218865383 ) ) ; +#2803 = AXIS2_PLACEMENT_3D ( 'NONE', #4652, #7574, #5688 ) ; +#2804 = VERTEX_POINT ( 'NONE', #9559 ) ; +#2805 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#2806 = EDGE_LOOP ( 'NONE', ( #1217, #6920, #10753, #11106, #3473, #6206, #6297, #4414, #3757, #7253, #954, #11004, #402, #7303, #6815, #1607, #7829, #4958, #709, #8193, #1622, #8116, #5568, #3976, #8488, #9403, #10891, #2911, #6989, #3909, #6324, #1048, #8571, #9798, #10376, #6781, #1263, #7773, #11813, #8315, #9360, #7564, #3208, #12340, #4479, #10852, #8841, #2714, #2250, #12466, #3592, #1370, #11389, #12748, #6488, #466, #11147, #5740, #3512, #11307, #8517, #7511, #5633, #10697, #25, #8073, #10983, #6440, #3330, #683, #9256, #1182, #12444, #7451, #6213, #2465 ) ) ; +#2807 = AXIS2_PLACEMENT_3D ( 'NONE', #3359, #9217, #307 ) ; +#2808 = DIRECTION ( 'NONE', ( 2.026550380470326460E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2809 = EDGE_LOOP ( 'NONE', ( #6048, #6870, #7362, #10740 ) ) ; +#2810 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#2811 = CIRCLE ( 'NONE', #96, 7.700000000002312994 ) ; +#2812 = AXIS2_PLACEMENT_3D ( 'NONE', #3012, #1044, #8539 ) ; +#2813 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -65.01605763575113883, 36.94034842993836065 ) ) ; +#2814 = DIRECTION ( 'NONE', ( -0.3420201433256693235, 0.000000000000000000, -0.9396926207859082059 ) ) ; +#2815 = CIRCLE ( 'NONE', #4465, 2.800000000000840039 ) ; +#2816 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685602, -64.96605763575111325, 4.811230058593145564 ) ) ; +#2817 = LINE ( 'NONE', #2882, #12629 ) ; +#2818 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2819 = ORIENTED_EDGE ( 'NONE', *, *, #7593, .T. ) ; +#2820 = LINE ( 'NONE', #2748, #11053 ) ; +#2821 = ORIENTED_EDGE ( 'NONE', *, *, #1407, .T. ) ; +#2822 = PLANE ( 'NONE', #1242 ) ; +#2823 = ORIENTED_EDGE ( 'NONE', *, *, #11905, .T. ) ; +#2824 = PLANE ( 'NONE', #7969 ) ; +#2825 = ORIENTED_EDGE ( 'NONE', *, *, #6889, .T. ) ; +#2826 = ADVANCED_FACE ( 'NONE', ( #4616 ), #4749, .F. ) ; +#2827 = VECTOR ( 'NONE', #1550, 1000.000000000000000 ) ; +#2828 = LINE ( 'NONE', #10628, #12552 ) ; +#2829 = ORIENTED_EDGE ( 'NONE', *, *, #10892, .F. ) ; +#2830 = FACE_OUTER_BOUND ( 'NONE', #11337, .T. ) ; +#2831 = VERTEX_POINT ( 'NONE', #8638 ) ; +#2832 = CARTESIAN_POINT ( 'NONE', ( -93.82262972369562704, -65.01605763575113883, 42.27053817865339624 ) ) ; +#2833 = VECTOR ( 'NONE', #10518, 1000.000000000000000 ) ; +#2834 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -33.25000000000000000, 10.05009303828688871 ) ) ; +#2835 = ORIENTED_EDGE ( 'NONE', *, *, #10930, .T. ) ; +#2836 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2837 = ORIENTED_EDGE ( 'NONE', *, *, #1857, .T. ) ; +#2838 = CARTESIAN_POINT ( 'NONE', ( -115.1812905327495145, -83.89737196698676769, 2.740162246727671835 ) ) ; +#2839 = VERTEX_POINT ( 'NONE', #2876 ) ; +#2840 = ADVANCED_FACE ( 'NONE', ( #9820 ), #4809, .F. ) ; +#2841 = VECTOR ( 'NONE', #4256, 1000.000000000000000 ) ; +#2842 = CARTESIAN_POINT ( 'NONE', ( -100.5304451868894375, -59.01605763575113173, 37.13228939359589020 ) ) ; +#2843 = CARTESIAN_POINT ( 'NONE', ( -99.06947739121399366, -65.01605763575113883, 36.10061750632874578 ) ) ; +#2844 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2845 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2846 = ORIENTED_EDGE ( 'NONE', *, *, #12259, .F. ) ; +#2847 = DIRECTION ( 'NONE', ( 0.3420201433256687684, 0.000000000000000000, 0.9396926207859084279 ) ) ; +#2848 = ADVANCED_FACE ( 'NONE', ( #5917 ), #8905, .F. ) ; +#2849 = EDGE_LOOP ( 'NONE', ( #937, #4792, #4059, #1930 ) ) ; +#2850 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2851 = PLANE ( 'NONE', #9623 ) ; +#2852 = VECTOR ( 'NONE', #2619, 1000.000000000000000 ) ; +#2853 = ORIENTED_EDGE ( 'NONE', *, *, #5874, .T. ) ; +#2854 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -63.46605763575112746, 3.250023829846105272 ) ) ; +#2855 = CIRCLE ( 'NONE', #12810, 6.124000000001836419 ) ; +#2856 = CARTESIAN_POINT ( 'NONE', ( -94.85925911908482533, -58.46605763575112746, 15.55016224672746183 ) ) ; +#2857 = CARTESIAN_POINT ( 'NONE', ( -118.6310272422809646, -80.63050477238211045, 17.74016224672767095 ) ) ; +#2858 = ORIENTED_EDGE ( 'NONE', *, *, #10972, .T. ) ; +#2859 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#2860 = CARTESIAN_POINT ( 'NONE', ( -69.34640851089980629, -83.17794892022907050, 0.7600238298460973985 ) ) ; +#2861 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2862 = AXIS2_PLACEMENT_3D ( 'NONE', #6673, #8090, #4850 ) ; +#2863 = VECTOR ( 'NONE', #560, 1000.000000000000000 ) ; +#2864 = ORIENTED_EDGE ( 'NONE', *, *, #2179, .T. ) ; +#2865 = EDGE_CURVE ( 'NONE', #2892, #2942, #10887, .T. ) ; +#2866 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 11.01002382984608907 ) ) ; +#2867 = CARTESIAN_POINT ( 'NONE', ( -120.9604950923543072, -71.72636053301003756, 2.740162246727670059 ) ) ; +#2868 = EDGE_LOOP ( 'NONE', ( #6849, #9780, #3279, #2791 ) ) ; +#2869 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2870 = ADVANCED_FACE ( 'NONE', ( #12738 ), #3706, .F. ) ; +#2871 = VECTOR ( 'NONE', #10038, 1000.000000000000000 ) ; +#2872 = EDGE_CURVE ( 'NONE', #10157, #10873, #1737, .T. ) ; +#2873 = ORIENTED_EDGE ( 'NONE', *, *, #12541, .F. ) ; +#2874 = EDGE_CURVE ( 'NONE', #9219, #3734, #778, .T. ) ; +#2875 = EDGE_CURVE ( 'NONE', #12482, #11434, #2997, .T. ) ; +#2876 = CARTESIAN_POINT ( 'NONE', ( -98.10784802022806161, -59.01605763575113173, 32.43997768629744627 ) ) ; +#2877 = ORIENTED_EDGE ( 'NONE', *, *, #5456, .T. ) ; +#2878 = FACE_OUTER_BOUND ( 'NONE', #10529, .T. ) ; +#2879 = DIRECTION ( 'NONE', ( -2.026550380470326460E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2880 = ADVANCED_FACE ( 'NONE', ( #6636 ), #10797, .T. ) ; +#2881 = FACE_OUTER_BOUND ( 'NONE', #11515, .T. ) ; +#2882 = CARTESIAN_POINT ( 'NONE', ( -98.05962619258242796, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2883 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -26.25000000000000355, 3.999984739999989714 ) ) ; +#2884 = EDGE_LOOP ( 'NONE', ( #12296, #3450, #9108, #11145 ) ) ; +#2885 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#2886 = ORIENTED_EDGE ( 'NONE', *, *, #11447, .F. ) ; +#2887 = ORIENTED_EDGE ( 'NONE', *, *, #2460, .F. ) ; +#2888 = CARTESIAN_POINT ( 'NONE', ( -90.62377628319123346, -64.96605763575112746, 2.950023829846316836 ) ) ; +#2889 = VERTEX_POINT ( 'NONE', #5790 ) ; +#2890 = PERSON ( '未', '未', '未', ('未'), ('未'), ('未') ) ; +#2891 = FACE_OUTER_BOUND ( 'NONE', #8289, .T. ) ; +#2892 = VERTEX_POINT ( 'NONE', #11891 ) ; +#2893 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2894 = ORIENTED_EDGE ( 'NONE', *, *, #3412, .F. ) ; +#2895 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2896 = CARTESIAN_POINT ( 'NONE', ( -100.5868239882426280, -65.01605763575113883, 34.72385842541719825 ) ) ; +#2897 = ORIENTED_EDGE ( 'NONE', *, *, #6513, .T. ) ; +#2898 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -58.46605763575112746, 0.2500238298461052722 ) ) ; +#2899 = ORIENTED_EDGE ( 'NONE', *, *, #4990, .F. ) ; +#2900 = VERTEX_POINT ( 'NONE', #5654 ) ; +#2901 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256614409 ) ) ; +#2902 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2903 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#2904 = FACE_OUTER_BOUND ( 'NONE', #12525, .T. ) ; +#2905 = ORIENTED_EDGE ( 'NONE', *, *, #7816, .T. ) ; +#2906 = CARTESIAN_POINT ( 'NONE', ( -94.14577264255329681, -59.01605763575113173, 42.21935736830528896 ) ) ; +#2907 = ADVANCED_FACE ( 'NONE', ( #10610 ), #3899, .F. ) ; +#2908 = ORIENTED_EDGE ( 'NONE', *, *, #221, .T. ) ; +#2909 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 17.74016224672767095 ) ) ; +#2910 = DIRECTION ( 'NONE', ( 0.3420201433256613299, 0.000000000000000000, -0.9396926207859110924 ) ) ; +#2911 = ORIENTED_EDGE ( 'NONE', *, *, #5164, .F. ) ; +#2912 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#2913 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2914 = CARTESIAN_POINT ( 'NONE', ( -121.5689856353010470, -74.93293189257668985, 17.74016224673839304 ) ) ; +#2915 = ORIENTED_EDGE ( 'NONE', *, *, #3825, .F. ) ; +#2916 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 9.000000000000001776 ) ) ; +#2917 = LINE ( 'NONE', #5839, #543 ) ; +#2918 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2919 = ORIENTED_EDGE ( 'NONE', *, *, #4028, .F. ) ; +#2920 = EDGE_CURVE ( 'NONE', #2554, #946, #2926, .T. ) ; +#2921 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2922 = CARTESIAN_POINT ( 'NONE', ( -119.5213475888143364, -68.65731821055489092, 2.870298864794348592 ) ) ; +#2923 = VERTEX_POINT ( 'NONE', #5850 ) ; +#2924 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2925 = ORIENTED_EDGE ( 'NONE', *, *, #12114, .F. ) ; +#2926 = LINE ( 'NONE', #3763, #6728 ) ; +#2927 = ORIENTED_EDGE ( 'NONE', *, *, #5755, .F. ) ; +#2928 = ADVANCED_FACE ( 'NONE', ( #11772 ), #4877, .F. ) ; +#2929 = LINE ( 'NONE', #12809, #11112 ) ; +#2930 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2931 = EDGE_CURVE ( 'NONE', #5317, #3554, #4941, .T. ) ; +#2932 = AXIS2_PLACEMENT_3D ( 'NONE', #512, #2730, #4411 ) ; +#2933 = ADVANCED_FACE ( 'NONE', ( #1825 ), #3959, .F. ) ; +#2934 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2935 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -63.46605763575112746, 19.25016224672767251 ) ) ; +#2936 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#2937 = ORIENTED_EDGE ( 'NONE', *, *, #3575, .F. ) ; +#2938 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2939 = ORIENTED_EDGE ( 'NONE', *, *, #10337, .F. ) ; +#2940 = ORIENTED_EDGE ( 'NONE', *, *, #6108, .T. ) ; +#2941 = CARTESIAN_POINT ( 'NONE', ( -67.18506393196877013, -80.45452204200317681, 15.76002382984609973 ) ) ; +#2942 = VERTEX_POINT ( 'NONE', #4687 ) ; +#2943 = ADVANCED_FACE ( 'NONE', ( #5131 ), #8178, .T. ) ; +#2944 = VECTOR ( 'NONE', #208, 1000.000000000000000 ) ; +#2945 = LINE ( 'NONE', #3202, #12765 ) ; +#2946 = ADVANCED_FACE ( 'NONE', ( #7021 ), #2077, .F. ) ; +#2947 = ORIENTED_EDGE ( 'NONE', *, *, #3161, .T. ) ; +#2948 = CARTESIAN_POINT ( 'NONE', ( -92.24963801922244500, -64.96605763575112746, 1.375023829845842149 ) ) ; +#2949 = ORIENTED_EDGE ( 'NONE', *, *, #1181, .F. ) ; +#2950 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -83.96605763575111325, 15.76002382984610328 ) ) ; +#2951 = AXIS2_PLACEMENT_3D ( 'NONE', #4950, #10025, #2938 ) ; +#2952 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -58.46605763575112746, 15.25016224672767073 ) ) ; +#2953 = EDGE_LOOP ( 'NONE', ( #11332, #7841, #6525, #5990 ) ) ; +#2954 = LINE ( 'NONE', #8928, #3905 ) ; +#2955 = VERTEX_POINT ( 'NONE', #2014 ) ; +#2956 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#2957 = ORIENTED_EDGE ( 'NONE', *, *, #10177, .F. ) ; +#2958 = AXIS2_PLACEMENT_3D ( 'NONE', #3589, #1636, #12681 ) ; +#2959 = CYLINDRICAL_SURFACE ( 'NONE', #3615, 6.124000000001832866 ) ; +#2960 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2961 = CARTESIAN_POINT ( 'NONE', ( -89.62130666395805179, -59.01605763575113173, 28.80941297348431718 ) ) ; +#2962 = CARTESIAN_POINT ( 'NONE', ( -82.66582220757781840, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2963 = ORIENTED_EDGE ( 'NONE', *, *, #10191, .F. ) ; +#2964 = CARTESIAN_POINT ( 'NONE', ( -102.4578559025837450, -64.96605763575112746, 17.12516224672793541 ) ) ; +#2965 = VERTEX_POINT ( 'NONE', #6958 ) ; +#2966 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2967 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#2968 = CARTESIAN_POINT ( 'NONE', ( -77.85708625271475114, -58.46605763575112746, 2.950023829846313284 ) ) ; +#2969 = AXIS2_PLACEMENT_3D ( 'NONE', #7726, #1557, #2476 ) ; +#2970 = ORIENTED_EDGE ( 'NONE', *, *, #1663, .T. ) ; +#2971 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2972 = PLANE ( 'NONE', #11100 ) ; +#2973 = ORIENTED_EDGE ( 'NONE', *, *, #6251, .F. ) ; +#2974 = EDGE_CURVE ( 'NONE', #6853, #12239, #7210, .T. ) ; +#2975 = AXIS2_PLACEMENT_3D ( 'NONE', #370, #4337, #12264 ) ; +#2976 = CARTESIAN_POINT ( 'NONE', ( -100.8833505651173823, -58.46605763575112746, 17.12516224672793541 ) ) ; +#2977 = CARTESIAN_POINT ( 'NONE', ( -67.82572315796828377, -81.51930742448631406, 0.7600238298461050590 ) ) ; +#2978 = CARTESIAN_POINT ( 'NONE', ( -102.0473496577220232, -64.96605763575112746, 2.950023829846314172 ) ) ; +#2979 = VECTOR ( 'NONE', #1352, 1000.000000000000000 ) ; +#2980 = EDGE_CURVE ( 'NONE', #2889, #6383, #3182, .T. ) ; +#2981 = ORIENTED_EDGE ( 'NONE', *, *, #11417, .T. ) ; +#2982 = LINE ( 'NONE', #3114, #5028 ) ; +#2983 = AXIS2_PLACEMENT_3D ( 'NONE', #1555, #9620, #8444 ) ; +#2984 = EDGE_LOOP ( 'NONE', ( #8065, #7439, #5789, #4763 ) ) ; +#2985 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2986 = VECTOR ( 'NONE', #1871, 1000.000000000000000 ) ; +#2987 = AXIS2_PLACEMENT_3D ( 'NONE', #6310, #4041, #10161 ) ; +#2988 = ORIENTED_EDGE ( 'NONE', *, *, #1900, .F. ) ; +#2989 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.544631851866820033E-16, 0.000000000000000000 ) ) ; +#2990 = EDGE_LOOP ( 'NONE', ( #3328, #1124, #5061, #6354, #2981, #5576, #9486, #4068, #8284, #1305, #5000, #885, #732, #7353, #2829, #10473, #4405, #2329, #5801, #4061, #7059, #4325, #6572, #9315, #6794, #3829, #7346, #5477, #12713, #2957, #9558, #4817, #3784, #11546, #3422, #1778, #1571, #1191, #10287, #11294, #11817, #12368, #6328, #4274, #8354, #12651, #1419, #10667, #1422, #8218, #8442, #11064, #9215, #7321, #10408, #10218, #3534, #4088, #1546, #12562, #10826, #11679, #3150, #6257, #5055, #11794, #3141, #38, #10114, #12547, #505, #5280, #4356, #2517, #1472, #9332, #7550 ) ) ; +#2991 = EDGE_CURVE ( 'NONE', #7445, #195, #4439, .T. ) ; +#2992 = AXIS2_PLACEMENT_3D ( 'NONE', #10889, #1982, #12703 ) ; +#2993 = CARTESIAN_POINT ( 'NONE', ( -65.34269537283499574, -69.96605763575111325, 15.76002382984610328 ) ) ; +#2994 = CARTESIAN_POINT ( 'NONE', ( -92.66014426408416682, -58.46605763575112746, 15.55016224672746183 ) ) ; +#2995 = VECTOR ( 'NONE', #8093, 1000.000000000000000 ) ; +#2996 = VECTOR ( 'NONE', #8873, 1000.000000000000000 ) ; +#2997 = CIRCLE ( 'NONE', #4864, 7.700000000002309442 ) ; +#2998 = PLANE ( 'NONE', #6446 ) ; +#2999 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3000 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3001 = EDGE_CURVE ( 'NONE', #9377, #1646, #2267, .T. ) ; +#3002 = ORIENTED_EDGE ( 'NONE', *, *, #5348, .T. ) ; +#3003 = VECTOR ( 'NONE', #11765, 1000.000000000000000 ) ; +#3004 = VECTOR ( 'NONE', #7779, 999.9999999999998863 ) ; +#3005 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -12.50498006704500042, 10.00000000000000000 ) ) ; +#3006 = ORIENTED_EDGE ( 'NONE', *, *, #4954, .F. ) ; +#3007 = ORIENTED_EDGE ( 'NONE', *, *, #9871, .T. ) ; +#3008 = CARTESIAN_POINT ( 'NONE', ( -67.34723542420867659, -80.74978553125302483, 15.76002382984610684 ) ) ; +#3009 = EDGE_CURVE ( 'NONE', #4831, #2658, #10271, .T. ) ; +#3010 = ORIENTED_EDGE ( 'NONE', *, *, #3161, .F. ) ; +#3011 = CIRCLE ( 'NONE', #6952, 6.124000000001836419 ) ; +#3012 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -13.25000000000000178, 3.000000000000002665 ) ) ; +#3013 = AXIS2_PLACEMENT_3D ( 'NONE', #4183, #3581, #8145 ) ; +#3014 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#3015 = ORIENTED_EDGE ( 'NONE', *, *, #1561, .F. ) ; +#3016 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#3017 = EDGE_LOOP ( 'NONE', ( #9328, #344, #7238, #7605 ) ) ; +#3018 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#3019 = EDGE_CURVE ( 'NONE', #119, #9471, #4153, .T. ) ; +#3020 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3021 = ORIENTED_EDGE ( 'NONE', *, *, #3332, .T. ) ; +#3022 = LINE ( 'NONE', #8800, #8923 ) ; +#3023 = VECTOR ( 'NONE', #5854, 1000.000000000000000 ) ; +#3024 = EDGE_LOOP ( 'NONE', ( #11463, #12829, #2200, #4787 ) ) ; +#3025 = LINE ( 'NONE', #3793, #10682 ) ; +#3026 = EDGE_CURVE ( 'NONE', #3705, #11940, #6038, .T. ) ; +#3027 = EDGE_LOOP ( 'NONE', ( #5141, #10266, #6139, #5574 ) ) ; +#3028 = ADVANCED_FACE ( 'NONE', ( #55 ), #11962, .T. ) ; +#3029 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -65.01605763575113883, 34.14034842993743268 ) ) ; +#3030 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 16.74016224672766739 ) ) ; +#3031 = LINE ( 'NONE', #164, #5464 ) ; +#3032 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -13.25000000000000178, 9.000000000000001776 ) ) ; +#3033 = VECTOR ( 'NONE', #7866, 1000.000000000000227 ) ; +#3034 = ORIENTED_EDGE ( 'NONE', *, *, #5178, .T. ) ; +#3035 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3036 = CARTESIAN_POINT ( 'NONE', ( -94.51146625773718313, -65.01605763575113883, 41.67313268766882572 ) ) ; +#3037 = CARTESIAN_POINT ( 'NONE', ( -75.22997229818662390, -64.96605763575112746, 2.950023829846312395 ) ) ; +#3038 = LINE ( 'NONE', #6747, #2341 ) ; +#3039 = EDGE_LOOP ( 'NONE', ( #6886, #3067, #4347, #12733 ) ) ; +#3040 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#3041 = AXIS2_PLACEMENT_3D ( 'NONE', #8502, #6565, #4546 ) ; +#3042 = EDGE_CURVE ( 'NONE', #1551, #1448, #5902, .T. ) ; +#3043 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 1.990162246727670503 ) ) ; +#3044 = EDGE_LOOP ( 'NONE', ( #7680, #2573, #10410, #3625 ) ) ; +#3045 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3046 = CARTESIAN_POINT ( 'NONE', ( -90.62377628319123346, -64.96605763575112746, 2.950023829846316836 ) ) ; +#3047 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -17.44615242270659650, -3.000000000000000000 ) ) ; +#3048 = VERTEX_POINT ( 'NONE', #10015 ) ; +#3049 = LINE ( 'NONE', #4146, #10943 ) ; +#3050 = AXIS2_PLACEMENT_3D ( 'NONE', #11604, #12440, #3472 ) ; +#3051 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3052 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3053 = EDGE_CURVE ( 'NONE', #12134, #7718, #2375, .T. ) ; +#3054 = ORIENTED_EDGE ( 'NONE', *, *, #932, .T. ) ; +#3055 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3056 = CARTESIAN_POINT ( 'NONE', ( -64.71179567893541673, -69.33515794185152004, 15.28201048860938371 ) ) ; +#3057 = VERTEX_POINT ( 'NONE', #2205 ) ; +#3058 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3059 = EDGE_LOOP ( 'NONE', ( #11696, #7307, #12084, #12623 ) ) ; +#3060 = VECTOR ( 'NONE', #12327, 1000.000000000000000 ) ; +#3061 = DIRECTION ( 'NONE', ( -0.3420201433256620516, 0.000000000000000000, 0.9396926207859107594 ) ) ; +#3062 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 9.250023829846105272 ) ) ; +#3063 = CARTESIAN_POINT ( 'NONE', ( -98.87855690028371214, -59.01605763575113173, 34.19414403145147219 ) ) ; +#3064 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3065 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3066 = EDGE_CURVE ( 'NONE', #11355, #6437, #12023, .T. ) ; +#3067 = ORIENTED_EDGE ( 'NONE', *, *, #4367, .F. ) ; +#3068 = VECTOR ( 'NONE', #6931, 1000.000000000000000 ) ; +#3069 = FACE_OUTER_BOUND ( 'NONE', #7934, .T. ) ; +#3070 = ORIENTED_EDGE ( 'NONE', *, *, #2742, .T. ) ; +#3071 = PLANE ( 'NONE', #12548 ) ; +#3072 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -51.25000000000000711, 21.75002382984610705 ) ) ; +#3073 = ORIENTED_EDGE ( 'NONE', *, *, #10502, .T. ) ; +#3074 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#3075 = EDGE_CURVE ( 'NONE', #6986, #11370, #10148, .T. ) ; +#3076 = AXIS2_PLACEMENT_3D ( 'NONE', #10946, #11007, #4054 ) ; +#3077 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#3078 = EDGE_LOOP ( 'NONE', ( #5832, #8978, #4955, #7177 ) ) ; +#3079 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 17.74016224672767095 ) ) ; +#3080 = ORIENTED_EDGE ( 'NONE', *, *, #4360, .F. ) ; +#3081 = FACE_OUTER_BOUND ( 'NONE', #4074, .T. ) ; +#3082 = EDGE_CURVE ( 'NONE', #7714, #12298, #5192, .T. ) ; +#3083 = CARTESIAN_POINT ( 'NONE', ( -91.92928263803212019, -59.01605763575113173, 43.38139977562773453 ) ) ; +#3084 = CARTESIAN_POINT ( 'NONE', ( -86.22554657318990223, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3085 = LOCAL_TIME ( 15, 10, 40.00000000000000000, #2273 ) ; +#3086 = ORIENTED_EDGE ( 'NONE', *, *, #5227, .T. ) ; +#3087 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3088 = ORIENTED_EDGE ( 'NONE', *, *, #3730, .F. ) ; +#3089 = EDGE_CURVE ( 'NONE', #4951, #8608, #1282, .T. ) ; +#3090 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3091 = PLANE ( 'NONE', #6128 ) ; +#3092 = PLANE ( 'NONE', #9411 ) ; +#3093 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3094 = ORIENTED_EDGE ( 'NONE', *, *, #10922, .F. ) ; +#3095 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3096 = EDGE_CURVE ( 'NONE', #1845, #12134, #5272, .T. ) ; +#3097 = EDGE_CURVE ( 'NONE', #2097, #10838, #5682, .T. ) ; +#3098 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#3099 = CARTESIAN_POINT ( 'NONE', ( -80.62945422668485662, -58.46605763575112746, 1.375023829845842149 ) ) ; +#3100 = EDGE_CURVE ( 'NONE', #2712, #4940, #2597, .T. ) ; +#3101 = CYLINDRICAL_SURFACE ( 'NONE', #232, 6.124000000001829314 ) ; +#3102 = VERTEX_POINT ( 'NONE', #6296 ) ; +#3103 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3104 = LINE ( 'NONE', #3165, #2168 ) ; +#3105 = VERTEX_POINT ( 'NONE', #10394 ) ; +#3106 = EDGE_CURVE ( 'NONE', #712, #8011, #10273, .T. ) ; +#3107 = DIRECTION ( 'NONE', ( 0.7071067811865490160, -0.7071067811865460184, 0.000000000000000000 ) ) ; +#3108 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3109 = DIRECTION ( 'NONE', ( 0.9396926207859108704, -0.000000000000000000, 0.3420201433256618295 ) ) ; +#3110 = ORIENTED_EDGE ( 'NONE', *, *, #126, .T. ) ; +#3111 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3112 = EDGE_CURVE ( 'NONE', #2392, #9599, #12270, .T. ) ; +#3113 = CARTESIAN_POINT ( 'NONE', ( -111.9865484946268310, -64.96605763575112746, 16.82946868617310443 ) ) ; +#3114 = CARTESIAN_POINT ( 'NONE', ( -79.05494888921849395, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3115 = VERTEX_POINT ( 'NONE', #10335 ) ; +#3116 = LINE ( 'NONE', #9096, #4004 ) ; +#3117 = CARTESIAN_POINT ( 'NONE', ( -99.89619731570437011, -65.01605763575113883, 32.41588245134317958 ) ) ; +#3118 = ORIENTED_EDGE ( 'NONE', *, *, #156, .T. ) ; +#3119 = CARTESIAN_POINT ( 'NONE', ( -92.82289113819189197, -64.96605763575112746, 2.950023829846314172 ) ) ; +#3120 = ORIENTED_EDGE ( 'NONE', *, *, #4002, .T. ) ; +#3121 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3122 = CYLINDRICAL_SURFACE ( 'NONE', #9669, 4.000000000000000000 ) ; +#3123 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3124 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ; +#3125 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3126 = EDGE_LOOP ( 'NONE', ( #230, #9586, #4025, #9832 ) ) ; +#3127 = VECTOR ( 'NONE', #1156, 1000.000000000000000 ) ; +#3128 = CARTESIAN_POINT ( 'NONE', ( -85.32421051356092789, -59.01605763575113173, 34.72385842541730483 ) ) ; +#3129 = AXIS2_PLACEMENT_3D ( 'NONE', #4814, #843, #7737 ) ; +#3130 = VERTEX_POINT ( 'NONE', #1474 ) ; +#3131 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#3132 = LINE ( 'NONE', #11134, #1318 ) ; +#3133 = VERTEX_POINT ( 'NONE', #5518 ) ; +#3134 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#3135 = EDGE_CURVE ( 'NONE', #3554, #5330, #7460, .T. ) ; +#3136 = EDGE_CURVE ( 'NONE', #11517, #5702, #9346, .T. ) ; +#3137 = CIRCLE ( 'NONE', #11021, 2.800000000000843592 ) ; +#3138 = LINE ( 'NONE', #3915, #10699 ) ; +#3139 = ORIENTED_EDGE ( 'NONE', *, *, #12228, .F. ) ; +#3140 = CARTESIAN_POINT ( 'NONE', ( -68.26482223922657511, -83.57038944372908418, 1.760023829845935639 ) ) ; +#3141 = ORIENTED_EDGE ( 'NONE', *, *, #1648, .F. ) ; +#3142 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#3143 = CARTESIAN_POINT ( 'NONE', ( -99.73257966153541076, -65.01605763575113883, 32.09476472438507244 ) ) ; +#3144 = ORIENTED_EDGE ( 'NONE', *, *, #11927, .T. ) ; +#3145 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3146 = CIRCLE ( 'NONE', #3558, 6.124000000001839972 ) ; +#3147 = ORIENTED_EDGE ( 'NONE', *, *, #10562, .T. ) ; +#3148 = VECTOR ( 'NONE', #11159, 1000.000000000000000 ) ; +#3149 = CARTESIAN_POINT ( 'NONE', ( -118.9304629661455692, -82.05627176715336191, 3.740162246727825490 ) ) ; +#3150 = ORIENTED_EDGE ( 'NONE', *, *, #7232, .F. ) ; +#3151 = EDGE_CURVE ( 'NONE', #9304, #7445, #631, .T. ) ; +#3152 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -55.25000000000000711, -3.249976170153895172 ) ) ; +#3153 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3154 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -76.14639752325007294, 14.25016224672766896 ) ) ; +#3155 = CARTESIAN_POINT ( 'NONE', ( -94.28600600011540678, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3156 = ORIENTED_EDGE ( 'NONE', *, *, #1181, .T. ) ; +#3157 = CYLINDRICAL_SURFACE ( 'NONE', #4931, 0.7999999999999951594 ) ; +#3158 = CARTESIAN_POINT ( 'NONE', ( -96.81981506237306689, -11.91919362941809624, 10.00000000000000000 ) ) ; +#3159 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3160 = CARTESIAN_POINT ( 'NONE', ( -108.4819473486163020, -64.96605763575112746, 15.55016224672746361 ) ) ; +#3161 = EDGE_CURVE ( 'NONE', #6125, #6766, #5582, .T. ) ; +#3162 = ORIENTED_EDGE ( 'NONE', *, *, #10691, .T. ) ; +#3163 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -19.44615242270661781, 0.4641016151377420629 ) ) ; +#3164 = CIRCLE ( 'NONE', #9813, 1.000000000000000000 ) ; +#3165 = CARTESIAN_POINT ( 'NONE', ( -95.02200599319255048, -64.96605763575112746, 2.950023829846314172 ) ) ; +#3166 = ORIENTED_EDGE ( 'NONE', *, *, #8547, .T. ) ; +#3167 = EDGE_CURVE ( 'NONE', #2067, #7174, #1751, .T. ) ; +#3168 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -83.96605763575112746, 15.76002382984610328 ) ) ; +#3169 = EDGE_CURVE ( 'NONE', #10143, #8075, #11238, .T. ) ; +#3170 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 15.25016224672767784 ) ) ; +#3171 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3172 = VECTOR ( 'NONE', #2322, 1000.000000000000000 ) ; +#3173 = ORIENTED_EDGE ( 'NONE', *, *, #11050, .T. ) ; +#3174 = LINE ( 'NONE', #7134, #8654 ) ; +#3175 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3176 = CARTESIAN_POINT ( 'NONE', ( -117.0731935737286165, -65.59712569170376639, 5.222067350368043037 ) ) ; +#3177 = ADVANCED_FACE ( 'NONE', ( #4600 ), #9412, .F. ) ; +#3178 = CARTESIAN_POINT ( 'NONE', ( -91.76526185925038703, -59.01605763575113173, 42.21935736830530317 ) ) ; +#3179 = FACE_OUTER_BOUND ( 'NONE', #11132, .T. ) ; +#3180 = ORIENTED_EDGE ( 'NONE', *, *, #5084, .F. ) ; +#3181 = AXIS2_PLACEMENT_3D ( 'NONE', #1410, #1467, #2716 ) ; +#3182 = LINE ( 'NONE', #5251, #11291 ) ; +#3183 = ORIENTED_EDGE ( 'NONE', *, *, #4181, .T. ) ; +#3184 = EDGE_CURVE ( 'NONE', #2404, #2629, #6560, .T. ) ; +#3185 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 8.106201521881305841E-15 ) ) ; +#3186 = EDGE_CURVE ( 'NONE', #11113, #9154, #8186, .T. ) ; +#3187 = ADVANCED_FACE ( 'NONE', ( #12408 ), #572, .T. ) ; +#3188 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3189 = CARTESIAN_POINT ( 'NONE', ( -86.01483718609915741, -59.01605763575113173, 32.41588245134326485 ) ) ; +#3190 = CALENDAR_DATE ( 2026, 26, 7 ) ; +#3191 = AXIS2_PLACEMENT_3D ( 'NONE', #4751, #4811, #2810 ) ; +#3192 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3193 = VECTOR ( 'NONE', #736, 1000.000000000000000 ) ; +#3194 = ORIENTED_EDGE ( 'NONE', *, *, #1317, .F. ) ; +#3195 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -55.25000000000000711, 20.75002382984610350 ) ) ; +#3196 = VERTEX_POINT ( 'NONE', #8365 ) ; +#3197 = FACE_OUTER_BOUND ( 'NONE', #342, .T. ) ; +#3198 = PLANE ( 'NONE', #2987 ) ; +#3199 = ORIENTED_EDGE ( 'NONE', *, *, #6993, .F. ) ; +#3200 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#3201 = AXIS2_PLACEMENT_3D ( 'NONE', #8702, #3834, #10855 ) ; +#3202 = CARTESIAN_POINT ( 'NONE', ( -108.6446942227240129, -58.46605763575112746, 2.950023829846315060 ) ) ; +#3203 = CARTESIAN_POINT ( 'NONE', ( -69.62616857533745929, -84.55266352686692244, 0.7600238298438820594 ) ) ; +#3204 = VECTOR ( 'NONE', #3527, 1000.000000000000000 ) ; +#3205 = ORIENTED_EDGE ( 'NONE', *, *, #7733, .T. ) ; +#3206 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3207 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3208 = ORIENTED_EDGE ( 'NONE', *, *, #12471, .F. ) ; +#3209 = VECTOR ( 'NONE', #4254, 1000.000000000000000 ) ; +#3210 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3211 = ADVANCED_FACE ( 'NONE', ( #8299 ), #504, .F. ) ; +#3212 = AXIS2_PLACEMENT_3D ( 'NONE', #3367, #3438, #4475 ) ; +#3213 = ORIENTED_EDGE ( 'NONE', *, *, #2127, .T. ) ; +#3214 = CARTESIAN_POINT ( 'NONE', ( -118.2220457243126077, -82.98349709350408432, 3.740162246727897877 ) ) ; +#3215 = ORIENTED_EDGE ( 'NONE', *, *, #8155, .T. ) ; +#3216 = VECTOR ( 'NONE', #5784, 1000.000000000000000 ) ; +#3217 = DIRECTION ( 'NONE', ( 0.3420201433256691570, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#3218 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#3219 = VECTOR ( 'NONE', #3014, 1000.000000000000114 ) ; +#3220 = CARTESIAN_POINT ( 'NONE', ( -86.65354567271741359, -58.46605763575112746, 2.950023829846315948 ) ) ; +#3221 = FACE_OUTER_BOUND ( 'NONE', #12846, .T. ) ; +#3222 = ORIENTED_EDGE ( 'NONE', *, *, #873, .T. ) ; +#3223 = LINE ( 'NONE', #11156, #12617 ) ; +#3225 = LINE ( 'NONE', #5173, #4233 ) ; +#3224 = VECTOR ( 'NONE', #5577, 1000.000000000000000 ) ; +#3226 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3227 = CARTESIAN_POINT ( 'NONE', ( -84.86493706257847691, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3228 = ADVANCED_FACE ( 'NONE', ( #10530 ), #6489, .T. ) ; +#3229 = ORIENTED_EDGE ( 'NONE', *, *, #11607, .F. ) ; +#3230 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3231 = CYLINDRICAL_SURFACE ( 'NONE', #9657, 6.124000000001836419 ) ; +#3232 = ORIENTED_EDGE ( 'NONE', *, *, #11677, .T. ) ; +#3233 = AXIS2_PLACEMENT_3D ( 'NONE', #1478, #381, #5324 ) ; +#3234 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3235 = ADVANCED_FACE ( 'NONE', ( #7062 ), #3231, .T. ) ; +#3236 = CYLINDRICAL_SURFACE ( 'NONE', #5125, 2.800000000000843592 ) ; +#3237 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -63.46605763575112746, 3.250023829846105716 ) ) ; +#3238 = EDGE_LOOP ( 'NONE', ( #3173, #2525, #5132, #2078 ) ) ; +#3239 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3240 = CARTESIAN_POINT ( 'NONE', ( -98.66192086514536186, -65.01605763575113883, 33.52740687254723184 ) ) ; +#3241 = CARTESIAN_POINT ( 'NONE', ( -117.8288514730338932, -65.81235641743899123, 4.883184872140228450 ) ) ; +#3242 = EDGE_CURVE ( 'NONE', #9842, #2171, #3104, .T. ) ; +#3243 = VECTOR ( 'NONE', #815, 1000.000000000000000 ) ; +#3244 = ORIENTED_EDGE ( 'NONE', *, *, #7790, .T. ) ; +#3245 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3246 = CARTESIAN_POINT ( 'NONE', ( -99.25748882908617077, -64.96605763575112746, 15.55016224672746006 ) ) ; +#3247 = ORIENTED_EDGE ( 'NONE', *, *, #12158, .T. ) ; +#3248 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 1.301042606982604088E-16 ) ) ; +#3249 = EDGE_LOOP ( 'NONE', ( #5593, #10051, #5527, #10653 ) ) ; +#3250 = FACE_OUTER_BOUND ( 'NONE', #11310, .T. ) ; +#3251 = EDGE_CURVE ( 'NONE', #1556, #6741, #9145, .T. ) ; +#3252 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#3253 = AXIS2_PLACEMENT_3D ( 'NONE', #2177, #7245, #12119 ) ; +#3254 = CIRCLE ( 'NONE', #1380, 1.000000000000000000 ) ; +#3255 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3256 = CARTESIAN_POINT ( 'NONE', ( -89.07824139573220634, -65.01605763575113883, 40.49035758184786715 ) ) ; +#3257 = VERTEX_POINT ( 'NONE', #10908 ) ; +#3258 = EDGE_CURVE ( 'NONE', #493, #10924, #1072, .T. ) ; +#3259 = LINE ( 'NONE', #8377, #11684 ) ; +#3260 = ADVANCED_FACE ( 'NONE', ( #1015 ), #2972, .F. ) ; +#3261 = EDGE_CURVE ( 'NONE', #10081, #6711, #5967, .T. ) ; +#3262 = VECTOR ( 'NONE', #11409, 1000.000000000000000 ) ; +#3263 = ORIENTED_EDGE ( 'NONE', *, *, #8968, .T. ) ; +#3264 = LINE ( 'NONE', #11063, #902 ) ; +#3265 = ORIENTED_EDGE ( 'NONE', *, *, #2134, .T. ) ; +#3266 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3267 = ADVANCED_FACE ( 'NONE', ( #7973 ), #8225, .T. ) ; +#3268 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -69.96605763575111325, 10.76002382984610151 ) ) ; +#3269 = CARTESIAN_POINT ( 'NONE', ( -67.28000725952502137, -80.63050477237972302, 0.7600238298461045039 ) ) ; +#3270 = AXIS2_PLACEMENT_3D ( 'NONE', #3997, #6014, #10834 ) ; +#3271 = VERTEX_POINT ( 'NONE', #108 ) ; +#3272 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -84.48804429451440967, 15.65225073345591689 ) ) ; +#3273 = ORIENTED_EDGE ( 'NONE', *, *, #9588, .T. ) ; +#3274 = CARTESIAN_POINT ( 'NONE', ( -83.29043172511211424, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3275 = VERTEX_POINT ( 'NONE', #8888 ) ; +#3276 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3277 = VERTEX_POINT ( 'NONE', #4077 ) ; +#3278 = CARTESIAN_POINT ( 'NONE', ( -118.2945417410936670, -81.19922621629039838, 2.740162246727676276 ) ) ; +#3279 = ORIENTED_EDGE ( 'NONE', *, *, #6274, .F. ) ; +#3280 = CIRCLE ( 'NONE', #7221, 7.700000000002309442 ) ; +#3281 = AXIS2_PLACEMENT_3D ( 'NONE', #4846, #3931, #814 ) ; +#3282 = AXIS2_PLACEMENT_3D ( 'NONE', #11800, #10703, #1978 ) ; +#3283 = CARTESIAN_POINT ( 'NONE', ( -85.48954658011275853, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3284 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3285 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3286 = ORIENTED_EDGE ( 'NONE', *, *, #1663, .F. ) ; +#3287 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3288 = LOCAL_TIME ( 15, 10, 40.00000000000000000, #10211 ) ; +#3289 = CARTESIAN_POINT ( 'NONE', ( -95.02200599319255048, -64.96605763575112746, 2.950023829846314172 ) ) ; +#3290 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, 3.000000000000002665 ) ) ; +#3291 = ORIENTED_EDGE ( 'NONE', *, *, #11685, .T. ) ; +#3292 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3293 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3294 = ORIENTED_EDGE ( 'NONE', *, *, #10472, .F. ) ; +#3295 = CARTESIAN_POINT ( 'NONE', ( -89.07824139573209266, -59.01605763575113173, 31.00982849472599412 ) ) ; +#3296 = ADVANCED_FACE ( 'NONE', ( #8040 ), #12009, .T. ) ; +#3297 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -13.25000000000000178, 10.00000000000000000 ) ) ; +#3298 = LINE ( 'NONE', #5183, #3443 ) ; +#3299 = VERTEX_POINT ( 'NONE', #1142 ) ; +#3300 = DIRECTION ( 'NONE', ( -0.9396926207859110924, 0.000000000000000000, -0.3420201433256613299 ) ) ; +#3301 = CARTESIAN_POINT ( 'NONE', ( -99.68548792861368213, -58.46605763575112746, 15.55016224672746183 ) ) ; +#3302 = DIRECTION ( 'NONE', ( 0.000000000000000000, 2.312964634635742661E-15, 1.000000000000000000 ) ) ; +#3303 = ORIENTED_EDGE ( 'NONE', *, *, #8021, .F. ) ; +#3304 = LINE ( 'NONE', #6231, #1717 ) ; +#3305 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#3306 = EDGE_LOOP ( 'NONE', ( #3144, #8370, #5375, #11769 ) ) ; +#3307 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3308 = ORIENTED_EDGE ( 'NONE', *, *, #8778, .T. ) ; +#3309 = CARTESIAN_POINT ( 'NONE', ( -99.42023570319385328, -64.96605763575112746, 2.950023829846314172 ) ) ; +#3310 = EDGE_CURVE ( 'NONE', #1735, #10560, #7537, .T. ) ; +#3311 = CARTESIAN_POINT ( 'NONE', ( -85.65229345422048368, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3312 = PLANE ( 'NONE', #2725 ) ; +#3313 = PERSON_AND_ORGANIZATION_ROLE ( 'design_supplier' ) ; +#3314 = FACE_OUTER_BOUND ( 'NONE', #10100, .T. ) ; +#3315 = EDGE_LOOP ( 'NONE', ( #7527, #2357, #2685, #6811 ) ) ; +#3316 = CARTESIAN_POINT ( 'NONE', ( -88.26191455408286402, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3317 = EDGE_CURVE ( 'NONE', #7125, #9339, #5114, .T. ) ; +#3318 = ORIENTED_EDGE ( 'NONE', *, *, #5227, .F. ) ; +#3319 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3320 = ORIENTED_EDGE ( 'NONE', *, *, #7877, .T. ) ; +#3321 = CARTESIAN_POINT ( 'NONE', ( -78.43033937168419811, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3322 = EDGE_CURVE ( 'NONE', #6656, #11127, #6221, .T. ) ; +#3323 = CARTESIAN_POINT ( 'NONE', ( -110.2530631040894775, -58.46605763575112746, 15.55016224672746006 ) ) ; +#3324 = ADVANCED_FACE ( 'NONE', ( #5179 ), #7195, .T. ) ; +#3325 = CARTESIAN_POINT ( 'NONE', ( -64.81014145617038480, -77.03368300865776064, 0.7600238298462946851 ) ) ; +#3326 = ORIENTED_EDGE ( 'NONE', *, *, #3394, .F. ) ; +#3327 = DIRECTION ( 'NONE', ( -0.3420201433256545021, 0.000000000000000000, -0.9396926207859136460 ) ) ; +#3328 = ORIENTED_EDGE ( 'NONE', *, *, #4222, .F. ) ; +#3329 = FACE_OUTER_BOUND ( 'NONE', #1752, .T. ) ; +#3330 = ORIENTED_EDGE ( 'NONE', *, *, #12793, .F. ) ; +#3331 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3332 = EDGE_CURVE ( 'NONE', #1526, #10336, #300, .T. ) ; +#3333 = ORIENTED_EDGE ( 'NONE', *, *, #6410, .F. ) ; +#3334 = CARTESIAN_POINT ( 'NONE', ( -120.8122848894082466, -78.02298774079571331, 3.740162246727595896 ) ) ; +#3335 = ORIENTED_EDGE ( 'NONE', *, *, #214, .T. ) ; +#3336 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #7565, #5750, #8473, #9655, #9720, #1647, #8669, #3535, #12638, #3671, #8530, #3729, #2566, #10572, #5557, #9524, #7633, #4711, #7692, #2762, #4774, #6723, #5676, #11606, #8729, #739 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 0.000000000000000000, 0.004116847617919261633, 0.006175271426878872934, 0.007204483331358655165, 0.008233695235838436530, 0.01029211904479802528, 0.01132133094927783960, 0.01235054285375765219, 0.01337975475823746478, 0.01389436071047734332, 0.01440896666271721839, 0.01543817856719697373, 0.01646739047167672734 ), + .UNSPECIFIED. ) ; +#3337 = ADVANCED_FACE ( 'NONE', ( #7444 ), #9203, .F. ) ; +#3338 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 15.24999999999809930, 1.000000000000000000 ) ) ; +#3339 = LINE ( 'NONE', #9457, #10254 ) ; +#3340 = CARTESIAN_POINT ( 'NONE', ( -97.69578179446270383, -59.01605763575113173, 31.87281718311721335 ) ) ; +#3341 = ORIENTED_EDGE ( 'NONE', *, *, #12634, .T. ) ; +#3342 = CARTESIAN_POINT ( 'NONE', ( -90.95550846171310866, 13.89991557692050073, 0.000000000000000000 ) ) ; +#3343 = VECTOR ( 'NONE', #1204, 1000.000000000000000 ) ; +#3344 = CIRCLE ( 'NONE', #10627, 2.000000000000000000 ) ; +#3345 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#3346 = ORIENTED_EDGE ( 'NONE', *, *, #4010, .F. ) ; +#3347 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#3348 = EDGE_LOOP ( 'NONE', ( #8920, #10681, #4963, #4332 ) ) ; +#3349 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -19.44615242270661781, 0.4641016151377420629 ) ) ; +#3350 = CYLINDRICAL_SURFACE ( 'NONE', #6536, 1.000000000000000000 ) ; +#3351 = VERTEX_POINT ( 'NONE', #2383 ) ; +#3352 = AXIS2_PLACEMENT_3D ( 'NONE', #1649, #9721, #7568 ) ; +#3353 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#3354 = LINE ( 'NONE', #12515, #3468 ) ; +#3355 = CARTESIAN_POINT ( 'NONE', ( -66.65006451041247715, -67.24447493580055379, 14.25516938438933856 ) ) ; +#3356 = ORIENTED_EDGE ( 'NONE', *, *, #7061, .F. ) ; +#3357 = CARTESIAN_POINT ( 'NONE', ( -96.83279310607142065, -65.01605763575113883, 31.00982849472593372 ) ) ; +#3358 = EDGE_LOOP ( 'NONE', ( #8563, #6169, #7324, #12279 ) ) ; +#3359 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -26.25000000000000355, 15.50019557898779610 ) ) ; +#3360 = FACE_OUTER_BOUND ( 'NONE', #571, .T. ) ; +#3361 = VECTOR ( 'NONE', #6782, 1000.000000000000000 ) ; +#3362 = VERTEX_POINT ( 'NONE', #1457 ) ; +#3363 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3364 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -29.25000000000000000, 18.75002382984610705 ) ) ; +#3365 = ADVANCED_FACE ( 'NONE', ( #4267 ), #6281, .T. ) ; +#3366 = EDGE_LOOP ( 'NONE', ( #3925, #7669, #12010, #514 ) ) ; +#3367 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 0.7600238298461048370 ) ) ; +#3368 = ORIENTED_EDGE ( 'NONE', *, *, #2047, .T. ) ; +#3369 = CYLINDRICAL_SURFACE ( 'NONE', #5085, 2.800000000000836486 ) ; +#3370 = CARTESIAN_POINT ( 'NONE', ( -93.30604171894361798, -59.01605763575113173, 29.63613289797468298 ) ) ; +#3371 = ORIENTED_EDGE ( 'NONE', *, *, #10814, .F. ) ; +#3372 = CARTESIAN_POINT ( 'NONE', ( -108.4819473486163020, -64.96605763575112746, 15.55016224672746361 ) ) ; +#3373 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#3374 = CARTESIAN_POINT ( 'NONE', ( -105.8548333940881321, -58.46605763575112746, 15.55016224672746006 ) ) ; +#3375 = AXIS2_PLACEMENT_3D ( 'NONE', #4070, #6215, #2247 ) ; +#3376 = VERTEX_POINT ( 'NONE', #7312 ) ; +#3377 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -59.01605763575113173, 34.14034842993752505 ) ) ; +#3378 = EDGE_CURVE ( 'NONE', #6158, #256, #924, .T. ) ; +#3379 = VECTOR ( 'NONE', #4806, 1000.000000000000000 ) ; +#3380 = ORIENTED_EDGE ( 'NONE', *, *, #1561, .T. ) ; +#3381 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3382 = ORIENTED_EDGE ( 'NONE', *, *, #10185, .F. ) ; +#3383 = CARTESIAN_POINT ( 'NONE', ( -65.09874961206266164, -78.02298774090822064, 15.76002382984610506 ) ) ; +#3384 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#3385 = EDGE_CURVE ( 'NONE', #7485, #11330, #8347, .T. ) ; +#3386 = CARTESIAN_POINT ( 'NONE', ( -65.47052583484791910, -79.11533733498318099, 0.7600238298453499963 ) ) ; +#3387 = CIRCLE ( 'NONE', #10669, 7.700000000002305889 ) ; +#3388 = ORIENTED_EDGE ( 'NONE', *, *, #7854, .T. ) ; +#3389 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -59.46605763575112746, 3.250023829846106160 ) ) ; +#3390 = ORIENTED_EDGE ( 'NONE', *, *, #8183, .T. ) ; +#3391 = DIRECTION ( 'NONE', ( -0.7071067811865494601, -0.7071067811865455743, 0.000000000000000000 ) ) ; +#3392 = VERTEX_POINT ( 'NONE', #1334 ) ; +#3393 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3394 = EDGE_CURVE ( 'NONE', #10072, #7191, #5428, .T. ) ; +#3395 = AXIS2_PLACEMENT_3D ( 'NONE', #2607, #833, #6764 ) ; +#3396 = ORIENTED_EDGE ( 'NONE', *, *, #8000, .F. ) ; +#3397 = CARTESIAN_POINT ( 'NONE', ( -120.4595314296933708, -79.06592283823147227, 3.740162246727822826 ) ) ; +#3398 = CIRCLE ( 'NONE', #10675, 1.000000000000000000 ) ; +#3399 = EDGE_LOOP ( 'NONE', ( #1940, #7952, #10042, #11963 ) ) ; +#3400 = AXIS2_PLACEMENT_3D ( 'NONE', #7668, #11639, #2736 ) ; +#3401 = AXIS2_PLACEMENT_3D ( 'NONE', #4839, #8869, #12836 ) ; +#3402 = CARTESIAN_POINT ( 'NONE', ( -148.6731472993784280, -26.25000000000000355, 3.000000000000002665 ) ) ; +#3403 = EDGE_CURVE ( 'NONE', #3718, #7261, #12253, .T. ) ; +#3404 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3405 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -59.46605763575112746, 15.25016224672767073 ) ) ; +#3406 = EDGE_LOOP ( 'NONE', ( #7860, #9844, #6686, #12265 ) ) ; +#3407 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 1.760023829846110610 ) ) ; +#3408 = AXIS2_PLACEMENT_3D ( 'NONE', #1267, #3420, #12319 ) ; +#3409 = CARTESIAN_POINT ( 'NONE', ( -73.45885654271344833, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3410 = EDGE_LOOP ( 'NONE', ( #3524, #9576, #9043, #10959 ) ) ; +#3411 = LINE ( 'NONE', #11478, #8319 ) ; +#3412 = EDGE_CURVE ( 'NONE', #10664, #9251, #10065, .T. ) ; +#3413 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #3518, #7418, #5659, #10678 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 0.000000000000000000, 1.570796326794900111 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243641603, 0.8047378541243641603, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#3414 = ADVANCED_FACE ( 'NONE', ( #3483 ), #3350, .T. ) ; +#3415 = VECTOR ( 'NONE', #6949, 1000.000000000000000 ) ; +#3416 = ORIENTED_EDGE ( 'NONE', *, *, #3066, .F. ) ; +#3417 = EDGE_CURVE ( 'NONE', #7174, #8765, #7567, .T. ) ; +#3418 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3419 = EDGE_CURVE ( 'NONE', #1960, #10924, #10318, .T. ) ; +#3420 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3421 = AXIS2_PLACEMENT_3D ( 'NONE', #6850, #10815, #10567 ) ; +#3422 = ORIENTED_EDGE ( 'NONE', *, *, #2150, .F. ) ; +#3423 = CIRCLE ( 'NONE', #8175, 6.124000000001832866 ) ; +#3424 = PLANE ( 'NONE', #5057 ) ; +#3425 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3426 = FACE_OUTER_BOUND ( 'NONE', #12566, .T. ) ; +#3427 = CIRCLE ( 'NONE', #10704, 0.9999999999999998890 ) ; +#3428 = EDGE_LOOP ( 'NONE', ( #9628, #11796, #9938, #3094 ) ) ; +#3429 = CYLINDRICAL_SURFACE ( 'NONE', #8447, 2.800000000000836486 ) ; +#3430 = VERTEX_POINT ( 'NONE', #9272 ) ; +#3431 = LINE ( 'NONE', #9404, #9244 ) ; +#3432 = DIRECTION ( 'NONE', ( -8.673617379884040402E-17, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3433 = ORIENTED_EDGE ( 'NONE', *, *, #5312, .T. ) ; +#3434 = CARTESIAN_POINT ( 'NONE', ( -88.68991365361037538, -58.46605763575112746, 15.55016224672746183 ) ) ; +#3435 = CARTESIAN_POINT ( 'NONE', ( -96.83279310607142065, -59.01605763575113173, 31.00982849472593372 ) ) ; +#3436 = ORIENTED_EDGE ( 'NONE', *, *, #4907, .T. ) ; +#3437 = VECTOR ( 'NONE', #4408, 1000.000000000000000 ) ; +#3438 = DIRECTION ( 'NONE', ( -0.7071067811865461294, -0.7071067811865490160, 0.000000000000000000 ) ) ; +#3439 = ORIENTED_EDGE ( 'NONE', *, *, #2377, .F. ) ; +#3440 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#3441 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3442 = ORIENTED_EDGE ( 'NONE', *, *, #12699, .F. ) ; +#3443 = VECTOR ( 'NONE', #4464, 1000.000000000000000 ) ; +#3444 = CARTESIAN_POINT ( 'NONE', ( -96.64786772922379043, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3445 = CARTESIAN_POINT ( 'NONE', ( -86.06279969908220551, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3446 = ORIENTED_EDGE ( 'NONE', *, *, #7001, .F. ) ; +#3447 = DIRECTION ( 'NONE', ( 0.9396926207859108704, -0.000000000000000000, 0.3420201433256621071 ) ) ; +#3448 = ORIENTED_EDGE ( 'NONE', *, *, #10150, .T. ) ; +#3449 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3450 = ORIENTED_EDGE ( 'NONE', *, *, #1833, .F. ) ; +#3451 = CARTESIAN_POINT ( 'NONE', ( -69.76218590456920765, -83.47596790702311864, 15.76002382984609618 ) ) ; +#3452 = AXIS2_PLACEMENT_3D ( 'NONE', #5971, #2795, #11693 ) ; +#3453 = DIRECTION ( 'NONE', ( -1.626303258728268730E-16, -0.8660254037844362651, -0.5000000000000041078 ) ) ; +#3454 = ADVANCED_FACE ( 'NONE', ( #4388 ), #6470, .T. ) ; +#3455 = CARTESIAN_POINT ( 'NONE', ( -65.02568340275041692, -72.72432753589380638, 0.7600238298461079456 ) ) ; +#3456 = ORIENTED_EDGE ( 'NONE', *, *, #5742, .F. ) ; +#3457 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3458 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3459 = ORIENTED_EDGE ( 'NONE', *, *, #7355, .T. ) ; +#3460 = CARTESIAN_POINT ( 'NONE', ( -90.15550846171311150, 13.89991557692050073, 0.000000000000000000 ) ) ; +#3461 = ORIENTED_EDGE ( 'NONE', *, *, #7048, .T. ) ; +#3462 = CARTESIAN_POINT ( 'NONE', ( -92.08689114511476248, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3463 = VERTEX_POINT ( 'NONE', #5499 ) ; +#3464 = CARTESIAN_POINT ( 'NONE', ( -121.9767622626275738, -70.58216493585132412, 3.740162246727892992 ) ) ; +#3465 = ORIENTED_EDGE ( 'NONE', *, *, #1713, .T. ) ; +#3466 = VECTOR ( 'NONE', #8616, 1000.000000000000000 ) ; +#3467 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#3468 = VECTOR ( 'NONE', #10586, 1000.000000000000000 ) ; +#3469 = EDGE_CURVE ( 'NONE', #5516, #2591, #9470, .T. ) ; +#3470 = FACE_OUTER_BOUND ( 'NONE', #7045, .T. ) ; +#3471 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869597, 10.00000000000000000 ) ) ; +#3472 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3473 = ORIENTED_EDGE ( 'NONE', *, *, #5271, .T. ) ; +#3474 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 16.24999999999809930, 10.00000000000000000 ) ) ; +#3475 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#3476 = ORIENTED_EDGE ( 'NONE', *, *, #12391, .T. ) ; +#3477 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3478 = AXIS2_PLACEMENT_3D ( 'NONE', #10269, #12406, #5316 ) ; +#3479 = AXIS2_PLACEMENT_3D ( 'NONE', #5491, #9460, #6534 ) ; +#3480 = EDGE_LOOP ( 'NONE', ( #3166, #3446, #3699, #697 ) ) ; +#3481 = LINE ( 'NONE', #9530, #5275 ) ; +#3482 = EDGE_CURVE ( 'NONE', #1448, #10588, #296, .T. ) ; +#3483 = FACE_OUTER_BOUND ( 'NONE', #4447, .T. ) ; +#3484 = EDGE_LOOP ( 'NONE', ( #8404, #7572, #4658, #5782 ) ) ; +#3485 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3486 = EDGE_CURVE ( 'NONE', #11611, #8070, #12449, .T. ) ; +#3487 = LINE ( 'NONE', #7447, #1814 ) ; +#3488 = LINE ( 'NONE', #1273, #7803 ) ; +#3489 = AXIS2_PLACEMENT_3D ( 'NONE', #3713, #11645, #12489 ) ; +#3490 = EDGE_CURVE ( 'NONE', #2839, #12291, #3011, .T. ) ; +#3491 = EDGE_CURVE ( 'NONE', #8461, #11047, #9591, .T. ) ; +#3492 = ORIENTED_EDGE ( 'NONE', *, *, #12380, .F. ) ; +#3493 = CARTESIAN_POINT ( 'NONE', ( -96.08663001626665334, -59.01605763575113173, 41.53491989132000128 ) ) ; +#3494 = ORIENTED_EDGE ( 'NONE', *, *, #12083, .F. ) ; +#3495 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -65.01605763575113883, 34.88298056549302828 ) ) ; +#3496 = CARTESIAN_POINT ( 'NONE', ( -86.65354567271741359, -64.96605763575112746, 2.950023829846315948 ) ) ; +#3497 = VERTEX_POINT ( 'NONE', #5016 ) ; +#3498 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 15.42173512198147556 ) ) ; +#3499 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3500 = EDGE_CURVE ( 'NONE', #3257, #10084, #2590, .T. ) ; +#3501 = EDGE_LOOP ( 'NONE', ( #2970, #2131, #6566, #7039 ) ) ; +#3502 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3503 = ORIENTED_EDGE ( 'NONE', *, *, #1262, .F. ) ; +#3504 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3505 = ADVANCED_FACE ( 'NONE', ( #8739 ), #6665, .F. ) ; +#3506 = FACE_OUTER_BOUND ( 'NONE', #1377, .T. ) ; +#3507 = ORIENTED_EDGE ( 'NONE', *, *, #3096, .F. ) ; +#3508 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 3.835810267473012569 ) ) ; +#3509 = LINE ( 'NONE', #2802, #4017 ) ; +#3510 = ORIENTED_EDGE ( 'NONE', *, *, #3242, .T. ) ; +#3511 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#3512 = ORIENTED_EDGE ( 'NONE', *, *, #5465, .F. ) ; +#3513 = CYLINDRICAL_SURFACE ( 'NONE', #8594, 1.000000000000000888 ) ; +#3514 = VERTEX_POINT ( 'NONE', #11979 ) ; +#3515 = CARTESIAN_POINT ( 'NONE', ( -68.24921387053989008, -83.55585800715404332, 14.76002382984563965 ) ) ; +#3516 = FACE_OUTER_BOUND ( 'NONE', #3600, .T. ) ; +#3517 = DIRECTION ( 'NONE', ( 4.053100760940652921E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#3518 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164847092, -65.25895085456457423, 10.76002382984610151 ) ) ; +#3519 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#3520 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#3521 = ORIENTED_EDGE ( 'NONE', *, *, #11584, .F. ) ; +#3522 = VECTOR ( 'NONE', #7488, 1000.000000000000000 ) ; +#3523 = LINE ( 'NONE', #1572, #3361 ) ; +#3524 = ORIENTED_EDGE ( 'NONE', *, *, #6187, .T. ) ; +#3525 = CARTESIAN_POINT ( 'NONE', ( -120.9374394350690096, -69.59695732965069226, 2.847935343117857343 ) ) ; +#3526 = ORIENTED_EDGE ( 'NONE', *, *, #5837, .T. ) ; +#3527 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3528 = ORIENTED_EDGE ( 'NONE', *, *, #517, .F. ) ; +#3529 = ADVANCED_FACE ( 'NONE', ( #2707 ), #9531, .T. ) ; +#3530 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 8.673617379884040402E-17 ) ) ; +#3531 = CARTESIAN_POINT ( 'NONE', ( -110.9284818104619177, -64.96605763575112746, 3.078450954592295563 ) ) ; +#3532 = LINE ( 'NONE', #3471, #1944 ) ; +#3533 = CARTESIAN_POINT ( 'NONE', ( -89.88777629011410397, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3534 = ORIENTED_EDGE ( 'NONE', *, *, #4203, .F. ) ; +#3535 = CARTESIAN_POINT ( 'NONE', ( -119.9451031270844510, -77.44200639517097784, 17.74016224672767805 ) ) ; +#3536 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#3537 = ORIENTED_EDGE ( 'NONE', *, *, #7441, .F. ) ; +#3538 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3539 = VECTOR ( 'NONE', #8775, 1000.000000000000000 ) ; +#3540 = ORIENTED_EDGE ( 'NONE', *, *, #2481, .T. ) ; +#3541 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3542 = EDGE_CURVE ( 'NONE', #12837, #5516, #5567, .T. ) ; +#3543 = CARTESIAN_POINT ( 'NONE', ( -108.2166951231965157, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3544 = EDGE_LOOP ( 'NONE', ( #6541, #12360, #12816, #12248 ) ) ; +#3545 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3546 = CARTESIAN_POINT ( 'NONE', ( -103.0824654201180692, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3547 = CARTESIAN_POINT ( 'NONE', ( -82.09256908860837143, -58.46605763575112746, 15.55016224672746183 ) ) ; +#3548 = VERTEX_POINT ( 'NONE', #6733 ) ; +#3549 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#3550 = ADVANCED_FACE ( 'NONE', ( #5624 ), #746, .F. ) ; +#3551 = VERTEX_POINT ( 'NONE', #12581 ) ; +#3552 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#3553 = CARTESIAN_POINT ( 'NONE', ( -94.33771360621076951, -59.01605763575113173, 28.17516510229923554 ) ) ; +#3554 = VERTEX_POINT ( 'NONE', #4583 ) ; +#3555 = LINE ( 'NONE', #4472, #6501 ) ; +#3556 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3557 = ADVANCED_FACE ( 'NONE', ( #2030 ), #3679, .T. ) ; +#3558 = AXIS2_PLACEMENT_3D ( 'NONE', #6078, #3226, #12060 ) ; +#3559 = ORIENTED_EDGE ( 'NONE', *, *, #9450, .F. ) ; +#3560 = AXIS2_PLACEMENT_3D ( 'NONE', #10374, #5620, #2571 ) ; +#3561 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #9297, #385, ( #4744 ) ) ; +#3562 = CARTESIAN_POINT ( 'NONE', ( -114.9646768154587875, -84.96605763575112746, 16.74016224672766739 ) ) ; +#3563 = ORIENTED_EDGE ( 'NONE', *, *, #6969, .T. ) ; +#3564 = LINE ( 'NONE', #11571, #9847 ) ; +#3565 = CARTESIAN_POINT ( 'NONE', ( -102.4578559025837450, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3566 = EDGE_LOOP ( 'NONE', ( #5157, #3578, #6832 ) ) ; +#3567 = ADVANCED_FACE ( 'NONE', ( #11910 ), #11614, .F. ) ; +#3568 = AXIS2_PLACEMENT_3D ( 'NONE', #5618, #7693, #11664 ) ; +#3569 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685460, -64.96605763575112746, 7.740162246727670059 ) ) ; +#3570 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 9.000000000000001776 ) ) ; +#3571 = VERTEX_POINT ( 'NONE', #4719 ) ; +#3572 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 0.000000000000000000 ) ) ; +#3573 = EDGE_CURVE ( 'NONE', #11908, #1884, #9447, .T. ) ; +#3574 = ORIENTED_EDGE ( 'NONE', *, *, #6343, .F. ) ; +#3575 = EDGE_CURVE ( 'NONE', #3257, #4368, #4671, .T. ) ; +#3576 = EDGE_CURVE ( 'NONE', #3916, #7209, #7701, .T. ) ; +#3577 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550850, -65.25895085456457423, 7.740162246727670059 ) ) ; +#3578 = ORIENTED_EDGE ( 'NONE', *, *, #5962, .F. ) ; +#3579 = AXIS2_PLACEMENT_3D ( 'NONE', #3460, #1439, #5408 ) ; +#3580 = CARTESIAN_POINT ( 'NONE', ( -66.98057153412129594, -82.05627176826611446, 15.76002382984609618 ) ) ; +#3581 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3582 = LINE ( 'NONE', #7674, #2852 ) ; +#3583 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#3584 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3585 = CARTESIAN_POINT ( 'NONE', ( -87.63970645294524786, -65.01605763575113883, 30.17944176932702405 ) ) ; +#3586 = AXIS2_PLACEMENT_3D ( 'NONE', #8700, #11579, #9427 ) ; +#3587 = ORIENTED_EDGE ( 'NONE', *, *, #3378, .T. ) ; +#3588 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ; +#3589 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#3590 = ORIENTED_EDGE ( 'NONE', *, *, #7296, .T. ) ; +#3591 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3592 = ORIENTED_EDGE ( 'NONE', *, *, #5940, .F. ) ; +#3593 = DIRECTION ( 'NONE', ( -0.7071067811865489050, 0.7071067811865460184, 0.000000000000000000 ) ) ; +#3594 = ORIENTED_EDGE ( 'NONE', *, *, #9871, .F. ) ; +#3595 = AXIS2_PLACEMENT_3D ( 'NONE', #1037, #9107, #8912 ) ; +#3596 = VECTOR ( 'NONE', #12207, 1000.000000000000114 ) ; +#3597 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3598 = PLANE ( 'NONE', #1948 ) ; +#3599 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -51.25000000000000711, -3.249976170153895172 ) ) ; +#3600 = EDGE_LOOP ( 'NONE', ( #7621, #10233, #9444, #9952 ) ) ; +#3601 = PLANE ( 'NONE', #6184 ) ; +#3602 = ADVANCED_FACE ( 'NONE', ( #1788 ), #5760, .T. ) ; +#3603 = VECTOR ( 'NONE', #2337, 1000.000000000000000 ) ; +#3604 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3605 = AXIS2_PLACEMENT_3D ( 'NONE', #7008, #8042, #7197 ) ; +#3606 = ORIENTED_EDGE ( 'NONE', *, *, #10980, .T. ) ; +#3607 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3608 = VECTOR ( 'NONE', #9580, 1000.000000000000000 ) ; +#3609 = ORIENTED_EDGE ( 'NONE', *, *, #1104, .T. ) ; +#3610 = CYLINDRICAL_SURFACE ( 'NONE', #4026, 1.000000000000000000 ) ; +#3611 = CYLINDRICAL_SURFACE ( 'NONE', #8400, 3.000000000000002665 ) ; +#3612 = ORIENTED_EDGE ( 'NONE', *, *, #8631, .T. ) ; +#3613 = VECTOR ( 'NONE', #2966, 1000.000000000000000 ) ; +#3614 = FACE_OUTER_BOUND ( 'NONE', #3017, .T. ) ; +#3615 = AXIS2_PLACEMENT_3D ( 'NONE', #4969, #6925, #8933 ) ; +#3616 = CARTESIAN_POINT ( 'NONE', ( -111.2543153225863932, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3617 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -51.25000000000000711, -2.249976170153895172 ) ) ; +#3618 = VECTOR ( 'NONE', #11519, 1000.000000000000000 ) ; +#3619 = EDGE_LOOP ( 'NONE', ( #11347, #3898, #12113, #530 ) ) ; +#3620 = FACE_OUTER_BOUND ( 'NONE', #11344, .T. ) ; +#3621 = EDGE_CURVE ( 'NONE', #7552, #11127, #5995, .T. ) ; +#3622 = EDGE_LOOP ( 'NONE', ( #859, #10986, #3439, #7386 ) ) ; +#3623 = LINE ( 'NONE', #2518, #4036 ) ; +#3624 = CARTESIAN_POINT ( 'NONE', ( -107.4806951301193720, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3625 = ORIENTED_EDGE ( 'NONE', *, *, #3089, .T. ) ; +#3626 = PLANE ( 'NONE', #9829 ) ; +#3627 = VECTOR ( 'NONE', #5503, 1000.000000000000000 ) ; +#3628 = CARTESIAN_POINT ( 'NONE', ( -121.8821929492699638, -72.81933044645728614, 17.74016224670625519 ) ) ; +#3629 = ORIENTED_EDGE ( 'NONE', *, *, #9785, .F. ) ; +#3630 = ADVANCED_FACE ( 'NONE', ( #12511 ), #3611, .T. ) ; +#3631 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#3632 = FACE_OUTER_BOUND ( 'NONE', #9865, .T. ) ; +#3633 = CARTESIAN_POINT ( 'NONE', ( -74.03210966168288110, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3634 = ORIENTED_EDGE ( 'NONE', *, *, #11204, .T. ) ; +#3635 = EDGE_CURVE ( 'NONE', #3773, #10252, #5891, .T. ) ; +#3636 = LINE ( 'NONE', #2669, #222 ) ; +#3637 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#3638 = ORIENTED_EDGE ( 'NONE', *, *, #1354, .F. ) ; +#3639 = VECTOR ( 'NONE', #1466, 1000.000000000000000 ) ; +#3640 = CARTESIAN_POINT ( 'NONE', ( -99.84823480272136464, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3641 = ORIENTED_EDGE ( 'NONE', *, *, #1907, .F. ) ; +#3642 = AXIS2_PLACEMENT_3D ( 'NONE', #759, #6623, #823 ) ; +#3643 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#3644 = ORIENTED_EDGE ( 'NONE', *, *, #1581, .F. ) ; +#3645 = EDGE_CURVE ( 'NONE', #7798, #115, #9027, .T. ) ; +#3646 = CARTESIAN_POINT ( 'NONE', ( -67.68898877749100507, -82.98349709350409853, 14.76002382984791694 ) ) ; +#3647 = PLANE ( 'NONE', #12351 ) ; +#3648 = TOROIDAL_SURFACE ( 'NONE', #5096, 1.000000000000000000, 1.000000000000000000 ) ; +#3649 = EDGE_CURVE ( 'NONE', #3778, #10097, #7129, .T. ) ; +#3650 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575114167, 14.66437580910076655 ) ) ; +#3651 = EDGE_CURVE ( 'NONE', #5876, #325, #4168, .T. ) ; +#3652 = EDGE_CURVE ( 'NONE', #4580, #11699, #5920, .T. ) ; +#3653 = EDGE_CURVE ( 'NONE', #4648, #935, #11080, .T. ) ; +#3654 = FACE_OUTER_BOUND ( 'NONE', #9146, .T. ) ; +#3655 = FACE_OUTER_BOUND ( 'NONE', #4889, .T. ) ; +#3656 = ORIENTED_EDGE ( 'NONE', *, *, #8023, .F. ) ; +#3657 = CARTESIAN_POINT ( 'NONE', ( -90.15550846171311150, 13.89991557692050073, 10.00000000000000000 ) ) ; +#3658 = ORIENTED_EDGE ( 'NONE', *, *, #4821, .T. ) ; +#3659 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3660 = AXIS2_PLACEMENT_3D ( 'NONE', #7912, #3109, #2123 ) ; +#3661 = ORIENTED_EDGE ( 'NONE', *, *, #6799, .F. ) ; +#3662 = LINE ( 'NONE', #6848, #6309 ) ; +#3663 = ORIENTED_EDGE ( 'NONE', *, *, #9388, .T. ) ; +#3664 = ADVANCED_FACE ( 'NONE', ( #2155 ), #5086, .T. ) ; +#3665 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#3666 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3667 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3668 = CIRCLE ( 'NONE', #2417, 2.800000000000843592 ) ; +#3669 = CIRCLE ( 'NONE', #4086, 0.7999999999999951594 ) ; +#3670 = ORIENTED_EDGE ( 'NONE', *, *, #1414, .F. ) ; +#3671 = CARTESIAN_POINT ( 'NONE', ( -119.5059751500635485, -78.75758718920479851, 17.74016224672768516 ) ) ; +#3672 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3673 = ORIENTED_EDGE ( 'NONE', *, *, #12742, .T. ) ; +#3674 = PLANE ( 'NONE', #12688 ) ; +#3675 = ORIENTED_EDGE ( 'NONE', *, *, #6575, .T. ) ; +#3676 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3677 = AXIS2_PLACEMENT_3D ( 'NONE', #10145, #12149, #499 ) ; +#3678 = AXIS2_PLACEMENT_3D ( 'NONE', #7735, #4207, #12677 ) ; +#3679 = CYLINDRICAL_SURFACE ( 'NONE', #7155, 2.800000000000843592 ) ; +#3680 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#3681 = CARTESIAN_POINT ( 'NONE', ( -82.09256908860837143, -58.46605763575112746, 15.55016224672746183 ) ) ; +#3682 = PLANE ( 'NONE', #11343 ) ; +#3683 = ORIENTED_EDGE ( 'NONE', *, *, #11111, .F. ) ; +#3684 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#3685 = CIRCLE ( 'NONE', #776, 2.800000000000840039 ) ; +#3686 = ORIENTED_EDGE ( 'NONE', *, *, #8109, .F. ) ; +#3687 = CYLINDRICAL_SURFACE ( 'NONE', #10693, 1.000000000000000888 ) ; +#3688 = CARTESIAN_POINT ( 'NONE', ( -51.83194203876542616, -26.25000000000000355, 3.000000000000004441 ) ) ; +#3689 = EDGE_LOOP ( 'NONE', ( #8102, #963, #10403, #7558 ) ) ; +#3690 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3691 = CARTESIAN_POINT ( 'NONE', ( -87.17069039786871087, -65.01605763575113883, 38.88120580365181667 ) ) ; +#3692 = CARTESIAN_POINT ( 'NONE', ( -118.2773243133239305, -81.22632020997259872, 17.74016224672767095 ) ) ; +#3693 = VERTEX_POINT ( 'NONE', #395 ) ; +#3694 = EDGE_CURVE ( 'NONE', #285, #4626, #4851, .T. ) ; +#3695 = VECTOR ( 'NONE', #3018, 1000.000000000000114 ) ; +#3696 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256616630 ) ) ; +#3697 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#3698 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3699 = ORIENTED_EDGE ( 'NONE', *, *, #318, .F. ) ; +#3700 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#3701 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#3702 = EDGE_LOOP ( 'NONE', ( #5859, #2492, #9572, #1331 ) ) ; +#3703 = AXIS2_PLACEMENT_3D ( 'NONE', #5, #7930, #64 ) ; +#3704 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3705 = VERTEX_POINT ( 'NONE', #9305 ) ; +#3706 = PLANE ( 'NONE', #3201 ) ; +#3707 = ORIENTED_EDGE ( 'NONE', *, *, #7216, .T. ) ; +#3708 = EDGE_CURVE ( 'NONE', #5144, #2554, #8071, .T. ) ; +#3709 = CARTESIAN_POINT ( 'NONE', ( -90.62377628319123346, -64.96605763575112746, 2.950023829846316836 ) ) ; +#3710 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -82.96605763575112746, 14.76002382984610151 ) ) ; +#3711 = CARTESIAN_POINT ( 'NONE', ( -98.66192086514537607, -59.01605763575113173, 37.97277920402650153 ) ) ; +#3712 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3713 = CARTESIAN_POINT ( 'NONE', ( -93.08814336361167818, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3714 = CARTESIAN_POINT ( 'NONE', ( -101.8846027836143264, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3715 = EDGE_CURVE ( 'NONE', #9141, #808, #7280, .T. ) ; +#3716 = ORIENTED_EDGE ( 'NONE', *, *, #12541, .T. ) ; +#3717 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3718 = VERTEX_POINT ( 'NONE', #7167 ) ; +#3719 = CARTESIAN_POINT ( 'NONE', ( -98.84698258422444894, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3720 = EDGE_LOOP ( 'NONE', ( #6057, #3006, #5368, #1153 ) ) ; +#3721 = LINE ( 'NONE', #7684, #7774 ) ; +#3722 = EDGE_CURVE ( 'NONE', #8618, #757, #9115, .T. ) ; +#3723 = ORIENTED_EDGE ( 'NONE', *, *, #10313, .T. ) ; +#3724 = EDGE_CURVE ( 'NONE', #10714, #6456, #2347, .T. ) ; +#3725 = CARTESIAN_POINT ( 'NONE', ( -104.2464645127226817, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3726 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 9.250023829846105272 ) ) ; +#3727 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3728 = ORIENTED_EDGE ( 'NONE', *, *, #4038, .T. ) ; +#3729 = CARTESIAN_POINT ( 'NONE', ( -118.7938328791268106, -80.32614825114744406, 17.74016224672768871 ) ) ; +#3730 = EDGE_CURVE ( 'NONE', #11699, #148, #8258, .T. ) ; +#3731 = LINE ( 'NONE', #5816, #6684 ) ; +#3732 = ORIENTED_EDGE ( 'NONE', *, *, #7859, .F. ) ; +#3733 = CARTESIAN_POINT ( 'NONE', ( -101.6193505581945118, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3734 = VERTEX_POINT ( 'NONE', #8197 ) ; +#3735 = CARTESIAN_POINT ( 'NONE', ( -94.51146625773718313, -59.01605763575113173, 41.67313268766882572 ) ) ; +#3736 = ADVANCED_FACE ( 'NONE', ( #5269 ), #4234, .T. ) ; +#3737 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 16.74016224672766739 ) ) ; +#3738 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#3739 = FACE_OUTER_BOUND ( 'NONE', #7885, .T. ) ; +#3740 = CARTESIAN_POINT ( 'NONE', ( -87.06405191757912121, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3741 = EDGE_LOOP ( 'NONE', ( #7729, #497 ) ) ; +#3742 = LINE ( 'NONE', #7512, #2654 ) ; +#3743 = EDGE_LOOP ( 'NONE', ( #2908, #478, #12670, #6360, #4053, #8767, #11266, #949 ) ) ; +#3744 = CARTESIAN_POINT ( 'NONE', ( -105.8548333940881321, -64.96605763575112746, 15.55016224672746006 ) ) ; +#3745 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, 18.75002382984610705 ) ) ; +#3746 = ORIENTED_EDGE ( 'NONE', *, *, #2044, .T. ) ; +#3747 = LINE ( 'NONE', #3814, #12115 ) ; +#3748 = FACE_OUTER_BOUND ( 'NONE', #10373, .T. ) ; +#3749 = CARTESIAN_POINT ( 'NONE', ( -117.3385711609742543, -83.83997004273655307, 16.74016224672797293 ) ) ; +#3750 = VERTEX_POINT ( 'NONE', #2224 ) ; +#3751 = PLANE ( 'NONE', #910 ) ; +#3752 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3753 = PLANE ( 'NONE', #11136 ) ; +#3754 = ORIENTED_EDGE ( 'NONE', *, *, #3651, .T. ) ; +#3755 = CARTESIAN_POINT ( 'NONE', ( -120.0787951421416579, -77.00812734558061834, 2.740162246727674944 ) ) ; +#3756 = ADVANCED_FACE ( 'NONE', ( #6192 ), #1238, .T. ) ; +#3757 = ORIENTED_EDGE ( 'NONE', *, *, #4845, .F. ) ; +#3758 = CIRCLE ( 'NONE', #12067, 2.800000000000843592 ) ; +#3759 = VECTOR ( 'NONE', #4192, 1000.000000000000000 ) ; +#3760 = FACE_OUTER_BOUND ( 'NONE', #11578, .T. ) ; +#3761 = ORIENTED_EDGE ( 'NONE', *, *, #7703, .F. ) ; +#3762 = ADVANCED_FACE ( 'NONE', ( #2284 ), #4251, .T. ) ; +#3763 = CARTESIAN_POINT ( 'NONE', ( -98.68423571011672379, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3764 = EDGE_LOOP ( 'NONE', ( #10968, #8545, #7076, #9394 ) ) ; +#3765 = CYLINDRICAL_SURFACE ( 'NONE', #98, 2.800000000000843592 ) ; +#3766 = CARTESIAN_POINT ( 'NONE', ( -84.29168394360905836, -58.46605763575112746, 15.55016224672746183 ) ) ; +#3767 = AXIS2_PLACEMENT_3D ( 'NONE', #2038, #6002, #12831 ) ; +#3768 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -26.25000000000000355, 3.000000000000002665 ) ) ; +#3769 = CARTESIAN_POINT ( 'NONE', ( -118.2251933784609292, -67.03712544761660297, 2.740162246727670947 ) ) ; +#3770 = CARTESIAN_POINT ( 'NONE', ( -109.6798099851200305, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3771 = CARTESIAN_POINT ( 'NONE', ( -91.76526185925033019, -59.01605763575113173, 29.28082870826848350 ) ) ; +#3772 = ADVANCED_FACE ( 'NONE', ( #11706 ), #10800, .F. ) ; +#3773 = VERTEX_POINT ( 'NONE', #5919 ) ; +#3774 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3775 = ORIENTED_EDGE ( 'NONE', *, *, #550, .F. ) ; +#3776 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 0.000000000000000000, 9.000000000000001776 ) ) ; +#3777 = AXIS2_PLACEMENT_3D ( 'NONE', #1768, #655, #5605 ) ; +#3778 = VERTEX_POINT ( 'NONE', #9823 ) ; +#3779 = CARTESIAN_POINT ( 'NONE', ( -64.93139904479190250, -70.37735396380439568, 15.76002382984610684 ) ) ; +#3780 = ORIENTED_EDGE ( 'NONE', *, *, #5161, .T. ) ; +#3781 = EDGE_CURVE ( 'NONE', #2729, #1206, #10700, .T. ) ; +#3782 = AXIS2_PLACEMENT_3D ( 'NONE', #2262, #430, #2198 ) ; +#3783 = CARTESIAN_POINT ( 'NONE', ( -100.5304451868894375, -65.01605763575113883, 37.13228939359589020 ) ) ; +#3784 = ORIENTED_EDGE ( 'NONE', *, *, #1736, .F. ) ; +#3785 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 0.7600238298461192699 ) ) ; +#3786 = ORIENTED_EDGE ( 'NONE', *, *, #6007, .T. ) ; +#3787 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3788 = ADVANCED_FACE ( 'NONE', ( #2878 ), #3765, .T. ) ; +#3789 = CARTESIAN_POINT ( 'NONE', ( -86.17845484026810254, -65.01605763575113883, 32.09476472438516481 ) ) ; +#3790 = ORIENTED_EDGE ( 'NONE', *, *, #11881, .T. ) ; +#3791 = CARTESIAN_POINT ( 'NONE', ( -75.65797139771410684, -64.96605763575112746, 2.950023829846315948 ) ) ; +#3792 = ORIENTED_EDGE ( 'NONE', *, *, #10011, .F. ) ; +#3793 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -24.68297142738792616, -2.249976170153895172 ) ) ; +#3794 = ORIENTED_EDGE ( 'NONE', *, *, #11607, .T. ) ; +#3795 = AXIS2_PLACEMENT_3D ( 'NONE', #11701, #3055, #2074 ) ; +#3796 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 0.000000000000000000, 9.000000000000001776 ) ) ; +#3797 = EDGE_CURVE ( 'NONE', #3911, #11600, #2738, .T. ) ; +#3798 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3799 = CYLINDRICAL_SURFACE ( 'NONE', #11117, 5.000000000000004441 ) ; +#3800 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053528749, -59.01605763575113173, 36.61720551108079746 ) ) ; +#3801 = PLANE ( 'NONE', #9472 ) ; +#3802 = VECTOR ( 'NONE', #5102, 1000.000000000000000 ) ; +#3803 = VERTEX_POINT ( 'NONE', #7731 ) ; +#3804 = CARTESIAN_POINT ( 'NONE', ( -102.4578559025837450, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3805 = EDGE_CURVE ( 'NONE', #11857, #645, #2929, .T. ) ; +#3806 = CIRCLE ( 'NONE', #8790, 1.000000000000000000 ) ; +#3807 = ADVANCED_FACE ( 'NONE', ( #6893 ), #6960, .T. ) ; +#3808 = EDGE_LOOP ( 'NONE', ( #3989, #6550, #6762, #7649 ) ) ; +#3809 = CARTESIAN_POINT ( 'NONE', ( -101.4566036840868151, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3810 = EDGE_CURVE ( 'NONE', #9281, #2729, #6908, .T. ) ; +#3811 = EDGE_CURVE ( 'NONE', #9169, #11600, #8908, .T. ) ; +#3812 = PLANE ( 'NONE', #7736 ) ; +#3813 = VERTEX_POINT ( 'NONE', #11641 ) ; +#3814 = CARTESIAN_POINT ( 'NONE', ( -84.45443081771675509, -58.46605763575112746, 2.950023829846314172 ) ) ; +#3815 = LINE ( 'NONE', #1014, #3004 ) ; +#3816 = CARTESIAN_POINT ( 'NONE', ( -116.5646259918180760, -83.17794892179924204, 17.74016224672767095 ) ) ; +#3817 = VECTOR ( 'NONE', #3946, 1000.000000000000000 ) ; +#3818 = ORIENTED_EDGE ( 'NONE', *, *, #9125, .T. ) ; +#3819 = VECTOR ( 'NONE', #7799, 1000.000000000000000 ) ; +#3820 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3821 = PLANE ( 'NONE', #10734 ) ; +#3822 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -82.96605763575112746, 3.740162246727670503 ) ) ; +#3823 = VERTEX_POINT ( 'NONE', #6298 ) ; +#3824 = LINE ( 'NONE', #11955, #3415 ) ; +#3825 = EDGE_CURVE ( 'NONE', #2203, #7506, #5502, .T. ) ; +#3826 = AXIS2_PLACEMENT_3D ( 'NONE', #11223, #10381, #6546 ) ; +#3827 = CARTESIAN_POINT ( 'NONE', ( -120.0446459519819058, -69.31144116451136483, 2.740162246727671391 ) ) ; +#3828 = AXIS2_PLACEMENT_3D ( 'NONE', #12465, #3502, #1357 ) ; +#3829 = ORIENTED_EDGE ( 'NONE', *, *, #539, .F. ) ; +#3830 = CYLINDRICAL_SURFACE ( 'NONE', #7320, 6.124000000001836419 ) ; +#3831 = EDGE_CURVE ( 'NONE', #4796, #5204, #6237, .T. ) ; +#3832 = ORIENTED_EDGE ( 'NONE', *, *, #12553, .T. ) ; +#3833 = AXIS2_PLACEMENT_3D ( 'NONE', #10650, #7452, #5510 ) ; +#3834 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3835 = ORIENTED_EDGE ( 'NONE', *, *, #11601, .T. ) ; +#3836 = CARTESIAN_POINT ( 'NONE', ( -64.92902428121878700, -70.21433198081037119, 15.76002382984610328 ) ) ; +#3837 = VECTOR ( 'NONE', #5088, 1000.000000000000000 ) ; +#3838 = VECTOR ( 'NONE', #4879, 1000.000000000000114 ) ; +#3839 = CARTESIAN_POINT ( 'NONE', ( -92.08689114511476248, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3840 = AXIS2_PLACEMENT_3D ( 'NONE', #9072, #1433, #6143 ) ; +#3841 = FACE_OUTER_BOUND ( 'NONE', #6729, .T. ) ; +#3842 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3843 = PLANE ( 'NONE', #6284 ) ; +#3844 = ORIENTED_EDGE ( 'NONE', *, *, #715, .T. ) ; +#3845 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -58.46605763575112746, 0.000000000000000000 ) ) ; +#3846 = ORIENTED_EDGE ( 'NONE', *, *, #4570, .T. ) ; +#3847 = CARTESIAN_POINT ( 'NONE', ( -90.05052316422180070, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3848 = ORIENTED_EDGE ( 'NONE', *, *, #5320, .F. ) ; +#3849 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3850 = EDGE_LOOP ( 'NONE', ( #3244, #11316, #5079, #7596 ) ) ; +#3851 = VECTOR ( 'NONE', #9104, 1000.000000000000000 ) ; +#3852 = EDGE_CURVE ( 'NONE', #8843, #12093, #10151, .T. ) ; +#3853 = CARTESIAN_POINT ( 'NONE', ( -98.74034410393491612, -59.01605763575113173, 38.88120580365173140 ) ) ; +#3854 = ORIENTED_EDGE ( 'NONE', *, *, #10405, .T. ) ; +#3855 = CARTESIAN_POINT ( 'NONE', ( -71.07564098535679875, -83.96605762714281695, 0.7600238298461052810 ) ) ; +#3856 = ORIENTED_EDGE ( 'NONE', *, *, #3781, .T. ) ; +#3857 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 15.25016224672767784 ) ) ; +#3858 = VECTOR ( 'NONE', #9668, 1000.000000000000000 ) ; +#3859 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3860 = ORIENTED_EDGE ( 'NONE', *, *, #8572, .T. ) ; +#3861 = CYLINDRICAL_SURFACE ( 'NONE', #10147, 6.124000000001836419 ) ; +#3862 = VERTEX_POINT ( 'NONE', #1359 ) ; +#3863 = AXIS2_PLACEMENT_3D ( 'NONE', #8495, #12656, #6682 ) ; +#3864 = CYLINDRICAL_SURFACE ( 'NONE', #2992, 2.800000000000836486 ) ; +#3865 = ORIENTED_EDGE ( 'NONE', *, *, #10088, .T. ) ; +#3866 = ADVANCED_FACE ( 'NONE', ( #319 ), #6177, .T. ) ; +#3867 = AXIS2_PLACEMENT_3D ( 'NONE', #3405, #7367, #11342 ) ; +#3868 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551134, -69.25895085456457423, 3.740162246727671391 ) ) ; +#3869 = PLANE ( 'NONE', #12152 ) ; +#3870 = LINE ( 'NONE', #6738, #7222 ) ; +#3871 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -55.25000000000000711, 0.000000000000000000 ) ) ; +#3872 = ORIENTED_EDGE ( 'NONE', *, *, #952, .T. ) ; +#3873 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -84.96605763575112746, 0.7600238298461036157 ) ) ; +#3874 = ORIENTED_EDGE ( 'NONE', *, *, #1104, .F. ) ; +#3875 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3876 = DIRECTION ( 'NONE', ( -2.026550380470260590E-15, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3877 = EDGE_CURVE ( 'NONE', #2073, #7575, #9036, .T. ) ; +#3878 = CIRCLE ( 'NONE', #11150, 1.000000000000000888 ) ; +#3879 = ORIENTED_EDGE ( 'NONE', *, *, #2229, .T. ) ; +#3880 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.106201521881305841E-15 ) ) ; +#3881 = FACE_OUTER_BOUND ( 'NONE', #9451, .T. ) ; +#3882 = CARTESIAN_POINT ( 'NONE', ( -121.1008930456260089, -77.03368300866014806, 17.74016224672768516 ) ) ; +#3883 = ORIENTED_EDGE ( 'NONE', *, *, #8704, .T. ) ; +#3884 = ADVANCED_FACE ( 'NONE', ( #1284 ), #10017, .F. ) ; +#3885 = CARTESIAN_POINT ( 'NONE', ( -104.8197176316921286, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3886 = EDGE_CURVE ( 'NONE', #2532, #12544, #1093, .T. ) ; +#3887 = ADVANCED_FACE ( 'NONE', ( #4096 ), #7023, .F. ) ; +#3888 = LINE ( 'NONE', #7130, #4911 ) ; +#3889 = CARTESIAN_POINT ( 'NONE', ( -89.82440448553691681, -59.01605763575113173, 41.53491989132000128 ) ) ; +#3890 = CIRCLE ( 'NONE', #980, 1.000000000000000888 ) ; +#3891 = ORIENTED_EDGE ( 'NONE', *, *, #79, .T. ) ; +#3892 = CYLINDRICAL_SURFACE ( 'NONE', #2172, 1.000000000000000888 ) ; +#3893 = LINE ( 'NONE', #10793, #457 ) ; +#3894 = EDGE_CURVE ( 'NONE', #4368, #5151, #4156, .T. ) ; +#3895 = EDGE_LOOP ( 'NONE', ( #1209, #9111, #7652, #3459 ) ) ; +#3896 = CARTESIAN_POINT ( 'NONE', ( -103.9985363155399654, -14.23050649339993079, 2.552569978481759705 ) ) ; +#3897 = AXIS2_PLACEMENT_3D ( 'NONE', #11855, #1119, #18 ) ; +#3898 = ORIENTED_EDGE ( 'NONE', *, *, #1857, .F. ) ; +#3899 = CYLINDRICAL_SURFACE ( 'NONE', #7977, 2.450000000000000622 ) ; +#3900 = VERTEX_POINT ( 'NONE', #8059 ) ; +#3901 = ADVANCED_FACE ( 'NONE', ( #6107 ), #248, .T. ) ; +#3902 = CARTESIAN_POINT ( 'NONE', ( -63.95600637772739105, -71.29927948324052522, 15.76002382984549754 ) ) ; +#3903 = FACE_OUTER_BOUND ( 'NONE', #12441, .T. ) ; +#3904 = TOROIDAL_SURFACE ( 'NONE', #5149, 2.000000000000000000, 1.000000000000000000 ) ; +#3905 = VECTOR ( 'NONE', #4835, 1000.000000000000114 ) ; +#3906 = CARTESIAN_POINT ( 'NONE', ( -109.8425568592277557, -64.96605763575112746, 1.375023829845842149 ) ) ; +#3907 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -26.25000000000000355, 2.000000000000002665 ) ) ; +#3908 = SPHERICAL_SURFACE ( 'NONE', #9409, 1.000000000000000000 ) ; +#3909 = ORIENTED_EDGE ( 'NONE', *, *, #6666, .F. ) ; +#3910 = LINE ( 'NONE', #8, #884 ) ; +#3911 = VERTEX_POINT ( 'NONE', #4027 ) ; +#3912 = EDGE_LOOP ( 'NONE', ( #9237, #10760, #4365, #3147 ) ) ; +#3913 = LINE ( 'NONE', #5806, #11528 ) ; +#3914 = EDGE_LOOP ( 'NONE', ( #11811, #8200, #4778, #3891 ) ) ; +#3915 = CARTESIAN_POINT ( 'NONE', ( -75.65797139771410684, -64.96605763575112746, 2.950023829846315948 ) ) ; +#3916 = VERTEX_POINT ( 'NONE', #12156 ) ; +#3917 = CARTESIAN_POINT ( 'NONE', ( -94.33771360621082636, -59.01605763575113173, 43.32502097427452981 ) ) ; +#3918 = EDGE_LOOP ( 'NONE', ( #7745, #6590, #2059, #573 ) ) ; +#3919 = LINE ( 'NONE', #7883, #6398 ) ; +#3920 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3921 = AXIS2_PLACEMENT_3D ( 'NONE', #9438, #12426, #526 ) ; +#3922 = EDGE_LOOP ( 'NONE', ( #2737, #3118, #10578, #5548 ) ) ; +#3923 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -23.68297142738791550, -1.982026977722764816 ) ) ; +#3924 = ADVANCED_FACE ( 'NONE', ( #7082 ), #9230, .T. ) ; +#3925 = ORIENTED_EDGE ( 'NONE', *, *, #3708, .T. ) ; +#3926 = CARTESIAN_POINT ( 'NONE', ( -91.05177538271874482, -64.96605763575112746, 2.950023829846315060 ) ) ; +#3927 = EDGE_LOOP ( 'NONE', ( #6675, #6972, #5929, #2548 ) ) ; +#3928 = AXIS2_PLACEMENT_3D ( 'NONE', #4246, #3276, #2358 ) ; +#3929 = PLANE ( 'NONE', #7974 ) ; +#3930 = LINE ( 'NONE', #942, #1356 ) ; +#3931 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#3932 = LINE ( 'NONE', #10775, #6785 ) ; +#3933 = ORIENTED_EDGE ( 'NONE', *, *, #1017, .T. ) ; +#3934 = FACE_OUTER_BOUND ( 'NONE', #3027, .T. ) ; +#3935 = ORIENTED_EDGE ( 'NONE', *, *, #11722, .F. ) ; +#3936 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 16.74016224672766384 ) ) ; +#3937 = LINE ( 'NONE', #8034, #6878 ) ; +#3938 = CARTESIAN_POINT ( 'NONE', ( -88.42466142819056074, -64.96605763575112746, 2.950023829846314172 ) ) ; +#3939 = EDGE_CURVE ( 'NONE', #6103, #5204, #5841, .T. ) ; +#3940 = ORIENTED_EDGE ( 'NONE', *, *, #6331, .T. ) ; +#3941 = CYLINDRICAL_SURFACE ( 'NONE', #2351, 1.000000000000000000 ) ; +#3942 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053528749, -59.01605763575113173, 36.61720551108079746 ) ) ; +#3943 = AXIS2_PLACEMENT_3D ( 'NONE', #4119, #8018, #3145 ) ; +#3944 = CARTESIAN_POINT ( 'NONE', ( -121.9825526910627644, -71.39981715195989409, 17.74016224669160380 ) ) ; +#3945 = VERTEX_POINT ( 'NONE', #11240 ) ; +#3946 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#3947 = ADVANCED_FACE ( 'NONE', ( #3250 ), #7214, .F. ) ; +#3948 = CARTESIAN_POINT ( 'NONE', ( -90.88902850861101967, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3949 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3950 = ORIENTED_EDGE ( 'NONE', *, *, #9163, .T. ) ; +#3951 = CARTESIAN_POINT ( 'NONE', ( -101.8846027836143264, -64.96605763575112746, 15.55016224672746183 ) ) ; +#3952 = EDGE_CURVE ( 'NONE', #12664, #8209, #10598, .T. ) ; +#3953 = CARTESIAN_POINT ( 'NONE', ( -81.09131687011145573, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3954 = ORIENTED_EDGE ( 'NONE', *, *, #3186, .F. ) ; +#3955 = LINE ( 'NONE', #6768, #7740 ) ; +#3956 = APPROVAL ( #8307, '未' ) ; +#3957 = VERTEX_POINT ( 'NONE', #7331 ) ; +#3958 = CIRCLE ( 'NONE', #11219, 7.700000000002309442 ) ; +#3959 = PLANE ( 'NONE', #10055 ) ; +#3960 = ORIENTED_EDGE ( 'NONE', *, *, #12507, .T. ) ; +#3961 = CARTESIAN_POINT ( 'NONE', ( -64.04789265498007467, -72.72774175406847519, 14.76002382984370342 ) ) ; +#3962 = EDGE_CURVE ( 'NONE', #1324, #930, #9550, .T. ) ; +#3963 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3964 = AXIS2_PLACEMENT_3D ( 'NONE', #2502, #8474, #415 ) ; +#3965 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#3966 = CARTESIAN_POINT ( 'NONE', ( -90.62377628319123346, -58.46605763575112746, 2.950023829846316836 ) ) ; +#3967 = ADVANCED_FACE ( 'NONE', ( #2405 ), #11507, .F. ) ; +#3968 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#3969 = ORIENTED_EDGE ( 'NONE', *, *, #7135, .T. ) ; +#3970 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#3972 = ORIENTED_EDGE ( 'NONE', *, *, #9037, .T. ) ; +#3971 = ADVANCED_FACE ( 'NONE', ( #1420 ), #3369, .T. ) ; +#3973 = EDGE_CURVE ( 'NONE', #6147, #8985, #3423, .T. ) ; +#3974 = EDGE_LOOP ( 'NONE', ( #7825, #6306, #9204, #2287 ) ) ; +#3975 = CARTESIAN_POINT ( 'NONE', ( -65.06173105821223146, -73.06230384602649508, 15.76002382984610684 ) ) ; +#3976 = ORIENTED_EDGE ( 'NONE', *, *, #6018, .F. ) ; +#3977 = CIRCLE ( 'NONE', #11868, 7.700000000002309442 ) ; +#3978 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#3979 = ORIENTED_EDGE ( 'NONE', *, *, #3811, .F. ) ; +#3980 = PLANE ( 'NONE', #12387 ) ; +#3981 = ORIENTED_EDGE ( 'NONE', *, *, #9454, .F. ) ; +#3982 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3983 = AXIS2_PLACEMENT_3D ( 'NONE', #4369, #5213, #3207 ) ; +#3984 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -84.96605763575112746, 1.760023829846104615 ) ) ; +#3985 = VERTEX_POINT ( 'NONE', #8302 ) ; +#3986 = LINE ( 'NONE', #1783, #4148 ) ; +#3987 = ORIENTED_EDGE ( 'NONE', *, *, #986, .F. ) ; +#3988 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#3989 = ORIENTED_EDGE ( 'NONE', *, *, #12402, .T. ) ; +#3990 = VECTOR ( 'NONE', #9026, 1000.000000000000000 ) ; +#3991 = CARTESIAN_POINT ( 'NONE', ( -74.64921935800832387, -58.46605763575112746, 14.47892608039941997 ) ) ; +#3992 = FACE_OUTER_BOUND ( 'NONE', #2754, .T. ) ; +#3993 = ADVANCED_FACE ( 'NONE', ( #12411 ), #6563, .F. ) ; +#3994 = CARTESIAN_POINT ( 'NONE', ( -98.05962619258242796, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3995 = CARTESIAN_POINT ( 'NONE', ( -109.6798099851200305, -58.46605763575112746, 17.12516224672793541 ) ) ; +#3996 = ORIENTED_EDGE ( 'NONE', *, *, #11351, .T. ) ; +#3997 = CARTESIAN_POINT ( 'NONE', ( -76.06847764257581446, -64.96605763575112746, 17.12516224672793541 ) ) ; +#3998 = CIRCLE ( 'NONE', #6498, 2.800000000000840039 ) ; +#3999 = LINE ( 'NONE', #11748, #6098 ) ; +#4000 = AXIS2_PLACEMENT_3D ( 'NONE', #12653, #1727, #9544 ) ; +#4001 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256616630 ) ) ; +#4002 = EDGE_CURVE ( 'NONE', #9304, #5588, #6725, .T. ) ; +#4003 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 4.053100760940521181E-15 ) ) ; +#4004 = VECTOR ( 'NONE', #11045, 1000.000000000000000 ) ; +#4005 = ORIENTED_EDGE ( 'NONE', *, *, #447, .T. ) ; +#4006 = LINE ( 'NONE', #5111, #6528 ) ; +#4007 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416525, -71.39981715200968893, 16.74016224670603137 ) ) ; +#4008 = VERTEX_POINT ( 'NONE', #10532 ) ; +#4009 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#4010 = EDGE_CURVE ( 'NONE', #4177, #5509, #6367, .T. ) ; +#4011 = CARTESIAN_POINT ( 'NONE', ( -103.6557185390874736, -58.46605763575112746, 15.55016224672746006 ) ) ; +#4012 = PLANE ( 'NONE', #6981 ) ; +#4013 = VECTOR ( 'NONE', #10099, 1000.000000000000000 ) ; +#4014 = ORIENTED_EDGE ( 'NONE', *, *, #2289, .T. ) ; +#4015 = LINE ( 'NONE', #784, #10119 ) ; +#4016 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4017 = VECTOR ( 'NONE', #9555, 1000.000000000000000 ) ; +#4018 = ORIENTED_EDGE ( 'NONE', *, *, #5133, .F. ) ; +#4019 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -84.96605763575112746, 0.7600238298461048370 ) ) ; +#4020 = AXIS2_PLACEMENT_3D ( 'NONE', #2002, #9940, #4270 ) ; +#4021 = EDGE_CURVE ( 'NONE', #3823, #1475, #2665, .T. ) ; +#4022 = AXIS2_PLACEMENT_3D ( 'NONE', #4217, #4286, #8240 ) ; +#4023 = ORIENTED_EDGE ( 'NONE', *, *, #2980, .T. ) ; +#4024 = CARTESIAN_POINT ( 'NONE', ( -104.2464645127226817, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4025 = ORIENTED_EDGE ( 'NONE', *, *, #4605, .F. ) ; +#4026 = AXIS2_PLACEMENT_3D ( 'NONE', #6542, #11668, #2769 ) ; +#4027 = CARTESIAN_POINT ( 'NONE', ( -90.05052316422180070, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4028 = EDGE_CURVE ( 'NONE', #1483, #12664, #4642, .T. ) ; +#4029 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4030 = VECTOR ( 'NONE', #12116, 1000.000000000000000 ) ; +#4031 = AXIS2_PLACEMENT_3D ( 'NONE', #8057, #3058, #9227 ) ; +#4032 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4033 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#4034 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#4035 = ORIENTED_EDGE ( 'NONE', *, *, #8092, .T. ) ; +#4036 = VECTOR ( 'NONE', #6676, 1000.000000000000000 ) ; +#4037 = CARTESIAN_POINT ( 'NONE', ( -97.48964746931601155, -65.01605763575113883, 30.98461803242789259 ) ) ; +#4038 = EDGE_CURVE ( 'NONE', #7257, #5932, #8368, .T. ) ; +#4039 = ORIENTED_EDGE ( 'NONE', *, *, #11360, .T. ) ; +#4040 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4041 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4042 = VECTOR ( 'NONE', #6597, 1000.000000000000000 ) ; +#4043 = VERTEX_POINT ( 'NONE', #4407 ) ; +#4044 = AXIS2_PLACEMENT_3D ( 'NONE', #10251, #6411, #6543 ) ; +#4045 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4046 = EDGE_CURVE ( 'NONE', #712, #3463, #3564, .T. ) ; +#4047 = EDGE_CURVE ( 'NONE', #2965, #6468, #6626, .T. ) ; +#4048 = CARTESIAN_POINT ( 'NONE', ( -101.8846027836143264, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4049 = EDGE_CURVE ( 'NONE', #7476, #6388, #1111, .T. ) ; +#4050 = EDGE_CURVE ( 'NONE', #7357, #3985, #7464, .T. ) ; +#4051 = ORIENTED_EDGE ( 'NONE', *, *, #4579, .F. ) ; +#4052 = CARTESIAN_POINT ( 'NONE', ( -93.08814336361167818, -58.46605763575112746, 15.55016224672746183 ) ) ; +#4053 = ORIENTED_EDGE ( 'NONE', *, *, #2207, .T. ) ; +#4054 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4055 = CARTESIAN_POINT ( 'NONE', ( -89.64540189891243926, -65.01605763575113883, 40.90242380761321783 ) ) ; +#4056 = CARTESIAN_POINT ( 'NONE', ( -78.26759249757650139, -58.46605763575112746, 17.12516224672793541 ) ) ; +#4057 = EDGE_CURVE ( 'NONE', #2515, #9254, #6101, .T. ) ; +#4058 = AXIS2_PLACEMENT_3D ( 'NONE', #6042, #12088, #4029 ) ; +#4059 = ORIENTED_EDGE ( 'NONE', *, *, #7272, .F. ) ; +#4060 = CARTESIAN_POINT ( 'NONE', ( -93.66139648258112516, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4061 = ORIENTED_EDGE ( 'NONE', *, *, #7051, .F. ) ; +#4062 = ADVANCED_FACE ( 'NONE', ( #5585 ), #1477, .F. ) ; +#4063 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 1.544631851866820033E-16 ) ) ; +#4064 = LINE ( 'NONE', #7892, #11735 ) ; +#4065 = PLANE ( 'NONE', #9206 ) ; +#4066 = CARTESIAN_POINT ( 'NONE', ( -108.0539482490888190, -58.46605763575112746, 15.55016224672746361 ) ) ; +#4067 = TOROIDAL_SURFACE ( 'NONE', #9050, 4.000000000000000000, 1.000000000000000000 ) ; +#4068 = ORIENTED_EDGE ( 'NONE', *, *, #6955, .T. ) ; +#4069 = CARTESIAN_POINT ( 'NONE', ( -95.40561676000000091, -16.25000000000000000, 10.00000000000000000 ) ) ; +#4070 = CARTESIAN_POINT ( 'NONE', ( -93.82262972369558440, -59.01605763575113173, 29.22964789792037266 ) ) ; +#4071 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#4072 = VECTOR ( 'NONE', #3499, 1000.000000000000000 ) ; +#4073 = FACE_OUTER_BOUND ( 'NONE', #6377, .T. ) ; +#4074 = EDGE_LOOP ( 'NONE', ( #2169, #8721, #11654, #10380 ) ) ; +#4075 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4076 = AXIS2_PLACEMENT_3D ( 'NONE', #9382, #9134, #6655 ) ; +#4077 = CARTESIAN_POINT ( 'NONE', ( -76.06847764257581446, -58.46605763575112746, 17.12516224672793541 ) ) ; +#4078 = ORIENTED_EDGE ( 'NONE', *, *, #10844, .T. ) ; +#4079 = LINE ( 'NONE', #3168, #9634 ) ; +#4080 = CARTESIAN_POINT ( 'NONE', ( -81.25406374421915245, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4081 = FACE_OUTER_BOUND ( 'NONE', #2692, .T. ) ; +#4082 = EDGE_LOOP ( 'NONE', ( #9247, #12720, #3792, #6892 ) ) ; +#4083 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#4084 = VECTOR ( 'NONE', #6461, 1000.000000000000000 ) ; +#4085 = CARTESIAN_POINT ( 'NONE', ( -84.02643171818924372, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4086 = AXIS2_PLACEMENT_3D ( 'NONE', #9245, #397, #11572 ) ; +#4087 = CARTESIAN_POINT ( 'NONE', ( -96.40560150000000306, -11.50498006704500042, 0.4142135623730946459 ) ) ; +#4088 = ORIENTED_EDGE ( 'NONE', *, *, #1596, .F. ) ; +#4089 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4090 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4091 = EDGE_CURVE ( 'NONE', #982, #6337, #11513, .T. ) ; +#4092 = ORIENTED_EDGE ( 'NONE', *, *, #3973, .F. ) ; +#4093 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -65.01605763575113883, 35.75009303828682050 ) ) ; +#4094 = VERTEX_POINT ( 'NONE', #8757 ) ; +#4095 = VECTOR ( 'NONE', #6551, 1000.000000000000000 ) ; +#4096 = FACE_OUTER_BOUND ( 'NONE', #3720, .T. ) ; +#4097 = LINE ( 'NONE', #12026, #1362 ) ; +#4098 = CARTESIAN_POINT ( 'NONE', ( -109.2179473416934314, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4099 = CARTESIAN_POINT ( 'NONE', ( -80.46670735257715990, -58.46605763575112746, 17.12516224672793541 ) ) ; +#4100 = ORIENTED_EDGE ( 'NONE', *, *, #6196, .F. ) ; +#4101 = VECTOR ( 'NONE', #9386, 1000.000000000000000 ) ; +#4102 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4103 = EDGE_CURVE ( 'NONE', #4215, #8079, #11822, .T. ) ; +#4104 = VERTEX_POINT ( 'NONE', #763 ) ; +#4105 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#4106 = LINE ( 'NONE', #139, #11506 ) ; +#4107 = EDGE_LOOP ( 'NONE', ( #8037, #2103, #10941, #6633 ) ) ; +#4108 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4109 = VECTOR ( 'NONE', #5939, 1000.000000000000000 ) ; +#4110 = CARTESIAN_POINT ( 'NONE', ( -89.35557767015389175, -13.89995144998309939, 10.00000000000000000 ) ) ; +#4111 = CIRCLE ( 'NONE', #3281, 7.700000000002309442 ) ; +#4113 = ORIENTED_EDGE ( 'NONE', *, *, #11450, .F. ) ; +#4112 = ADVANCED_FACE ( 'NONE', ( #4736 ), #699, .T. ) ; +#4114 = CARTESIAN_POINT ( 'NONE', ( -64.81014145651130320, -77.03368300856079998, 1.760023829846217414 ) ) ; +#4115 = ORIENTED_EDGE ( 'NONE', *, *, #3722, .T. ) ; +#4116 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4117 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4118 = EDGE_LOOP ( 'NONE', ( #12521, #8860, #1046, #6621, #12328, #9803, #3213, #6450 ) ) ; +#4119 = CARTESIAN_POINT ( 'NONE', ( -92.08840477810804259, -59.01605763575113173, 42.27053817865341045 ) ) ; +#4120 = ADVANCED_FACE ( 'NONE', ( #5643 ), #6945, .F. ) ; +#4121 = CIRCLE ( 'NONE', #8260, 2.800000000000836486 ) ; +#4122 = ORIENTED_EDGE ( 'NONE', *, *, #7862, .T. ) ; +#4123 = CARTESIAN_POINT ( 'NONE', ( -116.6732076282927295, -84.33055573799192928, 2.740162246726075335 ) ) ; +#4124 = ADVANCED_FACE ( 'NONE', ( #12660 ), #3751, .F. ) ; +#4125 = ORIENTED_EDGE ( 'NONE', *, *, #7462, .T. ) ; +#4126 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4127 = CARTESIAN_POINT ( 'NONE', ( -79.62820200818792671, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4128 = ADVANCED_FACE ( 'NONE', ( #10659 ), #8627, .F. ) ; +#4129 = CARTESIAN_POINT ( 'NONE', ( -82.25531596271609658, -64.96605763575112746, 2.950023829846315948 ) ) ; +#4130 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4131 = VERTEX_POINT ( 'NONE', #10787 ) ; +#4132 = PLANE ( 'NONE', #5134 ) ; +#4133 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 16.24999999999809930, 10.00000000000000000 ) ) ; +#4134 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#4135 = FACE_OUTER_BOUND ( 'NONE', #10450, .T. ) ; +#4136 = EDGE_CURVE ( 'NONE', #11931, #10649, #487, .T. ) ; +#4137 = VERTEX_POINT ( 'NONE', #9809 ) ; +#4138 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#4139 = EDGE_CURVE ( 'NONE', #6672, #6953, #9880, .T. ) ; +#4140 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 3.250023829846110601 ) ) ; +#4141 = VERTEX_POINT ( 'NONE', #4673 ) ; +#4142 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -13.44834806084732648, 2.114516028862783781 ) ) ; +#4143 = CARTESIAN_POINT ( 'NONE', ( -93.30604171894361798, -65.01605763575113883, 29.63613289797468298 ) ) ; +#4144 = LINE ( 'NONE', #12072, #9261 ) ; +#4145 = EDGE_LOOP ( 'NONE', ( #8854, #3790 ) ) ; +#4146 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -52.01605763575113883, 38.20009303828682334 ) ) ; +#4147 = CARTESIAN_POINT ( 'NONE', ( -91.57332089559285748, -65.01605763575113883, 43.32502097427455823 ) ) ; +#4148 = VECTOR ( 'NONE', #6003, 1000.000000000000000 ) ; +#4149 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, -3.249976170153895172 ) ) ; +#4150 = PLANE ( 'NONE', #6924 ) ; +#4151 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -26.25000000000000355, 15.50019557898779610 ) ) ; +#4152 = VERTEX_POINT ( 'NONE', #5711 ) ; +#4153 = LINE ( 'NONE', #6235, #1532 ) ; +#4154 = ORIENTED_EDGE ( 'NONE', *, *, #5432, .F. ) ; +#4155 = VECTOR ( 'NONE', #849, 1000.000000000000000 ) ; +#4156 = LINE ( 'NONE', #4220, #2569 ) ; +#4157 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, -4.618802153517092890 ) ) ; +#4158 = EDGE_CURVE ( 'NONE', #4743, #599, #4927, .T. ) ; +#4159 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4160 = APPROVAL_DATE_TIME ( #130, #3956 ) ; +#4161 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191769, -69.96605763575111325, 14.89777427732173720 ) ) ; +#4162 = ORIENTED_EDGE ( 'NONE', *, *, #2872, .F. ) ; +#4163 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4164 = ORIENTED_EDGE ( 'NONE', *, *, #9578, .T. ) ; +#4165 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 12.49999982601869952, 0.000000000000000000 ) ) ; +#4166 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -58.46605763575112746, 16.74016224672766739 ) ) ; +#4167 = EDGE_LOOP ( 'NONE', ( #3987, #10743, #3286, #437 ) ) ; +#4168 = LINE ( 'NONE', #3321, #1975 ) ; +#4169 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#4170 = ADVANCED_FACE ( 'NONE', ( #1739 ), #2726, .T. ) ; +#4171 = CARTESIAN_POINT ( 'NONE', ( -65.74315047607416318, -79.79297887882822238, 1.760023829847450205 ) ) ; +#4172 = ORIENTED_EDGE ( 'NONE', *, *, #10088, .F. ) ; +#4173 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4174 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4175 = EDGE_LOOP ( 'NONE', ( #4664, #12056, #7072, #1539 ) ) ; +#4176 = CYLINDRICAL_SURFACE ( 'NONE', #1235, 2.800000000000836486 ) ; +#4177 = VERTEX_POINT ( 'NONE', #1675 ) ; +#4178 = AXIS2_PLACEMENT_3D ( 'NONE', #10576, #7501, #10510 ) ; +#4179 = CARTESIAN_POINT ( 'NONE', ( -117.8071377058758458, -83.41543600442719253, 2.740162246727699813 ) ) ; +#4180 = VERTEX_POINT ( 'NONE', #2793 ) ; +#4181 = EDGE_CURVE ( 'NONE', #6468, #1437, #5900, .T. ) ; +#4182 = LINE ( 'NONE', #7111, #10270 ) ; +#4183 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -17.44615242270659650, -3.000000000000000000 ) ) ; +#4184 = EDGE_CURVE ( 'NONE', #533, #834, #4865, .T. ) ; +#4185 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 16.74016224672766739 ) ) ; +#4186 = LINE ( 'NONE', #1447, #5949 ) ; +#4187 = CIRCLE ( 'NONE', #3767, 7.700000000002309442 ) ; +#4188 = VERTEX_POINT ( 'NONE', #12598 ) ; +#4189 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4190 = CYLINDRICAL_SURFACE ( 'NONE', #7734, 6.124000000001836419 ) ; +#4191 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#4192 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#4193 = ORIENTED_EDGE ( 'NONE', *, *, #824, .T. ) ; +#4194 = PLANE ( 'NONE', #11296 ) ; +#4195 = EDGE_CURVE ( 'NONE', #6711, #3130, #1807, .T. ) ; +#4196 = CIRCLE ( 'NONE', #11472, 2.800000000000843592 ) ; +#4197 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 12.99016224672767272 ) ) ; +#4198 = ORIENTED_EDGE ( 'NONE', *, *, #4690, .T. ) ; +#4199 = CARTESIAN_POINT ( 'NONE', ( -72.07845868853988236, -14.80129472056588291, 2.828868122124406526 ) ) ; +#4200 = EDGE_CURVE ( 'NONE', #12837, #6996, #6524, .T. ) ; +#4201 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -64.96605763575112746, 17.74016224672767095 ) ) ; +#4202 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4203 = EDGE_CURVE ( 'NONE', #4474, #5426, #828, .T. ) ; +#4204 = VECTOR ( 'NONE', #4992, 1000.000000000000000 ) ; +#4205 = EDGE_CURVE ( 'NONE', #2604, #5936, #1813, .T. ) ; +#4206 = ORIENTED_EDGE ( 'NONE', *, *, #11916, .F. ) ; +#4207 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#4208 = CIRCLE ( 'NONE', #10027, 2.800000000000843592 ) ; +#4209 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -3.002406016113880042E-17 ) ) ; +#4210 = LINE ( 'NONE', #10142, #3172 ) ; +#4211 = ORIENTED_EDGE ( 'NONE', *, *, #3645, .F. ) ; +#4212 = CARTESIAN_POINT ( 'NONE', ( -98.10784802022806161, -59.01605763575113173, 32.43997768629744627 ) ) ; +#4213 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4214 = ADVANCED_FACE ( 'NONE', ( #7978 ), #8162, .T. ) ; +#4215 = VERTEX_POINT ( 'NONE', #2191 ) ; +#4216 = VECTOR ( 'NONE', #1538, 1000.000000000000000 ) ; +#4217 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4218 = ORIENTED_EDGE ( 'NONE', *, *, #8907, .T. ) ; +#4219 = AXIS2_PLACEMENT_3D ( 'NONE', #8494, #7456, #9677 ) ; +#4220 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 16.74016224672766739 ) ) ; +#4221 = CARTESIAN_POINT ( 'NONE', ( -106.8560856125850762, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4222 = EDGE_CURVE ( 'NONE', #359, #6645, #11101, .T. ) ; +#4223 = CIRCLE ( 'NONE', #277, 1.000000000000000888 ) ; +#4224 = PLANE ( 'NONE', #9157 ) ; +#4225 = AXIS2_PLACEMENT_3D ( 'NONE', #12169, #4358, #9243 ) ; +#4226 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4227 = VECTOR ( 'NONE', #8128, 1000.000000000000000 ) ; +#4228 = ORIENTED_EDGE ( 'NONE', *, *, #7142, .T. ) ; +#4229 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -11.50498006704499865, 9.000000000000001776 ) ) ; +#4230 = EDGE_LOOP ( 'NONE', ( #1520, #10796, #10424, #4115 ) ) ; +#4231 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -17.44615242270659650, 1.000000000000000000 ) ) ; +#4232 = ORIENTED_EDGE ( 'NONE', *, *, #8555, .F. ) ; +#4233 = VECTOR ( 'NONE', #11397, 1000.000000000000000 ) ; +#4234 = PLANE ( 'NONE', #12146 ) ; +#4235 = AXIS2_PLACEMENT_3D ( 'NONE', #379, #12342, #10340 ) ; +#4236 = AXIS2_PLACEMENT_3D ( 'NONE', #6891, #5726, #9695 ) ; +#4237 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4238 = CARTESIAN_POINT ( 'NONE', ( -68.46037206978019185, -82.34446871504289334, 0.7600238298461045039 ) ) ; +#4239 = AXIS2_PLACEMENT_3D ( 'NONE', #9590, #9664, #1595 ) ; +#4240 = ORIENTED_EDGE ( 'NONE', *, *, #4585, .T. ) ; +#4241 = LINE ( 'NONE', #6254, #12823 ) ; +#4242 = EDGE_LOOP ( 'NONE', ( #8784, #7079, #1535, #12024 ) ) ; +#4243 = CARTESIAN_POINT ( 'NONE', ( -86.06279969908220551, -58.46605763575112746, 15.55016224672746183 ) ) ; +#4244 = ORIENTED_EDGE ( 'NONE', *, *, #6703, .F. ) ; +#4245 = AXIS2_PLACEMENT_3D ( 'NONE', #6008, #11995, #3090 ) ; +#4246 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -69.96605763575111325, 3.740162246727670503 ) ) ; +#4247 = AXIS2_PLACEMENT_3D ( 'NONE', #2119, #10062, #12853 ) ; +#4248 = ORIENTED_EDGE ( 'NONE', *, *, #11685, .F. ) ; +#4249 = CARTESIAN_POINT ( 'NONE', ( -121.5824756036716678, -74.85570423544541541, 2.740162246728861550 ) ) ; +#4250 = ORIENTED_EDGE ( 'NONE', *, *, #5969, .F. ) ; +#4251 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 3, 2, ( + ( #10288, #1372, #12286 ), + ( #2092, #4555, #6443 ), + ( #5534, #8511, #11390 ), + ( #8576, #2480, #9561 ), + ( #9629, #7412, #3451 ), + ( #648, #6506, #10411 ), + ( #9502, #587, #11522 ), + ( #3515, #8451, #7607 ), + ( #6638, #10477, #12551 ), + ( #3646, #12483, #6577 ), + ( #4618, #10612, #1490 ), + ( #2678, #3580, #7540 ), + ( #5461, #11585, #9433 ), + ( #5399, #718, #521 ), + ( #1687, #5656, #1562 ), + ( #4491, #2615, #10549 ), + ( #4689, #7479, #12422 ), + ( #8642, #3383, #1628 ), + ( #6384, #7348, #5596 ), + ( #11453, #11323, #2418 ), + ( #10352, #1432, #2544 ), + ( #4422, #9362, #452 ), + ( #8384, #12355, #9760 ), + ( #8706, #11776, #12613 ), + ( #3961, #6835, #8771 ), + ( #8844, #6702, #10673 ), + ( #6773, #3902, #5984 ), + ( #1885, #1759, #12740 ), + ( #7924, #5728, #840 ), + ( #7801, #9698, #3836 ), + ( #1033, #11836, #781 ), + ( #1827, #11894, #5853 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 3, 3 ), + ( 0.000000000000000000, 0.001048545188355431632, 0.002097090376710863263, 0.002621362970888579079, 0.003145635565066294895, 0.004194180753421726526, 0.005242725941777158158, 0.006291271130132589789, 0.008388361506843453053, 0.009436906695198884684, 0.01048545188355431632, 0.01258254226026517958, 0.01467963263697604284, 0.01572817782533147274, 0.01625245041950918942, 0.01677672301368690611 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#4252 = ADVANCED_FACE ( 'NONE', ( #12136 ), #9086, .F. ) ; +#4253 = AXIS2_PLACEMENT_3D ( 'NONE', #9340, #7074, #182 ) ; +#4254 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4255 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 9.000000000000001776 ) ) ; +#4256 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#4257 = VECTOR ( 'NONE', #1549, 1000.000000000000000 ) ; +#4258 = VERTEX_POINT ( 'NONE', #8104 ) ; +#4259 = CARTESIAN_POINT ( 'NONE', ( -112.4521779590901218, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4261 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4260 = VECTOR ( 'NONE', #9503, 1000.000000000000000 ) ; +#4262 = LINE ( 'NONE', #9325, #1258 ) ; +#4263 = CARTESIAN_POINT ( 'NONE', ( -99.89619731570439853, -59.01605763575113173, 39.08430362523056090 ) ) ; +#4264 = ORIENTED_EDGE ( 'NONE', *, *, #354, .F. ) ; +#4265 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 3.740162246727669615 ) ) ; +#4266 = EDGE_CURVE ( 'NONE', #1079, #1143, #7141, .T. ) ; +#4267 = FACE_OUTER_BOUND ( 'NONE', #4810, .T. ) ; +#4268 = ORIENTED_EDGE ( 'NONE', *, *, #470, .F. ) ; +#4269 = AXIS2_PLACEMENT_3D ( 'NONE', #10674, #2679, #1689 ) ; +#4270 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4271 = CARTESIAN_POINT ( 'NONE', ( -101.0460974392251075, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4272 = CARTESIAN_POINT ( 'NONE', ( -68.13073414688453511, -65.76380529932851005, 12.77449974693424117 ) ) ; +#4273 = AXIS2_PLACEMENT_3D ( 'NONE', #4541, #10527, #5704 ) ; +#4274 = ORIENTED_EDGE ( 'NONE', *, *, #1839, .F. ) ; +#4275 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4276 = EDGE_CURVE ( 'NONE', #12589, #11127, #5970, .T. ) ; +#4277 = LINE ( 'NONE', #9093, #10902 ) ; +#4278 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 10.00000000000000000 ) ) ; +#4279 = AXIS2_PLACEMENT_3D ( 'NONE', #9749, #2667, #701 ) ; +#4280 = EDGE_LOOP ( 'NONE', ( #4773, #11119, #544, #4590 ) ) ; +#4281 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4282 = CYLINDRICAL_SURFACE ( 'NONE', #7009, 6.124000000001839972 ) ; +#4283 = EDGE_CURVE ( 'NONE', #3497, #12409, #4079, .T. ) ; +#4284 = VERTEX_POINT ( 'NONE', #6024 ) ; +#4285 = EDGE_CURVE ( 'NONE', #3463, #2477, #8224, .T. ) ; +#4286 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4287 = EDGE_LOOP ( 'NONE', ( #10638, #12104, #7536, #92, #1785, #279, #6074, #4608, #687, #2148, #4438, #10146, #9812, #1088, #3663, #6830, #6797, #8837, #5992, #8756, #1757, #7667, #3658, #5805, #9313 ) ) ; +#4288 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#4289 = AXIS2_PLACEMENT_3D ( 'NONE', #6145, #9320, #6268 ) ; +#4290 = EDGE_CURVE ( 'NONE', #2655, #9867, #11950, .T. ) ; +#4291 = LINE ( 'NONE', #1363, #8734 ) ; +#4292 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #3588 ) ; +#4293 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4294 = ORIENTED_EDGE ( 'NONE', *, *, #6757, .T. ) ; +#4295 = FACE_OUTER_BOUND ( 'NONE', #4506, .T. ) ; +#4296 = EDGE_CURVE ( 'NONE', #12018, #7725, #7557, .T. ) ; +#4297 = CIRCLE ( 'NONE', #1597, 2.800000000000836486 ) ; +#4298 = ORIENTED_EDGE ( 'NONE', *, *, #8312, .F. ) ; +#4299 = CARTESIAN_POINT ( 'NONE', ( -99.06947739121399366, -59.01605763575113173, 35.39956857024498760 ) ) ; +#4300 = EDGE_LOOP ( 'NONE', ( #1505, #2282, #10311, #11466 ) ) ; +#4301 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#4302 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#4303 = CARTESIAN_POINT ( 'NONE', ( -65.69022505035732706, -76.44160863475676138, 0.7600238298461086117 ) ) ; +#4304 = VECTOR ( 'NONE', #8428, 1000.000000000000000 ) ; +#4305 = ORIENTED_EDGE ( 'NONE', *, *, #10330, .F. ) ; +#4306 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4307 = EDGE_LOOP ( 'NONE', ( #4429, #10078 ) ) ; +#4308 = CARTESIAN_POINT ( 'NONE', ( -98.68423571011672379, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4309 = VERTEX_POINT ( 'NONE', #5181 ) ; +#4310 = LINE ( 'NONE', #9184, #6010 ) ; +#4311 = VERTEX_POINT ( 'NONE', #2255 ) ; +#4312 = CARTESIAN_POINT ( 'NONE', ( -117.3533346492472589, -83.82780703726970728, 3.740162246727936513 ) ) ; +#4313 = ORIENTED_EDGE ( 'NONE', *, *, #7305, .F. ) ; +#4314 = AXIS2_PLACEMENT_3D ( 'NONE', #11729, #6463, #10433 ) ; +#4315 = VECTOR ( 'NONE', #2776, 1000.000000000000000 ) ; +#4316 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4317 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4318 = CYLINDRICAL_SURFACE ( 'NONE', #2637, 0.7999999999999951594 ) ; +#4319 = ORIENTED_EDGE ( 'NONE', *, *, #4518, .T. ) ; +#4320 = CYLINDRICAL_SURFACE ( 'NONE', #9505, 2.800000000000836486 ) ; +#4321 = EDGE_CURVE ( 'NONE', #9448, #11705, #5046, .T. ) ; +#4322 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4323 = ORIENTED_EDGE ( 'NONE', *, *, #7862, .F. ) ; +#4324 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4325 = ORIENTED_EDGE ( 'NONE', *, *, #2535, .F. ) ; +#4326 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4327 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#4328 = ORIENTED_EDGE ( 'NONE', *, *, #7763, .T. ) ; +#4329 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4330 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4331 = CARTESIAN_POINT ( 'NONE', ( -91.05177538271874482, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4332 = ORIENTED_EDGE ( 'NONE', *, *, #150, .T. ) ; +#4333 = CARTESIAN_POINT ( 'NONE', ( -98.68423571011672379, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4334 = ADVANCED_FACE ( 'NONE', ( #2121 ), #6932, .T. ) ; +#4335 = VERTEX_POINT ( 'NONE', #9147 ) ; +#4336 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#4337 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#4338 = VERTEX_POINT ( 'NONE', #5118 ) ; +#4339 = CARTESIAN_POINT ( 'NONE', ( -91.76526185925038703, -59.01605763575113173, 42.21935736830530317 ) ) ; +#4340 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#4341 = ORIENTED_EDGE ( 'NONE', *, *, #2717, .F. ) ; +#4342 = CARTESIAN_POINT ( 'NONE', ( -89.26316677257977972, -58.46605763575112746, 17.12516224672793541 ) ) ; +#4343 = EDGE_LOOP ( 'NONE', ( #305, #2612, #12667, #3318 ) ) ; +#4344 = EDGE_CURVE ( 'NONE', #5191, #12628, #7964, .T. ) ; +#4345 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4346 = DIRECTION ( 'NONE', ( -1.301042606982606060E-16, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4347 = ORIENTED_EDGE ( 'NONE', *, *, #10442, .F. ) ; +#4348 = ADVANCED_FACE ( 'NONE', ( #10066 ), #233, .F. ) ; +#4349 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -83.96605763575112746, 2.740162246727670503 ) ) ; +#4350 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#4351 = LINE ( 'NONE', #8308, #8787 ) ; +#4352 = ORIENTED_EDGE ( 'NONE', *, *, #3082, .T. ) ; +#4353 = CARTESIAN_POINT ( 'NONE', ( -109.0552004675857347, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4354 = VERTEX_POINT ( 'NONE', #3295 ) ; +#4355 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4356 = ORIENTED_EDGE ( 'NONE', *, *, #10939, .F. ) ; +#4357 = EDGE_CURVE ( 'NONE', #7853, #10363, #10516, .T. ) ; +#4358 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4359 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4360 = EDGE_CURVE ( 'NONE', #356, #12018, #3398, .T. ) ; +#4361 = CARTESIAN_POINT ( 'NONE', ( -68.94658240077323796, -82.83819084240064967, 0.7600238298461040598 ) ) ; +#4362 = CIRCLE ( 'NONE', #12050, 7.700000000002309442 ) ; +#4363 = ADVANCED_FACE ( 'NONE', ( #1601 ), #3424, .F. ) ; +#4364 = EDGE_CURVE ( 'NONE', #9200, #9066, #2790, .T. ) ; +#4365 = ORIENTED_EDGE ( 'NONE', *, *, #12702, .F. ) ; +#4366 = CARTESIAN_POINT ( 'NONE', ( -98.66192086514537607, -65.01605763575113883, 37.97277920402650153 ) ) ; +#4367 = EDGE_CURVE ( 'NONE', #7725, #5346, #9473, .T. ) ; +#4368 = VERTEX_POINT ( 'NONE', #5369 ) ; +#4369 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -13.25000000000000178, 10.00000000000000000 ) ) ; +#4370 = ORIENTED_EDGE ( 'NONE', *, *, #1996, .T. ) ; +#4371 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -65.96605763575112746, 17.74016224672767095 ) ) ; +#4372 = ORIENTED_EDGE ( 'NONE', *, *, #2722, .T. ) ; +#4373 = CARTESIAN_POINT ( 'NONE', ( -117.1893525401481782, -83.95986372841775847, 2.740162246728472972 ) ) ; +#4374 = ORIENTED_EDGE ( 'NONE', *, *, #873, .F. ) ; +#4375 = CIRCLE ( 'NONE', #9356, 2.800000000000836486 ) ; +#4376 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4377 = CARTESIAN_POINT ( 'NONE', ( -89.42591364668750487, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4378 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4379 = ORIENTED_EDGE ( 'NONE', *, *, #2674, .F. ) ; +#4380 = DIRECTION ( 'NONE', ( -0.9396926207859083169, 0.000000000000000000, 0.3420201433256689350 ) ) ; +#4381 = VECTOR ( 'NONE', #12384, 1000.000000000000114 ) ; +#4382 = CARTESIAN_POINT ( 'NONE', ( -102.0473496577220232, -64.96605763575112746, 2.950023829846314172 ) ) ; +#4383 = VERTEX_POINT ( 'NONE', #5431 ) ; +#4384 = FACE_OUTER_BOUND ( 'NONE', #10867, .T. ) ; +#4385 = ORIENTED_EDGE ( 'NONE', *, *, #12278, .T. ) ; +#4386 = CARTESIAN_POINT ( 'NONE', ( -104.6569707575844319, -58.46605763575112746, 17.12516224672793541 ) ) ; +#4387 = AXIS2_PLACEMENT_3D ( 'NONE', #11220, #10190, #3292 ) ; +#4388 = FACE_OUTER_BOUND ( 'NONE', #790, .T. ) ; +#4389 = ORIENTED_EDGE ( 'NONE', *, *, #1886, .T. ) ; +#4390 = EDGE_CURVE ( 'NONE', #7798, #9066, #11287, .T. ) ; +#4391 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4392 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092019669, -65.01605763575113883, 34.55983764663545088 ) ) ; +#4393 = CARTESIAN_POINT ( 'NONE', ( -68.39870966573647593, -65.49582978047655502, 13.09016066180321047 ) ) ; +#4394 = ORIENTED_EDGE ( 'NONE', *, *, #5880, .T. ) ; +#4395 = CARTESIAN_POINT ( 'NONE', ( -94.85925911908482533, -58.46605763575112746, 15.55016224672746183 ) ) ; +#4396 = ORIENTED_EDGE ( 'NONE', *, *, #4737, .T. ) ; +#4397 = CARTESIAN_POINT ( 'NONE', ( -79.89345423360771292, -58.46605763575112746, 15.55016224672746183 ) ) ; +#4398 = LINE ( 'NONE', #1216, #4838 ) ; +#4399 = CIRCLE ( 'NONE', #11671, 7.700000000002309442 ) ; +#4400 = ORIENTED_EDGE ( 'NONE', *, *, #10010, .T. ) ; +#4401 = LINE ( 'NONE', #11431, #268 ) ; +#4402 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#4403 = VERTEX_POINT ( 'NONE', #1338 ) ; +#4404 = CARTESIAN_POINT ( 'NONE', ( -80.46670735257715990, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4405 = ORIENTED_EDGE ( 'NONE', *, *, #783, .F. ) ; +#4406 = EDGE_CURVE ( 'NONE', #333, #12224, #7383, .T. ) ; +#4407 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -82.96605763575112746, 17.74016224672767095 ) ) ; +#4408 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4409 = AXIS2_PLACEMENT_3D ( 'NONE', #5201, #12164, #11318 ) ; +#4410 = ORIENTED_EDGE ( 'NONE', *, *, #5406, .F. ) ; +#4411 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4412 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4413 = AXIS2_PLACEMENT_3D ( 'NONE', #9988, #9004, #4625 ) ; +#4414 = ORIENTED_EDGE ( 'NONE', *, *, #9908, .T. ) ; +#4415 = VECTOR ( 'NONE', #5635, 1000.000000000000000 ) ; +#4416 = PLANE ( 'NONE', #2332 ) ; +#4417 = VECTOR ( 'NONE', #6571, 1000.000000000000000 ) ; +#4418 = ORIENTED_EDGE ( 'NONE', *, *, #8884, .F. ) ; +#4419 = LINE ( 'NONE', #8449, #1327 ) ; +#4420 = ORIENTED_EDGE ( 'NONE', *, *, #10303, .F. ) ; +#4421 = EDGE_CURVE ( 'NONE', #6538, #4704, #9434, .T. ) ; +#4422 = CARTESIAN_POINT ( 'NONE', ( -64.45908239496334602, -75.56174589974506262, 14.76002382984489714 ) ) ; +#4423 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4424 = AXIS2_PLACEMENT_3D ( 'NONE', #4255, #7182, #10123 ) ; +#4425 = CARTESIAN_POINT ( 'NONE', ( -87.24911363665823671, -59.01605763575113173, 37.97277920402658680 ) ) ; +#4426 = VERTEX_POINT ( 'NONE', #4586 ) ; +#4427 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4428 = EDGE_CURVE ( 'NONE', #11374, #8236, #6110, .T. ) ; +#4429 = ORIENTED_EDGE ( 'NONE', *, *, #10947, .F. ) ; +#4430 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4431 = EDGE_LOOP ( 'NONE', ( #9242, #4018, #7470, #10360 ) ) ; +#4432 = LINE ( 'NONE', #4371, #7875 ) ; +#4433 = ORIENTED_EDGE ( 'NONE', *, *, #12142, .T. ) ; +#4434 = VECTOR ( 'NONE', #12243, 1000.000000000000000 ) ; +#4435 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416525, -69.86644213680256144, 2.740162246727669615 ) ) ; +#4436 = VECTOR ( 'NONE', #10321, 1000.000000000000000 ) ; +#4437 = EDGE_CURVE ( 'NONE', #757, #9, #7446, .T. ) ; +#4438 = ORIENTED_EDGE ( 'NONE', *, *, #4995, .T. ) ; +#4439 = CIRCLE ( 'NONE', #11928, 2.450000000000000622 ) ; +#4440 = ADVANCED_FACE ( 'NONE', ( #7255 ), #11421, .T. ) ; +#4441 = ADVANCED_FACE ( 'NONE', ( #1402 ), #12513, .T. ) ; +#4442 = AXIS2_PLACEMENT_3D ( 'NONE', #5622, #8537, #12448 ) ; +#4443 = CARTESIAN_POINT ( 'NONE', ( -91.62502850168816337, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4444 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4445 = LINE ( 'NONE', #2499, #11574 ) ; +#4446 = CIRCLE ( 'NONE', #11267, 1.000000000000000888 ) ; +#4447 = EDGE_LOOP ( 'NONE', ( #8268, #9991, #3559, #11322 ) ) ; +#4448 = CARTESIAN_POINT ( 'NONE', ( -97.69578179446270383, -59.01605763575113173, 31.87281718311721335 ) ) ; +#4449 = EDGE_CURVE ( 'NONE', #9477, #6697, #8385, .T. ) ; +#4450 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4451 = VERTEX_POINT ( 'NONE', #6413 ) ; +#4452 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4453 = CIRCLE ( 'NONE', #12758, 1.000000000000000888 ) ; +#4454 = ORIENTED_EDGE ( 'NONE', *, *, #8091, .F. ) ; +#4455 = AXIS2_PLACEMENT_3D ( 'NONE', #956, #7846, #8887 ) ; +#4456 = LINE ( 'NONE', #11553, #1744 ) ; +#4457 = EDGE_CURVE ( 'NONE', #11012, #6956, #8424, .T. ) ; +#4458 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -69.96605763575111325, 14.76002382984610151 ) ) ; +#4459 = CIRCLE ( 'NONE', #5281, 2.800000000000836486 ) ; +#4460 = ORIENTED_EDGE ( 'NONE', *, *, #11662, .F. ) ; +#4461 = VECTOR ( 'NONE', #7671, 1000.000000000000000 ) ; +#4462 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4463 = DIRECTION ( 'NONE', ( 0.3420201433256621071, 0.000000000000000000, -0.9396926207859107594 ) ) ; +#4464 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4465 = AXIS2_PLACEMENT_3D ( 'NONE', #7765, #9923, #9981 ) ; +#4466 = ORIENTED_EDGE ( 'NONE', *, *, #8312, .T. ) ; +#4467 = LINE ( 'NONE', #12202, #4304 ) ; +#4468 = ORIENTED_EDGE ( 'NONE', *, *, #10731, .T. ) ; +#4469 = PLANE ( 'NONE', #12769 ) ; +#4470 = PLANE ( 'NONE', #1300 ) ; +#4471 = ORIENTED_EDGE ( 'NONE', *, *, #4784, .F. ) ; +#4472 = CARTESIAN_POINT ( 'NONE', ( -73.45885654271344833, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4473 = CARTESIAN_POINT ( 'NONE', ( -98.10784802022807582, -59.01605763575113173, 39.06020839027629421 ) ) ; +#4474 = VERTEX_POINT ( 'NONE', #6473 ) ; +#4475 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4476 = ORIENTED_EDGE ( 'NONE', *, *, #5547, .F. ) ; +#4477 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#4478 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4479 = ORIENTED_EDGE ( 'NONE', *, *, #3797, .F. ) ; +#4480 = VECTOR ( 'NONE', #12394, 1000.000000000000000 ) ; +#4481 = CARTESIAN_POINT ( 'NONE', ( -76.85583403421783544, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4482 = EDGE_CURVE ( 'NONE', #12628, #11806, #10441, .T. ) ; +#4483 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 10.00000000000000000 ) ) ; +#4484 = EDGE_CURVE ( 'NONE', #3376, #6034, #2388, .T. ) ; +#4485 = VERTEX_POINT ( 'NONE', #12452 ) ; +#4486 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 0.9999999999999995559 ) ) ; +#4487 = VERTEX_POINT ( 'NONE', #8542 ) ; +#4488 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -84.96605763575112746, 0.7600238298461048370 ) ) ; +#4489 = ORIENTED_EDGE ( 'NONE', *, *, #2269, .F. ) ; +#4490 = AXIS2_PLACEMENT_3D ( 'NONE', #11272, #2370, #6336 ) ; +#4491 = CARTESIAN_POINT ( 'NONE', ( -65.72392409252606171, -79.74865145975500980, 14.76002382984549932 ) ) ; +#4492 = CIRCLE ( 'NONE', #9271, 2.000000000000001776 ) ; +#4493 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4494 = LINE ( 'NONE', #8389, #5964 ) ; +#4495 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4496 = PLANE ( 'NONE', #798 ) ; +#4497 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4498 = EDGE_CURVE ( 'NONE', #6917, #3362, #8285, .T. ) ; +#4499 = ORIENTED_EDGE ( 'NONE', *, *, #4602, .T. ) ; +#4500 = AXIS2_PLACEMENT_3D ( 'NONE', #591, #1565, #6445 ) ; +#4501 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 15.24999999999809930, 0.000000000000000000 ) ) ; +#4502 = ORIENTED_EDGE ( 'NONE', *, *, #589, .T. ) ; +#4503 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -82.96605763575112746, 16.74016224672766739 ) ) ; +#4504 = ORIENTED_EDGE ( 'NONE', *, *, #4344, .T. ) ; +#4505 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -70.04081548788131784, 3.740162246727595008 ) ) ; +#4506 = EDGE_LOOP ( 'NONE', ( #2671, #10988, #11799, #125 ) ) ; +#4507 = AXIS2_PLACEMENT_3D ( 'NONE', #12595, #9743, #2523 ) ; +#4508 = EDGE_CURVE ( 'NONE', #1806, #6645, #11672, .T. ) ; +#4509 = AXIS2_PLACEMENT_3D ( 'NONE', #1275, #9216, #306 ) ; +#4510 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#4511 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#4512 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -15.25000000000000178, 10.00000000000000000 ) ) ; +#4513 = CARTESIAN_POINT ( 'NONE', ( -108.6446942227240129, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4514 = ORIENTED_EDGE ( 'NONE', *, *, #10109, .F. ) ; +#4515 = FACE_OUTER_BOUND ( 'NONE', #4431, .T. ) ; +#4516 = EDGE_CURVE ( 'NONE', #83, #2779, #9858, .T. ) ; +#4517 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 4.053100760940652921E-15 ) ) ; +#4518 = EDGE_CURVE ( 'NONE', #3102, #5653, #9730, .T. ) ; +#4519 = ORIENTED_EDGE ( 'NONE', *, *, #2127, .F. ) ; +#4520 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -15.25000000000000000, 9.000000000000001776 ) ) ; +#4521 = ORIENTED_EDGE ( 'NONE', *, *, #9993, .F. ) ; +#4522 = FACE_OUTER_BOUND ( 'NONE', #8195, .T. ) ; +#4523 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#4524 = ORIENTED_EDGE ( 'NONE', *, *, #408, .F. ) ; +#4525 = EDGE_CURVE ( 'NONE', #7022, #2404, #680, .T. ) ; +#4526 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -51.45000000000000284, 0.000000000000000000 ) ) ; +#4527 = CARTESIAN_POINT ( 'NONE', ( -95.17820341664138084, -65.01605763575113883, 30.04368942404330056 ) ) ; +#4528 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#4529 = CC_DESIGN_SECURITY_CLASSIFICATION ( #4744, ( #6404 ) ) ; +#4530 = VECTOR ( 'NONE', #12641, 1000.000000000000000 ) ; +#4531 = VERTEX_POINT ( 'NONE', #5884 ) ; +#4532 = CARTESIAN_POINT ( 'NONE', ( -100.4214879216908116, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4533 = EDGE_CURVE ( 'NONE', #5532, #10231, #9594, .T. ) ; +#4534 = ORIENTED_EDGE ( 'NONE', *, *, #7202, .F. ) ; +#4535 = LINE ( 'NONE', #8491, #6549 ) ; +#4536 = ADVANCED_FACE ( 'NONE', ( #3614 ), #4782, .F. ) ; +#4537 = EDGE_CURVE ( 'NONE', #8618, #5382, #4843, .T. ) ; +#4538 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 10.00000000000000000 ) ) ; +#4539 = VERTEX_POINT ( 'NONE', #7642 ) ; +#4540 = FACE_BOUND ( 'NONE', #3741, .T. ) ; +#4541 = CARTESIAN_POINT ( 'NONE', ( -103.6557185390874736, -64.96605763575112746, 15.55016224672746006 ) ) ; +#4542 = ORIENTED_EDGE ( 'NONE', *, *, #6575, .F. ) ; +#4543 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#4544 = ORIENTED_EDGE ( 'NONE', *, *, #12213, .F. ) ; +#4545 = CARTESIAN_POINT ( 'NONE', ( -107.6434420042270688, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4546 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4547 = ORIENTED_EDGE ( 'NONE', *, *, #2539, .T. ) ; +#4548 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 8.106201521881305841E-15 ) ) ; +#4549 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, 20.75002382984610350 ) ) ; +#4550 = EDGE_LOOP ( 'NONE', ( #3996, #11237, #2421, #6749 ) ) ; +#4551 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -83.96605763575112746, 0.7600238298461038378 ) ) ; +#4552 = ORIENTED_EDGE ( 'NONE', *, *, #5783, .F. ) ; +#4553 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4554 = ORIENTED_EDGE ( 'NONE', *, *, #6846, .T. ) ; +#4555 = CARTESIAN_POINT ( 'NONE', ( -70.94338336797422073, -84.96605762389027916, 15.76002382984486516 ) ) ; +#4556 = EDGE_CURVE ( 'NONE', #12129, #11857, #12646, .T. ) ; +#4557 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4558 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -4.053100760940652921E-15 ) ) ; +#4559 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4560 = LINE ( 'NONE', #8515, #1830 ) ; +#4561 = CARTESIAN_POINT ( 'NONE', ( -83.86368484408154700, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4562 = VERTEX_POINT ( 'NONE', #11807 ) ; +#4563 = VECTOR ( 'NONE', #10172, 1000.000000000000000 ) ; +#4564 = PLANE ( 'NONE', #10642 ) ; +#4565 = ORIENTED_EDGE ( 'NONE', *, *, #4827, .F. ) ; +#4566 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4567 = ORIENTED_EDGE ( 'NONE', *, *, #1547, .T. ) ; +#4568 = CARTESIAN_POINT ( 'NONE', ( -69.63558859164847092, -65.67316441693768070, 15.76002382984610328 ) ) ; +#4569 = ORIENTED_EDGE ( 'NONE', *, *, #4364, .T. ) ; +#4570 = EDGE_CURVE ( 'NONE', #2779, #4796, #9564, .T. ) ; +#4571 = PLANE ( 'NONE', #9445 ) ; +#4572 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -59.46605763575112746, 14.25016224672766896 ) ) ; +#4573 = CARTESIAN_POINT ( 'NONE', ( -103.2452122942257517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4574 = ORIENTED_EDGE ( 'NONE', *, *, #12634, .F. ) ; +#4575 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4576 = DIRECTION ( 'NONE', ( -2.026550380470326460E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4577 = ORIENTED_EDGE ( 'NONE', *, *, #3877, .T. ) ; +#4578 = PLANE ( 'NONE', #435 ) ; +#4579 = EDGE_CURVE ( 'NONE', #10560, #8445, #12674, .T. ) ; +#4580 = VERTEX_POINT ( 'NONE', #2842 ) ; +#4581 = VECTOR ( 'NONE', #3712, 1000.000000000000000 ) ; +#4582 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -11.50498006704499865, 1.000000000000000000 ) ) ; +#4583 = CARTESIAN_POINT ( 'NONE', ( -105.2815802751187135, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4584 = ORIENTED_EDGE ( 'NONE', *, *, #6993, .T. ) ; +#4585 = EDGE_CURVE ( 'NONE', #971, #1711, #5232, .T. ) ; +#4586 = CARTESIAN_POINT ( 'NONE', ( -109.0552004675857347, -58.46605763575112746, 17.12516224672793541 ) ) ; +#4587 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -59.01605763575113173, 38.20009303828682334 ) ) ; +#4588 = CARTESIAN_POINT ( 'NONE', ( -77.69433937860706862, -58.46605763575112746, 15.55016224672746183 ) ) ; +#4589 = VECTOR ( 'NONE', #7471, 1000.000000000000000 ) ; +#4590 = ORIENTED_EDGE ( 'NONE', *, *, #10872, .F. ) ; +#4591 = LINE ( 'NONE', #6809, #3466 ) ; +#4592 = ORIENTED_EDGE ( 'NONE', *, *, #8303, .T. ) ; +#4593 = CARTESIAN_POINT ( 'NONE', ( -72.98255269134165246, -64.96605763575112746, 18.25016224672766896 ) ) ; +#4594 = CARTESIAN_POINT ( 'NONE', ( -95.45000509272006184, -58.46605763575112746, 2.950023829846315948 ) ) ; +#4595 = EDGE_CURVE ( 'NONE', #10252, #11169, #9860, .T. ) ; +#4596 = ORIENTED_EDGE ( 'NONE', *, *, #11360, .F. ) ; +#4597 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4598 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -64.96605763575112746, 0.7600238298461047259 ) ) ; +#4599 = AXIS2_PLACEMENT_3D ( 'NONE', #6796, #741, #3672 ) ; +#4600 = FACE_OUTER_BOUND ( 'NONE', #10216, .T. ) ; +#4601 = ORIENTED_EDGE ( 'NONE', *, *, #5400, .T. ) ; +#4602 = EDGE_CURVE ( 'NONE', #5033, #1926, #6535, .T. ) ; +#4603 = EDGE_CURVE ( 'NONE', #8696, #4043, #11303, .T. ) ; +#4604 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4605 = EDGE_CURVE ( 'NONE', #1794, #8357, #9666, .T. ) ; +#4606 = DIRECTION ( 'NONE', ( -1.301042606982606060E-16, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4607 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 0.7500238298461039399 ) ) ; +#4608 = ORIENTED_EDGE ( 'NONE', *, *, #11997, .T. ) ; +#4609 = VECTOR ( 'NONE', #8914, 1000.000000000000000 ) ; +#4610 = LINE ( 'NONE', #705, #4589 ) ; +#4611 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4612 = EDGE_CURVE ( 'NONE', #11869, #11374, #4909, .T. ) ; +#4613 = ORIENTED_EDGE ( 'NONE', *, *, #6276, .T. ) ; +#4614 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4615 = ORIENTED_EDGE ( 'NONE', *, *, #11077, .T. ) ; +#4616 = FACE_OUTER_BOUND ( 'NONE', #3238, .T. ) ; +#4617 = VERTEX_POINT ( 'NONE', #10584 ) ; +#4618 = CARTESIAN_POINT ( 'NONE', ( -67.44012719190951088, -82.68144244080872340, 14.76002382984670724 ) ) ; +#4619 = EDGE_CURVE ( 'NONE', #8124, #1767, #11098, .T. ) ; +#4620 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4621 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4622 = AXIS2_PLACEMENT_3D ( 'NONE', #12802, #4803, #6829 ) ; +#4623 = CYLINDRICAL_SURFACE ( 'NONE', #11226, 6.124000000001832866 ) ; +#4624 = FACE_BOUND ( 'NONE', #2151, .T. ) ; +#4625 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4626 = VERTEX_POINT ( 'NONE', #3152 ) ; +#4627 = FACE_OUTER_BOUND ( 'NONE', #9745, .T. ) ; +#4628 = ORIENTED_EDGE ( 'NONE', *, *, #9018, .T. ) ; +#4629 = CARTESIAN_POINT ( 'NONE', ( -96.02325821168946618, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4630 = ORIENTED_EDGE ( 'NONE', *, *, #1180, .T. ) ; +#4631 = ORIENTED_EDGE ( 'NONE', *, *, #12451, .T. ) ; +#4632 = TOROIDAL_SURFACE ( 'NONE', #11897, 2.000000000000000000, 1.000000000000000000 ) ; +#4633 = VECTOR ( 'NONE', #11230, 1000.000000000000000 ) ; +#4634 = VECTOR ( 'NONE', #4994, 1000.000000000000114 ) ; +#4635 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 5.337610695313254343E-16 ) ) ; +#4636 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, 1.611100693129447370 ) ) ; +#4637 = CARTESIAN_POINT ( 'NONE', ( -111.9865484946268310, -64.96605763575112746, 16.82946868617310443 ) ) ; +#4638 = VERTEX_POINT ( 'NONE', #7049 ) ; +#4639 = LINE ( 'NONE', #8600, #785 ) ; +#4640 = CIRCLE ( 'NONE', #2983, 2.800000000000847145 ) ; +#4641 = CARTESIAN_POINT ( 'NONE', ( -73.92448600717673912, -64.96605763575112746, 1.670717390400671576 ) ) ; +#4642 = CIRCLE ( 'NONE', #12531, 2.800000000000843592 ) ; +#4643 = ORIENTED_EDGE ( 'NONE', *, *, #11570, .T. ) ; +#4644 = CARTESIAN_POINT ( 'NONE', ( -86.65354567271741359, -64.96605763575112746, 2.950023829846315948 ) ) ; +#4645 = EDGE_CURVE ( 'NONE', #11892, #4700, #1003, .T. ) ; +#4646 = AXIS2_PLACEMENT_3D ( 'NONE', #8752, #1866, #9804 ) ; +#4647 = EDGE_CURVE ( 'NONE', #3275, #12593, #8027, .T. ) ; +#4648 = VERTEX_POINT ( 'NONE', #9980 ) ; +#4649 = CARTESIAN_POINT ( 'NONE', ( -97.48964746931605418, -59.01605763575113173, 40.51556804414585145 ) ) ; +#4650 = ADVANCED_FACE ( 'NONE', ( #26 ), #10893, .F. ) ; +#4651 = VECTOR ( 'NONE', #9575, 1000.000000000000114 ) ; +#4652 = CARTESIAN_POINT ( 'NONE', ( -97.22112084819320899, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4653 = CIRCLE ( 'NONE', #8371, 4.000000000000000000 ) ; +#4654 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -84.96605763575112746, 14.76002382984610151 ) ) ; +#4655 = AXIS2_PLACEMENT_3D ( 'NONE', #6346, #4329, #4391 ) ; +#4656 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#4657 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4658 = ORIENTED_EDGE ( 'NONE', *, *, #3136, .F. ) ; +#4659 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 16.24999999999809930, 1.000000000000000000 ) ) ; +#4660 = EDGE_LOOP ( 'NONE', ( #6004, #5603, #4917 ) ) ; +#4661 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4662 = CARTESIAN_POINT ( 'NONE', ( -106.8560856125850762, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4663 = EDGE_CURVE ( 'NONE', #12753, #8475, #2105, .T. ) ; +#4664 = ORIENTED_EDGE ( 'NONE', *, *, #1809, .T. ) ; +#4665 = CARTESIAN_POINT ( 'NONE', ( -104.0837176386149849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4666 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4667 = VECTOR ( 'NONE', #12101, 1000.000000000000000 ) ; +#4668 = AXIS2_PLACEMENT_3D ( 'NONE', #11221, #2313, #2446 ) ; +#4669 = CARTESIAN_POINT ( 'NONE', ( -117.3385711590340605, -83.83997004052244506, 17.74016224672828201 ) ) ; +#4670 = ORIENTED_EDGE ( 'NONE', *, *, #5996, .T. ) ; +#4671 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 2, ( #11669, #3737, #9967 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 3, 3 ), + ( -5.999999997033858166E-08, 0.01815831404470592825 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#4672 = AXIS2_PLACEMENT_3D ( 'NONE', #9363, #3153, #7181 ) ; +#4673 = CARTESIAN_POINT ( 'NONE', ( -99.89619731570439853, -59.01605763575113173, 39.08430362523056090 ) ) ; +#4674 = ADVANCED_FACE ( 'NONE', ( #8085 ), #5029, .F. ) ; +#4675 = CARTESIAN_POINT ( 'NONE', ( -98.74034410393490191, -65.01605763575113883, 32.61898027292199487 ) ) ; +#4676 = LINE ( 'NONE', #12663, #5313 ) ; +#4677 = VERTEX_POINT ( 'NONE', #3991 ) ; +#4678 = CARTESIAN_POINT ( 'NONE', ( -64.34269537283500995, -69.55184407337802099, 4.250023829846105272 ) ) ; +#4679 = EDGE_CURVE ( 'NONE', #2385, #2186, #4182, .T. ) ; +#4680 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.544631851866820033E-16, 0.000000000000000000 ) ) ; +#4681 = ORIENTED_EDGE ( 'NONE', *, *, #12446, .T. ) ; +#4682 = VECTOR ( 'NONE', #2209, 1000.000000000000000 ) ; +#4683 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 8.106201521881305841E-15 ) ) ; +#4684 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #6181, #10154, ( #11034 ) ) ; +#4685 = EDGE_CURVE ( 'NONE', #7209, #11461, #2173, .T. ) ; +#4686 = ORIENTED_EDGE ( 'NONE', *, *, #9361, .T. ) ; +#4687 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 13.24999999999810285, 1.000000000000000000 ) ) ; +#4688 = ORIENTED_EDGE ( 'NONE', *, *, #1828, .T. ) ; +#4689 = CARTESIAN_POINT ( 'NONE', ( -65.45150307211019935, -79.06592283823144385, 14.76002382984670902 ) ) ; +#4690 = EDGE_CURVE ( 'NONE', #12477, #4988, #1122, .T. ) ; +#4691 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4692 = VECTOR ( 'NONE', #2004, 1000.000000000000000 ) ; +#4693 = CARTESIAN_POINT ( 'NONE', ( -92.08689114511476248, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4694 = CYLINDRICAL_SURFACE ( 'NONE', #4987, 2.800000000000836486 ) ; +#4695 = CARTESIAN_POINT ( 'NONE', ( -100.5304451868894375, -59.01605763575113173, 37.13228939359589020 ) ) ; +#4696 = EDGE_CURVE ( 'NONE', #1159, #6538, #6314, .T. ) ; +#4697 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -55.25000000000000711, -2.249976170153895172 ) ) ; +#4698 = ORIENTED_EDGE ( 'NONE', *, *, #4457, .T. ) ; +#4699 = CARTESIAN_POINT ( 'NONE', ( -88.42466142819056074, -64.96605763575112746, 2.950023829846314172 ) ) ; +#4700 = VERTEX_POINT ( 'NONE', #11863 ) ; +#4701 = CARTESIAN_POINT ( 'NONE', ( -95.45000509272006184, -58.46605763575112746, 2.950023829846315948 ) ) ; +#4702 = ORIENTED_EDGE ( 'NONE', *, *, #4047, .T. ) ; +#4703 = CARTESIAN_POINT ( 'NONE', ( -121.9550281240788649, -71.29927948324055365, 3.740162246727293915 ) ) ; +#4704 = VERTEX_POINT ( 'NONE', #3029 ) ; +#4705 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.5000000000000039968, -0.8660254037844363761 ) ) ; +#4706 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -65.96605763575112746, 4.250023829846106160 ) ) ; +#4707 = PLANE ( 'NONE', #9911 ) ; +#4708 = CIRCLE ( 'NONE', #4076, 4.000000000000000000 ) ; +#4709 = VECTOR ( 'NONE', #4169, 1000.000000000000000 ) ; +#4710 = ORIENTED_EDGE ( 'NONE', *, *, #11934, .T. ) ; +#4711 = CARTESIAN_POINT ( 'NONE', ( -117.0896670227518968, -82.71803235920221198, 17.74016224672766739 ) ) ; +#4712 = FACE_OUTER_BOUND ( 'NONE', #12066, .T. ) ; +#4713 = ORIENTED_EDGE ( 'NONE', *, *, #3645, .T. ) ; +#4714 = DIRECTION ( 'NONE', ( -0.3420201433256687684, 0.000000000000000000, -0.9396926207859084279 ) ) ; +#4715 = ORIENTED_EDGE ( 'NONE', *, *, #2179, .F. ) ; +#4716 = CYLINDRICAL_SURFACE ( 'NONE', #4442, 2.000000000000001776 ) ; +#4717 = CIRCLE ( 'NONE', #8440, 6.124000000001839972 ) ; +#4718 = VECTOR ( 'NONE', #12012, 1000.000000000000000 ) ; +#4719 = CARTESIAN_POINT ( 'NONE', ( -108.6446942227240129, -58.46605763575112746, 2.950023829846315060 ) ) ; +#4720 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4721 = ADVANCED_FACE ( 'NONE', ( #5100 ), #10180, .T. ) ; +#4722 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4723 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -64.96605763575112746, 0.000000000000000000 ) ) ; +#4724 = ORIENTED_EDGE ( 'NONE', *, *, #2539, .F. ) ; +#4725 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4726 = AXIS2_PLACEMENT_3D ( 'NONE', #367, #3300, #8168 ) ; +#4727 = ORIENTED_EDGE ( 'NONE', *, *, #12845, .F. ) ; +#4728 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4729 = LINE ( 'NONE', #3688, #2560 ) ; +#4730 = EDGE_LOOP ( 'NONE', ( #1383, #9499, #8499, #10171 ) ) ; +#4731 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4732 = LINE ( 'NONE', #12463, #4072 ) ; +#4733 = CARTESIAN_POINT ( 'NONE', ( -120.1345576686412073, -76.77587640842304495, 17.74016224672767095 ) ) ; +#4734 = ORIENTED_EDGE ( 'NONE', *, *, #1052, .F. ) ; +#4735 = VECTOR ( 'NONE', #10633, 1000.000000000000000 ) ; +#4736 = FACE_OUTER_BOUND ( 'NONE', #8975, .T. ) ; +#4737 = EDGE_CURVE ( 'NONE', #269, #7225, #10046, .T. ) ; +#4738 = CARTESIAN_POINT ( 'NONE', ( -78.89220201511079722, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4739 = FACE_OUTER_BOUND ( 'NONE', #8058, .T. ) ; +#4740 = VERTEX_POINT ( 'NONE', #12051 ) ; +#4741 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4742 = CARTESIAN_POINT ( 'NONE', ( -119.1791466244583972, -79.55342504311839491, 2.740162246727674500 ) ) ; +#4743 = VERTEX_POINT ( 'NONE', #11083 ) ; +#4744 = SECURITY_CLASSIFICATION ( '', '', #10280 ) ; +#4745 = CYLINDRICAL_SURFACE ( 'NONE', #3586, 3.000000000000000000 ) ; +#4746 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 2, ( #12162, #5329, #1289 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 3, 3 ), + ( -6.000000001008201605E-08, 0.01802711907156812413 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#4747 = ADVANCED_FACE ( 'NONE', ( #6142, #1252, #5221 ), #3929, .F. ) ; +#4748 = ORIENTED_EDGE ( 'NONE', *, *, #948, .F. ) ; +#4749 = PLANE ( 'NONE', #2157 ) ; +#4750 = VERTEX_POINT ( 'NONE', #7891 ) ; +#4751 = CARTESIAN_POINT ( 'NONE', ( -92.66014426408416682, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4752 = EDGE_CURVE ( 'NONE', #7411, #4648, #9130, .T. ) ; +#4753 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4754 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4755 = CARTESIAN_POINT ( 'NONE', ( -93.98175186377146417, -59.01605763575113173, 43.38139977562773453 ) ) ; +#4756 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256614409 ) ) ; +#4757 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 10.00000000000000000 ) ) ; +#4758 = EDGE_LOOP ( 'NONE', ( #10885, #2136 ) ) ; +#4759 = CARTESIAN_POINT ( 'NONE', ( -83.86368484408154700, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4760 = ORIENTED_EDGE ( 'NONE', *, *, #2066, .F. ) ; +#4761 = LINE ( 'NONE', #5056, #3127 ) ; +#4762 = ADVANCED_FACE ( 'NONE', ( #11933 ), #2959, .T. ) ; +#4763 = ORIENTED_EDGE ( 'NONE', *, *, #5962, .T. ) ; +#4764 = FACE_OUTER_BOUND ( 'NONE', #3480, .T. ) ; +#4765 = ORIENTED_EDGE ( 'NONE', *, *, #1667, .F. ) ; +#4766 = ADVANCED_FACE ( 'NONE', ( #5950 ), #7243, .F. ) ; +#4767 = EDGE_CURVE ( 'NONE', #9736, #2385, #12437, .T. ) ; +#4768 = LINE ( 'NONE', #1775, #4042 ) ; +#4769 = EDGE_CURVE ( 'NONE', #8889, #6651, #10304, .T. ) ; +#4770 = ADVANCED_FACE ( 'NONE', ( #346 ), #9380, .F. ) ; +#4771 = FACE_OUTER_BOUND ( 'NONE', #2346, .T. ) ; +#4772 = CARTESIAN_POINT ( 'NONE', ( -100.8833505651173823, -64.96605763575112746, 17.12516224672793541 ) ) ; +#4773 = ORIENTED_EDGE ( 'NONE', *, *, #3417, .T. ) ; +#4774 = CARTESIAN_POINT ( 'NONE', ( -116.5646259909037354, -83.17794892022909892, 17.74016224672767095 ) ) ; +#4775 = CARTESIAN_POINT ( 'NONE', ( -99.06947739121399366, -59.01605763575113173, 36.10061750632874578 ) ) ; +#4776 = ORIENTED_EDGE ( 'NONE', *, *, #4406, .F. ) ; +#4777 = CARTESIAN_POINT ( 'NONE', ( -108.0539482490888190, -64.96605763575112746, 15.55016224672746361 ) ) ; +#4778 = ORIENTED_EDGE ( 'NONE', *, *, #3715, .F. ) ; +#4779 = CYLINDRICAL_SURFACE ( 'NONE', #3401, 6.124000000001832866 ) ; +#4780 = EDGE_LOOP ( 'NONE', ( #12821, #1729, #12697, #399 ) ) ; +#4781 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 16.74016224672766384 ) ) ; +#4782 = PLANE ( 'NONE', #9232 ) ; +#4783 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#4784 = EDGE_CURVE ( 'NONE', #5519, #622, #5270, .T. ) ; +#4785 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4786 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4787 = ORIENTED_EDGE ( 'NONE', *, *, #10418, .F. ) ; +#4788 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, 0.3420201433256618295 ) ) ; +#4789 = ORIENTED_EDGE ( 'NONE', *, *, #10362, .T. ) ; +#4790 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -84.96605763575112746, 3.740162246727671391 ) ) ; +#4791 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 2.000000000000002665 ) ) ; +#4792 = ORIENTED_EDGE ( 'NONE', *, *, #225, .T. ) ; +#4793 = PLANE ( 'NONE', #4646 ) ; +#4794 = PLANE ( 'NONE', #3642 ) ; +#4795 = CARTESIAN_POINT ( 'NONE', ( -117.6462122645157677, -83.57038944594441432, 17.74016224672707409 ) ) ; +#4796 = VERTEX_POINT ( 'NONE', #5290 ) ; +#4797 = CIRCLE ( 'NONE', #12058, 1.000000000000000888 ) ; +#4798 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4799 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4800 = CARTESIAN_POINT ( 'NONE', ( -83.45317859921982517, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4801 = ORIENTED_EDGE ( 'NONE', *, *, #12742, .F. ) ; +#4802 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191058, -84.96605763575112746, 0.01002382984610292183 ) ) ; +#4803 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4804 = ORIENTED_EDGE ( 'NONE', *, *, #4158, .F. ) ; +#4805 = VECTOR ( 'NONE', #2249, 1000.000000000000000 ) ; +#4806 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4807 = EDGE_CURVE ( 'NONE', #8780, #3057, #11469, .T. ) ; +#4808 = ORIENTED_EDGE ( 'NONE', *, *, #11263, .T. ) ; +#4809 = PLANE ( 'NONE', #4236 ) ; +#4810 = EDGE_LOOP ( 'NONE', ( #6275, #7278, #12168, #3874 ) ) ; +#4811 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256616630 ) ) ; +#4812 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4813 = AXIS2_PLACEMENT_3D ( 'NONE', #12639, #3604, #7634 ) ; +#4814 = CARTESIAN_POINT ( 'NONE', ( -99.25748882908617077, -64.96605763575112746, 15.55016224672746006 ) ) ; +#4815 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -29.25000000000000000, 18.75002382984610705 ) ) ; +#4816 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#4817 = ORIENTED_EDGE ( 'NONE', *, *, #7279, .F. ) ; +#4818 = LINE ( 'NONE', #10809, #10431 ) ; +#4819 = ORIENTED_EDGE ( 'NONE', *, *, #10405, .F. ) ; +#4820 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#4821 = EDGE_CURVE ( 'NONE', #12835, #10819, #922, .T. ) ; +#4822 = CIRCLE ( 'NONE', #6482, 1.000000000000000000 ) ; +#4823 = ORIENTED_EDGE ( 'NONE', *, *, #5598, .F. ) ; +#4824 = FACE_OUTER_BOUND ( 'NONE', #11726, .T. ) ; +#4825 = VERTEX_POINT ( 'NONE', #12242 ) ; +#4826 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4828 = ORIENTED_EDGE ( 'NONE', *, *, #711, .T. ) ; +#4827 = EDGE_CURVE ( 'NONE', #2892, #1604, #8185, .T. ) ; +#4829 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -33.25000000000000000, 0.7500238298461048281 ) ) ; +#4830 = CIRCLE ( 'NONE', #4409, 1.000000000000000888 ) ; +#4831 = VERTEX_POINT ( 'NONE', #6458 ) ; +#4832 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4833 = FACE_OUTER_BOUND ( 'NONE', #11424, .T. ) ; +#4834 = ORIENTED_EDGE ( 'NONE', *, *, #9037, .F. ) ; +#4835 = DIRECTION ( 'NONE', ( 0.7071067811865489050, -0.7071067811865460184, 0.000000000000000000 ) ) ; +#4836 = EDGE_CURVE ( 'NONE', #5307, #5285, #537, .T. ) ; +#4837 = ORIENTED_EDGE ( 'NONE', *, *, #12760, .T. ) ; +#4838 = VECTOR ( 'NONE', #12205, 999.9999999999998863 ) ; +#4839 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4840 = EDGE_CURVE ( 'NONE', #7757, #8148, #2301, .T. ) ; +#4841 = EDGE_LOOP ( 'NONE', ( #12447, #1281, #8343, #7727 ) ) ; +#4842 = AXIS2_PLACEMENT_3D ( 'NONE', #3178, #7139, #5189 ) ; +#4843 = LINE ( 'NONE', #5626, #5068 ) ; +#4844 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4845 = EDGE_CURVE ( 'NONE', #10334, #2024, #8210, .T. ) ; +#4846 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4847 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256614409 ) ) ; +#4848 = AXIS2_PLACEMENT_3D ( 'NONE', #3154, #2107, #6072 ) ; +#4849 = ORIENTED_EDGE ( 'NONE', *, *, #3251, .F. ) ; +#4850 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4851 = CIRCLE ( 'NONE', #6126, 1.000000000000000000 ) ; +#4852 = AXIS2_PLACEMENT_3D ( 'NONE', #1611, #9546, #5637 ) ; +#4853 = VERTEX_POINT ( 'NONE', #6333 ) ; +#4854 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -17.44615242270659650, -3.000000000000000000 ) ) ; +#4855 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4856 = ADVANCED_FACE ( 'NONE', ( #7431 ), #8406, .F. ) ; +#4857 = ORIENTED_EDGE ( 'NONE', *, *, #6734, .T. ) ; +#4858 = CIRCLE ( 'NONE', #6683, 6.124000000001832866 ) ; +#4859 = DIRECTION ( 'NONE', ( 8.106201521881305841E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#4860 = CYLINDRICAL_SURFACE ( 'NONE', #6746, 2.800000000000836486 ) ; +#4861 = CARTESIAN_POINT ( 'NONE', ( -118.2050024650615399, -83.00290838359853751, 16.74016224672827136 ) ) ; +#4862 = AXIS2_PLACEMENT_3D ( 'NONE', #12726, #11880, #10845 ) ; +#4863 = VERTEX_POINT ( 'NONE', #2434 ) ; +#4864 = AXIS2_PLACEMENT_3D ( 'NONE', #6833, #905, #12672 ) ; +#4865 = LINE ( 'NONE', #12855, #2362 ) ; +#4866 = CARTESIAN_POINT ( 'NONE', ( -66.66288847928308314, -79.39742076662207637, 0.7600238298461053921 ) ) ; +#4867 = CYLINDRICAL_SURFACE ( 'NONE', #8846, 2.800000000000836486 ) ; +#4868 = VECTOR ( 'NONE', #2705, 1000.000000000000000 ) ; +#4869 = ORIENTED_EDGE ( 'NONE', *, *, #4136, .T. ) ; +#4870 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#4871 = VECTOR ( 'NONE', #7832, 1000.000000000000000 ) ; +#4872 = CARTESIAN_POINT ( 'NONE', ( -119.0898912486931067, -67.07339619310732814, 3.596856875291144284 ) ) ; +#4873 = VERTEX_POINT ( 'NONE', #12372 ) ; +#4874 = CARTESIAN_POINT ( 'NONE', ( -78.43033937168419811, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4875 = ORIENTED_EDGE ( 'NONE', *, *, #3621, .F. ) ; +#4876 = VECTOR ( 'NONE', #4935, 1000.000000000000000 ) ; +#4877 = PLANE ( 'NONE', #7143 ) ; +#4878 = ORIENTED_EDGE ( 'NONE', *, *, #7025, .F. ) ; +#4879 = DIRECTION ( 'NONE', ( -0.3420201433256612744, 0.000000000000000000, 0.9396926207859110924 ) ) ; +#4880 = VECTOR ( 'NONE', #11792, 1000.000000000000000 ) ; +#4881 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#4882 = EDGE_CURVE ( 'NONE', #11403, #5653, #10237, .T. ) ; +#4883 = VECTOR ( 'NONE', #2960, 1000.000000000000000 ) ; +#4884 = CARTESIAN_POINT ( 'NONE', ( -104.8197176316921286, -64.96605763575112746, 1.375023829845842149 ) ) ; +#4885 = LINE ( 'NONE', #11780, #9939 ) ; +#4886 = CARTESIAN_POINT ( 'NONE', ( -89.35550846171311434, 13.89991557692050073, 10.00000000000000000 ) ) ; +#4887 = ORIENTED_EDGE ( 'NONE', *, *, #8569, .F. ) ; +#4888 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#4889 = EDGE_LOOP ( 'NONE', ( #2050, #3879, #3707, #6819, #46, #5743, #8239, #9648 ) ) ; +#4890 = EDGE_LOOP ( 'NONE', ( #1576, #11756, #10509, #903 ) ) ; +#4891 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4892 = ORIENTED_EDGE ( 'NONE', *, *, #11757, .F. ) ; +#4893 = VECTOR ( 'NONE', #11586, 1000.000000000000000 ) ; +#4894 = CYLINDRICAL_SURFACE ( 'NONE', #10278, 1.000000000000000888 ) ; +#4895 = ADVANCED_FACE ( 'NONE', ( #2368 ), #5354, .T. ) ; +#4896 = ORIENTED_EDGE ( 'NONE', *, *, #6040, .T. ) ; +#4897 = PLANE ( 'NONE', #2645 ) ; +#4898 = ORIENTED_EDGE ( 'NONE', *, *, #12077, .F. ) ; +#4899 = CARTESIAN_POINT ( 'NONE', ( -74.03210966168288110, -58.46605763575112746, 1.375023829845842149 ) ) ; +#4900 = AXIS2_PLACEMENT_3D ( 'NONE', #508, #2271, #4478 ) ; +#4901 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4902 = ORIENTED_EDGE ( 'NONE', *, *, #3694, .F. ) ; +#4903 = CARTESIAN_POINT ( 'NONE', ( -99.73257966153541076, -59.01605763575113173, 32.09476472438507244 ) ) ; +#4904 = ORIENTED_EDGE ( 'NONE', *, *, #10577, .T. ) ; +#4905 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#4906 = ORIENTED_EDGE ( 'NONE', *, *, #1220, .T. ) ; +#4907 = EDGE_CURVE ( 'NONE', #11441, #2426, #12306, .T. ) ; +#4908 = VECTOR ( 'NONE', #2845, 1000.000000000000000 ) ; +#4909 = LINE ( 'NONE', #12583, #10895 ) ; +#4910 = CARTESIAN_POINT ( 'NONE', ( -110.9284818104619177, -64.96605763575112746, 3.078450954592295563 ) ) ; +#4911 = VECTOR ( 'NONE', #8227, 1000.000000000000000 ) ; +#4912 = EDGE_CURVE ( 'NONE', #10771, #8608, #7365, .T. ) ; +#4913 = LINE ( 'NONE', #7834, #7639 ) ; +#4914 = LINE ( 'NONE', #6807, #1163 ) ; +#4915 = ORIENTED_EDGE ( 'NONE', *, *, #1002, .T. ) ; +#4916 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4917 = ORIENTED_EDGE ( 'NONE', *, *, #4200, .F. ) ; +#4918 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4919 = FACE_OUTER_BOUND ( 'NONE', #9118, .T. ) ; +#4920 = ORIENTED_EDGE ( 'NONE', *, *, #1657, .F. ) ; +#4921 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4922 = AXIS2_PLACEMENT_3D ( 'NONE', #9210, #10195, #7256 ) ; +#4923 = LINE ( 'NONE', #10907, #6280 ) ; +#4924 = EDGE_CURVE ( 'NONE', #7179, #8521, #8467, .T. ) ; +#4925 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4926 = ORIENTED_EDGE ( 'NONE', *, *, #79, .F. ) ; +#4927 = LINE ( 'NONE', #6821, #9423 ) ; +#4928 = EDGE_CURVE ( 'NONE', #11904, #7771, #1760, .T. ) ; +#4929 = CARTESIAN_POINT ( 'NONE', ( -67.28000726058949965, -80.63050477189395338, 0.7600238298461028386 ) ) ; +#4930 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4931 = AXIS2_PLACEMENT_3D ( 'NONE', #6997, #11088, #3035 ) ; +#4932 = EDGE_CURVE ( 'NONE', #7935, #1283, #12498, .T. ) ; +#4933 = ORIENTED_EDGE ( 'NONE', *, *, #3542, .T. ) ; +#4934 = EDGE_CURVE ( 'NONE', #1686, #9912, #6653, .T. ) ; +#4935 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#4936 = CARTESIAN_POINT ( 'NONE', ( -106.2828324936156434, -64.96605763575112746, 15.55016224672746183 ) ) ; +#4937 = VERTEX_POINT ( 'NONE', #3783 ) ; +#4938 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4939 = AXIS2_PLACEMENT_3D ( 'NONE', #4306, #4173, #3206 ) ; +#4940 = VERTEX_POINT ( 'NONE', #5672 ) ; +#4941 = LINE ( 'NONE', #7863, #5058 ) ; +#4942 = ORIENTED_EDGE ( 'NONE', *, *, #2196, .F. ) ; +#4943 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4944 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#4945 = AXIS2_PLACEMENT_3D ( 'NONE', #9704, #6708, #10417 ) ; +#4946 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4947 = DIRECTION ( 'NONE', ( -0.3420201433256621071, 0.000000000000000000, 0.9396926207859107594 ) ) ; +#4948 = CARTESIAN_POINT ( 'NONE', ( -100.5304451868894375, -65.01605763575113883, 34.36789668297783606 ) ) ; +#4949 = ORIENTED_EDGE ( 'NONE', *, *, #872, .F. ) ; +#4950 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -64.96605763575112746, 15.42173512198147556 ) ) ; +#4951 = VERTEX_POINT ( 'NONE', #3725 ) ; +#4952 = VERTEX_POINT ( 'NONE', #8791 ) ; +#4953 = CARTESIAN_POINT ( 'NONE', ( -65.51056856402431094, -75.70205371939543681, 15.76002382984611039 ) ) ; +#4954 = EDGE_CURVE ( 'NONE', #7800, #10435, #2828, .T. ) ; +#4955 = ORIENTED_EDGE ( 'NONE', *, *, #9257, .F. ) ; +#4956 = EDGE_CURVE ( 'NONE', #8765, #4750, #5500, .T. ) ; +#4957 = CARTESIAN_POINT ( 'NONE', ( -92.60499278285986691, -59.01605763575113173, 29.63613289797468653 ) ) ; +#4958 = ORIENTED_EDGE ( 'NONE', *, *, #1423, .F. ) ; +#4959 = DIRECTION ( 'NONE', ( -0.3420201433256614409, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#4960 = VERTEX_POINT ( 'NONE', #5809 ) ; +#4961 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -13.25000000000000178, 3.000000000000002665 ) ) ; +#4962 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4963 = ORIENTED_EDGE ( 'NONE', *, *, #10499, .F. ) ; +#4964 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4965 = ORIENTED_EDGE ( 'NONE', *, *, #8907, .F. ) ; +#4966 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 29.62609303828505247 ) ) ; +#4967 = ORIENTED_EDGE ( 'NONE', *, *, #238, .T. ) ; +#4968 = EDGE_CURVE ( 'NONE', #10336, #1375, #11725, .T. ) ; +#4969 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#4970 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -64.96605763575112746, 14.25016224672766896 ) ) ; +#4971 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#4972 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#4973 = EDGE_LOOP ( 'NONE', ( #271, #9722, #7836, #8041 ) ) ; +#4974 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#4975 = EDGE_CURVE ( 'NONE', #11803, #1458, #7686, .T. ) ; +#4976 = LINE ( 'NONE', #12652, #11922 ) ; +#4977 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#4978 = FACE_OUTER_BOUND ( 'NONE', #3428, .T. ) ; +#4979 = VERTEX_POINT ( 'NONE', #6789 ) ; +#4980 = PLANE ( 'NONE', #5844 ) ; +#4981 = EDGE_CURVE ( 'NONE', #11699, #923, #4459, .T. ) ; +#4982 = CARTESIAN_POINT ( 'NONE', ( -106.4455793677233686, -64.96605763575112746, 2.950023829846315060 ) ) ; +#4983 = ORIENTED_EDGE ( 'NONE', *, *, #8692, .T. ) ; +#4984 = CARTESIAN_POINT ( 'NONE', ( -65.32742487270273557, -74.76055459485426979, 0.7600238298461076125 ) ) ; +#4985 = CYLINDRICAL_SURFACE ( 'NONE', #6775, 7.700000000002309442 ) ; +#4986 = VECTOR ( 'NONE', #7027, 1000.000000000000000 ) ; +#4987 = AXIS2_PLACEMENT_3D ( 'NONE', #8514, #4495, #8456 ) ; +#4988 = VERTEX_POINT ( 'NONE', #10694 ) ; +#4989 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -13.25000000000000178, 3.999984739999989714 ) ) ; +#4990 = EDGE_CURVE ( 'NONE', #5346, #12370, #11730, .T. ) ; +#4991 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -59.01605763575113173, 33.30009303828681766 ) ) ; +#4992 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#4993 = ORIENTED_EDGE ( 'NONE', *, *, #8900, .F. ) ; +#4994 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#4995 = EDGE_CURVE ( 'NONE', #9912, #133, #1844, .T. ) ; +#4996 = ADVANCED_FACE ( 'NONE', ( #7561 ), #858, .T. ) ; +#4997 = ORIENTED_EDGE ( 'NONE', *, *, #10502, .F. ) ; +#4998 = EDGE_CURVE ( 'NONE', #11832, #2690, #4768, .T. ) ; +#4999 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#5000 = ORIENTED_EDGE ( 'NONE', *, *, #9519, .T. ) ; +#5001 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -64.96605763575112746, 10.76002382984610151 ) ) ; +#5002 = PLANE ( 'NONE', #7176 ) ; +#5003 = ADVANCED_FACE ( 'NONE', ( #2891 ), #5082, .T. ) ; +#5004 = PLANE ( 'NONE', #10609 ) ; +#5005 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5006 = CARTESIAN_POINT ( 'NONE', ( -92.24963801922244500, -58.46605763575112746, 1.375023829845842149 ) ) ; +#5007 = ORIENTED_EDGE ( 'NONE', *, *, #7703, .T. ) ; +#5008 = LINE ( 'NONE', #3845, #4609 ) ; +#5009 = EDGE_CURVE ( 'NONE', #4704, #12147, #8397, .T. ) ; +#5010 = VERTEX_POINT ( 'NONE', #8664 ) ; +#5011 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5012 = EDGE_CURVE ( 'NONE', #12269, #12628, #9520, .T. ) ; +#5013 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5014 = ORIENTED_EDGE ( 'NONE', *, *, #12788, .T. ) ; +#5015 = CIRCLE ( 'NONE', #5224, 6.124000000001836419 ) ; +#5016 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -83.96605763575112746, 15.76002382984610328 ) ) ; +#5017 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -13.25000000000000178, 9.000000000000001776 ) ) ; +#5018 = ORIENTED_EDGE ( 'NONE', *, *, #11682, .F. ) ; +#5019 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 10.05009303828688871 ) ) ; +#5020 = ORIENTED_EDGE ( 'NONE', *, *, #5238, .T. ) ; +#5021 = DIRECTION ( 'NONE', ( -0.7071067811865493491, -0.7071067811865455743, -0.000000000000000000 ) ) ; +#5022 = VECTOR ( 'NONE', #10296, 1000.000000000000000 ) ; +#5023 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 15.24999999999809930, 1.000000000000000000 ) ) ; +#5024 = CARTESIAN_POINT ( 'NONE', ( -98.88887660066464491, -59.01605763575113173, 38.58969436516104423 ) ) ; +#5025 = ORIENTED_EDGE ( 'NONE', *, *, #3419, .T. ) ; +#5026 = CARTESIAN_POINT ( 'NONE', ( -85.65229345422048368, -58.46605763575112746, 1.375023829845842149 ) ) ; +#5027 = ORIENTED_EDGE ( 'NONE', *, *, #8248, .F. ) ; +#5028 = VECTOR ( 'NONE', #10077, 1000.000000000000000 ) ; +#5029 = PLANE ( 'NONE', #7766 ) ; +#5030 = CARTESIAN_POINT ( 'NONE', ( -91.39956824406647229, -65.01605763575113883, 41.67313268766883994 ) ) ; +#5031 = DIRECTION ( 'NONE', ( 0.3420201433256545021, 0.000000000000000000, -0.9396926207859136460 ) ) ; +#5032 = LINE ( 'NONE', #6866, #10732 ) ; +#5033 = VERTEX_POINT ( 'NONE', #11602 ) ; +#5034 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5035 = ADVANCED_FACE ( 'NONE', ( #8724 ), #4571, .F. ) ; +#5036 = VECTOR ( 'NONE', #2551, 1000.000000000000000 ) ; +#5037 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5038 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -33.25000000000000000, 3.000000000000002665 ) ) ; +#5039 = LINE ( 'NONE', #7843, #8774 ) ; +#5040 = CIRCLE ( 'NONE', #9617, 2.800000000000836486 ) ; +#5041 = VERTEX_POINT ( 'NONE', #7749 ) ; +#5042 = EDGE_CURVE ( 'NONE', #9066, #4825, #2811, .T. ) ; +#5043 = CYLINDRICAL_SURFACE ( 'NONE', #2739, 2.800000000000836486 ) ; +#5044 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 18.49016224672767095 ) ) ; +#5045 = ORIENTED_EDGE ( 'NONE', *, *, #6095, .T. ) ; +#5046 = LINE ( 'NONE', #9017, #6304 ) ; +#5047 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5048 = LINE ( 'NONE', #8895, #1780 ) ; +#5049 = CIRCLE ( 'NONE', #8581, 1.000000000000000000 ) ; +#5050 = EDGE_LOOP ( 'NONE', ( #2823, #1171, #7396, #2162 ) ) ; +#5051 = CARTESIAN_POINT ( 'NONE', ( -89.64540189891243926, -59.01605763575113173, 40.90242380761321783 ) ) ; +#5052 = EDGE_CURVE ( 'NONE', #7800, #11875, #3138, .T. ) ; +#5053 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -64.96605763575112746, 7.740162246727670059 ) ) ; +#5054 = CARTESIAN_POINT ( 'NONE', ( -120.5683391289685744, -69.96605763575111325, 2.740162246727671391 ) ) ; +#5055 = ORIENTED_EDGE ( 'NONE', *, *, #11050, .F. ) ; +#5056 = CARTESIAN_POINT ( 'NONE', ( -89.42591364668750487, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5057 = AXIS2_PLACEMENT_3D ( 'NONE', #7508, #5569, #3353 ) ; +#5058 = VECTOR ( 'NONE', #12869, 1000.000000000000000 ) ; +#5059 = ORIENTED_EDGE ( 'NONE', *, *, #9818, .T. ) ; +#5060 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -63.46605763575112746, -0.7499761701538945058 ) ) ; +#5061 = ORIENTED_EDGE ( 'NONE', *, *, #8972, .T. ) ; +#5062 = EDGE_CURVE ( 'NONE', #6037, #3911, #78, .T. ) ; +#5063 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #8938, #7837, #1136, #167 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#5064 = AXIS2_PLACEMENT_3D ( 'NONE', #7699, #5498, #7573 ) ; +#5065 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5066 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5067 = AXIS2_PLACEMENT_3D ( 'NONE', #3771, #11713, #2818 ) ; +#5068 = VECTOR ( 'NONE', #8677, 1000.000000000000114 ) ; +#5069 = EDGE_CURVE ( 'NONE', #9374, #6755, #7097, .T. ) ; +#5070 = VECTOR ( 'NONE', #75, 1000.000000000000000 ) ; +#5071 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #8247, #3124, ( #6404 ) ) ; +#5072 = ADVANCED_FACE ( 'NONE', ( #1902 ), #7037, .T. ) ; +#5073 = FACE_OUTER_BOUND ( 'NONE', #5147, .T. ) ; +#5074 = CALENDAR_DATE ( 2026, 26, 7 ) ; +#5075 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5076 = EDGE_LOOP ( 'NONE', ( #1656, #3686, #5396, #3390 ) ) ; +#5077 = VECTOR ( 'NONE', #9047, 1000.000000000000000 ) ; +#5078 = CARTESIAN_POINT ( 'NONE', ( -73.92448600717673912, -58.46605763575112746, 1.670717390400672908 ) ) ; +#5079 = ORIENTED_EDGE ( 'NONE', *, *, #3106, .T. ) ; +#5080 = CARTESIAN_POINT ( 'NONE', ( -110.6810622036169605, -58.46605763575112746, 15.55016224672746361 ) ) ; +#5081 = CARTESIAN_POINT ( 'NONE', ( -93.08814336361167818, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5082 = TOROIDAL_SURFACE ( 'NONE', #3421, 4.000000000000000000, 1.000000000000000000 ) ; +#5083 = ORIENTED_EDGE ( 'NONE', *, *, #2275, .T. ) ; +#5084 = EDGE_CURVE ( 'NONE', #7657, #12589, #5705, .T. ) ; +#5085 = AXIS2_PLACEMENT_3D ( 'NONE', #8438, #6492, #4345 ) ; +#5086 = CYLINDRICAL_SURFACE ( 'NONE', #1519, 7.700000000002309442 ) ; +#5087 = AXIS2_PLACEMENT_3D ( 'NONE', #6071, #5101, #10413 ) ; +#5088 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5089 = ADVANCED_FACE ( 'NONE', ( #1179 ), #4894, .T. ) ; +#5090 = ORIENTED_EDGE ( 'NONE', *, *, #589, .F. ) ; +#5091 = CARTESIAN_POINT ( 'NONE', ( -68.26482223728422127, -83.57038944594566487, 0.7600238298460660902 ) ) ; +#5092 = VERTEX_POINT ( 'NONE', #4957 ) ; +#5093 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5094 = CARTESIAN_POINT ( 'NONE', ( -96.83279310607144907, -65.01605763575113883, 40.49035758184781031 ) ) ; +#5095 = CARTESIAN_POINT ( 'NONE', ( -89.42591364668750487, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5096 = AXIS2_PLACEMENT_3D ( 'NONE', #5449, #4346, #9294 ) ; +#5097 = ORIENTED_EDGE ( 'NONE', *, *, #423, .F. ) ; +#5098 = CARTESIAN_POINT ( 'NONE', ( -121.4519521068389025, -75.56174589975069011, 3.740162246727670503 ) ) ; +#5099 = VERTEX_POINT ( 'NONE', #5017 ) ; +#5100 = FACE_OUTER_BOUND ( 'NONE', #12399, .T. ) ; +#5101 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5102 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5103 = CARTESIAN_POINT ( 'NONE', ( -90.15557767015388890, -13.89995144998309939, 10.00000000000000000 ) ) ; +#5104 = AXIS2_PLACEMENT_3D ( 'NONE', #7467, #1285, #3698 ) ; +#5105 = ORIENTED_EDGE ( 'NONE', *, *, #8226, .T. ) ; +#5106 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5107 = LINE ( 'NONE', #9077, #284 ) ; +#5108 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5109 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#5110 = EDGE_LOOP ( 'NONE', ( #11834, #10193, #3723, #639 ) ) ; +#5111 = CARTESIAN_POINT ( 'NONE', ( -95.28725821861233669, -64.96605763575112746, 15.55016224672746006 ) ) ; +#5112 = VECTOR ( 'NONE', #9192, 1000.000000000000114 ) ; +#5113 = AXIS2_PLACEMENT_3D ( 'NONE', #11915, #10104, #202 ) ; +#5114 = LINE ( 'NONE', #2188, #502 ) ; +#5116 = ORIENTED_EDGE ( 'NONE', *, *, #5465, .T. ) ; +#5115 = MANIFOLD_SOLID_BREP ( 'ʵÌå-Òƶ¯/¸´ÖÆ6', #10574 ) ; +#5117 = EDGE_CURVE ( 'NONE', #3571, #8450, #2945, .T. ) ; +#5118 = CARTESIAN_POINT ( 'NONE', ( -89.64540189891232558, -65.01605763575113883, 30.59776226896062568 ) ) ; +#5119 = FACE_OUTER_BOUND ( 'NONE', #8138, .T. ) ; +#5120 = PLANE ( 'NONE', #11958 ) ; +#5121 = ORIENTED_EDGE ( 'NONE', *, *, #3573, .T. ) ; +#5122 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5123 = VECTOR ( 'NONE', #8983, 1000.000000000000000 ) ; +#5124 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5125 = AXIS2_PLACEMENT_3D ( 'NONE', #2192, #2122, #5047 ) ; +#5126 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685460, -64.96605763575111325, 7.085545777064845119 ) ) ; +#5127 = VERTEX_POINT ( 'NONE', #8072 ) ; +#5128 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5129 = DIRECTION ( 'NONE', ( 0.9396926207859083169, -0.000000000000000000, 0.3420201433256689350 ) ) ; +#5130 = VERTEX_POINT ( 'NONE', #8919 ) ; +#5131 = FACE_OUTER_BOUND ( 'NONE', #1114, .T. ) ; +#5132 = ORIENTED_EDGE ( 'NONE', *, *, #3135, .F. ) ; +#5133 = EDGE_CURVE ( 'NONE', #4750, #2515, #6056, .T. ) ; +#5134 = AXIS2_PLACEMENT_3D ( 'NONE', #1008, #4974, #7369 ) ; +#5135 = CARTESIAN_POINT ( 'NONE', ( -89.26316677257977972, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5136 = CARTESIAN_POINT ( 'NONE', ( -76.69308716011013871, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5137 = CARTESIAN_POINT ( 'NONE', ( -87.06405191757912121, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5138 = APPROVAL_STATUS ( 'not_yet_approved' ) ; +#5139 = FACE_OUTER_BOUND ( 'NONE', #7795, .T. ) ; +#5140 = ADVANCED_FACE ( 'NONE', ( #143 ), #14, .F. ) ; +#5141 = ORIENTED_EDGE ( 'NONE', *, *, #11601, .F. ) ; +#5142 = AXIS2_PLACEMENT_3D ( 'NONE', #5405, #8265, #11198 ) ; +#5143 = CARTESIAN_POINT ( 'NONE', ( -96.40560150000000306, 11.49999982601869775, 9.585786437626905965 ) ) ; +#5144 = VERTEX_POINT ( 'NONE', #10877 ) ; +#5145 = LINE ( 'NONE', #10997, #6117 ) ; +#5146 = LINE ( 'NONE', #12034, #6933 ) ; +#5147 = EDGE_LOOP ( 'NONE', ( #6521, #12241, #1573, #750 ) ) ; +#5148 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -76.14639752325007294, 4.250023829846105272 ) ) ; +#5149 = AXIS2_PLACEMENT_3D ( 'NONE', #4815, #2999, #3842 ) ; +#5150 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5151 = VERTEX_POINT ( 'NONE', #7941 ) ; +#5152 = CARTESIAN_POINT ( 'NONE', ( -66.99915841877454170, -82.08343222365597569, 0.7600238298474608634 ) ) ; +#5153 = ORIENTED_EDGE ( 'NONE', *, *, #2616, .T. ) ; +#5154 = FACE_OUTER_BOUND ( 'NONE', #5675, .T. ) ; +#5155 = EDGE_CURVE ( 'NONE', #9545, #7266, #6910, .T. ) ; +#5156 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -23.18297142738790839, -2.848052381507200970 ) ) ; +#5157 = ORIENTED_EDGE ( 'NONE', *, *, #4619, .F. ) ; +#5158 = CARTESIAN_POINT ( 'NONE', ( -91.57332089559271537, -59.01605763575113173, 28.17516510229925331 ) ) ; +#5159 = VERTEX_POINT ( 'NONE', #1113 ) ; +#5160 = CARTESIAN_POINT ( 'NONE', ( -121.9369261198521173, -71.65694149564008342, 3.740162246728345963 ) ) ; +#5161 = EDGE_CURVE ( 'NONE', #6979, #10272, #5868, .T. ) ; +#5162 = ORIENTED_EDGE ( 'NONE', *, *, #6033, .T. ) ; +#5163 = ADVANCED_FACE ( 'NONE', ( #1969 ), #5935, .T. ) ; +#5164 = EDGE_CURVE ( 'NONE', #7575, #1442, #10940, .T. ) ; +#5165 = ADVANCED_FACE ( 'NONE', ( #1045 ), #9968, .F. ) ; +#5166 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5167 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092019669, -59.01605763575113173, 34.55983764663545088 ) ) ; +#5168 = CARTESIAN_POINT ( 'NONE', ( -99.68548792861368213, -58.46605763575112746, 15.55016224672746183 ) ) ; +#5169 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5170 = VERTEX_POINT ( 'NONE', #4110 ) ; +#5171 = FACE_OUTER_BOUND ( 'NONE', #3808, .T. ) ; +#5172 = ADVANCED_FACE ( 'NONE', ( #7169 ), #9307, .T. ) ; +#5173 = CARTESIAN_POINT ( 'NONE', ( -106.8560856125850762, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5174 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -58.46605763575112746, 3.078450954592295119 ) ) ; +#5175 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5176 = VERTEX_POINT ( 'NONE', #6195 ) ; +#5177 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#5178 = EDGE_CURVE ( 'NONE', #12544, #1159, #1586, .T. ) ; +#5179 = FACE_OUTER_BOUND ( 'NONE', #4730, .T. ) ; +#5180 = EDGE_LOOP ( 'NONE', ( #209, #2899, #8340, #9068 ) ) ; +#5181 = CARTESIAN_POINT ( 'NONE', ( -100.2587410475830865, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5182 = CARTESIAN_POINT ( 'NONE', ( -100.2587410475830865, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5183 = CARTESIAN_POINT ( 'NONE', ( -95.86051133758178366, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5184 = ORIENTED_EDGE ( 'NONE', *, *, #1669, .F. ) ; +#5185 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5186 = CARTESIAN_POINT ( 'NONE', ( -111.2618151437952605, -58.46605763575112746, 4.021259996174356921 ) ) ; +#5187 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#5188 = ORIENTED_EDGE ( 'NONE', *, *, #7187, .T. ) ; +#5189 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5190 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#5191 = VERTEX_POINT ( 'NONE', #8560 ) ; +#5192 = LINE ( 'NONE', #11048, #7559 ) ; +#5193 = ORIENTED_EDGE ( 'NONE', *, *, #8378, .T. ) ; +#5194 = CARTESIAN_POINT ( 'NONE', ( -121.5809872457311940, -70.13177199847218901, 2.928806345325687843 ) ) ; +#5195 = CARTESIAN_POINT ( 'NONE', ( -79.46545513408021577, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5196 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5197 = APPROVAL_STATUS ( 'not_yet_approved' ) ; +#5198 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#5199 = EDGE_CURVE ( 'NONE', #9288, #11908, #5207, .T. ) ; +#5200 = ORIENTED_EDGE ( 'NONE', *, *, #6505, .F. ) ; +#5201 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -15.25000000000000178, 9.000000000000001776 ) ) ; +#5202 = ORIENTED_EDGE ( 'NONE', *, *, #7859, .T. ) ; +#5203 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -15.48606797749978803, 3.000000000000002665 ) ) ; +#5204 = VERTEX_POINT ( 'NONE', #266 ) ; +#5205 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.75000000000001066, -3.752776749732657624 ) ) ; +#5206 = AXIS2_PLACEMENT_3D ( 'NONE', #4098, #323, #3123 ) ; +#5207 = LINE ( 'NONE', #12536, #5535 ) ; +#5208 = CARTESIAN_POINT ( 'NONE', ( -69.25001391768489611, -84.33779584175034927, 1.760023829846785626 ) ) ; +#5209 = ORIENTED_EDGE ( 'NONE', *, *, #4449, .T. ) ; +#5210 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 16.24999999999809930, 9.000000000000001776 ) ) ; +#5211 = EDGE_CURVE ( 'NONE', #8521, #5532, #6149, .T. ) ; +#5212 = ORIENTED_EDGE ( 'NONE', *, *, #6193, .F. ) ; +#5213 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5214 = ORIENTED_EDGE ( 'NONE', *, *, #7816, .F. ) ; +#5215 = LINE ( 'NONE', #87, #11200 ) ; +#5216 = ORIENTED_EDGE ( 'NONE', *, *, #8949, .F. ) ; +#5217 = AXIS2_PLACEMENT_3D ( 'NONE', #8415, #6539, #5496 ) ; +#5218 = CARTESIAN_POINT ( 'NONE', ( -119.2662435277275392, -79.35573128508110585, 2.740162246727671835 ) ) ; +#5219 = ORIENTED_EDGE ( 'NONE', *, *, #380, .F. ) ; +#5220 = EDGE_CURVE ( 'NONE', #10588, #7179, #4492, .T. ) ; +#5221 = FACE_BOUND ( 'NONE', #12121, .T. ) ; +#5222 = SPHERICAL_SURFACE ( 'NONE', #4424, 1.000000000000000000 ) ; +#5223 = LINE ( 'NONE', #1200, #2841 ) ; +#5224 = AXIS2_PLACEMENT_3D ( 'NONE', #4962, #19, #3920 ) ; +#5225 = ORIENTED_EDGE ( 'NONE', *, *, #6317, .T. ) ; +#5226 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5227 = EDGE_CURVE ( 'NONE', #6697, #9477, #3669, .T. ) ; +#5228 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5229 = LINE ( 'NONE', #6465, #6249 ) ; +#5230 = EDGE_CURVE ( 'NONE', #335, #5265, #12287, .T. ) ; +#5231 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#5232 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #8611, #6804, #11556, #5822 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 4.712388980384689674, 6.283185307179586232 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#5233 = ORIENTED_EDGE ( 'NONE', *, *, #3724, .F. ) ; +#5234 = LINE ( 'NONE', #7251, #8403 ) ; +#5235 = VECTOR ( 'NONE', #11784, 1000.000000000000000 ) ; +#5236 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5237 = ORIENTED_EDGE ( 'NONE', *, *, #9289, .T. ) ; +#5238 = EDGE_CURVE ( 'NONE', #3057, #2011, #6250, .T. ) ; +#5239 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#5240 = PLANE ( 'NONE', #4922 ) ; +#5241 = DIRECTION ( 'NONE', ( 8.673617379884040402E-17, -0.000000000000000000, 1.000000000000000000 ) ) ; +#5242 = ORIENTED_EDGE ( 'NONE', *, *, #5323, .F. ) ; +#5243 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5244 = ADVANCED_FACE ( 'NONE', ( #9551 ), #11508, .F. ) ; +#5245 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#5246 = CARTESIAN_POINT ( 'NONE', ( -117.0932048723045114, -65.07670981671013521, 6.533854693627930033 ) ) ; +#5247 = ORIENTED_EDGE ( 'NONE', *, *, #9279, .T. ) ; +#5248 = CARTESIAN_POINT ( 'NONE', ( -93.25089023771940333, -64.96605763575112746, 2.950023829846315060 ) ) ; +#5249 = CARTESIAN_POINT ( 'NONE', ( -90.95557767015388606, -13.89995144998309939, 10.00000000000000000 ) ) ; +#5250 = ORIENTED_EDGE ( 'NONE', *, *, #6592, .T. ) ; +#5251 = CARTESIAN_POINT ( 'NONE', ( -91.62502850168816337, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5252 = ORIENTED_EDGE ( 'NONE', *, *, #4290, .T. ) ; +#5253 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#5254 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5255 = VECTOR ( 'NONE', #10212, 1000.000000000000114 ) ; +#5256 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #7271, #5452, #8374, #11383, #10281, #7339 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#5257 = AXIS2_PLACEMENT_3D ( 'NONE', #8998, #97, #8087 ) ; +#5258 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5259 = APPROVAL_DATE_TIME ( #1288, #7373 ) ; +#5260 = VECTOR ( 'NONE', #3631, 1000.000000000000000 ) ; +#5261 = LINE ( 'NONE', #6182, #12528 ) ; +#5262 = CIRCLE ( 'NONE', #10461, 3.000000000000002665 ) ; +#5263 = EDGE_LOOP ( 'NONE', ( #6471, #8427, #5216, #9400 ) ) ; +#5264 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 4.250023829846108825 ) ) ; +#5265 = VERTEX_POINT ( 'NONE', #2602 ) ; +#5266 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5267 = ORIENTED_EDGE ( 'NONE', *, *, #8661, .F. ) ; +#5268 = VECTOR ( 'NONE', #10429, 1000.000000000000000 ) ; +#5269 = FACE_OUTER_BOUND ( 'NONE', #4118, .T. ) ; +#5270 = CIRCLE ( 'NONE', #12540, 6.124000000001832866 ) ; +#5271 = EDGE_CURVE ( 'NONE', #4137, #8660, #9905, .T. ) ; +#5272 = CIRCLE ( 'NONE', #4022, 6.124000000001829314 ) ; +#5273 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 6.093357163179440761 ) ) ; +#5274 = CARTESIAN_POINT ( 'NONE', ( -65.11708765097246498, -78.08022944959006395, 1.760023829846366183 ) ) ; +#5275 = VECTOR ( 'NONE', #482, 1000.000000000000000 ) ; +#5276 = ORIENTED_EDGE ( 'NONE', *, *, #11592, .F. ) ; +#5277 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5278 = ORIENTED_EDGE ( 'NONE', *, *, #11426, .F. ) ; +#5279 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#5280 = ORIENTED_EDGE ( 'NONE', *, *, #5627, .F. ) ; +#5281 = AXIS2_PLACEMENT_3D ( 'NONE', #3853, #663, #9579 ) ; +#5282 = MANIFOLD_SOLID_BREP ( 'ʵÌå-Òƶ¯/¸´ÖÆ5[1]', #8903 ) ; +#5283 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5284 = VECTOR ( 'NONE', #4543, 1000.000000000000114 ) ; +#5285 = VERTEX_POINT ( 'NONE', #1616 ) ; +#5286 = CARTESIAN_POINT ( 'NONE', ( -121.7881163190401992, -73.43869721591126165, 3.740162246727518625 ) ) ; +#5287 = ORIENTED_EDGE ( 'NONE', *, *, #10094, .F. ) ; +#5288 = VECTOR ( 'NONE', #12016, 1000.000000000000114 ) ; +#5289 = ADVANCED_FACE ( 'NONE', ( #3632 ), #8221, .T. ) ; +#5290 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551134, -69.25895085456457423, 3.740162246727671391 ) ) ; +#5291 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 0.000000000000000000, 10.00000000000000000 ) ) ; +#5292 = FACE_OUTER_BOUND ( 'NONE', #8007, .T. ) ; +#5293 = VERTEX_POINT ( 'NONE', #6564 ) ; +#5294 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -17.44615242270659650, 1.000000000000000000 ) ) ; +#5295 = AXIS2_PLACEMENT_3D ( 'NONE', #8358, #5699, #2656 ) ; +#5296 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#5297 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5298 = EDGE_CURVE ( 'NONE', #6456, #8889, #3254, .T. ) ; +#5299 = EDGE_LOOP ( 'NONE', ( #2304, #11078, #7196, #6462 ) ) ; +#5300 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -69.96605763575111325, 14.76002382984610151 ) ) ; +#5301 = CARTESIAN_POINT ( 'NONE', ( -95.45000509272006184, -64.96605763575112746, 2.950023829846315948 ) ) ; +#5302 = VERTEX_POINT ( 'NONE', #7229 ) ; +#5303 = EDGE_CURVE ( 'NONE', #1852, #7411, #11976, .T. ) ; +#5304 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5305 = FACE_OUTER_BOUND ( 'NONE', #1560, .T. ) ; +#5306 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164845671, -69.25895085456457423, 14.76002382984610151 ) ) ; +#5307 = VERTEX_POINT ( 'NONE', #5586 ) ; +#5308 = CYLINDRICAL_SURFACE ( 'NONE', #4509, 1.000000000000000888 ) ; +#5309 = VERTEX_POINT ( 'NONE', #2285 ) ; +#5310 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -33.25000000000000000, 17.75002382984610350 ) ) ; +#5311 = CARTESIAN_POINT ( 'NONE', ( -118.8172590276838463, -66.80076397209332129, 4.541494879705990861 ) ) ; +#5312 = EDGE_CURVE ( 'NONE', #12791, #5437, #2666, .T. ) ; +#5313 = VECTOR ( 'NONE', #6825, 1000.000000000000000 ) ; +#5314 = ORIENTED_EDGE ( 'NONE', *, *, #7430, .F. ) ; +#5315 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -64.96605763575112746, 10.76002382984610151 ) ) ; +#5316 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5317 = VERTEX_POINT ( 'NONE', #6627 ) ; +#5318 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 17.74016224672765674 ) ) ; +#5319 = ORIENTED_EDGE ( 'NONE', *, *, #2980, .F. ) ; +#5320 = EDGE_CURVE ( 'NONE', #5621, #2392, #6371, .T. ) ; +#5321 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -59.01605763575113173, 35.75009303828682050 ) ) ; +#5322 = ADVANCED_FACE ( 'NONE', ( #11252 ), #2349, .T. ) ; +#5323 = EDGE_CURVE ( 'NONE', #2440, #2186, #9942, .T. ) ; +#5324 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5325 = CIRCLE ( 'NONE', #12592, 2.800000000000843592 ) ; +#5326 = VECTOR ( 'NONE', #4302, 1000.000000000000000 ) ; +#5327 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5328 = PERSON_AND_ORGANIZATION_ROLE ( 'classification_officer' ) ; +#5329 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191058, -84.96605763575109904, 14.76002382984610328 ) ) ; +#5330 = VERTEX_POINT ( 'NONE', #7852 ) ; +#5331 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 0.9999999999999995559 ) ) ; +#5332 = VECTOR ( 'NONE', #1219, 1000.000000000000000 ) ; +#5333 = VECTOR ( 'NONE', #2814, 1000.000000000000000 ) ; +#5334 = EDGE_LOOP ( 'NONE', ( #11648, #7211, #7583, #5974 ) ) ; +#5335 = VECTOR ( 'NONE', #11422, 1000.000000000000000 ) ; +#5336 = LINE ( 'NONE', #10286, #9225 ) ; +#5337 = ORIENTED_EDGE ( 'NONE', *, *, #5916, .F. ) ; +#5338 = DIRECTION ( 'NONE', ( 8.673617379884040402E-17, -0.000000000000000000, 1.000000000000000000 ) ) ; +#5339 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5340 = CARTESIAN_POINT ( 'NONE', ( -66.22964788148638604, -80.78749888804799184, 1.760023829845432486 ) ) ; +#5341 = AXIS2_PLACEMENT_3D ( 'NONE', #9737, #5827, #12588 ) ; +#5342 = VERTEX_POINT ( 'NONE', #9684 ) ; +#5343 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -83.96605763575111325, 15.76002382984610328 ) ) ; +#5344 = ORIENTED_EDGE ( 'NONE', *, *, #470, .T. ) ; +#5345 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551276, -70.67316441693769491, 3.740162246727671391 ) ) ; +#5346 = VERTEX_POINT ( 'NONE', #961 ) ; +#5347 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -58.46605763575112746, 15.42173512198147911 ) ) ; +#5348 = EDGE_CURVE ( 'NONE', #72, #8236, #9748, .T. ) ; +#5349 = ORIENTED_EDGE ( 'NONE', *, *, #11077, .F. ) ; +#5350 = CARTESIAN_POINT ( 'NONE', ( -120.1509119018496961, -76.71434839998519806, 2.740162246727670503 ) ) ; +#5351 = ORIENTED_EDGE ( 'NONE', *, *, #9772, .F. ) ; +#5352 = VECTOR ( 'NONE', #286, 1000.000000000000000 ) ; +#5353 = CIRCLE ( 'NONE', #999, 2.800000000000836486 ) ; +#5354 = CYLINDRICAL_SURFACE ( 'NONE', #510, 1.000000000000000888 ) ; +#5355 = FACE_OUTER_BOUND ( 'NONE', #2990, .T. ) ; +#5356 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -24.68297142738792616, -3.249976170153895172 ) ) ; +#5357 = VERTEX_POINT ( 'NONE', #6946 ) ; +#5358 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#5359 = AXIS2_PLACEMENT_3D ( 'NONE', #6303, #12161, #9106 ) ; +#5360 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#5361 = AXIS2_PLACEMENT_3D ( 'NONE', #9862, #8875, #5953 ) ; +#5362 = ORIENTED_EDGE ( 'NONE', *, *, #549, .F. ) ; +#5363 = CARTESIAN_POINT ( 'NONE', ( -95.86051133758178366, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5364 = EDGE_CURVE ( 'NONE', #3957, #8129, #2917, .T. ) ; +#5365 = ORIENTED_EDGE ( 'NONE', *, *, #12700, .F. ) ; +#5366 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#5367 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5368 = ORIENTED_EDGE ( 'NONE', *, *, #554, .F. ) ; +#5369 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 16.74016224672766739 ) ) ; +#5370 = EDGE_CURVE ( 'NONE', #8548, #9219, #1020, .T. ) ; +#5371 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 4.053100760940521181E-15 ) ) ; +#5372 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -58.46605763575112746, 3.250023829846106160 ) ) ; +#5373 = ORIENTED_EDGE ( 'NONE', *, *, #12865, .F. ) ; +#5374 = LINE ( 'NONE', #492, #5551 ) ; +#5375 = ORIENTED_EDGE ( 'NONE', *, *, #11247, .F. ) ; +#5376 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 2.740162246727670503 ) ) ; +#5377 = CARTESIAN_POINT ( 'NONE', ( -118.6108419629037485, -66.59434690731778517, 3.977722199175462769 ) ) ; +#5378 = ADVANCED_FACE ( 'NONE', ( #12794 ), #6881, .F. ) ; +#5379 = ORIENTED_EDGE ( 'NONE', *, *, #12363, .F. ) ; +#5380 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -17.44615242270659650, -3.000000000000000000 ) ) ; +#5381 = CARTESIAN_POINT ( 'NONE', ( -93.08814336361167818, -58.46605763575112746, 15.55016224672746183 ) ) ; +#5382 = VERTEX_POINT ( 'NONE', #4738 ) ; +#5383 = CARTESIAN_POINT ( 'NONE', ( -84.86493706257847691, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5384 = ORIENTED_EDGE ( 'NONE', *, *, #5767, .F. ) ; +#5385 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5386 = EDGE_CURVE ( 'NONE', #11047, #8323, #7064, .T. ) ; +#5387 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5388 = EDGE_LOOP ( 'NONE', ( #3180, #8681, #4400, #8523 ) ) ; +#5389 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 9.000000000000001776 ) ) ; +#5390 = EDGE_CURVE ( 'NONE', #8179, #12673, #1810, .T. ) ; +#5391 = CARTESIAN_POINT ( 'NONE', ( -85.02768393668618785, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5392 = ORIENTED_EDGE ( 'NONE', *, *, #1837, .T. ) ; +#5393 = ADVANCED_FACE ( 'NONE', ( #829 ), #11630, .F. ) ; +#5394 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5395 = ADVANCED_FACE ( 'NONE', ( #12727 ), #3821, .F. ) ; +#5396 = ORIENTED_EDGE ( 'NONE', *, *, #7895, .F. ) ; +#5397 = CYLINDRICAL_SURFACE ( 'NONE', #911, 1.000000000000000888 ) ; +#5398 = ORIENTED_EDGE ( 'NONE', *, *, #4995, .F. ) ; +#5399 = CARTESIAN_POINT ( 'NONE', ( -66.38579967983407926, -81.08088933594500247, 14.76002382984580308 ) ) ; +#5400 = EDGE_CURVE ( 'NONE', #6437, #8970, #3888, .T. ) ; +#5401 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5402 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5403 = AXIS2_PLACEMENT_3D ( 'NONE', #1840, #9711, #5804 ) ; +#5404 = VERTEX_POINT ( 'NONE', #4201 ) ; +#5405 = CARTESIAN_POINT ( 'NONE', ( -2.289865991934497964E-16, -83.96605763575112746, 1.760023829846113053 ) ) ; +#5406 = EDGE_CURVE ( 'NONE', #9169, #10521, #12199, .T. ) ; +#5407 = VERTEX_POINT ( 'NONE', #4011 ) ; +#5408 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5409 = EDGE_LOOP ( 'NONE', ( #8770, #3675, #12491, #2416, #9609 ) ) ; +#5410 = LINE ( 'NONE', #9573, #7469 ) ; +#5411 = EDGE_LOOP ( 'NONE', ( #4240, #10899, #8575, #11161 ) ) ; +#5412 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -44.55000000000000426, 3.999984739999989714 ) ) ; +#5413 = ORIENTED_EDGE ( 'NONE', *, *, #8555, .T. ) ; +#5414 = CIRCLE ( 'NONE', #10404, 2.800000000000843592 ) ; +#5415 = AXIS2_PLACEMENT_3D ( 'NONE', #244, #12208, #8434 ) ; +#5416 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 1.301042606982606060E-16 ) ) ; +#5417 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 1.000000000000000000 ) ) ; +#5418 = CARTESIAN_POINT ( 'NONE', ( -74.65671917921717693, -58.46605763575112746, 1.375023829845842149 ) ) ; +#5419 = ORIENTED_EDGE ( 'NONE', *, *, #4482, .T. ) ; +#5420 = LINE ( 'NONE', #1202, #5352 ) ; +#5421 = CIRCLE ( 'NONE', #1471, 2.800000000000843592 ) ; +#5422 = AXIS2_PLACEMENT_3D ( 'NONE', #3160, #8154, #3347 ) ; +#5423 = CARTESIAN_POINT ( 'NONE', ( -90.11591592402756135, -65.01605763575113883, 29.81673368852405659 ) ) ; +#5424 = EDGE_LOOP ( 'NONE', ( #4887, #7946, #2894 ) ) ; +#5425 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -55.25000000000000711, 21.75002382984610705 ) ) ; +#5426 = VERTEX_POINT ( 'NONE', #5182 ) ; +#5427 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5428 = LINE ( 'NONE', #5301, #1543 ) ; +#5429 = ORIENTED_EDGE ( 'NONE', *, *, #8778, .F. ) ; +#5430 = AXIS2_PLACEMENT_3D ( 'NONE', #5423, #9265, #2376 ) ; +#5431 = CARTESIAN_POINT ( 'NONE', ( -103.8184654131951987, -64.96605763575112746, 2.950023829846314172 ) ) ; +#5432 = EDGE_CURVE ( 'NONE', #8475, #7125, #11224, .T. ) ; +#5433 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5434 = CARTESIAN_POINT ( 'NONE', ( -67.30019253889111042, -66.59434690732648221, 14.52246387739443101 ) ) ; +#5435 = EDGE_LOOP ( 'NONE', ( #6174, #11213, #12046, #4499 ) ) ; +#5436 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5437 = VERTEX_POINT ( 'NONE', #6026 ) ; +#5438 = CARTESIAN_POINT ( 'NONE', ( -100.2587410475830865, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5439 = PLANE ( 'NONE', #8980 ) ; +#5440 = VECTOR ( 'NONE', #8395, 1000.000000000000000 ) ; +#5441 = EDGE_LOOP ( 'NONE', ( #2479, #2507, #2430, #1973 ) ) ; +#5442 = CARTESIAN_POINT ( 'NONE', ( -107.6434420042270688, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5443 = CYLINDRICAL_SURFACE ( 'NONE', #3677, 5.000000000000000000 ) ; +#5444 = ORIENTED_EDGE ( 'NONE', *, *, #2296, .T. ) ; +#5445 = CARTESIAN_POINT ( 'NONE', ( -105.2815802751187135, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5446 = EDGE_LOOP ( 'NONE', ( #1949, #9414, #8656, #1316 ) ) ; +#5447 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -64.96605763575112746, 0.000000000000000000 ) ) ; +#5448 = EDGE_CURVE ( 'NONE', #990, #10106, #10328, .T. ) ; +#5449 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 1.760023829846103727 ) ) ; +#5450 = EDGE_LOOP ( 'NONE', ( #1895, #1135, #2461, #6200 ) ) ; +#5451 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 16.24999999999809930, 9.000000000000001776 ) ) ; +#5452 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046191769, -84.96605763575112746, 1.498224442046955485 ) ) ; +#5453 = ORIENTED_EDGE ( 'NONE', *, *, #1333, .T. ) ; +#5454 = VECTOR ( 'NONE', #7651, 1000.000000000000000 ) ; +#5455 = CARTESIAN_POINT ( 'NONE', ( -103.0824654201180692, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5456 = EDGE_CURVE ( 'NONE', #1815, #4180, #9148, .T. ) ; +#5457 = AXIS2_PLACEMENT_3D ( 'NONE', #8112, #9155, #10202 ) ; +#5458 = ORIENTED_EDGE ( 'NONE', *, *, #9452, .T. ) ; +#5459 = FACE_OUTER_BOUND ( 'NONE', #7638, .T. ) ; +#5460 = ORIENTED_EDGE ( 'NONE', *, *, #11442, .F. ) ; +#5461 = CARTESIAN_POINT ( 'NONE', ( -66.77024111111687432, -81.73284268323584456, 14.76002382984640704 ) ) ; +#5462 = ADVANCED_FACE ( 'NONE', ( #5119 ), #5240, .F. ) ; +#5463 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5464 = VECTOR ( 'NONE', #8211, 1000.000000000000000 ) ; +#5465 = EDGE_CURVE ( 'NONE', #8658, #11728, #10257, .T. ) ; +#5466 = VECTOR ( 'NONE', #4301, 1000.000000000000000 ) ; +#5467 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5468 = CIRCLE ( 'NONE', #66, 1.000000000000000888 ) ; +#5469 = CARTESIAN_POINT ( 'NONE', ( -74.03210966168288110, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5470 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -4.053100760940521970E-15 ) ) ; +#5471 = CYLINDRICAL_SURFACE ( 'NONE', #10267, 6.124000000001836419 ) ; +#5472 = ORIENTED_EDGE ( 'NONE', *, *, #7830, .T. ) ; +#5473 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5474 = ORIENTED_EDGE ( 'NONE', *, *, #3026, .F. ) ; +#5475 = CARTESIAN_POINT ( 'NONE', ( -91.76526185925033019, -59.01605763575113173, 29.28082870826848350 ) ) ; +#5476 = EDGE_CURVE ( 'NONE', #1213, #1650, #303, .T. ) ; +#5477 = ORIENTED_EDGE ( 'NONE', *, *, #6718, .F. ) ; +#5478 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5479 = AXIS2_PLACEMENT_3D ( 'NONE', #8500, #7524, #11378 ) ; +#5480 = EDGE_LOOP ( 'NONE', ( #6406, #9756, #2154, #6226 ) ) ; +#5481 = AXIS2_PLACEMENT_3D ( 'NONE', #11388, #449, #4553 ) ; +#5482 = ADVANCED_FACE ( 'NONE', ( #11103 ), #10068, .T. ) ; +#5483 = CIRCLE ( 'NONE', #1319, 2.800000000000836486 ) ; +#5484 = CARTESIAN_POINT ( 'NONE', ( -110.2530631040894775, -64.96605763575112746, 15.55016224672746006 ) ) ; +#5485 = EDGE_CURVE ( 'NONE', #12502, #4368, #88, .T. ) ; +#5486 = ADVANCED_FACE ( 'NONE', ( #5305 ), #11036, .T. ) ; +#5487 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.8660254037844353769, 0.5000000000000055511 ) ) ; +#5488 = CARTESIAN_POINT ( 'NONE', ( -82.82856908168551513, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5489 = CARTESIAN_POINT ( 'NONE', ( -90.15550846171311150, 13.89991557692050073, 10.00000000000000000 ) ) ; +#5490 = EDGE_LOOP ( 'NONE', ( #2085, #4504, #11218, #4100 ) ) ; +#5491 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5492 = AXIS2_PLACEMENT_3D ( 'NONE', #2241, #6991, #4126 ) ; +#5493 = VECTOR ( 'NONE', #8945, 1000.000000000000114 ) ; +#5494 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 11.25669049651277120 ) ) ; +#5495 = ORIENTED_EDGE ( 'NONE', *, *, #7279, .T. ) ; +#5496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5497 = VERTEX_POINT ( 'NONE', #1076 ) ; +#5498 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#5499 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -33.25000000000000000, 15.50019557898779610 ) ) ; +#5500 = CIRCLE ( 'NONE', #9025, 4.000000000000000000 ) ; +#5501 = ORIENTED_EDGE ( 'NONE', *, *, #10691, .F. ) ; +#5502 = CIRCLE ( 'NONE', #7359, 7.700000000002309442 ) ; +#5503 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -5.337610695313254343E-16 ) ) ; +#5504 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '\X2\6d4b8bd5\X0\2', ( #9323, #5282, #9461, #5115, #5359 ), #6820 ) ; +#5505 = LINE ( 'NONE', #9474, #2863 ) ; +#5506 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 0.7500238298461039399 ) ) ; +#5507 = ORIENTED_EDGE ( 'NONE', *, *, #11204, .F. ) ; +#5508 = PLANE ( 'NONE', #4726 ) ; +#5509 = VERTEX_POINT ( 'NONE', #7979 ) ; +#5510 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5511 = LINE ( 'NONE', #11497, #9826 ) ; +#5512 = ORIENTED_EDGE ( 'NONE', *, *, #9367, .T. ) ; +#5513 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, 3.000000000000002665 ) ) ; +#5514 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#5515 = EDGE_CURVE ( 'NONE', #6901, #6502, #12137, .T. ) ; +#5516 = VERTEX_POINT ( 'NONE', #7010 ) ; +#5517 = CIRCLE ( 'NONE', #12779, 0.8000000000000003775 ) ; +#5518 = CARTESIAN_POINT ( 'NONE', ( -108.6446942227240129, -64.96605763575112746, 2.950023829846315060 ) ) ; +#5519 = VERTEX_POINT ( 'NONE', #4143 ) ; +#5520 = CARTESIAN_POINT ( 'NONE', ( -90.15557767015388890, -13.89995144998309939, 10.00000000000000000 ) ) ; +#5521 = ADVANCED_FACE ( 'NONE', ( #178 ), #3236, .T. ) ; +#5522 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -17.44615242270660005, 1.000000000000000000 ) ) ; +#5523 = VERTEX_POINT ( 'NONE', #12071 ) ; +#5524 = VECTOR ( 'NONE', #10729, 1000.000000000000000 ) ; +#5525 = FACE_OUTER_BOUND ( 'NONE', #3358, .T. ) ; +#5526 = LINE ( 'NONE', #6569, #694 ) ; +#5527 = ORIENTED_EDGE ( 'NONE', *, *, #1177, .F. ) ; +#5528 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#5529 = ADVANCED_FACE ( 'NONE', ( #2062 ), #1173, .T. ) ; +#5530 = ORIENTED_EDGE ( 'NONE', *, *, #3542, .F. ) ; +#5531 = CARTESIAN_POINT ( 'NONE', ( -108.0539482490888190, -64.96605763575112746, 15.55016224672746361 ) ) ; +#5532 = VERTEX_POINT ( 'NONE', #234 ) ; +#5533 = VECTOR ( 'NONE', #6073, 1000.000000000000000 ) ; +#5534 = CARTESIAN_POINT ( 'NONE', ( -70.47820239988448066, -84.87102852990820168, 14.76002382984610328 ) ) ; +#5535 = VECTOR ( 'NONE', #8320, 1000.000000000000000 ) ; +#5536 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 3.740162246727669615 ) ) ; +#5537 = EDGE_CURVE ( 'NONE', #2013, #12178, #9999, .T. ) ; +#5538 = PLANE ( 'NONE', #12808 ) ; +#5539 = PLANE ( 'NONE', #11439 ) ; +#5540 = FACE_OUTER_BOUND ( 'NONE', #7421, .T. ) ; +#5541 = CARTESIAN_POINT ( 'NONE', ( -84.29168394360905836, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5542 = VERTEX_POINT ( 'NONE', #6613 ) ; +#5543 = AXIS2_PLACEMENT_3D ( 'NONE', #8953, #5185, #10676 ) ; +#5544 = CARTESIAN_POINT ( 'NONE', ( -85.38058931491413261, -59.01605763575113173, 34.36789668297793554 ) ) ; +#5545 = ORIENTED_EDGE ( 'NONE', *, *, #4508, .F. ) ; +#5546 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5547 = EDGE_CURVE ( 'NONE', #8272, #4258, #5628, .T. ) ; +#5548 = ORIENTED_EDGE ( 'NONE', *, *, #11722, .T. ) ; +#5549 = CARTESIAN_POINT ( 'NONE', ( -120.9820102205775640, -70.21433198080920590, 2.740162246727661177 ) ) ; +#5550 = ORIENTED_EDGE ( 'NONE', *, *, #5547, .T. ) ; +#5551 = VECTOR ( 'NONE', #11228, 1000.000000000000000 ) ; +#5552 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5554 = EDGE_CURVE ( 'NONE', #8490, #9420, #9535, .T. ) ; +#5553 = LINE ( 'NONE', #6459, #5671 ) ; +#5555 = LINE ( 'NONE', #6721, #10933 ) ; +#5556 = ORIENTED_EDGE ( 'NONE', *, *, #1547, .F. ) ; +#5557 = CARTESIAN_POINT ( 'NONE', ( -118.0853113438353148, -81.51930742448629985, 17.74016224672767095 ) ) ; +#5558 = CARTESIAN_POINT ( 'NONE', ( -85.38058931491413261, -65.01605763575113883, 34.36789668297793554 ) ) ; +#5559 = ORIENTED_EDGE ( 'NONE', *, *, #9369, .T. ) ; +#5560 = CARTESIAN_POINT ( 'NONE', ( -90.05052316422180070, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5561 = EDGE_CURVE ( 'NONE', #5669, #4580, #11777, .T. ) ; +#5562 = EDGE_CURVE ( 'NONE', #9347, #5509, #3487, .T. ) ; +#5563 = VERTEX_POINT ( 'NONE', #1460 ) ; +#5564 = EDGE_CURVE ( 'NONE', #10636, #1346, #12257, .T. ) ; +#5565 = FACE_OUTER_BOUND ( 'NONE', #1893, .T. ) ; +#5566 = EDGE_CURVE ( 'NONE', #4638, #4937, #11152, .T. ) ; +#5567 = LINE ( 'NONE', #3796, #5070 ) ; +#5568 = ORIENTED_EDGE ( 'NONE', *, *, #6245, .F. ) ; +#5569 = DIRECTION ( 'NONE', ( 2.026550380470326460E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#5570 = ADVANCED_FACE ( 'NONE', ( #7509 ), #6547, .F. ) ; +#5571 = CARTESIAN_POINT ( 'NONE', ( -84.29168394360905836, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5572 = LINE ( 'NONE', #4588, #8016 ) ; +#5573 = AXIS2_PLACEMENT_3D ( 'NONE', #11459, #593, #6642 ) ; +#5574 = ORIENTED_EDGE ( 'NONE', *, *, #11881, .F. ) ; +#5575 = CARTESIAN_POINT ( 'NONE', ( -89.82440448553688839, -59.01605763575113173, 29.96526618525379604 ) ) ; +#5576 = ORIENTED_EDGE ( 'NONE', *, *, #8900, .T. ) ; +#5577 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5578 = CARTESIAN_POINT ( 'NONE', ( -98.84698258422444894, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5579 = ORIENTED_EDGE ( 'NONE', *, *, #4203, .T. ) ; +#5580 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5581 = CARTESIAN_POINT ( 'NONE', ( -105.1055600609230964, -51.45000000000000284, -0.7499761701538951719 ) ) ; +#5582 = LINE ( 'NONE', #2403, #720 ) ; +#5583 = ORIENTED_EDGE ( 'NONE', *, *, #9069, .F. ) ; +#5584 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #8977, #6123, #1174, #2221 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 3.141592653589793116, 4.712388980384689674 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#5585 = FACE_OUTER_BOUND ( 'NONE', #5299, .T. ) ; +#5586 = CARTESIAN_POINT ( 'NONE', ( -83.29043172511211424, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5587 = CARTESIAN_POINT ( 'NONE', ( -109.0552004675857347, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5588 = VERTEX_POINT ( 'NONE', #4587 ) ; +#5589 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5590 = LINE ( 'NONE', #10604, #6301 ) ; +#5591 = ORIENTED_EDGE ( 'NONE', *, *, #1026, .T. ) ; +#5592 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#5593 = ORIENTED_EDGE ( 'NONE', *, *, #6025, .T. ) ; +#5594 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5595 = VERTEX_POINT ( 'NONE', #8543 ) ; +#5596 = CARTESIAN_POINT ( 'NONE', ( -65.94876421566694091, -77.38501729944563579, 15.76002382984610684 ) ) ; +#5597 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5598 = EDGE_CURVE ( 'NONE', #753, #3900, #3354, .T. ) ; +#5599 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5600 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -55.25000000000000711, -3.249976170153895172 ) ) ; +#5601 = LINE ( 'NONE', #9568, #6194 ) ; +#5602 = FACE_OUTER_BOUND ( 'NONE', #5180, .T. ) ; +#5603 = ORIENTED_EDGE ( 'NONE', *, *, #423, .T. ) ; +#5604 = CIRCLE ( 'NONE', #10808, 1.000000000000000888 ) ; +#5605 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#5606 = ORIENTED_EDGE ( 'NONE', *, *, #4807, .F. ) ; +#5607 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5608 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #1328, #5494, #12247, #2308 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.08688097306689814003, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#5609 = ORIENTED_EDGE ( 'NONE', *, *, #4570, .F. ) ; +#5610 = CARTESIAN_POINT ( 'NONE', ( -88.68991365361037538, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5611 = ORIENTED_EDGE ( 'NONE', *, *, #10156, .T. ) ; +#5612 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5613 = ADVANCED_FACE ( 'NONE', ( #10382 ), #7578, .F. ) ; +#5614 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5615 = FACE_OUTER_BOUND ( 'NONE', #7741, .T. ) ; +#5616 = ORIENTED_EDGE ( 'NONE', *, *, #5720, .T. ) ; +#5617 = PLANE ( 'NONE', #4314 ) ; +#5618 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -13.25000000000000178, 9.000000000000001776 ) ) ; +#5619 = ORIENTED_EDGE ( 'NONE', *, *, #7942, .F. ) ; +#5620 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#5621 = VERTEX_POINT ( 'NONE', #11557 ) ; +#5622 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 0.000000000000000000 ) ) ; +#5623 = EDGE_CURVE ( 'NONE', #9707, #10447, #2649, .T. ) ; +#5624 = FACE_OUTER_BOUND ( 'NONE', #12151, .T. ) ; +#5625 = ORIENTED_EDGE ( 'NONE', *, *, #1428, .F. ) ; +#5626 = CARTESIAN_POINT ( 'NONE', ( -79.46545513408021577, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5627 = EDGE_CURVE ( 'NONE', #4426, #404, #1659, .T. ) ; +#5628 = LINE ( 'NONE', #5571, #5335 ) ; +#5629 = CARTESIAN_POINT ( 'NONE', ( -98.52616851986171298, -59.01605763575113173, 41.06590383624336482 ) ) ; +#5630 = EDGE_CURVE ( 'NONE', #4960, #3945, #2855, .T. ) ; +#5631 = ORIENTED_EDGE ( 'NONE', *, *, #4195, .T. ) ; +#5632 = LINE ( 'NONE', #4659, #4095 ) ; +#5633 = ORIENTED_EDGE ( 'NONE', *, *, #3805, .F. ) ; +#5634 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#5635 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#5636 = ORIENTED_EDGE ( 'NONE', *, *, #4981, .F. ) ; +#5637 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5638 = LINE ( 'NONE', #5581, #6777 ) ; +#5639 = ADVANCED_FACE ( 'NONE', ( #7384 ), #11358, .T. ) ; +#5640 = VECTOR ( 'NONE', #934, 1000.000000000000000 ) ; +#5641 = CARTESIAN_POINT ( 'NONE', ( -116.6610205805317122, -84.33779583673232594, 17.74016224672767095 ) ) ; +#5642 = ORIENTED_EDGE ( 'NONE', *, *, #7682, .F. ) ; +#5643 = FACE_OUTER_BOUND ( 'NONE', #9095, .T. ) ; +#5644 = EDGE_CURVE ( 'NONE', #2381, #11908, #9397, .T. ) ; +#5645 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5646 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5647 = VERTEX_POINT ( 'NONE', #12393 ) ; +#5648 = AXIS2_PLACEMENT_3D ( 'NONE', #5345, #3391, #7356 ) ; +#5649 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5650 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#5651 = ORIENTED_EDGE ( 'NONE', *, *, #1580, .F. ) ; +#5652 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5653 = VERTEX_POINT ( 'NONE', #6474 ) ; +#5654 = CARTESIAN_POINT ( 'NONE', ( -108.0539482490888190, -64.96605763575112746, 15.55016224672746361 ) ) ; +#5655 = VERTEX_POINT ( 'NONE', #10444 ) ; +#5656 = CARTESIAN_POINT ( 'NONE', ( -66.21048109374000035, -80.75061317964690488, 15.76002382984610506 ) ) ; +#5657 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.544631851866820033E-16, 0.000000000000000000 ) ) ; +#5658 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#5659 = CARTESIAN_POINT ( 'NONE', ( -66.97873434215607347, -66.91580510405695748, 14.76002382984610861 ) ) ; +#5660 = CARTESIAN_POINT ( 'NONE', ( -89.88777629011410397, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5661 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260590E-15 ) ) ; +#5662 = AXIS2_PLACEMENT_3D ( 'NONE', #1753, #10406, #8446 ) ; +#5663 = ORIENTED_EDGE ( 'NONE', *, *, #10872, .T. ) ; +#5664 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 1.000000000000000000 ) ) ; +#5665 = ORIENTED_EDGE ( 'NONE', *, *, #11916, .T. ) ; +#5666 = CARTESIAN_POINT ( 'NONE', ( -82.25531596271609658, -64.96605763575112746, 2.950023829846315948 ) ) ; +#5667 = ORIENTED_EDGE ( 'NONE', *, *, #9611, .F. ) ; +#5668 = LINE ( 'NONE', #9646, #10264 ) ; +#5669 = VERTEX_POINT ( 'NONE', #11487 ) ; +#5670 = EDGE_CURVE ( 'NONE', #7819, #8660, #5505, .T. ) ; +#5671 = VECTOR ( 'NONE', #1583, 1000.000000000000000 ) ; +#5672 = CARTESIAN_POINT ( 'NONE', ( -88.68991365361037538, -58.46605763575112746, 15.55016224672746183 ) ) ; +#5673 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5674 = LINE ( 'NONE', #6531, #8231 ) ; +#5675 = EDGE_LOOP ( 'NONE', ( #11179, #2234, #7615, #7408 ) ) ; +#5676 = CARTESIAN_POINT ( 'NONE', ( -115.8366999741709549, -83.65247605366693051, 17.74016224672767450 ) ) ; +#5677 = CIRCLE ( 'NONE', #73, 2.800000000000836486 ) ; +#5678 = CARTESIAN_POINT ( 'NONE', ( -98.05962619258242796, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5679 = AXIS2_PLACEMENT_3D ( 'NONE', #7719, #5838, #7910 ) ; +#5680 = VERTEX_POINT ( 'NONE', #4527 ) ; +#5681 = CARTESIAN_POINT ( 'NONE', ( -99.42023570319385328, -58.46605763575112746, 2.950023829846314172 ) ) ; +#5682 = CIRCLE ( 'NONE', #1337, 2.800000000000843592 ) ; +#5683 = ORIENTED_EDGE ( 'NONE', *, *, #10191, .T. ) ; +#5684 = AXIS2_PLACEMENT_3D ( 'NONE', #887, #4075, #39 ) ; +#5685 = LINE ( 'NONE', #9392, #6937 ) ; +#5686 = EDGE_CURVE ( 'NONE', #8802, #7158, #8484, .T. ) ; +#5687 = AXIS2_PLACEMENT_3D ( 'NONE', #7761, #6859, #3087 ) ; +#5688 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260590E-15 ) ) ; +#5689 = AXIS2_PLACEMENT_3D ( 'NONE', #5770, #4918, #3875 ) ; +#5690 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5691 = VECTOR ( 'NONE', #3530, 1000.000000000000000 ) ; +#5692 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 17.74016224672767095 ) ) ; +#5693 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#5694 = VECTOR ( 'NONE', #2466, 1000.000000000000000 ) ; +#5695 = ORIENTED_EDGE ( 'NONE', *, *, #1713, .F. ) ; +#5696 = CARTESIAN_POINT ( 'NONE', ( -83.86368484408154700, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5697 = EDGE_CURVE ( 'NONE', #10909, #2831, #8678, .T. ) ; +#5698 = ORIENTED_EDGE ( 'NONE', *, *, #5940, .T. ) ; +#5700 = VECTOR ( 'NONE', #4209, 1000.000000000000000 ) ; +#5699 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5701 = LINE ( 'NONE', #12523, #1089 ) ; +#5702 = VERTEX_POINT ( 'NONE', #9595 ) ; +#5703 = PLANE ( 'NONE', #4219 ) ; +#5704 = DIRECTION ( 'NONE', ( 0.3420201433256614409, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#5705 = CIRCLE ( 'NONE', #11109, 1.000000000000000888 ) ; +#5706 = EDGE_CURVE ( 'NONE', #6006, #9150, #7643, .T. ) ; +#5707 = VECTOR ( 'NONE', #11483, 1000.000000000000000 ) ; +#5708 = CARTESIAN_POINT ( 'NONE', ( -118.4532863371211135, -82.70338415708313562, 16.74016224672706699 ) ) ; +#5709 = EDGE_LOOP ( 'NONE', ( #2988, #2767, #7896, #10807 ) ) ; +#5710 = VECTOR ( 'NONE', #4783, 1000.000000000000114 ) ; +#5711 = CARTESIAN_POINT ( 'NONE', ( -106.4455793677233686, -58.46605763575112746, 2.950023829846315060 ) ) ; +#5712 = CARTESIAN_POINT ( 'NONE', ( -66.06935124971836615, -77.77440506515691254, 0.7600238298461009512 ) ) ; +#5713 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -65.96605763575112746, 17.74016224672767095 ) ) ; +#5714 = ORIENTED_EDGE ( 'NONE', *, *, #10551, .F. ) ; +#5715 = EDGE_CURVE ( 'NONE', #6029, #4487, #10769, .T. ) ; +#5716 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 10.05002382984610421 ) ) ; +#5717 = CARTESIAN_POINT ( 'NONE', ( -118.5637990775981905, -80.74978553124721259, 2.740162246727666506 ) ) ; +#5718 = ORIENTED_EDGE ( 'NONE', *, *, #11433, .T. ) ; +#5719 = CARTESIAN_POINT ( 'NONE', ( -105.4443271492264103, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5720 = EDGE_CURVE ( 'NONE', #11415, #9347, #1792, .T. ) ; +#5721 = EDGE_CURVE ( 'NONE', #2203, #4311, #7893, .T. ) ; +#5722 = ORIENTED_EDGE ( 'NONE', *, *, #11426, .T. ) ; +#5723 = EDGE_CURVE ( 'NONE', #9370, #12597, #748, .T. ) ; +#5724 = EDGE_CURVE ( 'NONE', #356, #3803, #6668, .T. ) ; +#5725 = AXIS2_PLACEMENT_3D ( 'NONE', #9607, #4666, #7716 ) ; +#5726 = DIRECTION ( 'NONE', ( -2.026550380470260590E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5727 = ORIENTED_EDGE ( 'NONE', *, *, #5969, .T. ) ; +#5728 = CARTESIAN_POINT ( 'NONE', ( -63.93427223917110069, -70.58216493585025830, 15.76002382984640526 ) ) ; +#5729 = LINE ( 'NONE', #9701, #6138 ) ; +#5730 = CIRCLE ( 'NONE', #5941, 2.800000000000843592 ) ; +#5731 = FACE_OUTER_BOUND ( 'NONE', #8760, .T. ) ; +#5732 = LINE ( 'NONE', #11395, #6244 ) ; +#5733 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -26.25000000000000355, 3.000000000000004441 ) ) ; +#5734 = CARTESIAN_POINT ( 'NONE', ( -97.69578179446273225, -65.01605763575113883, 39.62736889345652713 ) ) ; +#5735 = ORIENTED_EDGE ( 'NONE', *, *, #8407, .F. ) ; +#5736 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5737 = ORIENTED_EDGE ( 'NONE', *, *, #3394, .T. ) ; +#5738 = CARTESIAN_POINT ( 'NONE', ( -81.09131687011145573, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5739 = VECTOR ( 'NONE', #10830, 1000.000000000000000 ) ; +#5740 = ORIENTED_EDGE ( 'NONE', *, *, #11801, .F. ) ; +#5741 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -24.68297142738792616, -2.249976170153895172 ) ) ; +#5742 = EDGE_CURVE ( 'NONE', #8357, #10081, #7768, .T. ) ; +#5743 = ORIENTED_EDGE ( 'NONE', *, *, #7038, .F. ) ; +#5744 = ADVANCED_FACE ( 'NONE', ( #3739 ), #8612, .F. ) ; +#5745 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5746 = CARTESIAN_POINT ( 'NONE', ( -109.0552004675857347, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5747 = VECTOR ( 'NONE', #1214, 1000.000000000000000 ) ; +#5748 = AXIS2_PLACEMENT_3D ( 'NONE', #3268, #10221, #700 ) ; +#5749 = ORIENTED_EDGE ( 'NONE', *, *, #3797, .T. ) ; +#5750 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416525, -71.35208966128791985, 17.74016224672766384 ) ) ; +#5751 = FACE_OUTER_BOUND ( 'NONE', #1725, .T. ) ; +#5752 = ORIENTED_EDGE ( 'NONE', *, *, #3469, .T. ) ; +#5753 = LINE ( 'NONE', #4903, #11805 ) ; +#5754 = VERTEX_POINT ( 'NONE', #12777 ) ; +#5755 = EDGE_CURVE ( 'NONE', #12222, #4562, #576, .T. ) ; +#5756 = CARTESIAN_POINT ( 'NONE', ( -116.2954688354009249, -84.54767695139280193, 2.740162246729439310 ) ) ; +#5757 = ORIENTED_EDGE ( 'NONE', *, *, #7767, .T. ) ; +#5758 = AXIS2_PLACEMENT_3D ( 'NONE', #629, #3556, #5774 ) ; +#5759 = AXIS2_PLACEMENT_3D ( 'NONE', #8355, #7319, #9401 ) ; +#5760 = SPHERICAL_SURFACE ( 'NONE', #6753, 1.000000000000000000 ) ; +#5761 = DIRECTION ( 'NONE', ( -0.3420201433256614409, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#5762 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5763 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -68.96605763575114167, 14.25016224672766896 ) ) ; +#5764 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#5765 = ORIENTED_EDGE ( 'NONE', *, *, #2377, .T. ) ; +#5766 = CARTESIAN_POINT ( 'NONE', ( -106.8560856125850762, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5767 = EDGE_CURVE ( 'NONE', #1022, #7714, #7704, .T. ) ; +#5768 = VECTOR ( 'NONE', #11474, 1000.000000000000000 ) ; +#5769 = ORIENTED_EDGE ( 'NONE', *, *, #3649, .T. ) ; +#5770 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5771 = CARTESIAN_POINT ( 'NONE', ( -96.26563260289121615, -65.01605763575113883, 40.90242380761317520 ) ) ; +#5772 = ORIENTED_EDGE ( 'NONE', *, *, #9287, .T. ) ; +#5773 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5774 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5775 = CARTESIAN_POINT ( 'NONE', ( -118.2050024678825366, -83.00290838632702162, 17.74016224673067299 ) ) ; +#5776 = EDGE_LOOP ( 'NONE', ( #8924, #8134, #5474, #6230 ) ) ; +#5777 = CIRCLE ( 'NONE', #10138, 2.800000000000843592 ) ; +#5778 = CARTESIAN_POINT ( 'NONE', ( -107.0188324866927729, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5779 = VECTOR ( 'NONE', #12768, 1000.000000000000000 ) ; +#5780 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#5781 = LINE ( 'NONE', #3633, #10307 ) ; +#5782 = ORIENTED_EDGE ( 'NONE', *, *, #8023, .T. ) ; +#5783 = EDGE_CURVE ( 'NONE', #1091, #4952, #3870, .T. ) ; +#5784 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#5785 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5786 = ORIENTED_EDGE ( 'NONE', *, *, #11128, .T. ) ; +#5787 = VECTOR ( 'NONE', #3584, 1000.000000000000000 ) ; +#5788 = CARTESIAN_POINT ( 'NONE', ( -76.23122451668353960, -58.46605763575112746, 1.375023829845842149 ) ) ; +#5789 = ORIENTED_EDGE ( 'NONE', *, *, #1464, .F. ) ; +#5790 = CARTESIAN_POINT ( 'NONE', ( -91.62502850168816337, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5791 = VERTEX_POINT ( 'NONE', #5763 ) ; +#5792 = EDGE_CURVE ( 'NONE', #3862, #11745, #365, .T. ) ; +#5793 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#5794 = LINE ( 'NONE', #3766, #3023 ) ; +#5795 = CIRCLE ( 'NONE', #3921, 1.000000000000000888 ) ; +#5796 = EDGE_CURVE ( 'NONE', #3048, #6917, #4111, .T. ) ; +#5797 = EDGE_CURVE ( 'NONE', #4979, #1815, #4913, .T. ) ; +#5798 = EDGE_CURVE ( 'NONE', #2222, #12301, #5353, .T. ) ; +#5799 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5800 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -69.96605763575112746, 0.7600238298461047259 ) ) ; +#5801 = ORIENTED_EDGE ( 'NONE', *, *, #9693, .F. ) ; +#5802 = CARTESIAN_POINT ( 'NONE', ( -71.98255269134165246, -58.46605763575112746, 18.25016224672766896 ) ) ; +#5803 = ORIENTED_EDGE ( 'NONE', *, *, #7577, .T. ) ; +#5804 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#5805 = ORIENTED_EDGE ( 'NONE', *, *, #8253, .T. ) ; +#5806 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -26.25000000000000355, 19.25002382984610705 ) ) ; +#5807 = EDGE_LOOP ( 'NONE', ( #11665, #792, #3194, #5631 ) ) ; +#5808 = EDGE_CURVE ( 'NONE', #2614, #2712, #877, .T. ) ; +#5809 = CARTESIAN_POINT ( 'NONE', ( -92.60499278285990954, -59.01605763575113173, 41.86405317859909303 ) ) ; +#5810 = ADVANCED_FACE ( 'NONE', ( #11809, #10896, #6865, #1988 ), #10829, .T. ) ; +#5811 = EDGE_LOOP ( 'NONE', ( #10870, #6050, #3528, #3540 ) ) ; +#5812 = FACE_OUTER_BOUND ( 'NONE', #9299, .T. ) ; +#5813 = CIRCLE ( 'NONE', #6220, 2.800000000000829381 ) ; +#5814 = ORIENTED_EDGE ( 'NONE', *, *, #12401, .T. ) ; +#5815 = CARTESIAN_POINT ( 'NONE', ( -89.88777629011410397, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5816 = CARTESIAN_POINT ( 'NONE', ( -111.8789248401206891, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5817 = ORIENTED_EDGE ( 'NONE', *, *, #4266, .F. ) ; +#5818 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -23.18297142738790839, -2.848052381507200970 ) ) ; +#5819 = ORIENTED_EDGE ( 'NONE', *, *, #3, .T. ) ; +#5820 = CARTESIAN_POINT ( 'NONE', ( -116.2954688304197930, -84.54767693811312768, 3.740162246727749107 ) ) ; +#5821 = ORIENTED_EDGE ( 'NONE', *, *, #12423, .T. ) ; +#5822 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, 3.000000000000004441 ) ) ; +#5823 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5824 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5825 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5826 = ORIENTED_EDGE ( 'NONE', *, *, #4498, .T. ) ; +#5827 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#5828 = ORIENTED_EDGE ( 'NONE', *, *, #11475, .T. ) ; +#5829 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5830 = AXIS2_PLACEMENT_3D ( 'NONE', #3776, #4090, #12021 ) ; +#5831 = LINE ( 'NONE', #1995, #11489 ) ; +#5832 = ORIENTED_EDGE ( 'NONE', *, *, #1354, .T. ) ; +#5833 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, 2.000000000000002665 ) ) ; +#5834 = CARTESIAN_POINT ( 'NONE', ( -79.46545513408021577, -64.96605763575112746, 15.55016224672746183 ) ) ; +#5835 = CARTESIAN_POINT ( 'NONE', ( -120.2208094514486589, -76.44160863474479584, 17.74016224672766384 ) ) ; +#5836 = EDGE_LOOP ( 'NONE', ( #9605, #4857, #810, #2355, #4051, #6390 ) ) ; +#5837 = EDGE_CURVE ( 'NONE', #3299, #12791, #3031, .T. ) ; +#5838 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256614409 ) ) ; +#5839 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, 0.000000000000000000, 10.00000000000000000 ) ) ; +#5840 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 32.08298056549219268 ) ) ; +#5841 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #12214, #12087, #10086, #1160, #5194, #9161, #8181, #7268, #9103, #7151 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 4 ), + ( -7.468823404499844465E-06, 0.0004012366533590556788, 0.0008099421301226112724, 0.001218647606886166758, 0.001627353083649722351 ), + .UNSPECIFIED. ) ; +#5842 = ORIENTED_EDGE ( 'NONE', *, *, #5723, .T. ) ; +#5843 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 0.01002382984610292183 ) ) ; +#5844 = AXIS2_PLACEMENT_3D ( 'NONE', #7005, #2056, #6020 ) ; +#5845 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551134, -69.25895085456457423, 2.740162246727671391 ) ) ; +#5846 = EDGE_LOOP ( 'NONE', ( #5116, #8716, #11860, #6320 ) ) ; +#5847 = CIRCLE ( 'NONE', #8532, 0.8000000000000003775 ) ; +#5848 = CARTESIAN_POINT ( 'NONE', ( -90.73283108516211826, -59.01605763575113173, 30.04368942404332898 ) ) ; +#5849 = EDGE_LOOP ( 'NONE', ( #10545, #10608, #1348, #3754 ) ) ; +#5850 = CARTESIAN_POINT ( 'NONE', ( -87.63970645294536155, -65.01605763575113883, 41.32074430724686920 ) ) ; +#5851 = EDGE_LOOP ( 'NONE', ( #10260, #11087, #9696, #10024 ) ) ; +#5852 = ADVANCED_FACE ( 'NONE', ( #2176 ), #6144, .T. ) ; +#5853 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -69.86644213680254722, 15.76002382984609618 ) ) ; +#5854 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#5855 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#5856 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#5857 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5858 = ADVANCED_FACE ( 'NONE', ( #7960 ), #5222, .T. ) ; +#5859 = ORIENTED_EDGE ( 'NONE', *, *, #2535, .T. ) ; +#5860 = LINE ( 'NONE', #9831, #10858 ) ; +#5861 = ORIENTED_EDGE ( 'NONE', *, *, #5230, .T. ) ; +#5862 = VECTOR ( 'NONE', #2885, 1000.000000000000000 ) ; +#5863 = ORIENTED_EDGE ( 'NONE', *, *, #8330, .F. ) ; +#5864 = CARTESIAN_POINT ( 'NONE', ( -97.69578179446270383, -65.01605763575113883, 31.87281718311721335 ) ) ; +#5865 = EDGE_CURVE ( 'NONE', #1714, #11970, #11153, .T. ) ; +#5866 = ORIENTED_EDGE ( 'NONE', *, *, #10739, .T. ) ; +#5867 = ADVANCED_FACE ( 'NONE', ( #6994 ), #1199, .F. ) ; +#5868 = LINE ( 'NONE', #9116, #3219 ) ; +#5869 = ORIENTED_EDGE ( 'NONE', *, *, #9450, .T. ) ; +#5870 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5871 = AXIS2_PLACEMENT_3D ( 'NONE', #12280, #7343, #11386 ) ; +#5872 = EDGE_LOOP ( 'NONE', ( #4468, #5947, #6618, #8792 ) ) ; +#5873 = CARTESIAN_POINT ( 'NONE', ( -91.62502850168816337, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5874 = EDGE_CURVE ( 'NONE', #9496, #5144, #9133, .T. ) ; +#5875 = LINE ( 'NONE', #11074, #11044 ) ; +#5876 = VERTEX_POINT ( 'NONE', #7244 ) ; +#5877 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5878 = ORIENTED_EDGE ( 'NONE', *, *, #11351, .F. ) ; +#5879 = LINE ( 'NONE', #938, #82 ) ; +#5880 = EDGE_CURVE ( 'NONE', #6383, #8207, #1005, .T. ) ; +#5881 = ORIENTED_EDGE ( 'NONE', *, *, #3258, .F. ) ; +#5882 = VECTOR ( 'NONE', #8553, 1000.000000000000114 ) ; +#5883 = ADVANCED_FACE ( 'NONE', ( #217 ), #3092, .F. ) ; +#5884 = CARTESIAN_POINT ( 'NONE', ( -86.84155711058957650, -65.01605763575113883, 35.39956857024507286 ) ) ; +#5885 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5886 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -65.01605763575113883, 34.88298056549302828 ) ) ; +#5887 = LINE ( 'NONE', #8936, #8641 ) ; +#5888 = AXIS2_PLACEMENT_3D ( 'NONE', #9925, #12118, #7052 ) ; +#5889 = EDGE_LOOP ( 'NONE', ( #2001, #6504, #11019, #4577 ) ) ; +#5890 = LINE ( 'NONE', #3873, #9498 ) ; +#5891 = CIRCLE ( 'NONE', #1134, 2.800000000000836486 ) ; +#5892 = CIRCLE ( 'NONE', #12533, 2.800000000000843592 ) ; +#5893 = ORIENTED_EDGE ( 'NONE', *, *, #621, .F. ) ; +#5894 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5895 = CARTESIAN_POINT ( 'NONE', ( -95.86051133758178366, -64.96605763575112746, 17.12516224672793541 ) ) ; +#5896 = ORIENTED_EDGE ( 'NONE', *, *, #8524, .T. ) ; +#5897 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#5898 = LINE ( 'NONE', #10969, #11496 ) ; +#5899 = CARTESIAN_POINT ( 'NONE', ( -119.6813866203176389, -80.78749888804705392, 16.74016224672646658 ) ) ; +#5900 = CIRCLE ( 'NONE', #76, 6.124000000001832866 ) ; +#5901 = ORIENTED_EDGE ( 'NONE', *, *, #11121, .F. ) ; +#5902 = CIRCLE ( 'NONE', #6102, 1.000000000000000000 ) ; +#5903 = CARTESIAN_POINT ( 'NONE', ( -103.6557185390874736, -64.96605763575112746, 15.55016224672746006 ) ) ; +#5904 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -83.96605763575112746, 0.7600238298461039488 ) ) ; +#5905 = LINE ( 'NONE', #10913, #4692 ) ; +#5906 = ORIENTED_EDGE ( 'NONE', *, *, #7154, .T. ) ; +#5907 = CYLINDRICAL_SURFACE ( 'NONE', #7159, 6.124000000001832866 ) ; +#5908 = AXIS2_PLACEMENT_3D ( 'NONE', #1920, #9791, #875 ) ; +#5909 = CARTESIAN_POINT ( 'NONE', ( -120.5317599576031000, -75.04482460637326824, 2.740162246727674500 ) ) ; +#5910 = EDGE_CURVE ( 'NONE', #12798, #5302, #2048, .T. ) ; +#5911 = VECTOR ( 'NONE', #1208, 1000.000000000000000 ) ; +#5912 = ORIENTED_EDGE ( 'NONE', *, *, #8109, .T. ) ; +#5913 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#5914 = ORIENTED_EDGE ( 'NONE', *, *, #3053, .F. ) ; +#5915 = AXIS2_PLACEMENT_3D ( 'NONE', #10935, #9770, #8976 ) ; +#5916 = EDGE_CURVE ( 'NONE', #8668, #3257, #11936, .T. ) ; +#5917 = FACE_OUTER_BOUND ( 'NONE', #10950, .T. ) ; +#5918 = ORIENTED_EDGE ( 'NONE', *, *, #12027, .F. ) ; +#5919 = CARTESIAN_POINT ( 'NONE', ( -96.83279310607144907, -59.01605763575113173, 40.49035758184781031 ) ) ; +#5920 = CIRCLE ( 'NONE', #4225, 7.700000000002305889 ) ; +#5921 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5922 = CIRCLE ( 'NONE', #10910, 2.800000000000836486 ) ; +#5923 = CARTESIAN_POINT ( 'NONE', ( -120.5683391289685744, -69.96605763575111325, 2.740162246727670503 ) ) ; +#5924 = LINE ( 'NONE', #3907, #997 ) ; +#5925 = CARTESIAN_POINT ( 'NONE', ( -76.69308716011013871, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5926 = ADVANCED_FACE ( 'NONE', ( #10957 ), #4065, .T. ) ; +#5927 = ORIENTED_EDGE ( 'NONE', *, *, #11828, .T. ) ; +#5928 = LINE ( 'NONE', #11844, #5862 ) ; +#5929 = ORIENTED_EDGE ( 'NONE', *, *, #10341, .F. ) ; +#5930 = VERTEX_POINT ( 'NONE', #4129 ) ; +#5931 = CARTESIAN_POINT ( 'NONE', ( -66.73188787734855509, -79.55342504312595509, 15.76002382984610328 ) ) ; +#5932 = VERTEX_POINT ( 'NONE', #8146 ) ; +#5933 = CIRCLE ( 'NONE', #322, 6.124000000001832866 ) ; +#5934 = EDGE_CURVE ( 'NONE', #7506, #12819, #7127, .T. ) ; +#5935 = CYLINDRICAL_SURFACE ( 'NONE', #5113, 2.800000000000843592 ) ; +#5936 = VERTEX_POINT ( 'NONE', #8029 ) ; +#5937 = LINE ( 'NONE', #6791, #11352 ) ; +#5938 = EDGE_LOOP ( 'NONE', ( #20, #5714, #11245, #5250 ) ) ; +#5939 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#5940 = EDGE_CURVE ( 'NONE', #3196, #11826, #11998, .T. ) ; +#5941 = AXIS2_PLACEMENT_3D ( 'NONE', #8561, #9552, #8695 ) ; +#5942 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5943 = VERTEX_POINT ( 'NONE', #12054 ) ; +#5944 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5945 = ORIENTED_EDGE ( 'NONE', *, *, #2150, .T. ) ; +#5946 = CARTESIAN_POINT ( 'NONE', ( -98.05962619258242796, -58.46605763575112746, 17.12516224672793541 ) ) ; +#5947 = ORIENTED_EDGE ( 'NONE', *, *, #1019, .F. ) ; +#5948 = ADVANCED_FACE ( 'NONE', ( #7112 ), #2242, .T. ) ; +#5949 = VECTOR ( 'NONE', #10124, 1000.000000000000000 ) ; +#5950 = FACE_OUTER_BOUND ( 'NONE', #1029, .T. ) ; +#5951 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, -2.249976170153895172 ) ) ; +#5952 = AXIS2_PLACEMENT_3D ( 'NONE', #4675, #5645, #8628 ) ; +#5953 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#5954 = FACE_OUTER_BOUND ( 'NONE', #4167, .T. ) ; +#5955 = ORIENTED_EDGE ( 'NONE', *, *, #590, .T. ) ; +#5956 = FACE_OUTER_BOUND ( 'NONE', #9302, .T. ) ; +#5957 = ADVANCED_FACE ( 'NONE', ( #1132 ), #11085, .T. ) ; +#5958 = EDGE_CURVE ( 'NONE', #1448, #10714, #9381, .T. ) ; +#5959 = FACE_OUTER_BOUND ( 'NONE', #4973, .T. ) ; +#5960 = FACE_OUTER_BOUND ( 'NONE', #2352, .T. ) ; +#5961 = EDGE_CURVE ( 'NONE', #5876, #11832, #1513, .T. ) ; +#5962 = EDGE_CURVE ( 'NONE', #11298, #8124, #4223, .T. ) ; +#5963 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5964 = VECTOR ( 'NONE', #5467, 1000.000000000000000 ) ; +#5965 = ORIENTED_EDGE ( 'NONE', *, *, #8180, .F. ) ; +#5966 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#5967 = LINE ( 'NONE', #4982, #5493 ) ; +#5968 = ORIENTED_EDGE ( 'NONE', *, *, #8692, .F. ) ; +#5969 = EDGE_CURVE ( 'NONE', #9347, #10390, #6460, .T. ) ; +#5970 = LINE ( 'NONE', #1018, #1529 ) ; +#5971 = CARTESIAN_POINT ( 'NONE', ( -106.0175802681958572, -64.96605763575112746, 2.950023829846315060 ) ) ; +#5972 = FACE_OUTER_BOUND ( 'NONE', #12210, .T. ) ; +#5973 = VECTOR ( 'NONE', #1347, 1000.000000000000114 ) ; +#5974 = ORIENTED_EDGE ( 'NONE', *, *, #1581, .T. ) ; +#5975 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -63.46605763575112746, 15.25016224672767073 ) ) ; +#5976 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191058, -84.96605763575112746, 16.51002382984610506 ) ) ; +#5977 = FACE_OUTER_BOUND ( 'NONE', #11736, .T. ) ; +#5978 = ORIENTED_EDGE ( 'NONE', *, *, #8335, .T. ) ; +#5979 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -15.48606797749978803, 3.000000000000002665 ) ) ; +#5980 = VECTOR ( 'NONE', #4189, 1000.000000000000000 ) ; +#5981 = ORIENTED_EDGE ( 'NONE', *, *, #6583, .F. ) ; +#5982 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#5983 = ORIENTED_EDGE ( 'NONE', *, *, #5320, .T. ) ; +#5984 = CARTESIAN_POINT ( 'NONE', ( -64.95508577745823686, -71.25473018635629785, 15.76002382984609618 ) ) ; +#5985 = DIRECTION ( 'NONE', ( 0.9396926207859108704, 0.000000000000000000, -0.3420201433256618295 ) ) ; +#5986 = CC_DESIGN_APPROVAL ( #302, ( #11034 ) ) ; +#5987 = CARTESIAN_POINT ( 'NONE', ( -74.03210966168288110, -64.96605763575112746, 1.375023829845842149 ) ) ; +#5988 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#5989 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 9.000000000000001776 ) ) ; +#5990 = ORIENTED_EDGE ( 'NONE', *, *, #3576, .T. ) ; +#5991 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -29.25000000000000000, 18.75002382984610705 ) ) ; +#5992 = ORIENTED_EDGE ( 'NONE', *, *, #7336, .F. ) ; +#5993 = CARTESIAN_POINT ( 'NONE', ( -68.29870151913098653, -82.15120948102726572, 15.76002382984611039 ) ) ; +#5994 = ORIENTED_EDGE ( 'NONE', *, *, #5767, .T. ) ; +#5995 = LINE ( 'NONE', #8009, #8788 ) ; +#5996 = EDGE_CURVE ( 'NONE', #8691, #12785, #6335, .T. ) ; +#5997 = CARTESIAN_POINT ( 'NONE', ( -93.25089023771940333, -64.96605763575112746, 2.950023829846315060 ) ) ; +#5998 = ORIENTED_EDGE ( 'NONE', *, *, #2471, .T. ) ; +#5999 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6000 = ORIENTED_EDGE ( 'NONE', *, *, #9213, .T. ) ; +#6001 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6002 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6003 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6004 = ORIENTED_EDGE ( 'NONE', *, *, #31, .F. ) ; +#6005 = CARTESIAN_POINT ( 'NONE', ( -75.65797139771410684, -58.46605763575112746, 2.950023829846315948 ) ) ; +#6006 = VERTEX_POINT ( 'NONE', #7366 ) ; +#6007 = EDGE_CURVE ( 'NONE', #8870, #9251, #3532, .T. ) ; +#6008 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -59.46605763575112746, 15.25016224672767073 ) ) ; +#6009 = FACE_OUTER_BOUND ( 'NONE', #9553, .T. ) ; +#6010 = VECTOR ( 'NONE', #1123, 1000.000000000000000 ) ; +#6011 = CARTESIAN_POINT ( 'NONE', ( -98.22237306669012469, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6012 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#6013 = ORIENTED_EDGE ( 'NONE', *, *, #10054, .T. ) ; +#6014 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#6015 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6016 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6017 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6018 = EDGE_CURVE ( 'NONE', #1650, #10519, #7300, .T. ) ; +#6019 = EDGE_LOOP ( 'NONE', ( #8157, #4113, #3088, #9950 ) ) ; +#6020 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260590E-15 ) ) ; +#6021 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#6022 = ORIENTED_EDGE ( 'NONE', *, *, #1900, .T. ) ; +#6023 = EDGE_CURVE ( 'NONE', #808, #7022, #473, .T. ) ; +#6024 = CARTESIAN_POINT ( 'NONE', ( -94.51146625773714050, -65.01605763575113883, 29.82705338890494673 ) ) ; +#6025 = EDGE_CURVE ( 'NONE', #4354, #7476, #3339, .T. ) ; +#6026 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -63.46605763575112746, 15.25016224672767073 ) ) ; +#6027 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6028 = VECTOR ( 'NONE', #976, 1000.000000000000000 ) ; +#6029 = VERTEX_POINT ( 'NONE', #4512 ) ; +#6030 = LINE ( 'NONE', #4989, #12183 ) ; +#6031 = LINE ( 'NONE', #2070, #8595 ) ; +#6032 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -64.96605763575112746, 1.760023829846104837 ) ) ; +#6033 = EDGE_CURVE ( 'NONE', #9867, #6649, #11271, .T. ) ; +#6034 = VERTEX_POINT ( 'NONE', #8470 ) ; +#6035 = LINE ( 'NONE', #11959, #4634 ) ; +#6036 = FACE_OUTER_BOUND ( 'NONE', #6242, .T. ) ; +#6037 = VERTEX_POINT ( 'NONE', #4377 ) ; +#6038 = LINE ( 'NONE', #8115, #8801 ) ; +#6039 = ORIENTED_EDGE ( 'NONE', *, *, #8468, .T. ) ; +#6040 = EDGE_CURVE ( 'NONE', #9251, #6996, #12439, .T. ) ; +#6041 = DIRECTION ( 'NONE', ( -0.7071067811865493491, -0.7071067811865455743, 0.000000000000000000 ) ) ; +#6042 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 9.250093038286888003 ) ) ; +#6043 = VECTOR ( 'NONE', #5589, 1000.000000000000000 ) ; +#6044 = AXIS2_PLACEMENT_3D ( 'NONE', #9528, #6467, #3477 ) ; +#6045 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -65.01605763575113883, 38.20009303828682334 ) ) ; +#6046 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6047 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6048 = ORIENTED_EDGE ( 'NONE', *, *, #10177, .T. ) ; +#6049 = CARTESIAN_POINT ( 'NONE', ( -89.88777629011410397, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6050 = ORIENTED_EDGE ( 'NONE', *, *, #2875, .F. ) ; +#6051 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 10.00000000000000000 ) ) ; +#6052 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 12.49999982601869775, 0.9999999999999991118 ) ) ; +#6053 = ORIENTED_EDGE ( 'NONE', *, *, #4968, .T. ) ; +#6054 = VECTOR ( 'NONE', #1050, 1000.000000000000000 ) ; +#6055 = CARTESIAN_POINT ( 'NONE', ( -82.09256908860837143, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6056 = LINE ( 'NONE', #11980, #1131 ) ; +#6057 = ORIENTED_EDGE ( 'NONE', *, *, #1784, .T. ) ; +#6058 = CARTESIAN_POINT ( 'NONE', ( -70.07433452338881352, -83.65247606095620370, 0.7600238298460970654 ) ) ; +#6059 = ORIENTED_EDGE ( 'NONE', *, *, #3169, .F. ) ; +#6060 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6061 = VECTOR ( 'NONE', #12295, 1000.000000000000000 ) ; +#6062 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6063 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6064 = EDGE_CURVE ( 'NONE', #12673, #269, #8337, .T. ) ; +#6065 = ORIENTED_EDGE ( 'NONE', *, *, #4647, .F. ) ; +#6066 = CARTESIAN_POINT ( 'NONE', ( -118.9304629676725682, -82.05627176827586311, 2.740162246727677164 ) ) ; +#6067 = ORIENTED_EDGE ( 'NONE', *, *, #6703, .T. ) ; +#6068 = VECTOR ( 'NONE', #51, 1000.000000000000000 ) ; +#6069 = ADVANCED_FACE ( 'NONE', ( #1322 ), #9259, .F. ) ; +#6070 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -26.25000000000000355, 3.000000000000002665 ) ) ; +#6071 = CARTESIAN_POINT ( 'NONE', ( -93.82262972369558440, -59.01605763575113173, 29.22964789792037266 ) ) ; +#6072 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#6073 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6074 = ORIENTED_EDGE ( 'NONE', *, *, #12203, .T. ) ; +#6075 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#6076 = AXIS2_PLACEMENT_3D ( 'NONE', #7739, #725, #12620 ) ; +#6077 = CARTESIAN_POINT ( 'NONE', ( -91.46228162758046665, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6078 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6079 = LINE ( 'NONE', #5363, #9364 ) ; +#6080 = ADVANCED_FACE ( 'NONE', ( #5355 ), #9319, .T. ) ; +#6081 = CIRCLE ( 'NONE', #6710, 1.000000000000000888 ) ; +#6082 = EDGE_LOOP ( 'NONE', ( #6966, #2503, #12724, #10346, #2324, #3465 ) ) ; +#6083 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6084 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 1.990162246727670503 ) ) ; +#6085 = ORIENTED_EDGE ( 'NONE', *, *, #2632, .F. ) ; +#6086 = VECTOR ( 'NONE', #10181, 1000.000000000000000 ) ; +#6087 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6088 = EDGE_CURVE ( 'NONE', #656, #6717, #4976, .T. ) ; +#6089 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -4.053100760940521970E-15 ) ) ; +#6090 = LINE ( 'NONE', #1148, #10926 ) ; +#6091 = AXIS2_PLACEMENT_3D ( 'NONE', #3726, #2758, #6720 ) ; +#6092 = ORIENTED_EDGE ( 'NONE', *, *, #2069, .F. ) ; +#6093 = CARTESIAN_POINT ( 'NONE', ( -77.85708625271475114, -64.96605763575112746, 2.950023829846313284 ) ) ; +#6094 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -58.46605763575112746, 19.25016224672767251 ) ) ; +#6095 = EDGE_CURVE ( 'NONE', #352, #7853, #11708, .T. ) ; +#6096 = CARTESIAN_POINT ( 'NONE', ( -120.7517527331658584, -68.73525767757531924, 3.740162246728635065 ) ) ; +#6097 = ORIENTED_EDGE ( 'NONE', *, *, #11475, .F. ) ; +#6098 = VECTOR ( 'NONE', #754, 1000.000000000000114 ) ; +#6099 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6100 = LINE ( 'NONE', #10009, #11013 ) ; +#6101 = CIRCLE ( 'NONE', #5479, 1.000000000000000888 ) ; +#6102 = AXIS2_PLACEMENT_3D ( 'NONE', #10206, #9034, #11118 ) ; +#6103 = VERTEX_POINT ( 'NONE', #10780 ) ; +#6104 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6105 = ORIENTED_EDGE ( 'NONE', *, *, #1886, .F. ) ; +#6106 = AXIS2_PLACEMENT_3D ( 'NONE', #2311, #9201, #9083 ) ; +#6107 = FACE_OUTER_BOUND ( 'NONE', #899, .T. ) ; +#6108 = EDGE_CURVE ( 'NONE', #3376, #7757, #3999, .T. ) ; +#6109 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -83.96605763575112746, 0.7600238298461038378 ) ) ; +#6110 = CIRCLE ( 'NONE', #2594, 2.800000000000836486 ) ; +#6111 = AXIS2_PLACEMENT_3D ( 'NONE', #679, #1655, #12706 ) ; +#6112 = LINE ( 'NONE', #1164, #2093 ) ; +#6113 = EDGE_CURVE ( 'NONE', #3257, #3813, #7709, .T. ) ; +#6114 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6115 = ORIENTED_EDGE ( 'NONE', *, *, #3096, .T. ) ; +#6116 = EDGE_CURVE ( 'NONE', #8691, #11728, #8819, .T. ) ; +#6117 = VECTOR ( 'NONE', #11975, 1000.000000000000000 ) ; +#6118 = LINE ( 'NONE', #9239, #460 ) ; +#6119 = EDGE_CURVE ( 'NONE', #12086, #12269, #4653, .T. ) ; +#6120 = ADVANCED_FACE ( 'NONE', ( #8684 ), #35, .T. ) ; +#6121 = ORIENTED_EDGE ( 'NONE', *, *, #5155, .F. ) ; +#6122 = CARTESIAN_POINT ( 'NONE', ( -84.45443081771675509, -64.96605763575112746, 2.950023829846314172 ) ) ; +#6123 = CARTESIAN_POINT ( 'NONE', ( -103.7413881116062839, -26.25000000000000355, 3.000000000000003109 ) ) ; +#6124 = AXIS2_PLACEMENT_3D ( 'NONE', #799, #7818, #8596 ) ; +#6125 = VERTEX_POINT ( 'NONE', #6998 ) ; +#6126 = AXIS2_PLACEMENT_3D ( 'NONE', #9051, #12226, #3266 ) ; +#6127 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6128 = AXIS2_PLACEMENT_3D ( 'NONE', #6992, #6926, #10894 ) ; +#6129 = CARTESIAN_POINT ( 'NONE', ( -77.85708625271475114, -64.96605763575112746, 2.950023829846313284 ) ) ; +#6130 = ORIENTED_EDGE ( 'NONE', *, *, #7861, .T. ) ; +#6131 = CARTESIAN_POINT ( 'NONE', ( -66.99915842031616364, -82.08343222251561144, 1.760023829846782739 ) ) ; +#6132 = EDGE_LOOP ( 'NONE', ( #2444, #1140, #3683, #7857 ) ) ; +#6133 = PLANE ( 'NONE', #574 ) ; +#6134 = CYLINDRICAL_SURFACE ( 'NONE', #2741, 1.000000000000000000 ) ; +#6135 = VERTEX_POINT ( 'NONE', #11942 ) ; +#6136 = EDGE_CURVE ( 'NONE', #5317, #6672, #6812, .T. ) ; +#6137 = FACE_OUTER_BOUND ( 'NONE', #6906, .T. ) ; +#6138 = VECTOR ( 'NONE', #5597, 1000.000000000000000 ) ; +#6139 = ORIENTED_EDGE ( 'NONE', *, *, #4406, .T. ) ; +#6140 = CARTESIAN_POINT ( 'NONE', ( -121.7881163192650007, -73.43869721594388977, 2.740162246726468798 ) ) ; +#6141 = ORIENTED_EDGE ( 'NONE', *, *, #10011, .T. ) ; +#6142 = FACE_OUTER_BOUND ( 'NONE', #9479, .T. ) ; +#6143 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6144 = CYLINDRICAL_SURFACE ( 'NONE', #5888, 2.800000000000843592 ) ; +#6145 = CARTESIAN_POINT ( 'NONE', ( -93.82262972369558440, -65.01605763575113883, 29.22964789792037266 ) ) ; +#6146 = TOROIDAL_SURFACE ( 'NONE', #532, 2.000000000000000000, 1.000000000000000000 ) ; +#6147 = VERTEX_POINT ( 'NONE', #12717 ) ; +#6148 = LINE ( 'NONE', #8032, #7831 ) ; +#6149 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #1676, #5273, #11139, #9615 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.06666666666666712371, 0.9333333333333334592 ), + .UNSPECIFIED. ) ; +#6150 = LINE ( 'NONE', #2183, #1120 ) ; +#6151 = CARTESIAN_POINT ( 'NONE', ( -89.82440448553691681, -59.01605763575113173, 41.53491989132000128 ) ) ; +#6152 = LINE ( 'NONE', #3290, #1682 ) ; +#6153 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #11888, #1820, #10737, #7016 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 1.570796326794896558, 3.141592653589793116 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#6154 = ORIENTED_EDGE ( 'NONE', *, *, #7441, .T. ) ; +#6155 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6156 = AXIS2_PLACEMENT_3D ( 'NONE', #5103, #9926, #7769 ) ; +#6157 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 12.99016224672767272 ) ) ; +#6158 = VERTEX_POINT ( 'NONE', #3036 ) ; +#6159 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -13.25000000000000178, 2.000000000000002665 ) ) ; +#6160 = ADVANCED_FACE ( 'NONE', ( #5959 ), #1927, .F. ) ; +#6161 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6162 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164847092, -65.25895085456457423, 11.28371700557669044 ) ) ; +#6163 = ORIENTED_EDGE ( 'NONE', *, *, #6505, .T. ) ; +#6164 = CARTESIAN_POINT ( 'NONE', ( -72.98255269134165246, -76.14639752325007294, 18.25016224672766896 ) ) ; +#6165 = TOROIDAL_SURFACE ( 'NONE', #4500, 1.000000000000000000, 1.000000000000000000 ) ; +#6166 = CARTESIAN_POINT ( 'NONE', ( -88.42138703248748755, -65.01605763575113883, 30.98461803242795654 ) ) ; +#6167 = VECTOR ( 'NONE', #10976, 1000.000000000000114 ) ; +#6168 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6169 = ORIENTED_EDGE ( 'NONE', *, *, #1947, .F. ) ; +#6170 = CARTESIAN_POINT ( 'NONE', ( -99.42023570319385328, -64.96605763575112746, 2.950023829846314172 ) ) ; +#6171 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -65.01605763575113883, 32.08298056549228505 ) ) ; +#6172 = ORIENTED_EDGE ( 'NONE', *, *, #12788, .F. ) ; +#6173 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6174 = ORIENTED_EDGE ( 'NONE', *, *, #693, .T. ) ; +#6175 = VECTOR ( 'NONE', #2463, 1000.000000000000000 ) ; +#6176 = CIRCLE ( 'NONE', #564, 2.800000000000836486 ) ; +#6177 = CYLINDRICAL_SURFACE ( 'NONE', #6545, 1.000000000000000888 ) ; +#6178 = EDGE_CURVE ( 'NONE', #1324, #352, #6940, .T. ) ; +#6179 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#6180 = CYLINDRICAL_SURFACE ( 'NONE', #7899, 6.124000000001836419 ) ; +#6181 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#6182 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -13.25000000000000178, 9.000000000000001776 ) ) ; +#6183 = ORIENTED_EDGE ( 'NONE', *, *, #61, .T. ) ; +#6184 = AXIS2_PLACEMENT_3D ( 'NONE', #804, #12694, #7754 ) ; +#6185 = LINE ( 'NONE', #258, #11257 ) ; +#6186 = VECTOR ( 'NONE', #2710, 1000.000000000000000 ) ; +#6187 = EDGE_CURVE ( 'NONE', #3271, #7575, #6934, .T. ) ; +#6188 = ORIENTED_EDGE ( 'NONE', *, *, #12064, .F. ) ; +#6189 = DIRECTION ( 'NONE', ( 8.673617379884040402E-17, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6190 = CARTESIAN_POINT ( 'NONE', ( -112.9284818104619177, -64.96605763575112746, 0.2500238298461107123 ) ) ; +#6191 = ORIENTED_EDGE ( 'NONE', *, *, #5515, .T. ) ; +#6192 = FACE_OUTER_BOUND ( 'NONE', #11135, .T. ) ; +#6193 = EDGE_CURVE ( 'NONE', #2067, #2729, #950, .T. ) ; +#6194 = VECTOR ( 'NONE', #652, 1000.000000000000000 ) ; +#6195 = CARTESIAN_POINT ( 'NONE', ( -96.48512085511606529, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6196 = EDGE_CURVE ( 'NONE', #3392, #12269, #6522, .T. ) ; +#6197 = ADVANCED_FACE ( 'NONE', ( #11680 ), #1797, .T. ) ; +#6198 = VECTOR ( 'NONE', #2765, 1000.000000000000000 ) ; +#6199 = CARTESIAN_POINT ( 'NONE', ( -69.62616858027878664, -84.55266351360018007, 1.760023829846559140 ) ) ; +#6200 = ORIENTED_EDGE ( 'NONE', *, *, #9533, .T. ) ; +#6201 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6202 = CARTESIAN_POINT ( 'NONE', ( -100.4214879216908116, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6203 = ORIENTED_EDGE ( 'NONE', *, *, #6594, .T. ) ; +#6204 = FACE_OUTER_BOUND ( 'NONE', #3410, .T. ) ; +#6205 = EDGE_CURVE ( 'NONE', #8448, #8450, #12847, .T. ) ; +#6206 = ORIENTED_EDGE ( 'NONE', *, *, #7673, .T. ) ; +#6207 = CARTESIAN_POINT ( 'NONE', ( -118.1022122780434813, -81.49462546766972082, 2.740162246727676720 ) ) ; +#6208 = ORIENTED_EDGE ( 'NONE', *, *, #12822, .F. ) ; +#6209 = ADVANCED_FACE ( 'NONE', ( #1009 ), #8939, .T. ) ; +#6210 = CARTESIAN_POINT ( 'NONE', ( -90.46102940908352252, -64.96605763575112746, 15.55016224672746006 ) ) ; +#6211 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6212 = FACE_OUTER_BOUND ( 'NONE', #8140, .T. ) ; +#6213 = ORIENTED_EDGE ( 'NONE', *, *, #10857, .F. ) ; +#6214 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6215 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6216 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6217 = PLANE ( 'NONE', #5422 ) ; +#6218 = EDGE_LOOP ( 'NONE', ( #7675, #4933, #5752, #9758 ) ) ; +#6219 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6220 = AXIS2_PLACEMENT_3D ( 'NONE', #8462, #1382, #3591 ) ; +#6221 = LINE ( 'NONE', #10133, #5911 ) ; +#6222 = EDGE_LOOP ( 'NONE', ( #3448, #595, #3382, #5162 ) ) ; +#6223 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6224 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6225 = CARTESIAN_POINT ( 'NONE', ( -110.9284818104619177, -58.46605763575112746, 3.078450954592295119 ) ) ; +#6226 = ORIENTED_EDGE ( 'NONE', *, *, #5220, .F. ) ; +#6227 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6228 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6229 = CARTESIAN_POINT ( 'NONE', ( -118.1101522464973073, -66.89332403266232063, 3.741828037950988950 ) ) ; +#6230 = ORIENTED_EDGE ( 'NONE', *, *, #7787, .T. ) ; +#6231 = CARTESIAN_POINT ( 'NONE', ( -103.6557185390874736, -58.46605763575112746, 15.55016224672746006 ) ) ; +#6232 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -27.25000000000000355, 3.000000000000002665 ) ) ; +#6233 = EDGE_CURVE ( 'NONE', #10393, #11461, #3225, .T. ) ; +#6234 = EDGE_LOOP ( 'NONE', ( #8437, #1523, #5444, #7094 ) ) ; +#6235 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -33.25000000000000000, 17.75002382984610350 ) ) ; +#6236 = ORIENTED_EDGE ( 'NONE', *, *, #8025, .F. ) ; +#6237 = LINE ( 'NONE', #2079, #9875 ) ; +#6238 = CYLINDRICAL_SURFACE ( 'NONE', #5104, 2.800000000000836486 ) ; +#6239 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6240 = CALENDAR_DATE ( 2026, 26, 7 ) ; +#6241 = CYLINDRICAL_SURFACE ( 'NONE', #7126, 5.000000000000000888 ) ; +#6242 = EDGE_LOOP ( 'NONE', ( #2700, #4715, #10201, #8822 ) ) ; +#6243 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6244 = VECTOR ( 'NONE', #6447, 1000.000000000000000 ) ; +#6245 = EDGE_CURVE ( 'NONE', #10519, #10869, #5107, .T. ) ; +#6246 = ORIENTED_EDGE ( 'NONE', *, *, #6397, .F. ) ; +#6247 = CARTESIAN_POINT ( 'NONE', ( -93.66139648258112516, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6248 = ORIENTED_EDGE ( 'NONE', *, *, #5323, .T. ) ; +#6249 = VECTOR ( 'NONE', #1518, 1000.000000000000000 ) ; +#6250 = LINE ( 'NONE', #3323, #138 ) ; +#6251 = EDGE_CURVE ( 'NONE', #712, #12649, #8151, .T. ) ; +#6252 = CARTESIAN_POINT ( 'NONE', ( -66.06935124943812809, -77.77440506528708397, 0.7600238298461009512 ) ) ; +#6253 = ORIENTED_EDGE ( 'NONE', *, *, #4428, .F. ) ; +#6254 = CARTESIAN_POINT ( 'NONE', ( -100.2587410475830865, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6255 = ORIENTED_EDGE ( 'NONE', *, *, #4516, .T. ) ; +#6256 = CYLINDRICAL_SURFACE ( 'NONE', #1699, 2.800000000000843592 ) ; +#6257 = ORIENTED_EDGE ( 'NONE', *, *, #7297, .F. ) ; +#6258 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -82.96605763575112746, 16.74016224672766739 ) ) ; +#6259 = EDGE_CURVE ( 'NONE', #9934, #8098, #7188, .T. ) ; +#6260 = VECTOR ( 'NONE', #9526, 1000.000000000000000 ) ; +#6261 = EDGE_LOOP ( 'NONE', ( #4875, #3590, #7962, #1381 ) ) ; +#6262 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #2410, #3313, ( #6404 ) ) ; +#6263 = CARTESIAN_POINT ( 'NONE', ( -119.7005534088396814, -80.75061318001789346, 3.740162246727970707 ) ) ; +#6264 = VERTEX_POINT ( 'NONE', #12059 ) ; +#6265 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6266 = ADVANCED_FACE ( 'NONE', ( #1498 ), #5471, .T. ) ; +#6267 = CARTESIAN_POINT ( 'NONE', ( -97.64911994772072035, -64.96605763575112746, 2.950023829846314172 ) ) ; +#6268 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6269 = VECTOR ( 'NONE', #6391, 1000.000000000000000 ) ; +#6270 = ORIENTED_EDGE ( 'NONE', *, *, #7374, .T. ) ; +#6271 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6272 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6273 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -65.01605763575113883, 33.30009303828681766 ) ) ; +#6274 = EDGE_CURVE ( 'NONE', #2892, #475, #223, .T. ) ; +#6275 = ORIENTED_EDGE ( 'NONE', *, *, #6410, .T. ) ; +#6276 = EDGE_CURVE ( 'NONE', #4311, #4008, #6312, .T. ) ; +#6277 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -83.96605763575112746, 17.74016224672767095 ) ) ; +#6278 = EDGE_CURVE ( 'NONE', #4960, #8817, #6150, .T. ) ; +#6279 = VECTOR ( 'NONE', #1141, 1000.000000000000000 ) ; +#6280 = VECTOR ( 'NONE', #11753, 1000.000000000000000 ) ; +#6281 = CYLINDRICAL_SURFACE ( 'NONE', #4044, 0.9999999999999997780 ) ; +#6282 = ORIENTED_EDGE ( 'NONE', *, *, #2634, .F. ) ; +#6283 = CARTESIAN_POINT ( 'NONE', ( -77.26634027907955726, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6284 = AXIS2_PLACEMENT_3D ( 'NONE', #3714, #11591, #12490 ) ; +#6285 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 15.74682891339433688 ) ) ; +#6286 = FACE_OUTER_BOUND ( 'NONE', #7, .T. ) ; +#6287 = EDGE_LOOP ( 'NONE', ( #12250, #11632, #11597, #3371, #3461, #9899 ) ) ; +#6288 = CARTESIAN_POINT ( 'NONE', ( -77.26634027907955726, -58.46605763575112746, 15.55016224672746183 ) ) ; +#6289 = CIRCLE ( 'NONE', #11071, 4.000000000000000000 ) ; +#6290 = LINE ( 'NONE', #369, #9437 ) ; +#6291 = CARTESIAN_POINT ( 'NONE', ( -96.64786772922379043, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6292 = ORIENTED_EDGE ( 'NONE', *, *, #6196, .T. ) ; +#6293 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -64.96605763575112746, 4.250023829846105272 ) ) ; +#6294 = FACE_OUTER_BOUND ( 'NONE', #2029, .T. ) ; +#6295 = ORIENTED_EDGE ( 'NONE', *, *, #8704, .F. ) ; +#6296 = CARTESIAN_POINT ( 'NONE', ( -97.05837397408551226, -64.96605763575112746, 15.55016224672746006 ) ) ; +#6297 = ORIENTED_EDGE ( 'NONE', *, *, #10723, .T. ) ; +#6298 = CARTESIAN_POINT ( 'NONE', ( -90.46102940908352252, -58.46605763575112746, 15.55016224672746006 ) ) ; +#6299 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6300 = EDGE_CURVE ( 'NONE', #11479, #7223, #8350, .T. ) ; +#6301 = VECTOR ( 'NONE', #3637, 1000.000000000000000 ) ; +#6302 = CARTESIAN_POINT ( 'NONE', ( -94.14577264255329681, -65.01605763575113883, 42.21935736830528896 ) ) ; +#6303 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6304 = VECTOR ( 'NONE', #112, 1000.000000000000000 ) ; +#6305 = LINE ( 'NONE', #4483, #7951 ) ; +#6306 = ORIENTED_EDGE ( 'NONE', *, *, #3089, .F. ) ; +#6307 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 12.49999982601869775, 10.00000000000000000 ) ) ; +#6308 = ORIENTED_EDGE ( 'NONE', *, *, #1344, .F. ) ; +#6309 = VECTOR ( 'NONE', #795, 1000.000000000000000 ) ; +#6310 = CARTESIAN_POINT ( 'NONE', ( -85.02768393668618785, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6311 = ORIENTED_EDGE ( 'NONE', *, *, #9324, .F. ) ; +#6312 = CIRCLE ( 'NONE', #8773, 7.700000000002309442 ) ; +#6313 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.5000000000000068834, -0.8660254037844347108 ) ) ; +#6314 = CIRCLE ( 'NONE', #5492, 7.700000000002312994 ) ; +#6315 = VECTOR ( 'NONE', #1559, 1000.000000000000000 ) ; +#6316 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 1.084202172485503448E-16 ) ) ; +#6317 = EDGE_CURVE ( 'NONE', #9736, #2440, #9440, .T. ) ; +#6318 = CARTESIAN_POINT ( 'NONE', ( -65.00855787237141215, -77.73132331509668802, 0.7600238298459194297 ) ) ; +#6319 = AXIS2_PLACEMENT_3D ( 'NONE', #11788, #4891, #1965 ) ; +#6320 = ORIENTED_EDGE ( 'NONE', *, *, #839, .T. ) ; +#6321 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6322 = ORIENTED_EDGE ( 'NONE', *, *, #9543, .T. ) ; +#6323 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6324 = ORIENTED_EDGE ( 'NONE', *, *, #12524, .F. ) ; +#6325 = AXIS2_PLACEMENT_3D ( 'NONE', #12632, #9651, #4826 ) ; +#6326 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6327 = VECTOR ( 'NONE', #11375, 1000.000000000000000 ) ; +#6328 = ORIENTED_EDGE ( 'NONE', *, *, #8335, .F. ) ; +#6329 = CARTESIAN_POINT ( 'NONE', ( -120.8671820670478638, -72.63469566258665111, 2.740162246727675388 ) ) ; +#6330 = VERTEX_POINT ( 'NONE', #12428 ) ; +#6331 = EDGE_CURVE ( 'NONE', #10336, #11892, #7347, .T. ) ; +#6332 = VECTOR ( 'NONE', #1791, 1000.000000000000000 ) ; +#6333 = CARTESIAN_POINT ( 'NONE', ( -104.8197176316921286, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6334 = EDGE_CURVE ( 'NONE', #9240, #9377, #255, .T. ) ; +#6335 = LINE ( 'NONE', #5488, #9633 ) ; +#6336 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6337 = VERTEX_POINT ( 'NONE', #8033 ) ; +#6338 = AXIS2_PLACEMENT_3D ( 'NONE', #7732, #6774, #1887 ) ; +#6339 = FACE_OUTER_BOUND ( 'NONE', #2467, .T. ) ; +#6340 = ORIENTED_EDGE ( 'NONE', *, *, #8217, .T. ) ; +#6341 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 36.61720551108070509 ) ) ; +#6342 = VERTEX_POINT ( 'NONE', #7116 ) ; +#6343 = EDGE_CURVE ( 'NONE', #7200, #1646, #11066, .T. ) ; +#6344 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6345 = ORIENTED_EDGE ( 'NONE', *, *, #8806, .T. ) ; +#6346 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, -2.249976170153895172 ) ) ; +#6347 = ADVANCED_FACE ( 'NONE', ( #9137 ), #4190, .T. ) ; +#6348 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -1.334402673828313586E-16 ) ) ; +#6349 = CARTESIAN_POINT ( 'NONE', ( -68.53147929650272374, -65.36306014971032141, 11.80701537167869120 ) ) ; +#6350 = ADVANCED_FACE ( 'NONE', ( #9195 ), #289, .T. ) ; +#6351 = AXIS2_PLACEMENT_3D ( 'NONE', #3691, #7458, #10455 ) ; +#6352 = EDGE_CURVE ( 'NONE', #1845, #4531, #8393, .T. ) ; +#6353 = EDGE_CURVE ( 'NONE', #7236, #2310, #10443, .T. ) ; +#6354 = ORIENTED_EDGE ( 'NONE', *, *, #5783, .T. ) ; +#6355 = DIRECTION ( 'NONE', ( 0.7071067811865493491, 0.7071067811865455743, 0.000000000000000000 ) ) ; +#6356 = ORIENTED_EDGE ( 'NONE', *, *, #9233, .F. ) ; +#6357 = LINE ( 'NONE', #10327, #5288 ) ; +#6358 = LINE ( 'NONE', #7260, #4633 ) ; +#6359 = VECTOR ( 'NONE', #5764, 1000.000000000000000 ) ; +#6360 = ORIENTED_EDGE ( 'NONE', *, *, #3482, .T. ) ; +#6361 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088335925, -59.01605763575113173, 34.55983764663554325 ) ) ; +#6362 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -83.96605763575112746, 0.7600238298461039488 ) ) ; +#6363 = ADVANCED_FACE ( 'NONE', ( #9763 ), #3843, .F. ) ; +#6364 = ORIENTED_EDGE ( 'NONE', *, *, #2182, .T. ) ; +#6365 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#6366 = ORIENTED_EDGE ( 'NONE', *, *, #9562, .T. ) ; +#6367 = LINE ( 'NONE', #9489, #5260 ) ; +#6368 = EDGE_CURVE ( 'NONE', #9126, #9783, #12100, .T. ) ; +#6369 = LINE ( 'NONE', #3370, #9463 ) ; +#6370 = VECTOR ( 'NONE', #12454, 1000.000000000000000 ) ; +#6371 = CIRCLE ( 'NONE', #11766, 7.700000000002309442 ) ; +#6372 = VERTEX_POINT ( 'NONE', #2684 ) ; +#6373 = EDGE_CURVE ( 'NONE', #1312, #1201, #8712, .T. ) ; +#6374 = LINE ( 'NONE', #1226, #9987 ) ; +#6375 = APPROVAL_ROLE ( '' ) ; +#6376 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6377 = EDGE_LOOP ( 'NONE', ( #7632, #5018, #213, #5866 ) ) ; +#6378 = CARTESIAN_POINT ( 'NONE', ( -101.6193505581945118, -58.46605763575112746, 2.950023829846315060 ) ) ; +#6379 = AXIS2_PLACEMENT_3D ( 'NONE', #12375, #1514, #8409 ) ; +#6380 = ORIENTED_EDGE ( 'NONE', *, *, #8095, .T. ) ; +#6381 = AXIS2_PLACEMENT_3D ( 'NONE', #3616, #7315, #619 ) ; +#6382 = LINE ( 'NONE', #10350, #12543 ) ; +#6383 = VERTEX_POINT ( 'NONE', #12561 ) ; +#6384 = CARTESIAN_POINT ( 'NONE', ( -64.99055487252837793, -77.67155388498630941, 14.76002382984610328 ) ) ; +#6385 = PLANE ( 'NONE', #4672 ) ; +#6386 = FACE_OUTER_BOUND ( 'NONE', #1516, .T. ) ; +#6387 = CIRCLE ( 'NONE', #6596, 2.800000000000843592 ) ; +#6388 = VERTEX_POINT ( 'NONE', #3585 ) ; +#6389 = FACE_OUTER_BOUND ( 'NONE', #10878, .T. ) ; +#6390 = ORIENTED_EDGE ( 'NONE', *, *, #3310, .F. ) ; +#6391 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6392 = VERTEX_POINT ( 'NONE', #7613 ) ; +#6393 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6394 = VERTEX_POINT ( 'NONE', #8652 ) ; +#6395 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.86644213680256144, 3.740162246727670503 ) ) ; +#6396 = ORIENTED_EDGE ( 'NONE', *, *, #12225, .T. ) ; +#6397 = EDGE_CURVE ( 'NONE', #10223, #9358, #9706, .T. ) ; +#6398 = VECTOR ( 'NONE', #9972, 1000.000000000000000 ) ; +#6399 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6400 = CARTESIAN_POINT ( 'NONE', ( -2.251876058958724672E-17, -44.55000000000000426, 0.7500238298461070485 ) ) ; +#6401 = CARTESIAN_POINT ( 'NONE', ( -92.08840477810804259, -59.01605763575113173, 42.27053817865341045 ) ) ; +#6402 = ORIENTED_EDGE ( 'NONE', *, *, #8569, .T. ) ; +#6403 = PLANE ( 'NONE', #1812 ) ; +#6404 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ä»', '', #11233, .NOT_KNOWN. ) ; +#6405 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 5.337610695313254343E-16 ) ) ; +#6406 = ORIENTED_EDGE ( 'NONE', *, *, #1488, .T. ) ; +#6407 = DIRECTION ( 'NONE', ( -0.3420201433256545021, 0.000000000000000000, -0.9396926207859136460 ) ) ; +#6408 = ORIENTED_EDGE ( 'NONE', *, *, #4603, .F. ) ; +#6409 = CARTESIAN_POINT ( 'NONE', ( -82.25531596271609658, -58.46605763575112746, 2.950023829846315948 ) ) ; +#6410 = EDGE_CURVE ( 'NONE', #8445, #11047, #8838, .T. ) ; +#6411 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6412 = EDGE_LOOP ( 'NONE', ( #7849, #5083, #4834, #2412 ) ) ; +#6413 = CARTESIAN_POINT ( 'NONE', ( -87.03247760151987222, -65.01605763575113883, 37.30604204512233935 ) ) ; +#6414 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6415 = FACE_OUTER_BOUND ( 'NONE', #3501, .T. ) ; +#6416 = EDGE_LOOP ( 'NONE', ( #3263, #10937, #10319, #7081 ) ) ; +#6417 = CARTESIAN_POINT ( 'NONE', ( -116.2754459101550992, -65.67316441693768070, 2.740162246727670503 ) ) ; +#6418 = ADVANCED_FACE ( 'NONE', ( #5602 ), #673, .T. ) ; +#6419 = ORIENTED_EDGE ( 'NONE', *, *, #1253, .T. ) ; +#6420 = CARTESIAN_POINT ( 'NONE', ( -98.05962619258242796, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6421 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -26.25000000000000355, 3.000000000000002665 ) ) ; +#6422 = ORIENTED_EDGE ( 'NONE', *, *, #3652, .T. ) ; +#6423 = CARTESIAN_POINT ( 'NONE', ( -96.48512085511606529, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6424 = FACE_OUTER_BOUND ( 'NONE', #9129, .T. ) ; +#6425 = EDGE_CURVE ( 'NONE', #10460, #4531, #3998, .T. ) ; +#6426 = ORIENTED_EDGE ( 'NONE', *, *, #662, .T. ) ; +#6427 = ADVANCED_FACE ( 'NONE', ( #1694 ), #7549, .F. ) ; +#6428 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -84.96605763575112746, 16.74016224672766739 ) ) ; +#6429 = ORIENTED_EDGE ( 'NONE', *, *, #554, .T. ) ; +#6430 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6431 = CYLINDRICAL_SURFACE ( 'NONE', #4900, 1.000000000000000888 ) ; +#6432 = VECTOR ( 'NONE', #9314, 1000.000000000000000 ) ; +#6433 = VERTEX_POINT ( 'NONE', #6582 ) ; +#6434 = ADVANCED_FACE ( 'NONE', ( #12679 ), #1569, .F. ) ; +#6435 = CARTESIAN_POINT ( 'NONE', ( -92.08840477810790048, -65.01605763575113883, 29.22964789792038687 ) ) ; +#6436 = FACE_OUTER_BOUND ( 'NONE', #10931, .T. ) ; +#6437 = VERTEX_POINT ( 'NONE', #10557 ) ; +#6438 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6439 = ADVANCED_FACE ( 'NONE', ( #9639 ), #1766, .F. ) ; +#6440 = ORIENTED_EDGE ( 'NONE', *, *, #9562, .F. ) ; +#6441 = CYLINDRICAL_SURFACE ( 'NONE', #7759, 1.000000000000000888 ) ; +#6442 = VERTEX_POINT ( 'NONE', #10680 ) ; +#6443 = CARTESIAN_POINT ( 'NONE', ( -71.07348675564594487, -83.96605762708040288, 15.76002382984609973 ) ) ; +#6444 = FACE_OUTER_BOUND ( 'NONE', #1787, .T. ) ; +#6445 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6446 = AXIS2_PLACEMENT_3D ( 'NONE', #11779, #3965, #5855 ) ; +#6447 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6448 = CARTESIAN_POINT ( 'NONE', ( -109.2179473416934314, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6449 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6450 = ORIENTED_EDGE ( 'NONE', *, *, #10026, .T. ) ; +#6451 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6452 = ORIENTED_EDGE ( 'NONE', *, *, #4457, .F. ) ; +#6453 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#6454 = ORIENTED_EDGE ( 'NONE', *, *, #8024, .F. ) ; +#6455 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6456 = VERTEX_POINT ( 'NONE', #10749 ) ; +#6457 = AXIS2_PLACEMENT_3D ( 'NONE', #12028, #6496, #7598 ) ; +#6458 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -58.46605763575112746, -0.7499761701538945058 ) ) ; +#6459 = CARTESIAN_POINT ( 'NONE', ( -80.62945422668485662, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6460 = LINE ( 'NONE', #6400, #7543 ) ; +#6461 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6462 = ORIENTED_EDGE ( 'NONE', *, *, #11647, .T. ) ; +#6463 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6464 = EDGE_CURVE ( 'NONE', #4487, #7200, #12747, .T. ) ; +#6465 = CARTESIAN_POINT ( 'NONE', ( -78.89220201511079722, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6466 = ORIENTED_EDGE ( 'NONE', *, *, #12446, .F. ) ; +#6467 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6468 = VERTEX_POINT ( 'NONE', #5734 ) ; +#6469 = CARTESIAN_POINT ( 'NONE', ( -88.42466142819056074, -64.96605763575112746, 2.950023829846314172 ) ) ; +#6470 = CYLINDRICAL_SURFACE ( 'NONE', #6740, 1.000000000000000888 ) ; +#6471 = ORIENTED_EDGE ( 'NONE', *, *, #4021, .T. ) ; +#6472 = CIRCLE ( 'NONE', #3568, 1.000000000000000888 ) ; +#6473 = CARTESIAN_POINT ( 'NONE', ( -100.8833505651173823, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6474 = CARTESIAN_POINT ( 'NONE', ( -97.05837397408551226, -58.46605763575112746, 15.55016224672746006 ) ) ; +#6475 = CARTESIAN_POINT ( 'NONE', ( -87.03247760151987222, -59.01605763575113173, 37.30604204512233935 ) ) ; +#6476 = EDGE_LOOP ( 'NONE', ( #188, #10034, #219, #6923 ) ) ; +#6477 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#6478 = EDGE_CURVE ( 'NONE', #12687, #5621, #12333, .T. ) ; +#6479 = ORIENTED_EDGE ( 'NONE', *, *, #11541, .T. ) ; +#6480 = CARTESIAN_POINT ( 'NONE', ( -77.42908715318728241, -58.46605763575112746, 2.950023829846312395 ) ) ; +#6481 = PLANE ( 'NONE', #7953 ) ; +#6482 = AXIS2_PLACEMENT_3D ( 'NONE', #7090, #8066, #134 ) ; +#6483 = ORIENTED_EDGE ( 'NONE', *, *, #10890, .F. ) ; +#6484 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6485 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6486 = ORIENTED_EDGE ( 'NONE', *, *, #132, .F. ) ; +#6487 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 16.74016224672766739 ) ) ; +#6488 = ORIENTED_EDGE ( 'NONE', *, *, #2306, .F. ) ; +#6489 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 3, 2, ( + ( #7328, #5318, #6487 ), + ( #7397, #1545, #3562 ), + ( #7522, #11502, #1805 ), + ( #6754, #9608, #11568 ), + ( #2723, #5641, #695 ), + ( #3816, #7848, #8755 ), + ( #7656, #4669, #3749 ), + ( #1933, #4795, #2662 ), + ( #6624, #6685, #12723 ), + ( #11755, #5775, #4861 ), + ( #8624, #12596, #5708 ), + ( #11820, #7783, #11689 ), + ( #3692, #7717, #10842 ), + ( #2857, #10596, #1673 ), + ( #10657, #6818, #5899 ), + ( #9744, #8827, #10785 ), + ( #12790, #11627, #9680 ), + ( #2789, #1733, #8690 ), + ( #9877, #1869, #760 ), + ( #4733, #3882, #10725 ), + ( #5835, #12658, #825 ), + ( #9807, #957, #888 ), + ( #8557, #2914, #6876 ), + ( #12530, #3628, #7590 ), + ( #229, #3944, #4007 ), + ( #8101, #41, #9994 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 3, 3 ), + ( 0.000000000000000000, 0.001041676077716238019, 0.002083352155432476038, 0.002604190194290595048, 0.003125028233148714057, 0.004166704310864952077, 0.005208380388581190096, 0.006250056466297428115, 0.008333408621729904153, 0.009375084699446142172, 0.01041676077716238019, 0.01250011293259485623, 0.01666681724345980831 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 0.7071067811865523467, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865523467, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865521247, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865521247, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865497932, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865497932, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865543451, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865543451, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865500152, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865500152, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865427988, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865427988, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865487940, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865463515, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#6490 = EDGE_CURVE ( 'NONE', #8272, #1312, #7807, .T. ) ; +#6491 = AXIS2_PLACEMENT_3D ( 'NONE', #7391, #3432, #11369 ) ; +#6492 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6493 = LINE ( 'NONE', #2406, #2827 ) ; +#6494 = ORIENTED_EDGE ( 'NONE', *, *, #6193, .T. ) ; +#6495 = ADVANCED_FACE ( 'NONE', ( #594 ), #11969, .F. ) ; +#6496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6497 = CARTESIAN_POINT ( 'NONE', ( -81.25406374421915245, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6498 = AXIS2_PLACEMENT_3D ( 'NONE', #6516, #8777, #10487 ) ; +#6499 = ORIENTED_EDGE ( 'NONE', *, *, #9117, .T. ) ; +#6500 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -27.25000000000000355, 18.75002382984610705 ) ) ; +#6501 = VECTOR ( 'NONE', #1540, 1000.000000000000000 ) ; +#6502 = VERTEX_POINT ( 'NONE', #4099 ) ; +#6503 = CARTESIAN_POINT ( 'NONE', ( -90.15557767015388890, -13.89995144998309939, 10.00000000000000000 ) ) ; +#6504 = ORIENTED_EDGE ( 'NONE', *, *, #7787, .F. ) ; +#6505 = EDGE_CURVE ( 'NONE', #7223, #11479, #2559, .T. ) ; +#6506 = CARTESIAN_POINT ( 'NONE', ( -68.72168196165780785, -83.95986372841652212, 15.76002382984518313 ) ) ; +#6507 = CYLINDRICAL_SURFACE ( 'NONE', #9879, 2.800000000000840039 ) ; +#6508 = AXIS2_PLACEMENT_3D ( 'NONE', #6211, #1446, #4444 ) ; +#6509 = AXIS2_PLACEMENT_3D ( 'NONE', #12675, #10745, #7865 ) ; +#6510 = EDGE_CURVE ( 'NONE', #1307, #4094, #2483, .T. ) ; +#6511 = CARTESIAN_POINT ( 'NONE', ( -95.79511857777596617, -59.01605763575113173, 41.68345238804973718 ) ) ; +#6512 = EDGE_CURVE ( 'NONE', #8207, #6437, #6, .T. ) ; +#6513 = EDGE_CURVE ( 'NONE', #10664, #6847, #6841, .T. ) ; +#6514 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164845671, -65.25895085456458844, 10.76002382984610151 ) ) ; +#6515 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6516 = CARTESIAN_POINT ( 'NONE', ( -87.17069039786863982, -65.01605763575113883, 32.61898027292208013 ) ) ; +#6517 = EDGE_LOOP ( 'NONE', ( #227, #3670, #9022, #12691 ) ) ; +#6518 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6519 = ORIENTED_EDGE ( 'NONE', *, *, #9611, .T. ) ; +#6520 = CARTESIAN_POINT ( 'NONE', ( -103.0824654201180692, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6521 = ORIENTED_EDGE ( 'NONE', *, *, #2505, .F. ) ; +#6522 = CIRCLE ( 'NONE', #9220, 1.000000000000000000 ) ; +#6523 = FACE_OUTER_BOUND ( 'NONE', #5424, .T. ) ; +#6524 = CIRCLE ( 'NONE', #1946, 1.000000000000000888 ) ; +#6525 = ORIENTED_EDGE ( 'NONE', *, *, #12401, .F. ) ; +#6526 = EDGE_CURVE ( 'NONE', #4131, #3277, #9959, .T. ) ; +#6527 = AXIS2_PLACEMENT_3D ( 'NONE', #8478, #8420, #7504 ) ; +#6528 = VECTOR ( 'NONE', #10784, 1000.000000000000000 ) ; +#6529 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#6530 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -84.96605763575112746, 14.76002382984610151 ) ) ; +#6531 = CARTESIAN_POINT ( 'NONE', ( -96.83279310607144907, -59.01605763575113173, 40.49035758184781031 ) ) ; +#6532 = EDGE_CURVE ( 'NONE', #5516, #9251, #4446, .T. ) ; +#6533 = ORIENTED_EDGE ( 'NONE', *, *, #5670, .F. ) ; +#6534 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6535 = CIRCLE ( 'NONE', #10884, 6.124000000001836419 ) ; +#6536 = AXIS2_PLACEMENT_3D ( 'NONE', #11284, #8283, #11354 ) ; +#6537 = LINE ( 'NONE', #9846, #8541 ) ; +#6538 = VERTEX_POINT ( 'NONE', #4948 ) ; +#6539 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6540 = AXIS2_PLACEMENT_3D ( 'NONE', #6051, #10029, #9112 ) ; +#6541 = ORIENTED_EDGE ( 'NONE', *, *, #12006, .T. ) ; +#6542 = CARTESIAN_POINT ( 'NONE', ( -112.9284818104619177, -76.14639752325007294, 0.2500238298461107123 ) ) ; +#6543 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6544 = ORIENTED_EDGE ( 'NONE', *, *, #8143, .T. ) ; +#6545 = AXIS2_PLACEMENT_3D ( 'NONE', #12025, #127, #10208 ) ; +#6546 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6547 = PLANE ( 'NONE', #6381 ) ; +#6548 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6549 = VECTOR ( 'NONE', #1608, 1000.000000000000000 ) ; +#6550 = ORIENTED_EDGE ( 'NONE', *, *, #2703, .F. ) ; +#6551 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#6552 = EDGE_LOOP ( 'NONE', ( #8833, #10833, #10497, #11843 ) ) ; +#6553 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 8.673617379884040402E-17 ) ) ; +#6554 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6555 = ORIENTED_EDGE ( 'NONE', *, *, #4603, .T. ) ; +#6556 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#6557 = PLANE ( 'NONE', #4273 ) ; +#6558 = VERTEX_POINT ( 'NONE', #10806 ) ; +#6559 = CIRCLE ( 'NONE', #4058, 0.8000000000000003775 ) ; +#6560 = LINE ( 'NONE', #4404, #5284 ) ; +#6561 = ORIENTED_EDGE ( 'NONE', *, *, #636, .T. ) ; +#6562 = ADVANCED_FACE ( 'NONE', ( #10864 ), #10023, .T. ) ; +#6563 = PLANE ( 'NONE', #1315 ) ; +#6564 = CARTESIAN_POINT ( 'NONE', ( -95.28725821861233669, -58.46605763575112746, 15.55016224672746006 ) ) ; +#6565 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6566 = ORIENTED_EDGE ( 'NONE', *, *, #7602, .F. ) ; +#6567 = CIRCLE ( 'NONE', #329, 7.700000000002309442 ) ; +#6568 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6569 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 3.250023829846105272 ) ) ; +#6570 = VERTEX_POINT ( 'NONE', #4886 ) ; +#6571 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6572 = ORIENTED_EDGE ( 'NONE', *, *, #5697, .F. ) ; +#6573 = CARTESIAN_POINT ( 'NONE', ( -99.42023570319385328, -64.96605763575112746, 2.950023829846314172 ) ) ; +#6574 = ORIENTED_EDGE ( 'NONE', *, *, #5561, .T. ) ; +#6575 = EDGE_CURVE ( 'NONE', #5099, #10619, #2567, .T. ) ; +#6576 = AXIS2_PLACEMENT_3D ( 'NONE', #348, #4130, #10306 ) ; +#6577 = CARTESIAN_POINT ( 'NONE', ( -68.44530545997437798, -82.32732832646605914, 15.76002382984610684 ) ) ; +#6578 = PLANE ( 'NONE', #6338 ) ; +#6579 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#6580 = CARTESIAN_POINT ( 'NONE', ( -78.89220201511079722, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6581 = FACE_OUTER_BOUND ( 'NONE', #3024, .T. ) ; +#6582 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -58.46605763575112746, 19.25016224672767251 ) ) ; +#6583 = EDGE_CURVE ( 'NONE', #6125, #11869, #10456, .T. ) ; +#6584 = VERTEX_POINT ( 'NONE', #8123 ) ; +#6585 = AXIS2_PLACEMENT_3D ( 'NONE', #991, #9970, #10761 ) ; +#6586 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#6587 = VECTOR ( 'NONE', #8425, 1000.000000000000000 ) ; +#6588 = ORIENTED_EDGE ( 'NONE', *, *, #6907, .T. ) ; +#6589 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6590 = ORIENTED_EDGE ( 'NONE', *, *, #4556, .F. ) ; +#6591 = FACE_OUTER_BOUND ( 'NONE', #12237, .T. ) ; +#6592 = EDGE_CURVE ( 'NONE', #450, #1650, #11842, .T. ) ; +#6593 = ORIENTED_EDGE ( 'NONE', *, *, #3491, .T. ) ; +#6594 = EDGE_CURVE ( 'NONE', #12129, #4979, #1099, .T. ) ; +#6595 = AXIS2_PLACEMENT_3D ( 'NONE', #374, #7208, #10203 ) ; +#6596 = AXIS2_PLACEMENT_3D ( 'NONE', #2906, #4916, #11941 ) ; +#6597 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6598 = LINE ( 'NONE', #10568, #9212 ) ; +#6599 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6600 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #9835, #921, #8855, #2028, #9964, #12820, #7876, #11849, #5993, #9713, #8719, #3008, #2941, #5931, #9904, #1041, #984, #4953, #11, #3975, #7936, #3779 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 0.000000000000000000, 0.001015890911596887148, 0.002031781823193774296, 0.003047672734790661444, 0.004063563646387548592, 0.005079454557984435306, 0.006095345469581322888, 0.008127127292775078102, 0.01015890911596883418, 0.01219069093916259026, 0.01625425458555010763 ), + .UNSPECIFIED. ) ; +#6601 = VERTEX_POINT ( 'NONE', #65 ) ; +#6602 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -58.46605763575112746, -0.7499761701538951719 ) ) ; +#6603 = EDGE_CURVE ( 'NONE', #581, #11186, #9828, .T. ) ; +#6604 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6605 = ORIENTED_EDGE ( 'NONE', *, *, #1648, .T. ) ; +#6606 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6607 = ORIENTED_EDGE ( 'NONE', *, *, #3486, .F. ) ; +#6608 = LINE ( 'NONE', #612, #11715 ) ; +#6609 = ADVANCED_FACE ( 'NONE', ( #5139 ), #3908, .T. ) ; +#6610 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 4.053100760940652921E-15 ) ) ; +#6611 = ORIENTED_EDGE ( 'NONE', *, *, #501, .T. ) ; +#6612 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6613 = CARTESIAN_POINT ( 'NONE', ( -90.46102940908352252, -64.96605763575112746, 15.55016224672746006 ) ) ; +#6614 = DIRECTION ( 'NONE', ( -0.3420201433256614409, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#6615 = CIRCLE ( 'NONE', #4945, 6.124000000001836419 ) ; +#6616 = VERTEX_POINT ( 'NONE', #7870 ) ; +#6617 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -64.96605763575112746, 16.74016224672766739 ) ) ; +#6618 = ORIENTED_EDGE ( 'NONE', *, *, #6889, .F. ) ; +#6619 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6620 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, 3.427649870184929171, 17.75002382984610350 ) ) ; +#6621 = ORIENTED_EDGE ( 'NONE', *, *, #4769, .T. ) ; +#6622 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 0.9999999999999991118 ) ) ; +#6623 = DIRECTION ( 'NONE', ( 0.9396926207859083169, -0.000000000000000000, 0.3420201433256691570 ) ) ; +#6624 = CARTESIAN_POINT ( 'NONE', ( -117.0896670217286584, -82.71803235827810852, 17.74016224672767805 ) ) ; +#6625 = VERTEX_POINT ( 'NONE', #2084 ) ; +#6626 = LINE ( 'NONE', #9293, #11911 ) ; +#6627 = CARTESIAN_POINT ( 'NONE', ( -105.8548333940881321, -64.96605763575112746, 15.55016224672746006 ) ) ; +#6628 = CARTESIAN_POINT ( 'NONE', ( -99.68548792861368213, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6629 = EDGE_LOOP ( 'NONE', ( #10037, #12107, #7398, #4122 ) ) ; +#6630 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6631 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6632 = EDGE_CURVE ( 'NONE', #2440, #5542, #193, .T. ) ; +#6633 = ORIENTED_EDGE ( 'NONE', *, *, #6464, .F. ) ; +#6634 = CARTESIAN_POINT ( 'NONE', ( -91.76526185925038703, -65.01605763575113883, 42.21935736830530317 ) ) ; +#6635 = EDGE_LOOP ( 'NONE', ( #5193, #1544, #1754, #421 ) ) ; +#6636 = FACE_OUTER_BOUND ( 'NONE', #8379, .T. ) ; +#6637 = EDGE_LOOP ( 'NONE', ( #9906, #12739, #3492, #906 ) ) ; +#6638 = CARTESIAN_POINT ( 'NONE', ( -68.10389679452731571, -83.41543600577242046, 14.76002382984519556 ) ) ; +#6639 = DIRECTION ( 'NONE', ( -0.9396926207859083169, 0.000000000000000000, -0.3420201433256689350 ) ) ; +#6640 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6641 = LINE ( 'NONE', #8710, #12251 ) ; +#6642 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6643 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -69.96605763575111325, 7.740162246727670059 ) ) ; +#6644 = EDGE_CURVE ( 'NONE', #12178, #7581, #10155, .T. ) ; +#6645 = VERTEX_POINT ( 'NONE', #2474 ) ; +#6646 = CARTESIAN_POINT ( 'NONE', ( -99.84823480272136464, -58.46605763575112746, 2.950023829846315060 ) ) ; +#6647 = ORIENTED_EDGE ( 'NONE', *, *, #827, .F. ) ; +#6648 = LINE ( 'NONE', #12432, #6432 ) ; +#6649 = VERTEX_POINT ( 'NONE', #12092 ) ; +#6650 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -69.86644213680256144, 2.740162246727669615 ) ) ; +#6651 = VERTEX_POINT ( 'NONE', #2411 ) ; +#6652 = EDGE_CURVE ( 'NONE', #9377, #7158, #6305, .T. ) ; +#6653 = LINE ( 'NONE', #6719, #2384 ) ; +#6654 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6655 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6656 = VERTEX_POINT ( 'NONE', #11244 ) ; +#6657 = CARTESIAN_POINT ( 'NONE', ( -87.80318648157553696, -59.01605763575113173, 39.06020839027636526 ) ) ; +#6658 = ADVANCED_FACE ( 'NONE', ( #6436 ), #6241, .T. ) ; +#6659 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6660 = ORIENTED_EDGE ( 'NONE', *, *, #1333, .F. ) ; +#6661 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6662 = AXIS2_PLACEMENT_3D ( 'NONE', #12812, #2934, #1957 ) ; +#6663 = ORIENTED_EDGE ( 'NONE', *, *, #3973, .T. ) ; +#6664 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6665 = PLANE ( 'NONE', #11304 ) ; +#6666 = EDGE_CURVE ( 'NONE', #12610, #3271, #4351, .T. ) ; +#6667 = CARTESIAN_POINT ( 'NONE', ( -80.05620110771543807, -64.96605763575112746, 2.950023829846315948 ) ) ; +#6668 = LINE ( 'NONE', #10710, #12418 ) ; +#6669 = LINE ( 'NONE', #749, #6359 ) ; +#6670 = AXIS2_PLACEMENT_3D ( 'NONE', #10904, #4741, #4191 ) ; +#6671 = AXIS2_PLACEMENT_3D ( 'NONE', #11277, #5231, #8216 ) ; +#6672 = VERTEX_POINT ( 'NONE', #3374 ) ; +#6673 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6674 = EDGE_CURVE ( 'NONE', #2900, #9379, #444, .T. ) ; +#6675 = ORIENTED_EDGE ( 'NONE', *, *, #4827, .T. ) ; +#6676 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#6677 = EDGE_CURVE ( 'NONE', #2238, #2923, #324, .T. ) ; +#6678 = ADVANCED_FACE ( 'NONE', ( #2214 ), #4632, .T. ) ; +#6679 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -84.96605763575112746, 1.760023829846103727 ) ) ; +#6680 = ORIENTED_EDGE ( 'NONE', *, *, #3261, .F. ) ; +#6681 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#6682 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6683 = AXIS2_PLACEMENT_3D ( 'NONE', #11876, #2971, #3103 ) ; +#6684 = VECTOR ( 'NONE', #1590, 1000.000000000000000 ) ; +#6685 = CARTESIAN_POINT ( 'NONE', ( -117.7911470996046859, -83.43117233135068034, 17.74016224672616460 ) ) ; +#6686 = ORIENTED_EDGE ( 'NONE', *, *, #10246, .F. ) ; +#6687 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6688 = DIRECTION ( 'NONE', ( -2.026550380470260590E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6689 = CARTESIAN_POINT ( 'NONE', ( -96.26563260289121615, -59.01605763575113173, 40.90242380761317520 ) ) ; +#6690 = ORIENTED_EDGE ( 'NONE', *, *, #8155, .F. ) ; +#6691 = AXIS2_PLACEMENT_3D ( 'NONE', #10620, #10489, #6712 ) ; +#6692 = CARTESIAN_POINT ( 'NONE', ( -101.4566036840868151, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6693 = CARTESIAN_POINT ( 'NONE', ( -116.1018720274602458, -83.50341704709059343, 2.740162246727663842 ) ) ; +#6694 = VERTEX_POINT ( 'NONE', #8189 ) ; +#6695 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -15.48606797749978803, 3.000000000000002665 ) ) ; +#6696 = ADVANCED_FACE ( 'NONE', ( #3314 ), #7404, .T. ) ; +#6697 = VERTEX_POINT ( 'NONE', #10345 ) ; +#6698 = CIRCLE ( 'NONE', #2755, 4.000000000000000000 ) ; +#6699 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6700 = VERTEX_POINT ( 'NONE', #1482 ) ; +#6701 = AXIS2_PLACEMENT_3D ( 'NONE', #3316, #2413, #10284 ) ; +#6702 = CARTESIAN_POINT ( 'NONE', ( -63.97410838191611759, -71.65694149565017312, 15.76002382984790096 ) ) ; +#6703 = EDGE_CURVE ( 'NONE', #8521, #8323, #5256, .T. ) ; +#6704 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6705 = VECTOR ( 'NONE', #1259, 999.9999999999998863 ) ; +#6706 = CARTESIAN_POINT ( 'NONE', ( -77.69433937860706862, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6707 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6708 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6709 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6710 = AXIS2_PLACEMENT_3D ( 'NONE', #9221, #8237, #312 ) ; +#6711 = VERTEX_POINT ( 'NONE', #9424 ) ; +#6712 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6713 = ORIENTED_EDGE ( 'NONE', *, *, #6259, .F. ) ; +#6714 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6715 = VERTEX_POINT ( 'NONE', #513 ) ; +#6716 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6717 = VERTEX_POINT ( 'NONE', #11126 ) ; +#6718 = EDGE_CURVE ( 'NONE', #11330, #4258, #11185, .T. ) ; +#6719 = CARTESIAN_POINT ( 'NONE', ( -2.251876058958724672E-17, -51.45000000000000284, 0.7500238298461070485 ) ) ; +#6720 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6721 = CARTESIAN_POINT ( 'NONE', ( -107.6434420042270688, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6722 = ORIENTED_EDGE ( 'NONE', *, *, #12584, .F. ) ; +#6723 = CARTESIAN_POINT ( 'NONE', ( -116.1389956857405252, -83.48179195977672862, 17.74016224672767450 ) ) ; +#6724 = VECTOR ( 'NONE', #10238, 999.9999999999998863 ) ; +#6725 = CIRCLE ( 'NONE', #2156, 2.450000000000000622 ) ; +#6726 = ORIENTED_EDGE ( 'NONE', *, *, #3894, .T. ) ; +#6727 = FACE_OUTER_BOUND ( 'NONE', #7459, .T. ) ; +#6728 = VECTOR ( 'NONE', #970, 1000.000000000000000 ) ; +#6729 = EDGE_LOOP ( 'NONE', ( #10490, #9878, #10880, #9284 ) ) ; +#6730 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 32.08298056549219268 ) ) ; +#6731 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #1832, 'distance_accuracy_value', 'NONE'); +#6732 = AXIS2_PLACEMENT_3D ( 'NONE', #4060, #1853, #11861 ) ; +#6733 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -51.45000000000000284, 19.25002382984610705 ) ) ; +#6734 = EDGE_CURVE ( 'NONE', #4094, #5532, #4746, .T. ) ; +#6735 = VECTOR ( 'NONE', #9508, 1000.000000000000000 ) ; +#6736 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6737 = VECTOR ( 'NONE', #1058, 1000.000000000000000 ) ; +#6738 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -58.46605763575112746, 15.25016224672767073 ) ) ; +#6739 = CARTESIAN_POINT ( 'NONE', ( -90.73283108516223194, -65.01605763575113883, 41.45649665253048965 ) ) ; +#6740 = AXIS2_PLACEMENT_3D ( 'NONE', #10379, #483, #1525 ) ; +#6741 = VERTEX_POINT ( 'NONE', #5391 ) ; +#6742 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -82.96605763575112746, 2.740162246727670503 ) ) ; +#6743 = VERTEX_POINT ( 'NONE', #3256 ) ; +#6745 = CARTESIAN_POINT ( 'NONE', ( -88.42138703248748755, -59.01605763575113173, 30.98461803242795654 ) ) ; +#6744 = VECTOR ( 'NONE', #2921, 1000.000000000000000 ) ; +#6746 = AXIS2_PLACEMENT_3D ( 'NONE', #3942, #9874, #9935 ) ; +#6747 = CARTESIAN_POINT ( 'NONE', ( -109.8425568592277557, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6748 = EDGE_CURVE ( 'NONE', #11806, #5099, #5261, .T. ) ; +#6749 = ORIENTED_EDGE ( 'NONE', *, *, #7212, .T. ) ; +#6750 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6751 = CYLINDRICAL_SURFACE ( 'NONE', #5758, 0.8000000000000003775 ) ; +#6752 = VECTOR ( 'NONE', #11406, 1000.000000000000000 ) ; +#6753 = AXIS2_PLACEMENT_3D ( 'NONE', #10938, #9729, #4045 ) ; +#6754 = CARTESIAN_POINT ( 'NONE', ( -115.8366999784147424, -83.65247606095618949, 17.74016224672767095 ) ) ; +#6755 = VERTEX_POINT ( 'NONE', #9354 ) ; +#6756 = EDGE_CURVE ( 'NONE', #930, #2140, #8997, .T. ) ; +#6757 = EDGE_CURVE ( 'NONE', #8209, #1085, #6927, .T. ) ; +#6758 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#6759 = EDGE_CURVE ( 'NONE', #4284, #3551, #4640, .T. ) ; +#6760 = CARTESIAN_POINT ( 'NONE', ( -65.77647683347099417, -76.77587640837791128, 0.7600238298461025055 ) ) ; +#6761 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6762 = ORIENTED_EDGE ( 'NONE', *, *, #1450, .F. ) ; +#6763 = LINE ( 'NONE', #1816, #1548 ) ; +#6764 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6765 = ADVANCED_FACE ( 'NONE', ( #10735 ), #1818, .F. ) ; +#6766 = VERTEX_POINT ( 'NONE', #9494 ) ; +#6767 = AXIS2_PLACEMENT_3D ( 'NONE', #12157, #10209, #11182 ) ; +#6768 = CARTESIAN_POINT ( 'NONE', ( -74.03210966168288110, -58.46605763575112746, 1.375023829845842149 ) ) ; +#6769 = ORIENTED_EDGE ( 'NONE', *, *, #4737, .F. ) ; +#6770 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6771 = ORIENTED_EDGE ( 'NONE', *, *, #5562, .T. ) ; +#6772 = EDGE_CURVE ( 'NONE', #4180, #12206, #10666, .T. ) ; +#6773 = CARTESIAN_POINT ( 'NONE', ( -63.95600637772473362, -71.29927948324061049, 14.76002382984579775 ) ) ; +#6774 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6775 = AXIS2_PLACEMENT_3D ( 'NONE', #11825, #9943, #7131 ) ; +#6776 = CARTESIAN_POINT ( 'NONE', ( -121.5045393501049631, -69.96605763575114167, 17.63238915033748100 ) ) ; +#6777 = VECTOR ( 'NONE', #5514, 1000.000000000000000 ) ; +#6778 = LINE ( 'NONE', #1035, #6028 ) ; +#6779 = FACE_OUTER_BOUND ( 'NONE', #12352, .T. ) ; +#6780 = CARTESIAN_POINT ( 'NONE', ( -84.29168394360905836, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6781 = ORIENTED_EDGE ( 'NONE', *, *, #11774, .F. ) ; +#6782 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#6783 = ORIENTED_EDGE ( 'NONE', *, *, #2104, .T. ) ; +#6784 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6785 = VECTOR ( 'NONE', #11999, 1000.000000000000000 ) ; +#6786 = ORIENTED_EDGE ( 'NONE', *, *, #10581, .T. ) ; +#6787 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6788 = ORIENTED_EDGE ( 'NONE', *, *, #11570, .F. ) ; +#6789 = CARTESIAN_POINT ( 'NONE', ( -80.62945422668485662, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6790 = ORIENTED_EDGE ( 'NONE', *, *, #5566, .T. ) ; +#6791 = CARTESIAN_POINT ( 'NONE', ( -104.0837176386149849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#6792 = CIRCLE ( 'NONE', #767, 6.124000000001829314 ) ; +#6793 = AXIS2_PLACEMENT_3D ( 'NONE', #2317, #6161, #1147 ) ; +#6794 = ORIENTED_EDGE ( 'NONE', *, *, #4836, .F. ) ; +#6795 = CARTESIAN_POINT ( 'NONE', ( -91.05177538271874482, -58.46605763575112746, 2.950023829846315060 ) ) ; +#6796 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -65.96605763575112746, 7.740162246727670059 ) ) ; +#6797 = ORIENTED_EDGE ( 'NONE', *, *, #2275, .F. ) ; +#6798 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -24.68297142738792616, -3.249976170153895172 ) ) ; +#6799 = EDGE_CURVE ( 'NONE', #4740, #5595, #3509, .T. ) ; +#6800 = ORIENTED_EDGE ( 'NONE', *, *, #5298, .F. ) ; +#6801 = CARTESIAN_POINT ( 'NONE', ( -115.8450246224933124, -83.64857725187802373, 2.740162246727671835 ) ) ; +#6802 = ORIENTED_EDGE ( 'NONE', *, *, #6844, .F. ) ; +#6803 = AXIS2_PLACEMENT_3D ( 'NONE', #2260, #6227, #2393 ) ; +#6804 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -26.66421356237309581, 2.585786437626906409 ) ) ; +#6805 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6806 = CARTESIAN_POINT ( 'NONE', ( -92.08689114511476248, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6807 = CARTESIAN_POINT ( 'NONE', ( -86.01483718609915741, -59.01605763575113173, 32.41588245134326485 ) ) ; +#6808 = ORIENTED_EDGE ( 'NONE', *, *, #8720, .F. ) ; +#6809 = CARTESIAN_POINT ( 'NONE', ( -89.88777629011410397, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6810 = VECTOR ( 'NONE', #6201, 1000.000000000000000 ) ; +#6811 = ORIENTED_EDGE ( 'NONE', *, *, #3894, .F. ) ; +#6812 = LINE ( 'NONE', #3744, #8590 ) ; +#6813 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6814 = EDGE_CURVE ( 'NONE', #2658, #6330, #5590, .T. ) ; +#6815 = ORIENTED_EDGE ( 'NONE', *, *, #12189, .F. ) ; +#6816 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6817 = CARTESIAN_POINT ( 'NONE', ( -95.79511857777596617, -59.01605763575113173, 41.68345238804973718 ) ) ; +#6818 = CARTESIAN_POINT ( 'NONE', ( -119.6813866195400635, -80.78749888766665777, 17.74016224672584841 ) ) ; +#6819 = ORIENTED_EDGE ( 'NONE', *, *, #2143, .T. ) ; +#6820 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #6731 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #1832, #5856, #10092 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#6821 = CARTESIAN_POINT ( 'NONE', ( -74.65671917921717693, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6822 = AXIS2_PLACEMENT_3D ( 'NONE', #5692, #6928, #8742 ) ; +#6823 = EDGE_CURVE ( 'NONE', #4825, #11821, #5677, .T. ) ; +#6824 = CARTESIAN_POINT ( 'NONE', ( -96.64786772922379043, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6825 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6826 = ORIENTED_EDGE ( 'NONE', *, *, #6136, .T. ) ; +#6827 = CARTESIAN_POINT ( 'NONE', ( -108.0539482490888190, -58.46605763575112746, 15.55016224672746361 ) ) ; +#6828 = EDGE_CURVE ( 'NONE', #6330, #10560, #5526, .T. ) ; +#6829 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6830 = ORIENTED_EDGE ( 'NONE', *, *, #11138, .T. ) ; +#6831 = CARTESIAN_POINT ( 'NONE', ( -112.9284818104619177, -58.46605763575112746, -0.7499761701538892877 ) ) ; +#6832 = ORIENTED_EDGE ( 'NONE', *, *, #12402, .F. ) ; +#6833 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#6834 = ORIENTED_EDGE ( 'NONE', *, *, #11340, .T. ) ; +#6835 = CARTESIAN_POINT ( 'NONE', ( -64.04789265505185369, -72.72774175406351560, 15.76002382984250616 ) ) ; +#6836 = EDGE_CURVE ( 'NONE', #12819, #4354, #7334, .T. ) ; +#6837 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -64.96605763575112746, -0.7499761701538951719 ) ) ; +#6838 = CARTESIAN_POINT ( 'NONE', ( -95.17820341664142347, -65.01605763575113883, 41.45649665253046834 ) ) ; +#6839 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6840 = ADVANCED_FACE ( 'NONE', ( #7724 ), #7472, .F. ) ; +#6841 = LINE ( 'NONE', #5989, #7940 ) ; +#6842 = ORIENTED_EDGE ( 'NONE', *, *, #1417, .F. ) ; +#6843 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6845 = ORIENTED_EDGE ( 'NONE', *, *, #11447, .T. ) ; +#6844 = EDGE_CURVE ( 'NONE', #7133, #6264, #2731, .T. ) ; +#6846 = EDGE_CURVE ( 'NONE', #7581, #11773, #10539, .T. ) ; +#6847 = VERTEX_POINT ( 'NONE', #3570 ) ; +#6848 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -64.96605763575112746, 4.250023829846106160 ) ) ; +#6849 = ORIENTED_EDGE ( 'NONE', *, *, #7146, .F. ) ; +#6850 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -17.44615242270659650, -3.000000000000000000 ) ) ; +#6851 = ORIENTED_EDGE ( 'NONE', *, *, #12599, .F. ) ; +#6852 = LINE ( 'NONE', #11853, #10535 ) ; +#6853 = VERTEX_POINT ( 'NONE', #580 ) ; +#6854 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -17.44615242270659650, 0.000000000000000000 ) ) ; +#6855 = PLANE ( 'NONE', #2109 ) ; +#6856 = EDGE_LOOP ( 'NONE', ( #11785, #1964, #5278, #9193 ) ) ; +#6857 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6858 = ORIENTED_EDGE ( 'NONE', *, *, #1423, .T. ) ; +#6859 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#6860 = ORIENTED_EDGE ( 'NONE', *, *, #8872, .T. ) ; +#6861 = VECTOR ( 'NONE', #4820, 1000.000000000000000 ) ; +#6862 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 1.760023829846110610 ) ) ; +#6863 = LINE ( 'NONE', #10828, #315 ) ; +#6864 = EDGE_CURVE ( 'NONE', #12589, #12835, #641, .T. ) ; +#6865 = FACE_BOUND ( 'NONE', #4758, .T. ) ; +#6866 = CARTESIAN_POINT ( 'NONE', ( -96.48512085511606529, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6867 = ORIENTED_EDGE ( 'NONE', *, *, #959, .F. ) ; +#6868 = LINE ( 'NONE', #7055, #10130 ) ; +#6869 = VECTOR ( 'NONE', #384, 1000.000000000000000 ) ; +#6870 = ORIENTED_EDGE ( 'NONE', *, *, #6846, .F. ) ; +#6871 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416525, -84.48804429451439546, 17.63238915033748100 ) ) ; +#6872 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6873 = ORIENTED_EDGE ( 'NONE', *, *, #3825, .T. ) ; +#6874 = LINE ( 'NONE', #955, #10045 ) ; +#6875 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#6876 = CARTESIAN_POINT ( 'NONE', ( -121.5689856355253937, -74.93293189260992904, 16.74016224673005127 ) ) ; +#6877 = ORIENTED_EDGE ( 'NONE', *, *, #786, .F. ) ; +#6878 = VECTOR ( 'NONE', #10057, 1000.000000000000000 ) ; +#6879 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6880 = EDGE_CURVE ( 'NONE', #3803, #6103, #774, .T. ) ; +#6881 = PLANE ( 'NONE', #3452 ) ; +#6882 = CARTESIAN_POINT ( 'NONE', ( -87.85140830922114219, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6883 = ORIENTED_EDGE ( 'NONE', *, *, #7462, .F. ) ; +#6884 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6885 = CARTESIAN_POINT ( 'NONE', ( -119.2609699913911072, -67.24447493580055379, 4.245016692184744755 ) ) ; +#6886 = ORIENTED_EDGE ( 'NONE', *, *, #7898, .T. ) ; +#6887 = AXIS2_PLACEMENT_3D ( 'NONE', #2184, #3159, #9989 ) ; +#6888 = CARTESIAN_POINT ( 'NONE', ( -103.8351392346022379, -14.61519186233871181, 2.744379671112067154 ) ) ; +#6889 = EDGE_CURVE ( 'NONE', #6264, #10636, #2072, .T. ) ; +#6890 = EDGE_LOOP ( 'NONE', ( #11149, #10822, #2276, #3034, #12730, #8587, #8172, #1411, #779, #4294, #703, #1876, #1038, #4569, #9120, #674, #9000, #1278, #7623, #1426, #10028, #1185, #8735, #4466, #8376, #12818, #317, #2005, #821, #1336, #2510, #4613, #4005, #4828, #7287, #4837, #11043, #1977, #1670, #3854, #12166, #6322, #3388, #6141, #12772, #8276, #10757, #2194, #6039, #1462, #8401, #2457, #11636, #9556, #12294, #3794, #12035, #3073, #7063, #8952, #2278, #8732, #8067, #2371, #12457, #2697, #1915, #11990, #10888, #11501, #7762, #3587, #10782, #4592, #12390, #2821, #9102, #803, #9836, #3183, #11189, #7904, #5014, #8159, #6790 ) ) ; +#6891 = CARTESIAN_POINT ( 'NONE', ( -86.22554657318990223, -64.96605763575112746, 2.950023829846315060 ) ) ; +#6892 = ORIENTED_EDGE ( 'NONE', *, *, #7465, .F. ) ; +#6893 = FACE_OUTER_BOUND ( 'NONE', #9872, .T. ) ; +#6894 = EDGE_CURVE ( 'NONE', #11832, #6853, #2982, .T. ) ; +#6895 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6896 = VECTOR ( 'NONE', #10701, 1000.000000000000000 ) ; +#6897 = DIRECTION ( 'NONE', ( 0.9396926207859082059, 0.000000000000000000, -0.3420201433256692680 ) ) ; +#6898 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6899 = ORIENTED_EDGE ( 'NONE', *, *, #8972, .F. ) ; +#6900 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -27.25000000000000355, 18.75002382984610705 ) ) ; +#6901 = VERTEX_POINT ( 'NONE', #3953 ) ; +#6902 = EDGE_CURVE ( 'NONE', #8621, #2013, #10982, .T. ) ; +#6903 = VECTOR ( 'NONE', #12817, 1000.000000000000000 ) ; +#6904 = ORIENTED_EDGE ( 'NONE', *, *, #7061, .T. ) ; +#6905 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6906 = EDGE_LOOP ( 'NONE', ( #3950, #5817, #5878, #109 ) ) ; +#6907 = EDGE_CURVE ( 'NONE', #5791, #172, #12017, .T. ) ; +#6908 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #2993, #2017, #9955, #5001 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 4.712388980384687898, 6.283185307179586232 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243646044, 0.8047378541243646044, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#6909 = EDGE_CURVE ( 'NONE', #5382, #4873, #3893, .T. ) ; +#6910 = LINE ( 'NONE', #6129, #4667 ) ; +#6911 = EDGE_CURVE ( 'NONE', #3551, #9599, #12290, .T. ) ; +#6912 = VERTEX_POINT ( 'NONE', #8956 ) ; +#6913 = LINE ( 'NONE', #12762, #1800 ) ; +#6914 = ORIENTED_EDGE ( 'NONE', *, *, #1493, .T. ) ; +#6915 = CYLINDRICAL_SURFACE ( 'NONE', #11385, 2.800000000000840039 ) ; +#6916 = CARTESIAN_POINT ( 'NONE', ( -76.23122451668353960, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6917 = VERTEX_POINT ( 'NONE', #8763 ) ; +#6918 = LINE ( 'NONE', #7950, #9727 ) ; +#6919 = EDGE_CURVE ( 'NONE', #1815, #597, #966, .T. ) ; +#6920 = ORIENTED_EDGE ( 'NONE', *, *, #3724, .T. ) ; +#6921 = VECTOR ( 'NONE', #8941, 1000.000000000000000 ) ; +#6922 = PLANE ( 'NONE', #6732 ) ; +#6923 = ORIENTED_EDGE ( 'NONE', *, *, #6178, .T. ) ; +#6924 = AXIS2_PLACEMENT_3D ( 'NONE', #7207, #8053, #2264 ) ; +#6925 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6926 = DIRECTION ( 'NONE', ( -0.9396926207859083169, 0.000000000000000000, -0.3420201433256691570 ) ) ; +#6927 = CIRCLE ( 'NONE', #3395, 7.700000000002309442 ) ; +#6928 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#6929 = DIRECTION ( 'NONE', ( 0.3420201433256614409, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#6930 = EDGE_LOOP ( 'NONE', ( #2528, #2034, #8943, #2414 ) ) ; +#6931 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#6932 = TOROIDAL_SURFACE ( 'NONE', #696, 2.000000000000000000, 1.000000000000000000 ) ; +#6933 = VECTOR ( 'NONE', #7164, 1000.000000000000000 ) ; +#6934 = LINE ( 'NONE', #12783, #11299 ) ; +#6935 = FACE_OUTER_BOUND ( 'NONE', #11929, .T. ) ; +#6936 = LINE ( 'NONE', #8821, #10244 ) ; +#6937 = VECTOR ( 'NONE', #1653, 1000.000000000000000 ) ; +#6938 = ORIENTED_EDGE ( 'NONE', *, *, #11677, .F. ) ; +#6939 = FACE_OUTER_BOUND ( 'NONE', #11276, .T. ) ; +#6940 = CIRCLE ( 'NONE', #485, 7.700000000002309442 ) ; +#6941 = CARTESIAN_POINT ( 'NONE', ( -93.82414335668882188, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6942 = VECTOR ( 'NONE', #3680, 1000.000000000000000 ) ; +#6943 = ORIENTED_EDGE ( 'NONE', *, *, #9539, .F. ) ; +#6944 = CIRCLE ( 'NONE', #8375, 7.700000000002309442 ) ; +#6945 = PLANE ( 'NONE', #12123 ) ; +#6946 = CARTESIAN_POINT ( 'NONE', ( -110.6810622036169605, -64.96605763575112746, 15.55016224672746361 ) ) ; +#6947 = LINE ( 'NONE', #2978, #9894 ) ; +#6948 = ORIENTED_EDGE ( 'NONE', *, *, #12077, .T. ) ; +#6949 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6950 = VECTOR ( 'NONE', #3665, 1000.000000000000000 ) ; +#6951 = CARTESIAN_POINT ( 'NONE', ( -120.4004659377821298, -75.70205371938240546, 2.740162246727674500 ) ) ; +#6952 = AXIS2_PLACEMENT_3D ( 'NONE', #2575, #5236, #8610 ) ; +#6953 = VERTEX_POINT ( 'NONE', #2010 ) ; +#6954 = CARTESIAN_POINT ( 'NONE', ( -93.66139648258112516, -64.96605763575112746, 17.12516224672793541 ) ) ; +#6955 = EDGE_CURVE ( 'NONE', #1458, #4677, #6698, .T. ) ; +#6956 = VERTEX_POINT ( 'NONE', #7856 ) ; +#6957 = CIRCLE ( 'NONE', #11932, 2.800000000000836486 ) ; +#6958 = CARTESIAN_POINT ( 'NONE', ( -97.69578179446273225, -59.01605763575113173, 39.62736889345652713 ) ) ; +#6959 = ORIENTED_EDGE ( 'NONE', *, *, #5485, .F. ) ; +#6960 = CYLINDRICAL_SURFACE ( 'NONE', #901, 2.800000000000829381 ) ; +#6961 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#6962 = VECTOR ( 'NONE', #6619, 1000.000000000000000 ) ; +#6963 = CYLINDRICAL_SURFACE ( 'NONE', #10397, 6.124000000001836419 ) ; +#6964 = FACE_OUTER_BOUND ( 'NONE', #10593, .T. ) ; +#6965 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#6966 = ORIENTED_EDGE ( 'NONE', *, *, #9610, .T. ) ; +#6967 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 15.24999999999809930, 0.000000000000000000 ) ) ; +#6968 = ORIENTED_EDGE ( 'NONE', *, *, #1578, .T. ) ; +#6969 = EDGE_CURVE ( 'NONE', #3734, #7158, #11393, .T. ) ; +#6970 = VERTEX_POINT ( 'NONE', #6032 ) ; +#6971 = CARTESIAN_POINT ( 'NONE', ( -92.08689114511476248, -58.46605763575112746, 17.12516224672793541 ) ) ; +#6972 = ORIENTED_EDGE ( 'NONE', *, *, #8483, .F. ) ; +#6973 = AXIS2_PLACEMENT_3D ( 'NONE', #12555, #4753, #4812 ) ; +#6974 = CARTESIAN_POINT ( 'NONE', ( -95.02200599319255048, -64.96605763575112746, 2.950023829846314172 ) ) ; +#6975 = DIRECTION ( 'NONE', ( -0.3420201433256687129, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#6977 = ORIENTED_EDGE ( 'NONE', *, *, #12083, .T. ) ; +#6976 = ADVANCED_FACE ( 'NONE', ( #5977 ), #1942, .T. ) ; +#6978 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256614409 ) ) ; +#6979 = VERTEX_POINT ( 'NONE', #896 ) ; +#6980 = FACE_OUTER_BOUND ( 'NONE', #3249, .T. ) ; +#6981 = AXIS2_PLACEMENT_3D ( 'NONE', #11037, #7011, #2063 ) ; +#6982 = LINE ( 'NONE', #3083, #5640 ) ; +#6983 = ORIENTED_EDGE ( 'NONE', *, *, #800, .T. ) ; +#6984 = FACE_OUTER_BOUND ( 'NONE', #5938, .T. ) ; +#6985 = EDGE_CURVE ( 'NONE', #12803, #2218, #8050, .T. ) ; +#6986 = VERTEX_POINT ( 'NONE', #4936 ) ; +#6987 = CARTESIAN_POINT ( 'NONE', ( -114.9676511338312110, -84.96605762389523875, 2.740162246721820072 ) ) ; +#6988 = ADVANCED_FACE ( 'NONE', ( #7075 ), #10901, .T. ) ; +#6989 = ORIENTED_EDGE ( 'NONE', *, *, #6187, .F. ) ; +#6990 = CIRCLE ( 'NONE', #1378, 6.124000000001836419 ) ; +#6991 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#6992 = CARTESIAN_POINT ( 'NONE', ( -94.44875287422310350, -64.96605763575112746, 1.375023829845842149 ) ) ; +#6993 = EDGE_CURVE ( 'NONE', #6456, #6330, #2124, .T. ) ; +#6994 = FACE_OUTER_BOUND ( 'NONE', #8686, .T. ) ; +#6995 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#6996 = VERTEX_POINT ( 'NONE', #4278 ) ; +#6997 = CARTESIAN_POINT ( 'NONE', ( -90.15550846171311150, 13.89991557692050073, 10.00000000000000000 ) ) ; +#6998 = CARTESIAN_POINT ( 'NONE', ( -88.21525270734082369, -59.01605763575113173, 31.87281718311728440 ) ) ; +#6999 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7000 = CYLINDRICAL_SURFACE ( 'NONE', #1509, 1.000000000000000000 ) ; +#7001 = EDGE_CURVE ( 'NONE', #484, #7104, #9341, .T. ) ; +#7002 = VECTOR ( 'NONE', #7013, 1000.000000000000000 ) ; +#7003 = EDGE_LOOP ( 'NONE', ( #9901, #661, #4631, #12075, #5121, #12640, #3436, #1819, #1368, #11072 ) ) ; +#7004 = AXIS2_PLACEMENT_3D ( 'NONE', #4392, #1602, #4330 ) ; +#7005 = CARTESIAN_POINT ( 'NONE', ( -84.02643171818924372, -64.96605763575112746, 2.950023829846315060 ) ) ; +#7006 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 7.490162246727668283 ) ) ; +#7007 = ORIENTED_EDGE ( 'NONE', *, *, #9592, .T. ) ; +#7008 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 3.740162246727670503 ) ) ; +#7009 = AXIS2_PLACEMENT_3D ( 'NONE', #11301, #12335, #7395 ) ; +#7010 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 12.49999982601869775, 9.000000000000001776 ) ) ; +#7011 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7012 = VERTEX_POINT ( 'NONE', #11297 ) ; +#7013 = DIRECTION ( 'NONE', ( -1.544631851866820033E-16, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7014 = FACE_OUTER_BOUND ( 'NONE', #5836, .T. ) ; +#7015 = ORIENTED_EDGE ( 'NONE', *, *, #5796, .T. ) ; +#7016 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 0.9999999999999991118 ) ) ; +#7017 = CARTESIAN_POINT ( 'NONE', ( -64.97359506673458895, -69.59695732965067805, 15.65225073345592044 ) ) ; +#7018 = VECTOR ( 'NONE', #4575, 1000.000000000000000 ) ; +#7019 = ORIENTED_EDGE ( 'NONE', *, *, #1399, .F. ) ; +#7020 = VECTOR ( 'NONE', #11673, 1000.000000000000000 ) ; +#7021 = FACE_OUTER_BOUND ( 'NONE', #8022, .T. ) ; +#7022 = VERTEX_POINT ( 'NONE', #7137 ) ; +#7023 = PLANE ( 'NONE', #8826 ) ; +#7024 = CARTESIAN_POINT ( 'NONE', ( -85.38058931491416104, -59.01605763575113173, 37.13228939359599678 ) ) ; +#7025 = EDGE_CURVE ( 'NONE', #5404, #11248, #257, .T. ) ; +#7026 = VECTOR ( 'NONE', #8392, 1000.000000000000000 ) ; +#7027 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7028 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 9.250023829846105272 ) ) ; +#7029 = CARTESIAN_POINT ( 'NONE', ( -64.44106184261228520, -70.17736318715097354, 15.64197678826455196 ) ) ; +#7030 = ORIENTED_EDGE ( 'NONE', *, *, #7388, .T. ) ; +#7031 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7032 = ORIENTED_EDGE ( 'NONE', *, *, #9772, .T. ) ; +#7033 = CARTESIAN_POINT ( 'NONE', ( -80.62945422668485662, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7034 = CARTESIAN_POINT ( 'NONE', ( -79.89345423360771292, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7035 = ORIENTED_EDGE ( 'NONE', *, *, #140, .T. ) ; +#7036 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7037 = CYLINDRICAL_SURFACE ( 'NONE', #9656, 7.700000000002312994 ) ; +#7038 = EDGE_CURVE ( 'NONE', #2477, #12649, #11110, .T. ) ; +#7039 = ORIENTED_EDGE ( 'NONE', *, *, #662, .F. ) ; +#7040 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7041 = ORIENTED_EDGE ( 'NONE', *, *, #6233, .T. ) ; +#7042 = PLANE ( 'NONE', #3897 ) ; +#7043 = LINE ( 'NONE', #7884, #12275 ) ; +#7044 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -69.96605763575111325, 2.740162246727670503 ) ) ; +#7045 = EDGE_LOOP ( 'NONE', ( #8279, #7007, #11520, #3629, #458, #894, #8863, #1394, #866, #3215, #10621, #9467, #2858, #6396, #12044, #5007, #5814, #7989, #10466, #10684, #7647, #9971, #8418, #11667, #4688, #1444, #1745, #6611, #4218, #1838, #10824, #10798, #12350, #12245, #2718, #1013, #2835, #3728, #1905, #3780, #11173, #3232, #5252, #12654, #10159, #5225, #7970, #10227, #12701, #10470, #5994, #4352, #7937, #11273, #8930, #9273, #1149, #5472, #10702, #11953, #7949, #11850, #11738, #1681, #12220, #11061, #3070, #7449, #10205, #6364, #11010, #2940, #7264, #7313, #6845, #6968, #9171 ) ) ; +#7046 = CARTESIAN_POINT ( 'NONE', ( -115.4328321019198569, -84.87102852990790325, 3.740162246727595452 ) ) ; +#7047 = ORIENTED_EDGE ( 'NONE', *, *, #9542, .F. ) ; +#7048 = EDGE_CURVE ( 'NONE', #2087, #285, #2397, .T. ) ; +#7049 = CARTESIAN_POINT ( 'NONE', ( -98.87855690028372635, -65.01605763575113883, 37.30604204512226119 ) ) ; +#7050 = LINE ( 'NONE', #27, #6332 ) ; +#7051 = EDGE_CURVE ( 'NONE', #6502, #3514, #240, .T. ) ; +#7052 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7053 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#7054 = ORIENTED_EDGE ( 'NONE', *, *, #12710, .T. ) ; +#7055 = CARTESIAN_POINT ( 'NONE', ( -103.6557185390874736, -64.96605763575112746, 15.55016224672746006 ) ) ; +#7056 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7057 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7058 = CYLINDRICAL_SURFACE ( 'NONE', #7498, 1.000000000000000888 ) ; +#7059 = ORIENTED_EDGE ( 'NONE', *, *, #5515, .F. ) ; +#7060 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 0.000000000000000000 ) ) ; +#7061 = EDGE_CURVE ( 'NONE', #8985, #622, #4210, .T. ) ; +#7062 = FACE_OUTER_BOUND ( 'NONE', #5435, .T. ) ; +#7063 = ORIENTED_EDGE ( 'NONE', *, *, #2689, .T. ) ; +#7064 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #10912, #1742, #11882, #4984, #11761, #10661, #6760, #11824, #5712, #8694, #4866, #8894, #4929, #12856, #2977, #8950, #10846, #10788, #10728, #7720, #2860, #44, #1937, #8831, #9881, #5904 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 0.000000000000000000, 0.004116847617919248623, 0.006175271426878854719, 0.007204483331358632614, 0.008233695235838410509, 0.01029211904479800620, 0.01132133094927778583, 0.01235054285375756546, 0.01337975475823734335, 0.01389436071047723403, 0.01440896666271712298, 0.01543817856719692516, 0.01646739047167672387 ), + .UNSPECIFIED. ) ; +#7065 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7066 = CARTESIAN_POINT ( 'NONE', ( -82.25531596271609658, -58.46605763575112746, 2.950023829846315948 ) ) ; +#7067 = EDGE_CURVE ( 'NONE', #6970, #10012, #8111, .T. ) ; +#7068 = VECTOR ( 'NONE', #10622, 1000.000000000000000 ) ; +#7069 = VECTOR ( 'NONE', #1764, 1000.000000000000000 ) ; +#7070 = EDGE_CURVE ( 'NONE', #10365, #5309, #4398, .T. ) ; +#7071 = EDGE_CURVE ( 'NONE', #4988, #7751, #9399, .T. ) ; +#7072 = ORIENTED_EDGE ( 'NONE', *, *, #4690, .F. ) ; +#7073 = FACE_OUTER_BOUND ( 'NONE', #8213, .T. ) ; +#7074 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#7075 = FACE_OUTER_BOUND ( 'NONE', #9766, .T. ) ; +#7076 = ORIENTED_EDGE ( 'NONE', *, *, #10723, .F. ) ; +#7077 = CYLINDRICAL_SURFACE ( 'NONE', #9199, 2.800000000000836486 ) ; +#7078 = LINE ( 'NONE', #5666, #9774 ) ; +#7079 = ORIENTED_EDGE ( 'NONE', *, *, #12302, .F. ) ; +#7080 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7081 = ORIENTED_EDGE ( 'NONE', *, *, #4954, .T. ) ; +#7082 = FACE_OUTER_BOUND ( 'NONE', #11638, .T. ) ; +#7083 = LINE ( 'NONE', #1953, #11744 ) ; +#7084 = EDGE_CURVE ( 'NONE', #11773, #11330, #6358, .T. ) ; +#7085 = VECTOR ( 'NONE', #11443, 1000.000000000000000 ) ; +#7086 = AXIS2_PLACEMENT_3D ( 'NONE', #4520, #10436, #12445 ) ; +#7087 = CARTESIAN_POINT ( 'NONE', ( -85.38058931491413261, -59.01605763575113173, 34.36789668297793554 ) ) ; +#7088 = CARTESIAN_POINT ( 'NONE', ( -64.33004725608378749, -70.13177199847682175, 15.57137973125679586 ) ) ; +#7089 = EDGE_LOOP ( 'NONE', ( #413, #1967, #3110, #349, #6983, #8497, #1843 ) ) ; +#7090 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -82.96605763575112746, 1.760023829846103727 ) ) ; +#7091 = EDGE_LOOP ( 'NONE', ( #4643, #6172, #10625, #836 ) ) ; +#7092 = CARTESIAN_POINT ( 'NONE', ( -96.28972783784541889, -59.01605763575113173, 28.80941297348426744 ) ) ; +#7093 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#7094 = ORIENTED_EDGE ( 'NONE', *, *, #915, .F. ) ; +#7095 = VECTOR ( 'NONE', #6323, 1000.000000000000000 ) ; +#7096 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7097 = LINE ( 'NONE', #4048, #3837 ) ; +#7098 = ORIENTED_EDGE ( 'NONE', *, *, #3886, .T. ) ; +#7099 = CARTESIAN_POINT ( 'NONE', ( -67.82572315690671871, -81.51930742542673158, 0.7600238298461045039 ) ) ; +#7100 = ORIENTED_EDGE ( 'NONE', *, *, #1286, .T. ) ; +#7101 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7102 = VECTOR ( 'NONE', #11259, 1000.000000000000000 ) ; +#7103 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7104 = VERTEX_POINT ( 'NONE', #6291 ) ; +#7105 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7106 = ORIENTED_EDGE ( 'NONE', *, *, #2057, .T. ) ; +#7107 = CARTESIAN_POINT ( 'NONE', ( -117.4657290418292348, -82.32732832646604493, 2.740162246727671835 ) ) ; +#7108 = VERTEX_POINT ( 'NONE', #10265 ) ; +#7109 = ADVANCED_FACE ( 'NONE', ( #7323 ), #9283, .F. ) ; +#7110 = CIRCLE ( 'NONE', #5871, 2.800000000000843592 ) ; +#7111 = CARTESIAN_POINT ( 'NONE', ( -91.46228162758046665, -58.46605763575112746, 17.12516224672793541 ) ) ; +#7112 = FACE_OUTER_BOUND ( 'NONE', #9848, .T. ) ; +#7113 = CARTESIAN_POINT ( 'NONE', ( -90.15550846171311150, 13.89991557692050073, 10.00000000000000000 ) ) ; +#7114 = ORIENTED_EDGE ( 'NONE', *, *, #12744, .F. ) ; +#7115 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7116 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -64.96605763575112746, 7.740162246727670059 ) ) ; +#7117 = VECTOR ( 'NONE', #9007, 1000.000000000000000 ) ; +#7118 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7119 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#7120 = CIRCLE ( 'NONE', #1510, 2.800000000000836486 ) ; +#7121 = ORIENTED_EDGE ( 'NONE', *, *, #12838, .T. ) ; +#7122 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416383, -84.96605763575111325, 3.740162246727670059 ) ) ; +#7123 = ADVANCED_FACE ( 'NONE', ( #3360 ), #10329, .T. ) ; +#7124 = CARTESIAN_POINT ( 'NONE', ( -76.85583403421783544, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7125 = VERTEX_POINT ( 'NONE', #8550 ) ; +#7126 = AXIS2_PLACEMENT_3D ( 'NONE', #2274, #8249, #4293 ) ; +#7127 = CIRCLE ( 'NONE', #5257, 2.800000000000840039 ) ; +#7128 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164844250, -70.67316441693768070, 14.76002382984610151 ) ) ; +#7129 = CIRCLE ( 'NONE', #11503, 1.000000000000000888 ) ; +#7130 = CARTESIAN_POINT ( 'NONE', ( -92.82289113819189197, -58.46605763575112746, 2.950023829846314172 ) ) ; +#7131 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7132 = VECTOR ( 'NONE', #2563, 1000.000000000000000 ) ; +#7133 = VERTEX_POINT ( 'NONE', #3496 ) ; +#7134 = CARTESIAN_POINT ( 'NONE', ( -95.02200599319255048, -58.46605763575112746, 2.950023829846314172 ) ) ; +#7135 = EDGE_CURVE ( 'NONE', #565, #8901, #1609, .T. ) ; +#7136 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7137 = CARTESIAN_POINT ( 'NONE', ( -81.09131687011145573, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7138 = VECTOR ( 'NONE', #882, 1000.000000000000000 ) ; +#7139 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7140 = LINE ( 'NONE', #5381, #764 ) ; +#7141 = CIRCLE ( 'NONE', #11089, 2.800000000000836486 ) ; +#7142 = EDGE_CURVE ( 'NONE', #10370, #10007, #5701, .T. ) ; +#7143 = AXIS2_PLACEMENT_3D ( 'NONE', #8842, #6770, #10742 ) ; +#7144 = EDGE_CURVE ( 'NONE', #1711, #12649, #4729, .T. ) ; +#7145 = ORIENTED_EDGE ( 'NONE', *, *, #6490, .F. ) ; +#7146 = EDGE_CURVE ( 'NONE', #9339, #2942, #5511, .T. ) ; +#7147 = ADVANCED_FACE ( 'NONE', ( #2589, #9481, #7712 ), #755, .T. ) ; +#7148 = DIRECTION ( 'NONE', ( -1.544631851866821019E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7149 = ORIENTED_EDGE ( 'NONE', *, *, #685, .T. ) ; +#7150 = VECTOR ( 'NONE', #6455, 1000.000000000000000 ) ; +#7151 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 3.740162246727669615 ) ) ; +#7152 = FACE_OUTER_BOUND ( 'NONE', #7955, .T. ) ; +#7153 = VECTOR ( 'NONE', #215, 1000.000000000000000 ) ; +#7154 = EDGE_CURVE ( 'NONE', #5509, #2955, #567, .T. ) ; +#7155 = AXIS2_PLACEMENT_3D ( 'NONE', #7939, #10582, #1718 ) ; +#7156 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7157 = CARTESIAN_POINT ( 'NONE', ( -90.88902850861101967, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7158 = VERTEX_POINT ( 'NONE', #1668 ) ; +#7159 = AXIS2_PLACEMENT_3D ( 'NONE', #895, #12860, #8762 ) ; +#7160 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, 3.000000000000004441 ) ) ; +#7161 = ADVANCED_FACE ( 'NONE', ( #2657 ), #6481, .F. ) ; +#7162 = ORIENTED_EDGE ( 'NONE', *, *, #11263, .F. ) ; +#7163 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7164 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7165 = EDGE_LOOP ( 'NONE', ( #3273, #9703, #8465, #871 ) ) ; +#7166 = VECTOR ( 'NONE', #11120, 1000.000000000000000 ) ; +#7167 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -44.55000000000000426, 19.25002382984610705 ) ) ; +#7168 = AXIS2_PLACEMENT_3D ( 'NONE', #1004, #95, #12775 ) ; +#7169 = FACE_OUTER_BOUND ( 'NONE', #8472, .T. ) ; +#7170 = CARTESIAN_POINT ( 'NONE', ( -69.34640850998793837, -83.17794892179927047, 0.7600238298461055031 ) ) ; +#7171 = ORIENTED_EDGE ( 'NONE', *, *, #6772, .T. ) ; +#7172 = CARTESIAN_POINT ( 'NONE', ( -97.64911994772072035, -58.46605763575112746, 2.950023829846314172 ) ) ; +#7173 = LINE ( 'NONE', #12176, #40 ) ; +#7174 = VERTEX_POINT ( 'NONE', #12459 ) ; +#7175 = LINE ( 'NONE', #3084, #2280 ) ; +#7176 = AXIS2_PLACEMENT_3D ( 'NONE', #5195, #11122, #9162 ) ; +#7177 = ORIENTED_EDGE ( 'NONE', *, *, #9539, .T. ) ; +#7178 = CARTESIAN_POINT ( 'NONE', ( -121.1179924769967471, -76.96934549813666138, 3.740162246727366746 ) ) ; +#7179 = VERTEX_POINT ( 'NONE', #6679 ) ; +#7180 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256614409 ) ) ; +#7181 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#7182 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7183 = CYLINDRICAL_SURFACE ( 'NONE', #10524, 1.000000000000000888 ) ; +#7184 = AXIS2_PLACEMENT_3D ( 'NONE', #3889, #8951, #962 ) ; +#7185 = ORIENTED_EDGE ( 'NONE', *, *, #786, .T. ) ; +#7186 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7187 = EDGE_CURVE ( 'NONE', #5621, #3551, #7585, .T. ) ; +#7188 = LINE ( 'NONE', #12125, #1954 ) ; +#7189 = PLANE ( 'NONE', #7281 ) ; +#7190 = LINE ( 'NONE', #171, #855 ) ; +#7191 = VERTEX_POINT ( 'NONE', #4594 ) ; +#7192 = CARTESIAN_POINT ( 'NONE', ( -108.6446942227240129, -64.96605763575112746, 2.950023829846315060 ) ) ; +#7193 = AXIS2_PLACEMENT_3D ( 'NONE', #4723, #8679, #11674 ) ; +#7194 = AXIS2_PLACEMENT_3D ( 'NONE', #2727, #6688, #8758 ) ; +#7195 = CYLINDRICAL_SURFACE ( 'NONE', #12757, 2.800000000000836486 ) ; +#7196 = ORIENTED_EDGE ( 'NONE', *, *, #613, .F. ) ; +#7197 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7198 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7199 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283502416, -64.96605763575111325, 10.76002382984609262 ) ) ; +#7200 = VERTEX_POINT ( 'NONE', #7515 ) ; +#7201 = FACE_OUTER_BOUND ( 'NONE', #4242, .T. ) ; +#7202 = EDGE_CURVE ( 'NONE', #9471, #12234, #12403, .T. ) ; +#7203 = AXIS2_PLACEMENT_3D ( 'NONE', #4693, #10355, #5402 ) ; +#7204 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416951, -84.96605763575114167, 3.478362858928520041 ) ) ; +#7205 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#7206 = ORIENTED_EDGE ( 'NONE', *, *, #5644, .F. ) ; +#7207 = CARTESIAN_POINT ( 'NONE', ( 42.84439832602063092, -51.45000000000000284, 17.75002382984610350 ) ) ; +#7208 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7209 = VERTEX_POINT ( 'NONE', #3624 ) ; +#7210 = LINE ( 'NONE', #8961, #9851 ) ; +#7211 = ORIENTED_EDGE ( 'NONE', *, *, #4364, .F. ) ; +#7212 = EDGE_CURVE ( 'NONE', #10453, #3773, #12517, .T. ) ; +#7213 = CIRCLE ( 'NONE', #2228, 0.7999999999999951594 ) ; +#7214 = PLANE ( 'NONE', #9838 ) ; +#7215 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#7216 = EDGE_CURVE ( 'NONE', #7012, #1847, #10523, .T. ) ; +#7217 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088335925, -65.01605763575113883, 34.55983764663554325 ) ) ; +#7218 = PERSON_AND_ORGANIZATION_ROLE ( 'design_owner' ) ; +#7219 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7220 = ORIENTED_EDGE ( 'NONE', *, *, #9700, .F. ) ; +#7221 = AXIS2_PLACEMENT_3D ( 'NONE', #3142, #9121, #7101 ) ; +#7222 = VECTOR ( 'NONE', #2844, 1000.000000000000000 ) ; +#7223 = VERTEX_POINT ( 'NONE', #12591 ) ; +#7224 = CARTESIAN_POINT ( 'NONE', ( -91.39956824406647229, -59.01605763575113173, 41.67313268766883994 ) ) ; +#7225 = VERTEX_POINT ( 'NONE', #5578 ) ; +#7226 = ADVANCED_FACE ( 'NONE', ( #11622 ), #4470, .F. ) ; +#7227 = CARTESIAN_POINT ( 'NONE', ( -98.88887660066464491, -59.01605763575113173, 38.58969436516104423 ) ) ; +#7228 = CIRCLE ( 'NONE', #11176, 2.800000000000836486 ) ; +#7229 = CARTESIAN_POINT ( 'NONE', ( -97.48637307361302362, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7230 = EDGE_CURVE ( 'NONE', #115, #1526, #469, .T. ) ; +#7231 = CARTESIAN_POINT ( 'NONE', ( -68.11988740220016325, -83.43117233135548361, 0.7600238298466864828 ) ) ; +#7232 = EDGE_CURVE ( 'NONE', #2180, #5407, #626, .T. ) ; +#7233 = ADVANCED_FACE ( 'NONE', ( #10388 ), #5439, .F. ) ; +#7234 = VERTEX_POINT ( 'NONE', #105 ) ; +#7235 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -51.45000000000000284, 0.000000000000000000 ) ) ; +#7236 = VERTEX_POINT ( 'NONE', #1067 ) ; +#7237 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#7238 = ORIENTED_EDGE ( 'NONE', *, *, #6594, .F. ) ; +#7239 = CARTESIAN_POINT ( 'NONE', ( -87.24911363665819408, -59.01605763575113173, 33.52740687254731000 ) ) ; +#7240 = VERTEX_POINT ( 'NONE', #12718 ) ; +#7241 = CARTESIAN_POINT ( 'NONE', ( -117.3533346473124652, -83.82780703507496867, 2.740162246728025330 ) ) ; +#7242 = ORIENTED_EDGE ( 'NONE', *, *, #10816, .F. ) ; +#7243 = PLANE ( 'NONE', #500 ) ; +#7244 = CARTESIAN_POINT ( 'NONE', ( -78.43033937168419811, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7245 = DIRECTION ( 'NONE', ( -1.192622389734055617E-16, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7246 = EDGE_LOOP ( 'NONE', ( #7722, #1229, #2887, #7100 ) ) ; +#7247 = FACE_OUTER_BOUND ( 'NONE', #1962, .T. ) ; +#7248 = CARTESIAN_POINT ( 'NONE', ( -82.25531596271609658, -64.96605763575112746, 2.950023829846315948 ) ) ; +#7249 = CARTESIAN_POINT ( 'NONE', ( -108.4819473486163020, -58.46605763575112746, 15.55016224672746361 ) ) ; +#7250 = VERTEX_POINT ( 'NONE', #5771 ) ; +#7251 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -64.96605763575112746, 0.7600238298461048370 ) ) ; +#7252 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7253 = ORIENTED_EDGE ( 'NONE', *, *, #12710, .F. ) ; +#7254 = EDGE_CURVE ( 'NONE', #10514, #7844, #5831, .T. ) ; +#7255 = FACE_OUTER_BOUND ( 'NONE', #1625, .T. ) ; +#7256 = DIRECTION ( 'NONE', ( -0.3420201433256620516, 0.000000000000000000, 0.9396926207859107594 ) ) ; +#7257 = VERTEX_POINT ( 'NONE', #883 ) ; +#7258 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -23.18297142738790839, -2.848052381507200970 ) ) ; +#7259 = LINE ( 'NONE', #7322, #1330 ) ; +#7260 = CARTESIAN_POINT ( 'NONE', ( -85.48954658011275853, -58.46605763575112746, 17.12516224672793541 ) ) ; +#7261 = VERTEX_POINT ( 'NONE', #12005 ) ; +#7262 = CARTESIAN_POINT ( 'NONE', ( -86.49079879860971687, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7263 = CARTESIAN_POINT ( 'NONE', ( -101.0460974392251075, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7264 = ORIENTED_EDGE ( 'NONE', *, *, #4840, .T. ) ; +#7265 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7266 = VERTEX_POINT ( 'NONE', #2968 ) ; +#7267 = EDGE_CURVE ( 'NONE', #2013, #518, #37, .T. ) ; +#7268 = CARTESIAN_POINT ( 'NONE', ( -121.9538992143867091, -69.97793448844753073, 3.467118108182603020 ) ) ; +#7269 = LINE ( 'NONE', #5522, #9253 ) ; +#7270 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7271 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 1.760023829846110610 ) ) ; +#7272 = EDGE_CURVE ( 'NONE', #11186, #12693, #6936, .T. ) ; +#7273 = ORIENTED_EDGE ( 'NONE', *, *, #9069, .T. ) ; +#7274 = VECTOR ( 'NONE', #8657, 1000.000000000000000 ) ; +#7275 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7276 = EDGE_LOOP ( 'NONE', ( #4869, #6345, #7220, #9995 ) ) ; +#7277 = CARTESIAN_POINT ( 'NONE', ( -87.02215790113896787, -65.01605763575113883, 38.58969436516112950 ) ) ; +#7278 = ORIENTED_EDGE ( 'NONE', *, *, #3491, .F. ) ; +#7279 = EDGE_CURVE ( 'NONE', #6442, #518, #5039, .T. ) ; +#7280 = LINE ( 'NONE', #6055, #511 ) ; +#7281 = AXIS2_PLACEMENT_3D ( 'NONE', #9688, #4001, #4071 ) ; +#7282 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7283 = CARTESIAN_POINT ( 'NONE', ( -68.82136748007617655, -82.71803235828170386, 0.7600238298461045039 ) ) ; +#7284 = ORIENTED_EDGE ( 'NONE', *, *, #12216, .T. ) ; +#7285 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7286 = ADVANCED_FACE ( 'NONE', ( #4919 ), #3812, .F. ) ; +#7287 = ORIENTED_EDGE ( 'NONE', *, *, #4049, .T. ) ; +#7288 = CYLINDRICAL_SURFACE ( 'NONE', #5648, 0.9999999999999964473 ) ; +#7289 = ORIENTED_EDGE ( 'NONE', *, *, #4595, .F. ) ; +#7290 = LINE ( 'NONE', #8080, #11210 ) ; +#7291 = AXIS2_PLACEMENT_3D ( 'NONE', #3409, #9464, #10310 ) ; +#7292 = ORIENTED_EDGE ( 'NONE', *, *, #12471, .T. ) ; +#7293 = CARTESIAN_POINT ( 'NONE', ( -121.2075905230657611, -76.61781865424967464, 3.740162246727670503 ) ) ; +#7294 = ADVANCED_FACE ( 'NONE', ( #12784 ), #2851, .F. ) ; +#7295 = ORIENTED_EDGE ( 'NONE', *, *, #10108, .T. ) ; +#7296 = EDGE_CURVE ( 'NONE', #7552, #394, #7903, .T. ) ; +#7297 = EDGE_CURVE ( 'NONE', #8786, #2180, #9870, .T. ) ; +#7298 = ADVANCED_FACE ( 'NONE', ( #4073 ), #11944, .F. ) ; +#7299 = CARTESIAN_POINT ( 'NONE', ( -83.29043172511211424, -58.46605763575112746, 17.12516224672793541 ) ) ; +#7300 = LINE ( 'NONE', #2435, #1313 ) ; +#7301 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 17.75002382984610350 ) ) ; +#7302 = CIRCLE ( 'NONE', #7926, 2.800000000000843592 ) ; +#7303 = ORIENTED_EDGE ( 'NONE', *, *, #12776, .F. ) ; +#7304 = CYLINDRICAL_SURFACE ( 'NONE', #8879, 1.000000000000000000 ) ; +#7305 = EDGE_CURVE ( 'NONE', #8799, #990, #12725, .T. ) ; +#7306 = CARTESIAN_POINT ( 'NONE', ( -81.66456998908088849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7307 = ORIENTED_EDGE ( 'NONE', *, *, #8764, .F. ) ; +#7308 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7309 = ORIENTED_EDGE ( 'NONE', *, *, #1578, .F. ) ; +#7310 = CARTESIAN_POINT ( 'NONE', ( -96.48512085511606529, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7311 = AXIS2_PLACEMENT_3D ( 'NONE', #3640, #3511, #5592 ) ; +#7312 = CARTESIAN_POINT ( 'NONE', ( -77.26634027907955726, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7313 = ORIENTED_EDGE ( 'NONE', *, *, #8737, .T. ) ; +#7314 = CARTESIAN_POINT ( 'NONE', ( -89.62130666395819389, -59.01605763575113173, 42.69077310308952633 ) ) ; +#7315 = DIRECTION ( 'NONE', ( 0.9396926207859108704, -0.000000000000000000, 0.3420201433256621071 ) ) ; +#7316 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7317 = AXIS2_PLACEMENT_3D ( 'NONE', #9198, #10188, #1261 ) ; +#7318 = VERTEX_POINT ( 'NONE', #1011 ) ; +#7319 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#7320 = AXIS2_PLACEMENT_3D ( 'NONE', #5913, #968, #4938 ) ; +#7321 = ORIENTED_EDGE ( 'NONE', *, *, #3708, .F. ) ; +#7322 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 16.88908538344432841 ) ) ; +#7323 = FACE_OUTER_BOUND ( 'NONE', #11906, .T. ) ; +#7324 = ORIENTED_EDGE ( 'NONE', *, *, #12006, .F. ) ; +#7325 = CARTESIAN_POINT ( 'NONE', ( -104.8197176316921286, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7326 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7327 = EDGE_LOOP ( 'NONE', ( #2596, #12807, #8852, #9263 ) ) ; +#7328 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 17.74016224672767095 ) ) ; +#7329 = ORIENTED_EDGE ( 'NONE', *, *, #3653, .T. ) ; +#7330 = CIRCLE ( 'NONE', #10259, 2.800000000000829381 ) ; +#7331 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, 13.24999999999810285, 10.00000000000000000 ) ) ; +#7332 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7333 = ORIENTED_EDGE ( 'NONE', *, *, #2138, .T. ) ; +#7334 = CIRCLE ( 'NONE', #7959, 6.124000000001836419 ) ; +#7335 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7336 = EDGE_CURVE ( 'NONE', #7552, #2542, #1929, .T. ) ; +#7337 = APPROVAL_ROLE ( '' ) ; +#7338 = AXIS2_PLACEMENT_3D ( 'NONE', #9207, #301, #12198 ) ; +#7339 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -83.96605763575112746, 0.7600238298461039488 ) ) ; +#7340 = EDGE_CURVE ( 'NONE', #12505, #10334, #3038, .T. ) ; +#7341 = VECTOR ( 'NONE', #3449, 1000.000000000000000 ) ; +#7342 = ORIENTED_EDGE ( 'NONE', *, *, #3500, .T. ) ; +#7343 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7344 = EDGE_LOOP ( 'NONE', ( #12870, #2423, #7992, #11155 ) ) ; +#7345 = FACE_OUTER_BOUND ( 'NONE', #9830, .T. ) ; +#7346 = ORIENTED_EDGE ( 'NONE', *, *, #10054, .F. ) ; +#7347 = CIRCLE ( 'NONE', #3375, 2.800000000000840039 ) ; +#7348 = CARTESIAN_POINT ( 'NONE', ( -64.99055487286872790, -77.67155388489057088, 15.76002382984610506 ) ) ; +#7349 = AXIS2_PLACEMENT_3D ( 'NONE', #1658, #4720, #10709 ) ; +#7350 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7351 = CARTESIAN_POINT ( 'NONE', ( -66.40505935230054035, -78.75758718894442723, 0.7600238298461009512 ) ) ; +#7352 = VECTOR ( 'NONE', #3131, 1000.000000000000000 ) ; +#7353 = ORIENTED_EDGE ( 'NONE', *, *, #11905, .F. ) ; +#7354 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#7355 = EDGE_CURVE ( 'NONE', #4354, #11957, #7532, .T. ) ; +#7356 = DIRECTION ( 'NONE', ( 0.7071067811865475727, -0.7071067811865475727, 0.000000000000000000 ) ) ; +#7357 = VERTEX_POINT ( 'NONE', #820 ) ; +#7358 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -52.01605763575113883, 35.75009303828682050 ) ) ; +#7359 = AXIS2_PLACEMENT_3D ( 'NONE', #2270, #10989, #2330 ) ; +#7360 = ORIENTED_EDGE ( 'NONE', *, *, #9209, .F. ) ; +#7361 = FACE_OUTER_BOUND ( 'NONE', #5807, .T. ) ; +#7362 = ORIENTED_EDGE ( 'NONE', *, *, #6644, .F. ) ; +#7363 = AXIS2_PLACEMENT_3D ( 'NONE', #8808, #5885, #5823 ) ; +#7364 = ADVANCED_FACE ( 'NONE', ( #4978 ), #7000, .T. ) ; +#7365 = LINE ( 'NONE', #11339, #10076 ) ; +#7366 = CARTESIAN_POINT ( 'NONE', ( -92.08689114511476248, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7367 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7368 = ORIENTED_EDGE ( 'NONE', *, *, #5364, .T. ) ; +#7369 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7370 = ADVANCED_FACE ( 'NONE', ( #10967 ), #2054, .F. ) ; +#7371 = VECTOR ( 'NONE', #4944, 1000.000000000000114 ) ; +#7372 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7373 = APPROVAL ( #5197, '未' ) ; +#7374 = EDGE_CURVE ( 'NONE', #4952, #5437, #1935, .T. ) ; +#7375 = ORIENTED_EDGE ( 'NONE', *, *, #4612, .F. ) ; +#7376 = PLANE ( 'NONE', #1473 ) ; +#7377 = EDGE_LOOP ( 'NONE', ( #10358, #1358, #11000, #2015, #4389 ) ) ; +#7378 = FACE_OUTER_BOUND ( 'NONE', #5409, .T. ) ; +#7379 = CARTESIAN_POINT ( 'NONE', ( 42.84439832602063092, -44.55000000000000426, 19.25002382984610705 ) ) ; +#7380 = EDGE_LOOP ( 'NONE', ( #5200, #2027 ) ) ; +#7381 = EDGE_CURVE ( 'NONE', #4335, #928, #5847, .T. ) ; +#7382 = VECTOR ( 'NONE', #12200, 1000.000000000000000 ) ; +#7383 = LINE ( 'NONE', #9534, #1966 ) ; +#7384 = FACE_OUTER_BOUND ( 'NONE', #4300, .T. ) ; +#7385 = CARTESIAN_POINT ( 'NONE', ( -65.15928176863769750, -68.73525767757533345, 14.76002382984481720 ) ) ; +#7386 = ORIENTED_EDGE ( 'NONE', *, *, #12363, .T. ) ; +#7387 = CARTESIAN_POINT ( 'NONE', ( -82.82856908168551513, -58.46605763575112746, 1.375023829845842149 ) ) ; +#7388 = EDGE_CURVE ( 'NONE', #4141, #8593, #2114, .T. ) ; +#7389 = ORIENTED_EDGE ( 'NONE', *, *, #11774, .T. ) ; +#7390 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7391 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -63.46605763575112746, 3.250023829846105716 ) ) ; +#7392 = VECTOR ( 'NONE', #3285, 1000.000000000000000 ) ; +#7393 = VERTEX_POINT ( 'NONE', #9079 ) ; +#7394 = CARTESIAN_POINT ( 'NONE', ( -86.17845484026818781, -59.01605763575113173, 39.40542135218875330 ) ) ; +#7395 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7396 = ORIENTED_EDGE ( 'NONE', *, *, #6108, .F. ) ; +#7397 = CARTESIAN_POINT ( 'NONE', ( -114.8353935164468709, -83.96605762714281695, 17.74016224672767095 ) ) ; +#7398 = ORIENTED_EDGE ( 'NONE', *, *, #2117, .F. ) ; +#7399 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7400 = CARTESIAN_POINT ( 'NONE', ( -96.61084556480358287, -59.01605763575113173, 42.52715544892052435 ) ) ; +#7401 = VECTOR ( 'NONE', #81, 1000.000000000000000 ) ; +#7402 = ORIENTED_EDGE ( 'NONE', *, *, #6894, .T. ) ; +#7403 = LINE ( 'NONE', #1679, #1898 ) ; +#7404 = CYLINDRICAL_SURFACE ( 'NONE', #1311, 7.700000000002309442 ) ; +#7405 = ORIENTED_EDGE ( 'NONE', *, *, #9543, .F. ) ; +#7406 = CARTESIAN_POINT ( 'NONE', ( -102.4578559025837450, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7407 = AXIS2_PLACEMENT_3D ( 'NONE', #7186, #9194, #1257 ) ; +#7408 = ORIENTED_EDGE ( 'NONE', *, *, #4091, .T. ) ; +#7409 = VECTOR ( 'NONE', #1340, 1000.000000000000000 ) ; +#7410 = PLANE ( 'NONE', #9425 ) ; +#7411 = VERTEX_POINT ( 'NONE', #9266 ) ; +#7412 = CARTESIAN_POINT ( 'NONE', ( -69.23782687350592369, -84.33055573799434512, 15.76002382984792582 ) ) ; +#7413 = EDGE_CURVE ( 'NONE', #10390, #4177, #6152, .T. ) ; +#7414 = CYLINDRICAL_SURFACE ( 'NONE', #2391, 2.800000000000836486 ) ; +#7415 = LINE ( 'NONE', #3711, #8862 ) ; +#7416 = VECTOR ( 'NONE', #3327, 999.9999999999998863 ) ; +#7417 = EDGE_CURVE ( 'NONE', #404, #9379, #226, .T. ) ; +#7418 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164847092, -65.25895085456458844, 13.10316958035372892 ) ) ; +#7419 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -29.25000000000000000, 21.75002382984610705 ) ) ; +#7420 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7421 = EDGE_LOOP ( 'NONE', ( #5978, #9800, #11387, #606 ) ) ; +#7422 = LINE ( 'NONE', #6202, #7102 ) ; +#7423 = ORIENTED_EDGE ( 'NONE', *, *, #2374, .T. ) ; +#7424 = CARTESIAN_POINT ( 'NONE', ( -120.7534592513918312, -69.78093751332785644, 2.740162246727670503 ) ) ; +#7425 = EDGE_LOOP ( 'NONE', ( #2641, #8904, #11057, #11569 ) ) ; +#7426 = CARTESIAN_POINT ( 'NONE', ( -121.9819915484517878, -70.22289204113593541, 2.740162246727021245 ) ) ; +#7427 = ORIENTED_EDGE ( 'NONE', *, *, #3722, .F. ) ; +#7428 = VECTOR ( 'NONE', #12559, 1000.000000000000227 ) ; +#7429 = VECTOR ( 'NONE', #11616, 1000.000000000000000 ) ; +#7430 = EDGE_CURVE ( 'NONE', #269, #12610, #11216, .T. ) ; +#7431 = FACE_OUTER_BOUND ( 'NONE', #8459, .T. ) ; +#7432 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7433 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7434 = CARTESIAN_POINT ( 'NONE', ( -93.30604171894366061, -59.01605763575113173, 41.86405317859909303 ) ) ; +#7435 = VERTEX_POINT ( 'NONE', #2309 ) ; +#7436 = LINE ( 'NONE', #9136, #4101 ) ; +#7437 = AXIS2_PLACEMENT_3D ( 'NONE', #3770, #11712, #9897 ) ; +#7438 = LINE ( 'NONE', #2248, #12080 ) ; +#7439 = ORIENTED_EDGE ( 'NONE', *, *, #31, .T. ) ; +#7440 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7441 = EDGE_CURVE ( 'NONE', #1686, #5127, #7190, .T. ) ; +#7442 = ORIENTED_EDGE ( 'NONE', *, *, #5448, .F. ) ; +#7443 = LINE ( 'NONE', #6730, #10474 ) ; +#7444 = FACE_OUTER_BOUND ( 'NONE', #3912, .T. ) ; +#7445 = VERTEX_POINT ( 'NONE', #6273 ) ; +#7446 = LINE ( 'NONE', #486, #11523 ) ; +#7447 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -44.55000000000000426, 3.999984739999989714 ) ) ; +#7448 = CARTESIAN_POINT ( 'NONE', ( -66.82114325311002290, -67.07339619310778289, 14.90332920128169114 ) ) ; +#7449 = ORIENTED_EDGE ( 'NONE', *, *, #4537, .T. ) ; +#7450 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7451 = ORIENTED_EDGE ( 'NONE', *, *, #1894, .F. ) ; +#7452 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#7453 = CARTESIAN_POINT ( 'NONE', ( -97.22112084819320899, -58.46605763575112746, 2.950023829846315060 ) ) ; +#7454 = ADVANCED_FACE ( 'NONE', ( #4135 ), #3101, .T. ) ; +#7455 = ORIENTED_EDGE ( 'NONE', *, *, #6603, .T. ) ; +#7456 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7457 = VECTOR ( 'NONE', #651, 1000.000000000000000 ) ; +#7458 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7459 = EDGE_LOOP ( 'NONE', ( #4878, #12309, #11565, #6059, #2583, #9582 ) ) ; +#7460 = LINE ( 'NONE', #5445, #10692 ) ; +#7461 = ORIENTED_EDGE ( 'NONE', *, *, #6718, .T. ) ; +#7462 = EDGE_CURVE ( 'NONE', #9154, #7771, #3344, .T. ) ; +#7463 = ADVANCED_FACE ( 'NONE', ( #12249 ), #6217, .F. ) ; +#7464 = LINE ( 'NONE', #4545, #287 ) ; +#7465 = EDGE_CURVE ( 'NONE', #12320, #7760, #11024, .T. ) ; +#7466 = EDGE_CURVE ( 'NONE', #4937, #148, #1055, .T. ) ; +#7467 = CARTESIAN_POINT ( 'NONE', ( -88.42138703248748755, -59.01605763575113173, 30.98461803242795654 ) ) ; +#7468 = ADVANCED_FACE ( 'NONE', ( #11092 ), #2379, .T. ) ; +#7469 = VECTOR ( 'NONE', #5607, 1000.000000000000000 ) ; +#7470 = ORIENTED_EDGE ( 'NONE', *, *, #7697, .F. ) ; +#7471 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7472 = PLANE ( 'NONE', #2359 ) ; +#7473 = EDGE_CURVE ( 'NONE', #8357, #6135, #8097, .T. ) ; +#7474 = ORIENTED_EDGE ( 'NONE', *, *, #12470, .F. ) ; +#7475 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -23.68297142738791905, -1.982026977722763039 ) ) ; +#7476 = VERTEX_POINT ( 'NONE', #12127 ) ; +#7477 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7478 = ORIENTED_EDGE ( 'NONE', *, *, #7682, .T. ) ; +#7479 = CARTESIAN_POINT ( 'NONE', ( -65.45150307277556578, -79.06592283800640075, 15.76002382984610506 ) ) ; +#7480 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7481 = CARTESIAN_POINT ( 'NONE', ( -64.92848181067347468, -71.35197186255058455, 0.7600238298461016173 ) ) ; +#7482 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7483 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#7484 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7485 = VERTEX_POINT ( 'NONE', #3227 ) ; +#7486 = LINE ( 'NONE', #9709, #1071 ) ; +#7487 = ORIENTED_EDGE ( 'NONE', *, *, #4579, .T. ) ; +#7488 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7489 = ORIENTED_EDGE ( 'NONE', *, *, #6512, .T. ) ; +#7490 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7491 = ORIENTED_EDGE ( 'NONE', *, *, #8235, .F. ) ; +#7492 = AXIS2_PLACEMENT_3D ( 'NONE', #10665, #6630, #8504 ) ; +#7493 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7494 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 15.76002382984610328 ) ) ; +#7495 = LINE ( 'NONE', #10631, #1170 ) ; +#7496 = ORIENTED_EDGE ( 'NONE', *, *, #9603, .F. ) ; +#7497 = FACE_OUTER_BOUND ( 'NONE', #3406, .T. ) ; +#7498 = AXIS2_PLACEMENT_3D ( 'NONE', #10058, #6661, #7440 ) ; +#7499 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7500 = ORIENTED_EDGE ( 'NONE', *, *, #8722, .F. ) ; +#7501 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#7502 = EDGE_CURVE ( 'NONE', #8432, #5293, #6079, .T. ) ; +#7503 = ORIENTED_EDGE ( 'NONE', *, *, #1476, .F. ) ; +#7504 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7505 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7506 = VERTEX_POINT ( 'NONE', #417 ) ; +#7507 = AXIS2_PLACEMENT_3D ( 'NONE', #151, #1976, #8926 ) ; +#7508 = CARTESIAN_POINT ( 'NONE', ( -82.09256908860837143, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7509 = FACE_OUTER_BOUND ( 'NONE', #11846, .T. ) ; +#7510 = CARTESIAN_POINT ( 'NONE', ( -102.6206027766914701, -58.46605763575112746, 1.375023829845842149 ) ) ; +#7511 = ORIENTED_EDGE ( 'NONE', *, *, #2374, .F. ) ; +#7512 = CARTESIAN_POINT ( 'NONE', ( -87.80318648157553696, -59.01605763575113173, 39.06020839027636526 ) ) ; +#7513 = ORIENTED_EDGE ( 'NONE', *, *, #2296, .F. ) ; +#7514 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7515 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 10.00000000000000000 ) ) ; +#7516 = ADVANCED_FACE ( 'NONE', ( #4384 ), #7058, .T. ) ; +#7517 = AXIS2_PLACEMENT_3D ( 'NONE', #6843, #981, #2149 ) ; +#7518 = ORIENTED_EDGE ( 'NONE', *, *, #618, .F. ) ; +#7519 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7520 = CYLINDRICAL_SURFACE ( 'NONE', #5725, 2.800000000000840039 ) ; +#7521 = ORIENTED_EDGE ( 'NONE', *, *, #8143, .F. ) ; +#7522 = CARTESIAN_POINT ( 'NONE', ( -115.1765632149545269, -83.89835002395165020, 17.74016224672767095 ) ) ; +#7523 = ORIENTED_EDGE ( 'NONE', *, *, #3810, .F. ) ; +#7524 = DIRECTION ( 'NONE', ( -8.673617379884040402E-17, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7525 = ADVANCED_FACE ( 'NONE', ( #8476 ), #9466, .F. ) ; +#7526 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 18.25016224672766540 ) ) ; +#7527 = ORIENTED_EDGE ( 'NONE', *, *, #11662, .T. ) ; +#7528 = CARTESIAN_POINT ( 'NONE', ( -97.22112084819320899, -58.46605763575112746, 2.950023829846315060 ) ) ; +#7529 = ADVANCED_FACE ( 'NONE', ( #1592 ), #11414, .F. ) ; +#7530 = CARTESIAN_POINT ( 'NONE', ( -115.1593876190542716, -83.90174693384537363, 2.740162246727666506 ) ) ; +#7531 = ORIENTED_EDGE ( 'NONE', *, *, #2680, .F. ) ; +#7532 = CIRCLE ( 'NONE', #1715, 2.800000000000840039 ) ; +#7533 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7534 = EDGE_CURVE ( 'NONE', #3299, #6558, #12506, .T. ) ; +#7535 = VECTOR ( 'NONE', #2462, 1000.000000000000000 ) ; +#7536 = ORIENTED_EDGE ( 'NONE', *, *, #7146, .T. ) ; +#7537 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #9084, #174, #11163, #4140 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#7538 = CARTESIAN_POINT ( 'NONE', ( -77.85708625271475114, -58.46605763575112746, 2.950023829846313284 ) ) ; +#7539 = EDGE_LOOP ( 'NONE', ( #1984, #10308, #10605, #5530 ) ) ; +#7540 = CARTESIAN_POINT ( 'NONE', ( -67.80882222375039703, -81.49462546765998638, 15.76002382984609618 ) ) ; +#7541 = EDGE_CURVE ( 'NONE', #1479, #1845, #12486, .T. ) ; +#7542 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7543 = VECTOR ( 'NONE', #8408, 1000.000000000000000 ) ; +#7544 = CARTESIAN_POINT ( 'NONE', ( -108.2166951231965157, -64.96605763575112746, 2.950023829846315060 ) ) ; +#7545 = VECTOR ( 'NONE', #5897, 1000.000000000000000 ) ; +#7546 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7547 = CARTESIAN_POINT ( 'NONE', ( -77.69433937860706862, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7548 = EDGE_CURVE ( 'NONE', #1997, #6135, #1712, .T. ) ; +#7549 = PLANE ( 'NONE', #1508 ) ; +#7550 = ORIENTED_EDGE ( 'NONE', *, *, #214, .F. ) ; +#7551 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7552 = VERTEX_POINT ( 'NONE', #12578 ) ; +#7553 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551276, -69.25895085456458844, 3.478362858928521817 ) ) ; +#7554 = ORIENTED_EDGE ( 'NONE', *, *, #6814, .T. ) ; +#7555 = VECTOR ( 'NONE', #11090, 1000.000000000000000 ) ; +#7556 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913404730, -70.04081548788140310, 2.740162246727518180 ) ) ; +#7557 = CIRCLE ( 'NONE', #3605, 2.000000000000001776 ) ; +#7558 = ORIENTED_EDGE ( 'NONE', *, *, #5069, .T. ) ; +#7559 = VECTOR ( 'NONE', #9159, 999.9999999999998863 ) ; +#7560 = CIRCLE ( 'NONE', #2797, 1.000000000000000000 ) ; +#7561 = FACE_OUTER_BOUND ( 'NONE', #3078, .T. ) ; +#7562 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#7563 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#7564 = ORIENTED_EDGE ( 'NONE', *, *, #5880, .F. ) ; +#7565 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -69.96605763575114167, 17.74016224672767095 ) ) ; +#7566 = AXIS2_PLACEMENT_3D ( 'NONE', #12392, #360, #3485 ) ; +#7567 = CIRCLE ( 'NONE', #12135, 1.000000000000000888 ) ; +#7568 = DIRECTION ( 'NONE', ( 0.3420201433256614409, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#7569 = ORIENTED_EDGE ( 'NONE', *, *, #2661, .T. ) ; +#7570 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#7571 = CIRCLE ( 'NONE', #506, 2.000000000000001776 ) ; +#7572 = ORIENTED_EDGE ( 'NONE', *, *, #797, .F. ) ; +#7573 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7574 = DIRECTION ( 'NONE', ( 2.026550380470260590E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7575 = VERTEX_POINT ( 'NONE', #5681 ) ; +#7576 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 3.250023829846110601 ) ) ; +#7577 = EDGE_CURVE ( 'NONE', #3548, #2542, #3411, .T. ) ; +#7578 = PLANE ( 'NONE', #12185 ) ; +#7579 = LINE ( 'NONE', #8613, #10112 ) ; +#7580 = AXIS2_PLACEMENT_3D ( 'NONE', #216, #4557, #4423 ) ; +#7581 = VERTEX_POINT ( 'NONE', #1453 ) ; +#7582 = CARTESIAN_POINT ( 'NONE', ( -87.63970645294524786, -59.01605763575113173, 30.17944176932702405 ) ) ; +#7583 = ORIENTED_EDGE ( 'NONE', *, *, #11188, .F. ) ; +#7584 = LINE ( 'NONE', #5438, #1980 ) ; +#7585 = LINE ( 'NONE', #3553, #5454 ) ; +#7586 = ORIENTED_EDGE ( 'NONE', *, *, #12669, .T. ) ; +#7587 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7588 = SPHERICAL_SURFACE ( 'NONE', #3863, 1.000000000000000000 ) ; +#7589 = CIRCLE ( 'NONE', #3233, 1.000000000000000888 ) ; +#7590 = CARTESIAN_POINT ( 'NONE', ( -121.8821929488212561, -72.81933044639079355, 16.74016224672291386 ) ) ; +#7591 = ORIENTED_EDGE ( 'NONE', *, *, #10253, .F. ) ; +#7592 = CARTESIAN_POINT ( 'NONE', ( -97.48964746931601155, -59.01605763575113173, 30.98461803242789259 ) ) ; +#7593 = EDGE_CURVE ( 'NONE', #6970, #8461, #9165, .T. ) ; +#7594 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -59.46605763575112746, 3.250023829846105716 ) ) ; +#7595 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7596 = ORIENTED_EDGE ( 'NONE', *, *, #1342, .T. ) ; +#7597 = CIRCLE ( 'NONE', #4279, 7.700000000002309442 ) ; +#7598 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7599 = CARTESIAN_POINT ( 'NONE', ( -117.3936458109395886, -82.40839924967603736, 2.740162246727670947 ) ) ; +#7600 = ORIENTED_EDGE ( 'NONE', *, *, #10014, .F. ) ; +#7601 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7602 = EDGE_CURVE ( 'NONE', #6029, #10619, #10832, .T. ) ; +#7603 = EDGE_LOOP ( 'NONE', ( #6914, #8675, #12404, #9574 ) ) ; +#7604 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7605 = ORIENTED_EDGE ( 'NONE', *, *, #4556, .T. ) ; +#7606 = CIRCLE ( 'NONE', #3867, 1.000000000000000888 ) ; +#7607 = CARTESIAN_POINT ( 'NONE', ( -68.93316074889041545, -82.82570107093663125, 15.76002382984609262 ) ) ; +#7608 = EDGE_CURVE ( 'NONE', #9523, #4104, #9997, .T. ) ; +#7609 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7610 = LINE ( 'NONE', #10552, #1387 ) ; +#7611 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#7612 = LINE ( 'NONE', #1497, #168 ) ; +#7613 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 16.24999999999809930, 9.000000000000001776 ) ) ; +#7614 = AXIS2_PLACEMENT_3D ( 'NONE', #8174, #11372, #2400 ) ; +#7615 = ORIENTED_EDGE ( 'NONE', *, *, #8893, .F. ) ; +#7616 = AXIS2_PLACEMENT_3D ( 'NONE', #1630, #12616, #5599 ) ; +#7617 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7618 = EDGE_LOOP ( 'NONE', ( #9741, #10134, #3456, #8031 ) ) ; +#7619 = LINE ( 'NONE', #11596, #1654 ) ; +#7620 = EDGE_CURVE ( 'NONE', #10768, #9169, #671, .T. ) ; +#7621 = ORIENTED_EDGE ( 'NONE', *, *, #1500, .T. ) ; +#7622 = SPHERICAL_SURFACE ( 'NONE', #11919, 1.000000000000000000 ) ; +#7623 = ORIENTED_EDGE ( 'NONE', *, *, #1414, .T. ) ; +#7624 = EDGE_CURVE ( 'NONE', #7133, #3196, #610, .T. ) ; +#7625 = AXIS2_PLACEMENT_3D ( 'NONE', #12456, #12714, #2652 ) ; +#7626 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -65.01605763575113883, 36.94034842993827539 ) ) ; +#7627 = ADVANCED_FACE ( 'NONE', ( #8606 ), #4578, .F. ) ; +#7628 = AXIS2_PLACEMENT_3D ( 'NONE', #9390, #479, #4452 ) ; +#7629 = LINE ( 'NONE', #12373, #7132 ) ; +#7630 = FACE_OUTER_BOUND ( 'NONE', #3895, .T. ) ; +#7631 = EDGE_CURVE ( 'NONE', #2532, #3115, #7706, .T. ) ; +#7632 = ORIENTED_EDGE ( 'NONE', *, *, #7502, .T. ) ; +#7633 = CARTESIAN_POINT ( 'NONE', ( -117.4506624299745425, -82.34446871320176342, 17.74016224672767450 ) ) ; +#7634 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7635 = ORIENTED_EDGE ( 'NONE', *, *, #10169, .T. ) ; +#7636 = CARTESIAN_POINT ( 'NONE', ( -75.65797139771410684, -64.96605763575112746, 2.950023829846315948 ) ) ; +#7637 = AXIS2_PLACEMENT_3D ( 'NONE', #4116, #84, #2098 ) ; +#7638 = EDGE_LOOP ( 'NONE', ( #3606, #1674, #3761, #9537 ) ) ; +#7639 = VECTOR ( 'NONE', #4785, 1000.000000000000000 ) ; +#7640 = LINE ( 'NONE', #11612, #4868 ) ; +#7641 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#7642 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -65.96605763575112746, 14.25016224672766896 ) ) ; +#7643 = LINE ( 'NONE', #6806, #1615 ) ; +#7644 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 17.75002382984610350 ) ) ; +#7645 = CIRCLE ( 'NONE', #12209, 6.124000000001836419 ) ; +#7646 = ADVANCED_FACE ( 'NONE', ( #743 ), #3674, .F. ) ; +#7647 = ORIENTED_EDGE ( 'NONE', *, *, #3135, .T. ) ; +#7648 = LINE ( 'NONE', #11619, #10751 ) ; +#7649 = ORIENTED_EDGE ( 'NONE', *, *, #1758, .F. ) ; +#7650 = LINE ( 'NONE', #11621, #3224 ) ; +#7651 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7652 = ORIENTED_EDGE ( 'NONE', *, *, #6025, .F. ) ; +#7653 = LINE ( 'NONE', #4665, #2561 ) ; +#7654 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#7655 = ADVANCED_FACE ( 'NONE', ( #12314 ), #7376, .F. ) ; +#7656 = CARTESIAN_POINT ( 'NONE', ( -116.7022296115333688, -83.06797188849127167, 17.74016224672767805 ) ) ; +#7657 = VERTEX_POINT ( 'NONE', #5425 ) ; +#7658 = CARTESIAN_POINT ( 'NONE', ( -105.8548333940881321, -58.46605763575112746, 15.55016224672746006 ) ) ; +#7659 = CARTESIAN_POINT ( 'NONE', ( -97.22112084819320899, -64.96605763575112746, 2.950023829846315060 ) ) ; +#7660 = FACE_OUTER_BOUND ( 'NONE', #1773, .T. ) ; +#7661 = ORIENTED_EDGE ( 'NONE', *, *, #539, .T. ) ; +#7662 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 1.000000000000000000 ) ) ; +#7663 = CARTESIAN_POINT ( 'NONE', ( -118.2119061329362495, -81.32766361107336195, 2.740162246727668283 ) ) ; +#7664 = ORIENTED_EDGE ( 'NONE', *, *, #8064, .F. ) ; +#7665 = LINE ( 'NONE', #5455, #8974 ) ; +#7666 = EDGE_CURVE ( 'NONE', #11575, #4311, #8745, .T. ) ; +#7667 = ORIENTED_EDGE ( 'NONE', *, *, #6864, .T. ) ; +#7668 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088335925, -59.01605763575113173, 34.55983764663554325 ) ) ; +#7669 = ORIENTED_EDGE ( 'NONE', *, *, #1231, .F. ) ; +#7670 = VECTOR ( 'NONE', #4566, 1000.000000000000000 ) ; +#7671 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7672 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, 1.611100693129447370 ) ) ; +#7673 = EDGE_CURVE ( 'NONE', #8660, #9420, #9090, .T. ) ; +#7674 = CARTESIAN_POINT ( 'NONE', ( -89.35550846171311434, 13.89991557692050073, 10.00000000000000000 ) ) ; +#7675 = ORIENTED_EDGE ( 'NONE', *, *, #1464, .T. ) ; +#7676 = LINE ( 'NONE', #10679, #2672 ) ; +#7677 = CARTESIAN_POINT ( 'NONE', ( -64.40649515169862127, -69.96605763575112746, 0.8677969262362918990 ) ) ; +#7678 = ORIENTED_EDGE ( 'NONE', *, *, #734, .F. ) ; +#7679 = CARTESIAN_POINT ( 'NONE', ( -86.17845484026810254, -59.01605763575113173, 32.09476472438516481 ) ) ; +#7680 = ORIENTED_EDGE ( 'NONE', *, *, #8890, .T. ) ; +#7681 = CARTESIAN_POINT ( 'NONE', ( -65.34269537283499574, -69.96605763575111325, 15.76002382984610328 ) ) ; +#7682 = EDGE_CURVE ( 'NONE', #7393, #5669, #11793, .T. ) ; +#7683 = ORIENTED_EDGE ( 'NONE', *, *, #12318, .F. ) ; +#7684 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -84.96605763575112746, 17.74016224672767095 ) ) ; +#7685 = EDGE_LOOP ( 'NONE', ( #12193, #5606, #12461, #12433 ) ) ; +#7686 = LINE ( 'NONE', #9716, #10491 ) ; +#7687 = CIRCLE ( 'NONE', #12671, 1.000000000000000888 ) ; +#7689 = EDGE_CURVE ( 'NONE', #4952, #1600, #10546, .T. ) ; +#7688 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -64.96605763575112746, 0.000000000000000000 ) ) ; +#7690 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7691 = ORIENTED_EDGE ( 'NONE', *, *, #2634, .T. ) ; +#7692 = CARTESIAN_POINT ( 'NONE', ( -116.9644520995188515, -82.83819084104926844, 17.74016224672766739 ) ) ; +#7693 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7694 = ORIENTED_EDGE ( 'NONE', *, *, #3332, .F. ) ; +#7695 = CARTESIAN_POINT ( 'NONE', ( -106.2828324936156434, -64.96605763575112746, 15.55016224672746183 ) ) ; +#7696 = ADVANCED_FACE ( 'NONE', ( #6727 ), #9784, .T. ) ; +#7697 = EDGE_CURVE ( 'NONE', #2067, #4750, #2454, .T. ) ; +#7698 = ORIENTED_EDGE ( 'NONE', *, *, #5627, .T. ) ; +#7699 = CARTESIAN_POINT ( 'NONE', ( -98.68423571011672379, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7700 = EDGE_CURVE ( 'NONE', #8079, #9707, #6918, .T. ) ; +#7701 = LINE ( 'NONE', #2772, #933 ) ; +#7702 = CARTESIAN_POINT ( 'NONE', ( -97.05837397408551226, -64.96605763575112746, 15.55016224672746006 ) ) ; +#7703 = EDGE_CURVE ( 'NONE', #2900, #3916, #1851, .T. ) ; +#7704 = LINE ( 'NONE', #11742, #4315 ) ; +#7705 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7706 = CIRCLE ( 'NONE', #2526, 2.800000000000836486 ) ; +#7707 = ORIENTED_EDGE ( 'NONE', *, *, #12318, .T. ) ; +#7708 = CARTESIAN_POINT ( 'NONE', ( -110.2530631040894775, -64.96605763575112746, 15.55016224672746006 ) ) ; +#7709 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #3936, #9739, #819, #6871, #11814, #2909 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#7710 = ORIENTED_EDGE ( 'NONE', *, *, #7689, .T. ) ; +#7711 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7712 = FACE_BOUND ( 'NONE', #4307, .T. ) ; +#7713 = ADVANCED_FACE ( 'NONE', ( #8733 ), #3861, .T. ) ; +#7714 = VERTEX_POINT ( 'NONE', #8867 ) ; +#7715 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#7716 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7717 = CARTESIAN_POINT ( 'NONE', ( -119.1219912082838732, -81.76244302364673899, 17.74016224672526576 ) ) ; +#7718 = VERTEX_POINT ( 'NONE', #7886 ) ; +#7719 = CARTESIAN_POINT ( 'NONE', ( -95.45000509272006184, -64.96605763575112746, 2.950023829846315948 ) ) ; +#7720 = CARTESIAN_POINT ( 'NONE', ( -69.20880488876227332, -83.06797188984141656, 0.7600238298461042818 ) ) ; +#7721 = PLANE ( 'NONE', #9679 ) ; +#7722 = ORIENTED_EDGE ( 'NONE', *, *, #6799, .T. ) ; +#7723 = CIRCLE ( 'NONE', #2958, 6.124000000001839972 ) ; +#7724 = FACE_OUTER_BOUND ( 'NONE', #670, .T. ) ; +#7725 = VERTEX_POINT ( 'NONE', #9916 ) ; +#7726 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 10.00000000000000000 ) ) ; +#7727 = ORIENTED_EDGE ( 'NONE', *, *, #12230, .T. ) ; +#7728 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7729 = ORIENTED_EDGE ( 'NONE', *, *, #2991, .F. ) ; +#7730 = VECTOR ( 'NONE', #11187, 1000.000000000000000 ) ; +#7731 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 2.740162246727670503 ) ) ; +#7732 = CARTESIAN_POINT ( 'NONE', ( -89.42591364668750487, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7733 = EDGE_CURVE ( 'NONE', #4988, #11113, #11926, .T. ) ; +#7734 = AXIS2_PLACEMENT_3D ( 'NONE', #3520, #7484, #3458 ) ; +#7735 = CARTESIAN_POINT ( 'NONE', ( -100.2587410475830865, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7736 = AXIS2_PLACEMENT_3D ( 'NONE', #3938, #7968, #4003 ) ; +#7737 = DIRECTION ( 'NONE', ( 0.3420201433256614409, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#7738 = PLANE ( 'NONE', #375 ) ; +#7739 = CARTESIAN_POINT ( 'NONE', ( -101.0460974392251075, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7740 = VECTOR ( 'NONE', #1028, 1000.000000000000000 ) ; +#7741 = EDGE_LOOP ( 'NONE', ( #7171, #7503, #8804, #2877 ) ) ; +#7742 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7743 = ORIENTED_EDGE ( 'NONE', *, *, #12608, .T. ) ; +#7744 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7745 = ORIENTED_EDGE ( 'NONE', *, *, #12382, .T. ) ; +#7746 = CARTESIAN_POINT ( 'NONE', ( -96.02325821168946618, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7747 = ORIENTED_EDGE ( 'NONE', *, *, #9384, .F. ) ; +#7748 = AXIS2_PLACEMENT_3D ( 'NONE', #6622, #1671, #5773 ) ; +#7749 = CARTESIAN_POINT ( 'NONE', ( -87.38486598194194244, -59.01605763575113173, 41.06590383624345009 ) ) ; +#7750 = EDGE_CURVE ( 'NONE', #6986, #5317, #2039, .T. ) ; +#7751 = VERTEX_POINT ( 'NONE', #5818 ) ; +#7752 = CARTESIAN_POINT ( 'NONE', ( -77.42908715318728241, -64.96605763575112746, 2.950023829846312395 ) ) ; +#7753 = EDGE_LOOP ( 'NONE', ( #7569, #12431, #11961, #10548 ) ) ; +#7754 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7755 = FACE_OUTER_BOUND ( 'NONE', #7603, .T. ) ; +#7756 = VECTOR ( 'NONE', #11629, 1000.000000000000000 ) ; +#7757 = VERTEX_POINT ( 'NONE', #7826 ) ; +#7758 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7759 = AXIS2_PLACEMENT_3D ( 'NONE', #12282, #9303, #3381 ) ; +#7760 = VERTEX_POINT ( 'NONE', #1051 ) ; +#7761 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 10.00000000000000000 ) ) ; +#7762 = ORIENTED_EDGE ( 'NONE', *, *, #1881, .T. ) ; +#7763 = EDGE_CURVE ( 'NONE', #11931, #1085, #5753, .T. ) ; +#7764 = AXIS2_PLACEMENT_3D ( 'NONE', #9726, #8990, #9789 ) ; +#7765 = CARTESIAN_POINT ( 'NONE', ( -89.82440448553688839, -65.01605763575113883, 29.96526618525379604 ) ) ; +#7766 = AXIS2_PLACEMENT_3D ( 'NONE', #6210, #7180, #2045 ) ; +#7767 = EDGE_CURVE ( 'NONE', #5092, #10351, #12833, .T. ) ; +#7768 = LINE ( 'NONE', #12841, #989 ) ; +#7769 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7770 = AXIS2_PLACEMENT_3D ( 'NONE', #5383, #9548, #2328 ) ; +#7771 = VERTEX_POINT ( 'NONE', #3923 ) ; +#7772 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -84.96605763575112746, 3.740162246727671391 ) ) ; +#7773 = ORIENTED_EDGE ( 'NONE', *, *, #11845, .F. ) ; +#7775 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, 0.3420201433256618295 ) ) ; +#7774 = VECTOR ( 'NONE', #1896, 1000.000000000000000 ) ; +#7776 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#7777 = VERTEX_POINT ( 'NONE', #11858 ) ; +#7778 = PLANE ( 'NONE', #11913 ) ; +#7779 = DIRECTION ( 'NONE', ( -0.3420201433256691570, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#7780 = VECTOR ( 'NONE', #8132, 1000.000000000000000 ) ; +#7781 = EDGE_CURVE ( 'NONE', #11410, #4094, #2954, .T. ) ; +#7782 = AXIS2_PLACEMENT_3D ( 'NONE', #6127, #11065, #10220 ) ; +#7783 = CARTESIAN_POINT ( 'NONE', ( -118.9118760830314443, -82.08343222366319480, 17.74016224672887532 ) ) ; +#7784 = ORIENTED_EDGE ( 'NONE', *, *, #6259, .T. ) ; +#7785 = AXIS2_PLACEMENT_3D ( 'NONE', #3495, #9673, #7390 ) ; +#7786 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -15.48606797749978803, 3.000000000000002665 ) ) ; +#7787 = EDGE_CURVE ( 'NONE', #3705, #1442, #3986, .T. ) ; +#7788 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7789 = CARTESIAN_POINT ( 'NONE', ( -91.05177538271874482, -58.46605763575112746, 2.950023829846315060 ) ) ; +#7790 = EDGE_CURVE ( 'NONE', #9934, #3463, #3022, .T. ) ; +#7791 = ADVANCED_FACE ( 'NONE', ( #6984 ), #10949, .F. ) ; +#7792 = ORIENTED_EDGE ( 'NONE', *, *, #1728, .F. ) ; +#7793 = LINE ( 'NONE', #5053, #3216 ) ; +#7794 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551134, -69.25895085456457423, 3.740162246727671391 ) ) ; +#7795 = EDGE_LOOP ( 'NONE', ( #9670, #5267, #441 ) ) ; +#7796 = AXIS2_PLACEMENT_3D ( 'NONE', #440, #11309, #3441 ) ; +#7797 = FACE_OUTER_BOUND ( 'NONE', #11437, .T. ) ; +#7798 = VERTEX_POINT ( 'NONE', #12698 ) ; +#7799 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7800 = VERTEX_POINT ( 'NONE', #3791 ) ; +#7801 = CARTESIAN_POINT ( 'NONE', ( -63.92904295333967468, -70.22289204113717176, 14.76002382984595052 ) ) ; +#7802 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7803 = VECTOR ( 'NONE', #4202, 1000.000000000000000 ) ; +#7804 = VECTOR ( 'NONE', #2720, 1000.000000000000114 ) ; +#7805 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -29.25000000000000000, 18.75002382984610705 ) ) ; +#7806 = CARTESIAN_POINT ( 'NONE', ( -83.45317859921982517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7807 = LINE ( 'NONE', #5541, #6735 ) ; +#7808 = ORIENTED_EDGE ( 'NONE', *, *, #9361, .F. ) ; +#7809 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7810 = ORIENTED_EDGE ( 'NONE', *, *, #9144, .F. ) ; +#7811 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7812 = CIRCLE ( 'NONE', #2210, 2.800000000000836486 ) ; +#7813 = ORIENTED_EDGE ( 'NONE', *, *, #6119, .F. ) ; +#7814 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -65.01605763575113883, 36.94034842993836065 ) ) ; +#7815 = ORIENTED_EDGE ( 'NONE', *, *, #12027, .T. ) ; +#7816 = EDGE_CURVE ( 'NONE', #9370, #7133, #7175, .T. ) ; +#7817 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 3, 2, ( + ( #12692, #3785, #8793 ), + ( #3855, #10292, #9308 ), + ( #267, #398, #10035 ), + ( #6058, #3203, #6199 ), + ( #12102, #9177, #5208 ), + ( #7170, #10166, #11140 ), + ( #12289, #9119, #2227 ), + ( #4361, #5091, #3140 ), + ( #7283, #7231, #12171 ), + ( #4238, #9246, #11254 ), + ( #10222, #1374, #1241 ), + ( #7099, #5152, #6131 ), + ( #1183, #1115, #8199 ), + ( #3269, #9059, #12229 ), + ( #11196, #146, #5340 ), + ( #8322, #2286, #4171 ), + ( #7351, #3386, #8074 ), + ( #6252, #1303, #5274 ), + ( #2350, #6318, #11327 ), + ( #332, #3325, #4114 ), + ( #4303, #12040, #11070 ), + ( #10107, #8263, #2160 ), + ( #203, #8133, #12556 ), + ( #3455, #1492, #11394 ), + ( #7481, #1434, #10415 ), + ( #10483, #456, #2547 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 3, 3 ), + ( 0.000000000000000000, 0.001041676077716233032, 0.002083352155432466064, 0.002604190194290582905, 0.003125028233148699312, 0.004166704310864932127, 0.005208380388581165810, 0.006250056466297398625, 0.008333408621729864255, 0.009375084699446097070, 0.01041676077716233162, 0.01250011293259479725, 0.01666681724345972851 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 0.7071067811865532349, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865532349, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865460184, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865460184, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865476838, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865476838, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865469066, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865471286, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865471286, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865471286, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865471286, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865476838, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865476838, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865466846, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865466846, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865486830, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865486830, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865484609, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865484609, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865470176, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865470176, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#7818 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7819 = VERTEX_POINT ( 'NONE', #8269 ) ; +#7820 = LINE ( 'NONE', #8921, #135 ) ; +#7821 = VECTOR ( 'NONE', #10504, 1000.000000000000114 ) ; +#7822 = ORIENTED_EDGE ( 'NONE', *, *, #9936, .T. ) ; +#7823 = CARTESIAN_POINT ( 'NONE', ( -109.8425568592277557, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7824 = FACE_OUTER_BOUND ( 'NONE', #1824, .T. ) ; +#7825 = ORIENTED_EDGE ( 'NONE', *, *, #4912, .T. ) ; +#7826 = CARTESIAN_POINT ( 'NONE', ( -76.69308716011013871, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7827 = ORIENTED_EDGE ( 'NONE', *, *, #4645, .T. ) ; +#7828 = FACE_OUTER_BOUND ( 'NONE', #10810, .T. ) ; +#7829 = ORIENTED_EDGE ( 'NONE', *, *, #7548, .F. ) ; +#7830 = EDGE_CURVE ( 'NONE', #7485, #8272, #11009, .T. ) ; +#7831 = VECTOR ( 'NONE', #100, 1000.000000000000000 ) ; +#7832 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#7833 = LINE ( 'NONE', #4970, #10498 ) ; +#7834 = CARTESIAN_POINT ( 'NONE', ( -80.62945422668485662, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7835 = LINE ( 'NONE', #3995, #4908 ) ; +#7836 = ORIENTED_EDGE ( 'NONE', *, *, #501, .F. ) ; +#7837 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416525, -69.96605763575112746, 14.58349558006100466 ) ) ; +#7838 = CIRCLE ( 'NONE', #11790, 2.000000000000001776 ) ; +#7839 = ADVANCED_FACE ( 'NONE', ( #153 ), #12179, .T. ) ; +#7840 = VECTOR ( 'NONE', #4427, 1000.000000000000000 ) ; +#7841 = ORIENTED_EDGE ( 'NONE', *, *, #6233, .F. ) ; +#7842 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7843 = CARTESIAN_POINT ( 'NONE', ( -87.06405191757912121, -58.46605763575112746, 17.12516224672793541 ) ) ; +#7844 = VERTEX_POINT ( 'NONE', #7044 ) ; +#7845 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7846 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7847 = ADVANCED_FACE ( 'NONE', ( #6137 ), #4176, .T. ) ; +#7848 = CARTESIAN_POINT ( 'NONE', ( -117.1751315738046344, -83.97078944614548845, 17.74016224672767095 ) ) ; +#7849 = ORIENTED_EDGE ( 'NONE', *, *, #3403, .T. ) ; +#7850 = VECTOR ( 'NONE', #4947, 1000.000000000000000 ) ; +#7851 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#7852 = CARTESIAN_POINT ( 'NONE', ( -104.6569707575844319, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7853 = VERTEX_POINT ( 'NONE', #7239 ) ; +#7854 = EDGE_CURVE ( 'NONE', #10363, #7760, #8293, .T. ) ; +#7855 = CARTESIAN_POINT ( 'NONE', ( -99.25748882908617077, -64.96605763575112746, 15.55016224672746006 ) ) ; +#7856 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -64.96605763575112746, 14.42173512198147556 ) ) ; +#7857 = ORIENTED_EDGE ( 'NONE', *, *, #5808, .T. ) ; +#7858 = LINE ( 'NONE', #4874, #3379 ) ; +#7859 = EDGE_CURVE ( 'NONE', #5655, #12222, #1189, .T. ) ; +#7860 = ORIENTED_EDGE ( 'NONE', *, *, #4836, .T. ) ; +#7861 = EDGE_CURVE ( 'NONE', #2629, #3514, #12045, .T. ) ; +#7862 = EDGE_CURVE ( 'NONE', #7932, #8970, #4310, .T. ) ; +#7863 = CARTESIAN_POINT ( 'NONE', ( -105.8548333940881321, -64.96605763575112746, 15.55016224672746006 ) ) ; +#7864 = ORIENTED_EDGE ( 'NONE', *, *, #207, .T. ) ; +#7865 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7866 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.8660254037844353769, -0.5000000000000055511 ) ) ; +#7867 = EDGE_CURVE ( 'NONE', #8075, #4043, #10998, .T. ) ; +#7868 = FACE_OUTER_BOUND ( 'NONE', #11675, .T. ) ; +#7869 = CYLINDRICAL_SURFACE ( 'NONE', #10767, 0.8000000000000003775 ) ; +#7870 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -63.46605763575112746, 4.250023829846105272 ) ) ; +#7871 = ORIENTED_EDGE ( 'NONE', *, *, #3, .F. ) ; +#7872 = LINE ( 'NONE', #3005, #6903 ) ; +#7873 = VERTEX_POINT ( 'NONE', #2235 ) ; +#7874 = ORIENTED_EDGE ( 'NONE', *, *, #1740, .F. ) ; +#7875 = VECTOR ( 'NONE', #6393, 1000.000000000000000 ) ; +#7876 = CARTESIAN_POINT ( 'NONE', ( -68.99256966194893437, -82.88900115866245244, 15.76002382984610684 ) ) ; +#7877 = EDGE_CURVE ( 'NONE', #6979, #11787, #7290, .T. ) ; +#7878 = ORIENTED_EDGE ( 'NONE', *, *, #2226, .T. ) ; +#7879 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -55.25000000000000711, 20.75002382984610350 ) ) ; +#7880 = ORIENTED_EDGE ( 'NONE', *, *, #8095, .F. ) ; +#7881 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, -0.3420201433256618295 ) ) ; +#7882 = ORIENTED_EDGE ( 'NONE', *, *, #7790, .F. ) ; +#7883 = CARTESIAN_POINT ( 'NONE', ( -107.4806951301193720, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7884 = CARTESIAN_POINT ( 'NONE', ( -103.8184654131951987, -64.96605763575112746, 2.950023829846314172 ) ) ; +#7885 = EDGE_LOOP ( 'NONE', ( #5955, #11468, #1591, #568, #6555, #1678 ) ) ; +#7886 = CARTESIAN_POINT ( 'NONE', ( -85.32421051356095631, -59.01605763575113173, 36.77632765115663460 ) ) ; +#7887 = ORIENTED_EDGE ( 'NONE', *, *, #8321, .T. ) ; +#7888 = CARTESIAN_POINT ( 'NONE', ( -90.46102940908352252, -64.96605763575112746, 15.55016224672746006 ) ) ; +#7889 = EDGE_LOOP ( 'NONE', ( #12007, #4298, #8348, #1054 ) ) ; +#7890 = CIRCLE ( 'NONE', #1875, 6.124000000001829314 ) ; +#7891 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -65.96605763575112746, 10.76002382984610151 ) ) ; +#7892 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, 3.078450954592295563 ) ) ; +#7893 = LINE ( 'NONE', #2961, #12825 ) ; +#7894 = LINE ( 'NONE', #1859, #11973 ) ; +#7895 = EDGE_CURVE ( 'NONE', #1618, #10768, #11988, .T. ) ; +#7896 = ORIENTED_EDGE ( 'NONE', *, *, #1178, .T. ) ; +#7897 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7898 = EDGE_CURVE ( 'NONE', #7844, #5346, #9759, .T. ) ; +#7899 = AXIS2_PLACEMENT_3D ( 'NONE', #9105, #5327, #12160 ) ; +#7900 = VERTEX_POINT ( 'NONE', #11076 ) ; +#7901 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#7902 = LINE ( 'NONE', #104, #11455 ) ; +#7903 = LINE ( 'NONE', #8750, #6921 ) ; +#7904 = ORIENTED_EDGE ( 'NONE', *, *, #827, .T. ) ; +#7905 = LINE ( 'NONE', #10783, #12315 ) ; +#7906 = LINE ( 'NONE', #11819, #9010 ) ; +#7907 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7908 = ORIENTED_EDGE ( 'NONE', *, *, #4285, .T. ) ; +#7909 = VECTOR ( 'NONE', #9554, 1000.000000000000000 ) ; +#7910 = DIRECTION ( 'NONE', ( -0.3420201433256614409, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#7911 = CARTESIAN_POINT ( 'NONE', ( 1.930789787959816768E-15, 12.49999982601868354, 0.000000000000000000 ) ) ; +#7912 = CARTESIAN_POINT ( 'NONE', ( -82.66582220757781840, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7913 = ORIENTED_EDGE ( 'NONE', *, *, #3403, .F. ) ; +#7914 = EDGE_CURVE ( 'NONE', #5357, #8780, #2167, .T. ) ; +#7915 = LINE ( 'NONE', #9751, #8390 ) ; +#7916 = CARTESIAN_POINT ( 'NONE', ( -120.8493034435932145, -73.06230384601006733, 2.740162246727674500 ) ) ; +#7917 = ORIENTED_EDGE ( 'NONE', *, *, #34, .F. ) ; +#7918 = VECTOR ( 'NONE', #5296, 1000.000000000000000 ) ; +#7919 = LINE ( 'NONE', #6954, #11268 ) ; +#7920 = ORIENTED_EDGE ( 'NONE', *, *, #2931, .F. ) ; +#7921 = CARTESIAN_POINT ( 'NONE', ( 42.84439832602063092, -44.55000000000000426, 17.75002382984610350 ) ) ; +#7922 = ORIENTED_EDGE ( 'NONE', *, *, #11750, .F. ) ; +#7923 = ADVANCED_FACE ( 'NONE', ( #6204 ), #274, .F. ) ; +#7924 = CARTESIAN_POINT ( 'NONE', ( -63.93427223917599633, -70.58216493585018725, 14.76002382984625250 ) ) ; +#7925 = FACE_OUTER_BOUND ( 'NONE', #8738, .T. ) ; +#7926 = AXIS2_PLACEMENT_3D ( 'NONE', #10421, #1502, #5473 ) ; +#7927 = EDGE_CURVE ( 'NONE', #4626, #9126, #5215, .T. ) ; +#7928 = EDGE_CURVE ( 'NONE', #5382, #9, #8204, .T. ) ; +#7929 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7930 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#7931 = CARTESIAN_POINT ( 'NONE', ( -63.95713528741781317, -69.97793448844790021, 15.03306796839549442 ) ) ; +#7932 = VERTEX_POINT ( 'NONE', #8988 ) ; +#7933 = FACE_OUTER_BOUND ( 'NONE', #2849, .T. ) ; +#7934 = EDGE_LOOP ( 'NONE', ( #12260, #7678, #368, #12048 ) ) ; +#7935 = VERTEX_POINT ( 'NONE', #4056 ) ; +#7936 = CARTESIAN_POINT ( 'NONE', ( -64.95053940945041404, -71.72636053302827008, 15.76002382984610328 ) ) ; +#7937 = ORIENTED_EDGE ( 'NONE', *, *, #12699, .T. ) ; +#7938 = EDGE_CURVE ( 'NONE', #195, #7445, #11835, .T. ) ; +#7939 = CARTESIAN_POINT ( 'NONE', ( -96.08663001626662492, -59.01605763575113173, 29.96526618525374985 ) ) ; +#7940 = VECTOR ( 'NONE', #11900, 1000.000000000000000 ) ; +#7941 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -64.96605763575112746, 16.74016224672766739 ) ) ; +#7942 = EDGE_CURVE ( 'NONE', #12014, #10447, #5410, .T. ) ; +#7943 = EDGE_LOOP ( 'NONE', ( #12832, #2927, #3732, #434 ) ) ; +#7944 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -33.25000000000000000, 10.05002382984610421 ) ) ; +#7945 = VECTOR ( 'NONE', #5580, 1000.000000000000000 ) ; +#7946 = ORIENTED_EDGE ( 'NONE', *, *, #6532, .T. ) ; +#7947 = CARTESIAN_POINT ( 'NONE', ( -92.08840477810790048, -59.01605763575113173, 29.22964789792038687 ) ) ; +#7948 = LINE ( 'NONE', #3984, #8331 ) ; +#7949 = ORIENTED_EDGE ( 'NONE', *, *, #10246, .T. ) ; +#7950 = CARTESIAN_POINT ( 'NONE', ( -103.0824654201180692, -64.96605763575112746, 17.12516224672793541 ) ) ; +#7951 = VECTOR ( 'NONE', #9298, 1000.000000000000000 ) ; +#7952 = ORIENTED_EDGE ( 'NONE', *, *, #9432, .T. ) ; +#7953 = AXIS2_PLACEMENT_3D ( 'NONE', #4662, #8492, #496 ) ; +#7954 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416951, -84.96605763575112746, 3.740162246727669171 ) ) ; +#7955 = EDGE_LOOP ( 'NONE', ( #2677, #8477, #4849, #5247 ) ) ; +#7956 = VECTOR ( 'NONE', #5013, 1000.000000000000000 ) ; +#7957 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -84.96605763575112746, 0.7600238298461037267 ) ) ; +#7958 = FACE_OUTER_BOUND ( 'NONE', #6637, .T. ) ; +#7959 = AXIS2_PLACEMENT_3D ( 'NONE', #6631, #10468, #5785 ) ; +#7960 = FACE_OUTER_BOUND ( 'NONE', #4660, .T. ) ; +#7961 = CARTESIAN_POINT ( 'NONE', ( -102.0473496577220232, -64.96605763575112746, 2.950023829846314172 ) ) ; +#7962 = ORIENTED_EDGE ( 'NONE', *, *, #11014, .T. ) ; +#7963 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#7964 = CIRCLE ( 'NONE', #4020, 1.000000000000000000 ) ; +#7965 = AXIS2_PLACEMENT_3D ( 'NONE', #4166, #1108, #2153 ) ; +#7966 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#7967 = CARTESIAN_POINT ( 'NONE', ( -83.45317859921982517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#7968 = DIRECTION ( 'NONE', ( -4.053100760940521181E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7969 = AXIS2_PLACEMENT_3D ( 'NONE', #7746, #6905, #6787 ) ; +#7970 = ORIENTED_EDGE ( 'NONE', *, *, #6632, .T. ) ; +#7971 = CARTESIAN_POINT ( 'NONE', ( -99.89619731570439853, -65.01605763575113883, 39.08430362523056090 ) ) ; +#7972 = VECTOR ( 'NONE', #10903, 1000.000000000000000 ) ; +#7973 = FACE_OUTER_BOUND ( 'NONE', #2556, .T. ) ; +#7974 = AXIS2_PLACEMENT_3D ( 'NONE', #12839, #5166, #9922 ) ; +#7975 = VERTEX_POINT ( 'NONE', #4629 ) ; +#7976 = ADVANCED_FACE ( 'NONE', ( #11400 ), #9446, .F. ) ; +#7977 = AXIS2_PLACEMENT_3D ( 'NONE', #9757, #10671, #11704 ) ; +#7978 = FACE_OUTER_BOUND ( 'NONE', #11477, .T. ) ; +#7979 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -44.55000000000000426, -0.7499761701538956160 ) ) ; +#7980 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7981 = CIRCLE ( 'NONE', #1755, 2.800000000000840039 ) ; +#7982 = ORIENTED_EDGE ( 'NONE', *, *, #2611, .T. ) ; +#7983 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#7984 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191058, -84.96605763575112746, 5.510023829846119270 ) ) ; +#7985 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#7986 = VECTOR ( 'NONE', #7641, 1000.000000000000000 ) ; +#7987 = ORIENTED_EDGE ( 'NONE', *, *, #1196, .T. ) ; +#7988 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#7989 = ORIENTED_EDGE ( 'NONE', *, *, #11914, .T. ) ; +#7990 = AXIS2_PLACEMENT_3D ( 'NONE', #8387, #7480, #12356 ) ; +#7991 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#7992 = ORIENTED_EDGE ( 'NONE', *, *, #2057, .F. ) ; +#7993 = EDGE_CURVE ( 'NONE', #2724, #1213, #464, .T. ) ; +#7994 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.544631851866820033E-16, 0.000000000000000000 ) ) ; +#7995 = CARTESIAN_POINT ( 'NONE', ( -84.45443081771675509, -64.96605763575112746, 2.950023829846314172 ) ) ; +#7996 = CIRCLE ( 'NONE', #4269, 1.000000000000000888 ) ; +#7997 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#7998 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#7999 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -29.25000000000000000, 21.75002382984610705 ) ) ; +#8000 = EDGE_CURVE ( 'NONE', #11012, #12803, #614, .T. ) ; +#8001 = ORIENTED_EDGE ( 'NONE', *, *, #11823, .T. ) ; +#8002 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8003 = ORIENTED_EDGE ( 'NONE', *, *, #7733, .F. ) ; +#8004 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -16.25000000000000000, 9.000000000000001776 ) ) ; +#8005 = LINE ( 'NONE', #11977, #1724 ) ; +#8006 = EDGE_CURVE ( 'NONE', #9150, #2385, #11464, .T. ) ; +#8007 = EDGE_LOOP ( 'NONE', ( #314, #6519, #9406, #8298 ) ) ; +#8008 = VECTOR ( 'NONE', #425, 1000.000000000000000 ) ; +#8009 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 17.75002382984610350 ) ) ; +#8010 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#8011 = VERTEX_POINT ( 'NONE', #2491 ) ; +#8012 = FACE_OUTER_BOUND ( 'NONE', #8877, .T. ) ; +#8013 = ORIENTED_EDGE ( 'NONE', *, *, #2298, .T. ) ; +#8014 = LINE ( 'NONE', #2037, #11588 ) ; +#8015 = ADVANCED_FACE ( 'NONE', ( #1574 ), #405, .T. ) ; +#8016 = VECTOR ( 'NONE', #2650, 1000.000000000000000 ) ; +#8017 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#8018 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8019 = ORIENTED_EDGE ( 'NONE', *, *, #12153, .T. ) ; +#8020 = FACE_OUTER_BOUND ( 'NONE', #4841, .T. ) ; +#8021 = EDGE_CURVE ( 'NONE', #3554, #6953, #6648, .T. ) ; +#8022 = EDGE_LOOP ( 'NONE', ( #5025, #5881, #10139, #5591 ) ) ; +#8023 = EDGE_CURVE ( 'NONE', #11517, #656, #5813, .T. ) ; +#8024 = EDGE_CURVE ( 'NONE', #1201, #5307, #10423, .T. ) ; +#8025 = EDGE_CURVE ( 'NONE', #12370, #4539, #4432, .T. ) ; +#8026 = VECTOR ( 'NONE', #4621, 1000.000000000000000 ) ; +#8027 = LINE ( 'NONE', #9071, #12336 ) ; +#8028 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8029 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -13.25000000000000178, 2.000000000000002665 ) ) ; +#8030 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8031 = ORIENTED_EDGE ( 'NONE', *, *, #7473, .T. ) ; +#8032 = CARTESIAN_POINT ( 'NONE', ( -108.2166951231965157, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8033 = CARTESIAN_POINT ( 'NONE', ( -91.92928263803212019, -59.01605763575113173, 43.38139977562773453 ) ) ; +#8034 = CARTESIAN_POINT ( 'NONE', ( -103.8184654131951987, -64.96605763575112746, 2.950023829846314172 ) ) ; +#8035 = DIRECTION ( 'NONE', ( 0.9396926207859110924, -0.000000000000000000, 0.3420201433256613299 ) ) ; +#8036 = AXIS2_PLACEMENT_3D ( 'NONE', #2948, #7881, #10879 ) ; +#8037 = ORIENTED_EDGE ( 'NONE', *, *, #1302, .T. ) ; +#8038 = LINE ( 'NONE', #12851, #11724 ) ; +#8039 = ADVANCED_FACE ( 'NONE', ( #12494 ), #8588, .T. ) ; +#8040 = FACE_OUTER_BOUND ( 'NONE', #11595, .T. ) ; +#8041 = ORIENTED_EDGE ( 'NONE', *, *, #11841, .T. ) ; +#8042 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8043 = VECTOR ( 'NONE', #8238, 1000.000000000000000 ) ; +#8044 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8045 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8046 = VECTOR ( 'NONE', #6477, 1000.000000000000000 ) ; +#8047 = ORIENTED_EDGE ( 'NONE', *, *, #4647, .T. ) ; +#8048 = LINE ( 'NONE', #8709, #9280 ) ; +#8049 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913417093, -84.48804429451442388, 2.847935343117858675 ) ) ; +#8050 = LINE ( 'NONE', #11886, #6068 ) ; +#8051 = EDGE_CURVE ( 'NONE', #7200, #11806, #5604, .T. ) ; +#8052 = ORIENTED_EDGE ( 'NONE', *, *, #8626, .T. ) ; +#8053 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8054 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 16.24999999999809930, 1.000000000000000000 ) ) ; +#8055 = CIRCLE ( 'NONE', #2452, 2.800000000000840039 ) ; +#8056 = ORIENTED_EDGE ( 'NONE', *, *, #7631, .F. ) ; +#8057 = CARTESIAN_POINT ( 'NONE', ( -87.17069039786871087, -59.01605763575113173, 38.88120580365181667 ) ) ; +#8058 = EDGE_LOOP ( 'NONE', ( #9672, #7427, #2643, #6130 ) ) ; +#8059 = CARTESIAN_POINT ( 'NONE', ( -102.6206027766914701, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8060 = LINE ( 'NONE', #2, #523 ) ; +#8061 = APPROVAL_PERSON_ORGANIZATION ( #4350, #3956, #6375 ) ; +#8062 = PLANE ( 'NONE', #6457 ) ; +#8063 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -13.25000000000000178, 9.000000000000001776 ) ) ; +#8064 = EDGE_CURVE ( 'NONE', #10514, #4796, #9876, .T. ) ; +#8065 = ORIENTED_EDGE ( 'NONE', *, *, #10407, .F. ) ; +#8066 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#8067 = ORIENTED_EDGE ( 'NONE', *, *, #11278, .T. ) ; +#8068 = LINE ( 'NONE', #7092, #11723 ) ; +#8069 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#8070 = VERTEX_POINT ( 'NONE', #531 ) ; +#8071 = LINE ( 'NONE', #11192, #5466 ) ; +#8072 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, 0.7500238298461048281 ) ) ; +#8073 = ORIENTED_EDGE ( 'NONE', *, *, #1979, .F. ) ; +#8074 = CARTESIAN_POINT ( 'NONE', ( -65.47052583416535754, -79.11533733521625322, 1.760023829845577703 ) ) ; +#8075 = VERTEX_POINT ( 'NONE', #4503 ) ; +#8076 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8077 = EDGE_CURVE ( 'NONE', #5293, #11787, #11536, .T. ) ; +#8078 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8079 = VERTEX_POINT ( 'NONE', #6520 ) ; +#8080 = CARTESIAN_POINT ( 'NONE', ( -94.85925911908482533, -64.96605763575112746, 15.55016224672746183 ) ) ; +#8081 = ORIENTED_EDGE ( 'NONE', *, *, #5742, .T. ) ; +#8082 = CARTESIAN_POINT ( 'NONE', ( -117.8071377072762971, -83.41543600577240625, 3.740162246727557704 ) ) ; +#8083 = ORIENTED_EDGE ( 'NONE', *, *, #11670, .F. ) ; +#8084 = EDGE_CURVE ( 'NONE', #6743, #1127, #7890, .T. ) ; +#8085 = FACE_OUTER_BOUND ( 'NONE', #5263, .T. ) ; +#8086 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, 0.7500238298461039399 ) ) ; +#8087 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8088 = CARTESIAN_POINT ( 'NONE', ( -72.98255269134165246, -58.46605763575112746, 19.25016224672767251 ) ) ; +#8089 = ORIENTED_EDGE ( 'NONE', *, *, #12524, .T. ) ; +#8090 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8091 = EDGE_CURVE ( 'NONE', #3813, #8696, #10561, .T. ) ; +#8092 = EDGE_CURVE ( 'NONE', #10012, #2658, #7619, .T. ) ; +#8093 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#8094 = LINE ( 'NONE', #7967, #10626 ) ; +#8095 = EDGE_CURVE ( 'NONE', #8281, #450, #10754, .T. ) ; +#8096 = EDGE_CURVE ( 'NONE', #7022, #6901, #9767, .T. ) ; +#8097 = LINE ( 'NONE', #9139, #11032 ) ; +#8098 = VERTEX_POINT ( 'NONE', #4151 ) ; +#8099 = VECTOR ( 'NONE', #2133, 1000.000000000000114 ) ; +#8100 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.5000000000000073275, -0.8660254037844344888 ) ) ; +#8101 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -69.96605763575112746, 17.74016224672767095 ) ) ; +#8102 = ORIENTED_EDGE ( 'NONE', *, *, #11181, .T. ) ; +#8103 = EDGE_CURVE ( 'NONE', #7225, #3271, #12683, .T. ) ; +#8104 = CARTESIAN_POINT ( 'NONE', ( -84.29168394360905836, -58.46605763575112746, 15.55016224672746183 ) ) ; +#8105 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8106 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -13.25000000000000178, 9.000000000000001776 ) ) ; +#8107 = ORIENTED_EDGE ( 'NONE', *, *, #9542, .T. ) ; +#8108 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8109 = EDGE_CURVE ( 'NONE', #10768, #3911, #8717, .T. ) ; +#8110 = LINE ( 'NONE', #6094, #1128 ) ; +#8111 = LINE ( 'NONE', #2459, #8152 ) ; +#8112 = CARTESIAN_POINT ( 'NONE', ( -78.26759249757650139, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8113 = CARTESIAN_POINT ( 'NONE', ( -104.6569707575844319, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8114 = ORIENTED_EDGE ( 'NONE', *, *, #714, .T. ) ; +#8115 = CARTESIAN_POINT ( 'NONE', ( -99.84823480272136464, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8116 = ORIENTED_EDGE ( 'NONE', *, *, #12684, .F. ) ; +#8117 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8118 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -5.337610695313254343E-16 ) ) ; +#8119 = VECTOR ( 'NONE', #5360, 1000.000000000000114 ) ; +#8120 = AXIS2_PLACEMENT_3D ( 'NONE', #2701, #2504, #3538 ) ; +#8121 = LINE ( 'NONE', #2145, #6869 ) ; +#8122 = SHAPE_DEFINITION_REPRESENTATION ( #9262, #5504 ) ; +#8123 = CARTESIAN_POINT ( 'NONE', ( -96.61084556480358287, -59.01605763575113173, 42.52715544892052435 ) ) ; +#8124 = VERTEX_POINT ( 'NONE', #8054 ) ; +#8125 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#8126 = ORIENTED_EDGE ( 'NONE', *, *, #1253, .F. ) ; +#8127 = LINE ( 'NONE', #10098, #11105 ) ; +#8128 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8129 = VERTEX_POINT ( 'NONE', #2075 ) ; +#8130 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8131 = ADVANCED_FACE ( 'NONE', ( #6036 ), #2822, .F. ) ; +#8132 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8133 = CARTESIAN_POINT ( 'NONE', ( -64.34204886650728383, -74.93293189259095755, 0.7600238298449177865 ) ) ; +#8134 = ORIENTED_EDGE ( 'NONE', *, *, #1180, .F. ) ; +#8135 = CARTESIAN_POINT ( 'NONE', ( -94.33771360621082636, -59.01605763575113173, 43.32502097427452981 ) ) ; +#8136 = AXIS2_PLACEMENT_3D ( 'NONE', #6900, #11971, #10868 ) ; +#8137 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8138 = EDGE_LOOP ( 'NONE', ( #8435, #8229, #4804, #12262 ) ) ; +#8139 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8140 = EDGE_LOOP ( 'NONE', ( #744, #3835, #10705, #4776 ) ) ; +#8141 = CARTESIAN_POINT ( 'NONE', ( -116.5765249442767555, -83.16881345813474979, 2.740162246727674056 ) ) ; +#8142 = ORIENTED_EDGE ( 'NONE', *, *, #2481, .F. ) ; +#8143 = EDGE_CURVE ( 'NONE', #12687, #4284, #1770, .T. ) ; +#8144 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#8145 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8146 = CARTESIAN_POINT ( 'NONE', ( -95.28725821861233669, -64.96605763575112746, 15.55016224672746006 ) ) ; +#8147 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -29.25000000000000000, 21.75002382984610705 ) ) ; +#8148 = VERTEX_POINT ( 'NONE', #11046 ) ; +#8149 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -44.55000000000000426, 17.75002382984610350 ) ) ; +#8150 = AXIS2_PLACEMENT_3D ( 'NONE', #2883, #9042, #3968 ) ; +#8151 = LINE ( 'NONE', #2487, #7555 ) ; +#8152 = VECTOR ( 'NONE', #308, 1000.000000000000000 ) ; +#8153 = CARTESIAN_POINT ( 'NONE', ( -86.01483718609922846, -59.01605763575113173, 39.08430362523065327 ) ) ; +#8154 = DIRECTION ( 'NONE', ( 2.026550380470326460E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#8155 = EDGE_CURVE ( 'NONE', #1684, #5357, #6100, .T. ) ; +#8156 = VECTOR ( 'NONE', #3690, 1000.000000000000000 ) ; +#8157 = ORIENTED_EDGE ( 'NONE', *, *, #12796, .T. ) ; +#8158 = CYLINDRICAL_SURFACE ( 'NONE', #10005, 3.000000000000002665 ) ; +#8159 = ORIENTED_EDGE ( 'NONE', *, *, #11302, .T. ) ; +#8160 = ADVANCED_FACE ( 'NONE', ( #3179 ), #12752, .F. ) ; +#8161 = VECTOR ( 'NONE', #4317, 1000.000000000000000 ) ; +#8162 = CYLINDRICAL_SURFACE ( 'NONE', #12322, 0.9999999999999964473 ) ; +#8163 = VECTOR ( 'NONE', #59, 1000.000000000000000 ) ; +#8164 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -64.96605763575112746, 15.42173512198147556 ) ) ; +#8165 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046193190, -64.96605763575111325, 10.76002382984609262 ) ) ; +#8166 = CIRCLE ( 'NONE', #11702, 1.000000000000000000 ) ; +#8167 = ORIENTED_EDGE ( 'NONE', *, *, #12760, .F. ) ; +#8168 = DIRECTION ( 'NONE', ( -0.3420201433256613299, 0.000000000000000000, 0.9396926207859110924 ) ) ; +#8169 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8170 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#8171 = ADVANCED_FACE ( 'NONE', ( #1698 ), #11786, .F. ) ; +#8172 = ORIENTED_EDGE ( 'NONE', *, *, #5009, .T. ) ; +#8173 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#8174 = CARTESIAN_POINT ( 'NONE', ( -96.08663001626662492, -65.01605763575113883, 29.96526618525374985 ) ) ; +#8175 = AXIS2_PLACEMENT_3D ( 'NONE', #7399, #2600, #5385 ) ; +#8176 = AXIS2_PLACEMENT_3D ( 'NONE', #1685, #2808, #1950 ) ; +#8177 = ORIENTED_EDGE ( 'NONE', *, *, #11442, .T. ) ; +#8178 = CYLINDRICAL_SURFACE ( 'NONE', #12124, 7.700000000002309442 ) ; +#8179 = VERTEX_POINT ( 'NONE', #793 ) ; +#8180 = EDGE_CURVE ( 'NONE', #9281, #11410, #1339, .T. ) ; +#8181 = CARTESIAN_POINT ( 'NONE', ( -121.8473166975698518, -70.02201165238652436, 3.220390557240224716 ) ) ; +#8182 = EDGE_CURVE ( 'NONE', #889, #4188, #9097, .T. ) ; +#8183 = EDGE_CURVE ( 'NONE', #1618, #6037, #4761, .T. ) ; +#8184 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8185 = CIRCLE ( 'NONE', #9014, 1.000000000000000000 ) ; +#8186 = CIRCLE ( 'NONE', #3828, 1.000000000000000000 ) ; +#8187 = CARTESIAN_POINT ( 'NONE', ( -78.43033937168419811, -58.46605763575112746, 1.375023829845842149 ) ) ; +#8188 = DATE_AND_TIME ( #192, #10353 ) ; +#8189 = CARTESIAN_POINT ( 'NONE', ( -84.02643171818924372, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8190 = ORIENTED_EDGE ( 'NONE', *, *, #8416, .T. ) ; +#8191 = AXIS2_PLACEMENT_3D ( 'NONE', #9814, #4870, #8169 ) ; +#8192 = SPHERICAL_SURFACE ( 'NONE', #1081, 1.000000000000000000 ) ; +#8193 = ORIENTED_EDGE ( 'NONE', *, *, #4912, .F. ) ; +#8194 = CARTESIAN_POINT ( 'NONE', ( -89.26316677257977972, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8195 = EDGE_LOOP ( 'NONE', ( #5765, #1188, #11006, #8463 ) ) ; +#8196 = AXIS2_PLACEMENT_3D ( 'NONE', #11051, #7994, #2141 ) ; +#8197 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, -12.50498006704500042, 0.000000000000000000 ) ) ; +#8198 = CIRCLE ( 'NONE', #102, 6.124000000001836419 ) ; +#8199 = CARTESIAN_POINT ( 'NONE', ( -66.78904329227695769, -81.76244302438546185, 1.760023829846368626 ) ) ; +#8200 = ORIENTED_EDGE ( 'NONE', *, *, #386, .F. ) ; +#8201 = CARTESIAN_POINT ( 'NONE', ( -98.22237306669012469, -58.46605763575112746, 1.375023829845842149 ) ) ; +#8202 = CARTESIAN_POINT ( 'NONE', ( -103.2452122942257517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8203 = EDGE_LOOP ( 'NONE', ( #9891, #6593, #2475, #10511, #2314, #11427 ) ) ; +#8204 = LINE ( 'NONE', #10230, #1233 ) ; +#8205 = ADVANCED_FACE ( 'NONE', ( #9030 ), #122, .T. ) ; +#8206 = AXIS2_PLACEMENT_3D ( 'NONE', #782, #9761, #12741 ) ; +#8207 = VERTEX_POINT ( 'NONE', #2750 ) ; +#8208 = CARTESIAN_POINT ( 'NONE', ( -120.9204796292763433, -77.67155388498217405, 3.740162246727971596 ) ) ; +#8209 = VERTEX_POINT ( 'NONE', #3117 ) ; +#8210 = LINE ( 'NONE', #10427, #12144 ) ; +#8211 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#8212 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8213 = EDGE_LOOP ( 'NONE', ( #12174, #32, #2886, #8107 ) ) ; +#8214 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -59.01605763575113173, 36.94034842993836065 ) ) ; +#8215 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8216 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8217 = EDGE_CURVE ( 'NONE', #5930, #8691, #7078, .T. ) ; +#8218 = ORIENTED_EDGE ( 'NONE', *, *, #11340, .F. ) ; +#8219 = PLANE ( 'NONE', #12643 ) ; +#8220 = VECTOR ( 'NONE', #4972, 1000.000000000000000 ) ; +#8221 = TOROIDAL_SURFACE ( 'NONE', #5748, 4.000000000000000000, 1.000000000000000000 ) ; +#8222 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#8223 = ORIENTED_EDGE ( 'NONE', *, *, #10501, .F. ) ; +#8224 = LINE ( 'NONE', #9998, #10256 ) ; +#8225 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 2, 3, ( + ( #3043, #7006, #6157, #10192 ), + ( #10970, #2058, #4197, #5044 ), + ( #6084, #9013, #12132, #11028 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 3, 3 ), + ( 4, 4 ), + ( 0.000000000000000000, 1.000000000000000000 ), + ( 0.001990162246727670593, 0.01849016224672767050 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 1.000000000000000000, 1.000000000000000000, 1.000000000000000000), + ( 0.7071067811865477948, 0.7071067811865477948, 0.7071067811865477948, 0.7071067811865477948), + ( 1.000000000000000000, 1.000000000000000000, 1.000000000000000000, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#8226 = EDGE_CURVE ( 'NONE', #7191, #7975, #729, .T. ) ; +#8227 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#8228 = CARTESIAN_POINT ( 'NONE', ( -68.83784092807107413, -65.59712569170376639, 13.27811872620572764 ) ) ; +#8229 = ORIENTED_EDGE ( 'NONE', *, *, #10366, .F. ) ; +#8230 = CARTESIAN_POINT ( 'NONE', ( -87.80318648157546590, -59.01605763575113173, 32.43997768629751732 ) ) ; +#8231 = VECTOR ( 'NONE', #3667, 1000.000000000000000 ) ; +#8232 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 14.76002382984610151 ) ) ; +#8233 = AXIS2_PLACEMENT_3D ( 'NONE', #9019, #8044, #1211 ) ; +#8234 = CARTESIAN_POINT ( 'NONE', ( -117.3696717619474441, -65.96772342697445879, 4.667428643638855235 ) ) ; +#8235 = EDGE_CURVE ( 'NONE', #9358, #5144, #2265, .T. ) ; +#8236 = VERTEX_POINT ( 'NONE', #6171 ) ; +#8237 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8238 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 1.192622389734055617E-16 ) ) ; +#8239 = ORIENTED_EDGE ( 'NONE', *, *, #8399, .F. ) ; +#8240 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8241 = EDGE_LOOP ( 'NONE', ( #6544, #667, #3638, #1069 ) ) ; +#8242 = AXIS2_PLACEMENT_3D ( 'NONE', #2964, #12844, #6075 ) ; +#8243 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#8244 = ADVANCED_FACE ( 'NONE', ( #9156 ), #2326, .F. ) ; +#8245 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8246 = CARTESIAN_POINT ( 'NONE', ( -90.95550846171310866, 13.89991557692050073, 10.00000000000000000 ) ) ; +#8247 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#8248 = EDGE_CURVE ( 'NONE', #10012, #4485, #10392, .T. ) ; +#8249 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8250 = ORIENTED_EDGE ( 'NONE', *, *, #361, .T. ) ; +#8251 = ADVANCED_FACE ( 'NONE', ( #6424 ), #1353, .T. ) ; +#8252 = FACE_OUTER_BOUND ( 'NONE', #12316, .T. ) ; +#8253 = EDGE_CURVE ( 'NONE', #10819, #12753, #1470, .T. ) ; +#8254 = EDGE_CURVE ( 'NONE', #5647, #335, #7838, .T. ) ; +#8255 = ORIENTED_EDGE ( 'NONE', *, *, #10178, .F. ) ; +#8256 = LINE ( 'NONE', #3072, #4227 ) ; +#8257 = ORIENTED_EDGE ( 'NONE', *, *, #10778, .T. ) ; +#8258 = LINE ( 'NONE', #12036, #12112 ) ; +#8259 = EDGE_CURVE ( 'NONE', #1437, #5595, #10542, .T. ) ; +#8260 = AXIS2_PLACEMENT_3D ( 'NONE', #10863, #2083, #6898 ) ; +#8261 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8262 = VECTOR ( 'NONE', #8810, 1000.000000000000000 ) ; +#8263 = CARTESIAN_POINT ( 'NONE', ( -64.47394655751803327, -75.63483116954596142, 0.7600238298453616537 ) ) ; +#8264 = ORIENTED_EDGE ( 'NONE', *, *, #10375, .F. ) ; +#8265 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -1.301042606982606060E-16 ) ) ; +#8266 = EDGE_LOOP ( 'NONE', ( #4702, #2110, #6483, #5413 ) ) ; +#8267 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#8268 = ORIENTED_EDGE ( 'NONE', *, *, #4360, .T. ) ; +#8269 = CARTESIAN_POINT ( 'NONE', ( -113.9284818104619177, -64.96605763575112746, 0.2500238298461061603 ) ) ; +#8270 = EDGE_LOOP ( 'NONE', ( #12685, #7518, #1435, #2494 ) ) ; +#8271 = CARTESIAN_POINT ( 'NONE', ( -118.2220457271134961, -82.98349709619454018, 2.740162246727586126 ) ) ; +#8272 = VERTEX_POINT ( 'NONE', #11175 ) ; +#8273 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8274 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256616630 ) ) ; +#8275 = LINE ( 'NONE', #1390, #5112 ) ; +#8276 = ORIENTED_EDGE ( 'NONE', *, *, #10330, .T. ) ; +#8277 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8278 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -69.96605763575114167, 17.74016224672767095 ) ) ; +#8279 = ORIENTED_EDGE ( 'NONE', *, *, #10472, .T. ) ; +#8280 = CARTESIAN_POINT ( 'NONE', ( -98.22237306669012469, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8281 = VERTEX_POINT ( 'NONE', #7263 ) ; +#8282 = LINE ( 'NONE', #7192, #11518 ) ; +#8283 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8284 = ORIENTED_EDGE ( 'NONE', *, *, #1728, .T. ) ; +#8285 = LINE ( 'NONE', #7314, #10478 ) ; +#8286 = ADVANCED_FACE ( 'NONE', ( #6294 ), #4282, .T. ) ; +#8287 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8288 = CARTESIAN_POINT ( 'NONE', ( -65.34269537283500995, -69.96605763575111325, 15.76002382984610328 ) ) ; +#8289 = EDGE_LOOP ( 'NONE', ( #6292, #7813, #4521, #6208 ) ) ; +#8290 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -16.25000000000000000, 3.000000000000002665 ) ) ; +#8291 = ORIENTED_EDGE ( 'NONE', *, *, #2545, .T. ) ; +#8292 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8293 = CIRCLE ( 'NONE', #11626, 6.124000000001832866 ) ; +#8294 = CARTESIAN_POINT ( 'NONE', ( -96.64786772922379043, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8295 = EDGE_LOOP ( 'NONE', ( #5749, #3979, #1175, #5912 ) ) ; +#8296 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#8297 = CARTESIAN_POINT ( 'NONE', ( -101.6193505581945118, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8298 = ORIENTED_EDGE ( 'NONE', *, *, #9190, .F. ) ; +#8299 = FACE_OUTER_BOUND ( 'NONE', #7089, .T. ) ; +#8300 = ORIENTED_EDGE ( 'NONE', *, *, #4767, .T. ) ; +#8301 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 2, ( #4265, #7122, #11096 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 3, 3 ), + ( -6.000000000314310891E-08, 0.01802711907156814494 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.7071067811865479058, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#8302 = CARTESIAN_POINT ( 'NONE', ( -107.6434420042270688, -58.46605763575112746, 1.375023829845842149 ) ) ; +#8303 = EDGE_CURVE ( 'NONE', #1723, #5342, #2653, .T. ) ; +#8304 = CARTESIAN_POINT ( 'NONE', ( -87.24911363665819408, -65.01605763575113883, 33.52740687254731000 ) ) ; +#8305 = ORIENTED_EDGE ( 'NONE', *, *, #3482, .F. ) ; +#8306 = FACE_OUTER_BOUND ( 'NONE', #9725, .T. ) ; +#8307 = APPROVAL_STATUS ( 'not_yet_approved' ) ; +#8308 = CARTESIAN_POINT ( 'NONE', ( -98.22237306669012469, -58.46605763575112746, 1.375023829845842149 ) ) ; +#8309 = ORIENTED_EDGE ( 'NONE', *, *, #11828, .F. ) ; +#8310 = VECTOR ( 'NONE', #10153, 1000.000000000000000 ) ; +#8311 = DIRECTION ( 'NONE', ( 0.3420201433256620516, 0.000000000000000000, -0.9396926207859107594 ) ) ; +#8312 = EDGE_CURVE ( 'NONE', #9599, #5519, #12815, .T. ) ; +#8313 = ORIENTED_EDGE ( 'NONE', *, *, #12793, .T. ) ; +#8314 = CARTESIAN_POINT ( 'NONE', ( -89.26316677257977972, -58.46605763575112746, 17.12516224672793541 ) ) ; +#8315 = ORIENTED_EDGE ( 'NONE', *, *, #5400, .F. ) ; +#8316 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8317 = ADVANCED_FACE ( 'NONE', ( #1280 ), #5443, .T. ) ; +#8318 = AXIS2_PLACEMENT_3D ( 'NONE', #7662, #1747, #10401 ) ; +#8319 = VECTOR ( 'NONE', #9587, 1000.000000000000000 ) ; +#8320 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#8321 = EDGE_CURVE ( 'NONE', #450, #753, #1413, .T. ) ; +#8322 = CARTESIAN_POINT ( 'NONE', ( -66.66288847797304129, -79.39742076721863384, 0.7600238298461052810 ) ) ; +#8323 = VERTEX_POINT ( 'NONE', #6362 ) ; +#8324 = CARTESIAN_POINT ( 'NONE', ( -108.4819473486163020, -64.96605763575112746, 15.55016224672746361 ) ) ; +#8325 = ORIENTED_EDGE ( 'NONE', *, *, #549, .T. ) ; +#8326 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 8.450023829846104562 ) ) ; +#8327 = ORIENTED_EDGE ( 'NONE', *, *, #3186, .T. ) ; +#8328 = CIRCLE ( 'NONE', #4387, 1.000000000000000888 ) ; +#8329 = CARTESIAN_POINT ( 'NONE', ( -120.5683391289685744, -69.96605763575111325, 2.740162246727670503 ) ) ; +#8330 = EDGE_CURVE ( 'NONE', #9488, #9477, #12267, .T. ) ; +#8331 = VECTOR ( 'NONE', #7103, 1000.000000000000000 ) ; +#8332 = ORIENTED_EDGE ( 'NONE', *, *, #4283, .T. ) ; +#8333 = CARTESIAN_POINT ( 'NONE', ( -120.8122848897409227, -78.02298774090823485, 2.740162246727522621 ) ) ; +#8334 = VERTEX_POINT ( 'NONE', #4473 ) ; +#8335 = EDGE_CURVE ( 'NONE', #11384, #6649, #7140, .T. ) ; +#8336 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -29.25000000000000000, 18.75002382984610705 ) ) ; +#8337 = LINE ( 'NONE', #6267, #6724 ) ; +#8338 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8339 = CIRCLE ( 'NONE', #10849, 6.124000000001836419 ) ; +#8340 = ORIENTED_EDGE ( 'NONE', *, *, #7898, .F. ) ; +#8341 = CARTESIAN_POINT ( 'NONE', ( -106.4455793677233686, -58.46605763575112746, 2.950023829846315060 ) ) ; +#8342 = CARTESIAN_POINT ( 'NONE', ( -88.42138703248758702, -65.01605763575113883, 40.51556804414590829 ) ) ; +#8343 = ORIENTED_EDGE ( 'NONE', *, *, #4047, .F. ) ; +#8344 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8345 = ORIENTED_EDGE ( 'NONE', *, *, #110, .F. ) ; +#8346 = CYLINDRICAL_SURFACE ( 'NONE', #9229, 1.000000000000000000 ) ; +#8347 = LINE ( 'NONE', #9331, #11313 ) ; +#8348 = ORIENTED_EDGE ( 'NONE', *, *, #3112, .F. ) ; +#8349 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8350 = CIRCLE ( 'NONE', #10687, 0.8000000000000003775 ) ; +#8351 = DIRECTION ( 'NONE', ( -4.053100760940521181E-15, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8352 = CARTESIAN_POINT ( 'NONE', ( -65.77756750141575992, -68.11697194479216932, 15.48145287082010846 ) ) ; +#8353 = VECTOR ( 'NONE', #6017, 1000.000000000000000 ) ; +#8354 = ORIENTED_EDGE ( 'NONE', *, *, #391, .F. ) ; +#8355 = CARTESIAN_POINT ( 'NONE', ( -89.88777629011410397, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8356 = VECTOR ( 'NONE', #5528, 1000.000000000000000 ) ; +#8357 = VERTEX_POINT ( 'NONE', #313 ) ; +#8358 = CARTESIAN_POINT ( 'NONE', ( -94.14577264255315470, -59.01605763575113173, 29.28082870826846573 ) ) ; +#8359 = CARTESIAN_POINT ( 'NONE', ( -116.6724484241182012, -65.09619425468558518, 6.431422819436387606 ) ) ; +#8360 = ORIENTED_EDGE ( 'NONE', *, *, #7067, .T. ) ; +#8361 = LINE ( 'NONE', #12462, #7535 ) ; +#8362 = LINE ( 'NONE', #3435, #6175 ) ; +#8363 = ADVANCED_FACE ( 'NONE', ( #9344 ), #2202, .F. ) ; +#8364 = ORIENTED_EDGE ( 'NONE', *, *, #8254, .T. ) ; +#8365 = CARTESIAN_POINT ( 'NONE', ( -86.65354567271741359, -58.46605763575112746, 2.950023829846315948 ) ) ; +#8366 = ORIENTED_EDGE ( 'NONE', *, *, #7673, .F. ) ; +#8367 = CIRCLE ( 'NONE', #7748, 1.000000000000000888 ) ; +#8368 = LINE ( 'NONE', #10462, #10875 ) ; +#8369 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8370 = ORIENTED_EDGE ( 'NONE', *, *, #5808, .F. ) ; +#8371 = AXIS2_PLACEMENT_3D ( 'NONE', #4854, #4728, #2052 ) ; +#8372 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8373 = AXIS2_PLACEMENT_3D ( 'NONE', #9417, #507, #4477 ) ; +#8374 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.85828453936095173, 1.238037171082822407 ) ) ; +#8375 = AXIS2_PLACEMENT_3D ( 'NONE', #393, #519, #10547 ) ; +#8376 = ORIENTED_EDGE ( 'NONE', *, *, #4784, .T. ) ; +#8377 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -23.68297142738791905, -1.982026977722766148 ) ) ; +#8378 = EDGE_CURVE ( 'NONE', #1526, #11821, #8362, .T. ) ; +#8379 = EDGE_LOOP ( 'NONE', ( #5826, #2407, #10384, #7015 ) ) ; +#8380 = VECTOR ( 'NONE', #5366, 1000.000000000000000 ) ; +#8381 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8382 = ORIENTED_EDGE ( 'NONE', *, *, #5796, .F. ) ; +#8383 = VECTOR ( 'NONE', #1834, 1000.000000000000000 ) ; +#8384 = CARTESIAN_POINT ( 'NONE', ( -64.32855889790727133, -74.85570423547875407, 14.76002382984490779 ) ) ; +#8385 = CIRCLE ( 'NONE', #3826, 0.7999999999999951594 ) ; +#8386 = AXIS2_PLACEMENT_3D ( 'NONE', #8222, #12196, #7252 ) ; +#8387 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 0.000000000000000000 ) ) ; +#8388 = ADVANCED_FACE ( 'NONE', ( #10655 ), #6751, .F. ) ; +#8389 = CARTESIAN_POINT ( 'NONE', ( -96.26563260289121615, -59.01605763575113173, 40.90242380761317520 ) ) ; +#8390 = VECTOR ( 'NONE', #10981, 1000.000000000000000 ) ; +#8391 = ORIENTED_EDGE ( 'NONE', *, *, #1741, .T. ) ; +#8392 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8393 = LINE ( 'NONE', #12362, #5036 ) ; +#8394 = EDGE_LOOP ( 'NONE', ( #9516, #8177, #2125, #1243 ) ) ; +#8395 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#8396 = ORIENTED_EDGE ( 'NONE', *, *, #7417, .T. ) ; +#8397 = CIRCLE ( 'NONE', #1552, 2.800000000000843592 ) ; +#8398 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 9.000000000000001776 ) ) ; +#8399 = EDGE_CURVE ( 'NONE', #8098, #2477, #1672, .T. ) ; +#8400 = AXIS2_PLACEMENT_3D ( 'NONE', #2646, #10032, #142 ) ; +#8401 = ORIENTED_EDGE ( 'NONE', *, *, #401, .T. ) ; +#8402 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -12.50498006704500042, 1.000000000000000000 ) ) ; +#8403 = VECTOR ( 'NONE', #2445, 1000.000000000000000 ) ; +#8404 = ORIENTED_EDGE ( 'NONE', *, *, #6088, .T. ) ; +#8405 = AXIS2_PLACEMENT_3D ( 'NONE', #11428, #7514, #11562 ) ; +#8406 = PLANE ( 'NONE', #1335 ) ; +#8407 = EDGE_CURVE ( 'NONE', #6847, #9377, #1804, .T. ) ; +#8408 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -3.002406016113880042E-17 ) ) ; +#8409 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8410 = ORIENTED_EDGE ( 'NONE', *, *, #7700, .F. ) ; +#8411 = LINE ( 'NONE', #2372, #5980 ) ; +#8412 = AXIS2_PLACEMENT_3D ( 'NONE', #7215, #8369, #5387 ) ; +#8413 = CARTESIAN_POINT ( 'NONE', ( -79.46545513408021577, -58.46605763575112746, 15.55016224672746183 ) ) ; +#8414 = ORIENTED_EDGE ( 'NONE', *, *, #10577, .F. ) ; +#8415 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#8416 = EDGE_CURVE ( 'NONE', #123, #10031, #1808, .T. ) ; +#8417 = ADVANCED_FACE ( 'NONE', ( #1612 ), #11500, .F. ) ; +#8418 = ORIENTED_EDGE ( 'NONE', *, *, #11379, .T. ) ; +#8419 = ADVANCED_FACE ( 'NONE', ( #2660 ), #4794, .F. ) ; +#8420 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8421 = EDGE_CURVE ( 'NONE', #133, #2955, #5638, .T. ) ; +#8422 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8423 = ORIENTED_EDGE ( 'NONE', *, *, #3261, .T. ) ; +#8424 = LINE ( 'NONE', #2511, #3627 ) ; +#8425 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8426 = CARTESIAN_POINT ( 'NONE', ( -65.86638854982163593, -69.31144116451142168, 15.76002382984610328 ) ) ; +#8427 = ORIENTED_EDGE ( 'NONE', *, *, #12704, .F. ) ; +#8428 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8429 = ORIENTED_EDGE ( 'NONE', *, *, #6334, .F. ) ; +#8430 = DIRECTION ( 'NONE', ( 0.9396926207859136460, -0.000000000000000000, 0.3420201433256545021 ) ) ; +#8431 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#8432 = VERTEX_POINT ( 'NONE', #10595 ) ; +#8433 = CARTESIAN_POINT ( 'NONE', ( -86.01483718609915741, -65.01605763575113883, 32.41588245134326485 ) ) ; +#8434 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8435 = ORIENTED_EDGE ( 'NONE', *, *, #11166, .T. ) ; +#8436 = CARTESIAN_POINT ( 'NONE', ( -93.98175186377140733, -59.01605763575113173, 28.11878630094603082 ) ) ; +#8437 = ORIENTED_EDGE ( 'NONE', *, *, #552, .F. ) ; +#8438 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -59.01605763575113173, 34.88298056549312065 ) ) ; +#8439 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, 0.7500238298461039399 ) ) ; +#8440 = AXIS2_PLACEMENT_3D ( 'NONE', #7563, #2564, #2636 ) ; +#8441 = VECTOR ( 'NONE', #4463, 1000.000000000000000 ) ; +#8442 = ORIENTED_EDGE ( 'NONE', *, *, #4882, .F. ) ; +#8443 = LINE ( 'NONE', #12474, #8947 ) ; +#8444 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8445 = VERTEX_POINT ( 'NONE', #9678 ) ; +#8446 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8447 = AXIS2_PLACEMENT_3D ( 'NONE', #3493, #5436, #4275 ) ; +#8448 = VERTEX_POINT ( 'NONE', #8753 ) ; +#8449 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 15.24999999999809930, 1.000000000000000000 ) ) ; +#8450 = VERTEX_POINT ( 'NONE', #11432 ) ; +#8451 = CARTESIAN_POINT ( 'NONE', ( -68.24921386860518169, -83.55585800934866825, 15.76002382984548511 ) ) ; +#8452 = CARTESIAN_POINT ( 'NONE', ( -85.65229345422048368, -58.46605763575112746, 1.375023829845842149 ) ) ; +#8453 = EDGE_CURVE ( 'NONE', #1483, #9527, #4732, .T. ) ; +#8454 = CARTESIAN_POINT ( 'NONE', ( -121.5683391289685886, -69.55184407337803520, 14.25016224672766896 ) ) ; +#8455 = AXIS2_PLACEMENT_3D ( 'NONE', #11073, #1306, #10111 ) ; +#8456 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8457 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, 73.00000000000001421 ) ) ; +#8458 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8459 = EDGE_LOOP ( 'NONE', ( #8866, #9483, #11207, #4554 ) ) ; +#8460 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8461 = VERTEX_POINT ( 'NONE', #4598 ) ; +#8462 = CARTESIAN_POINT ( 'NONE', ( -88.42138703248758702, -59.01605763575113173, 40.51556804414590829 ) ) ; +#8463 = ORIENTED_EDGE ( 'NONE', *, *, #7631, .T. ) ; +#8464 = LINE ( 'NONE', #9515, #1116 ) ; +#8465 = ORIENTED_EDGE ( 'NONE', *, *, #2298, .F. ) ; +#8466 = CC_DESIGN_APPROVAL ( #3956, ( #4744 ) ) ; +#8467 = LINE ( 'NONE', #1445, #719 ) ; +#8468 = EDGE_CURVE ( 'NONE', #6715, #12482, #536, .T. ) ; +#8469 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8470 = CARTESIAN_POINT ( 'NONE', ( -77.26634027907955726, -58.46605763575112746, 15.55016224672746183 ) ) ; +#8471 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#8472 = EDGE_LOOP ( 'NONE', ( #5202, #8223, #6065, #9965 ) ) ; +#8473 = CARTESIAN_POINT ( 'NONE', ( -120.8853510986451738, -72.72432753584337206, 17.74016224672766384 ) ) ; +#8474 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8475 = VERTEX_POINT ( 'NONE', #9547 ) ; +#8476 = FACE_OUTER_BOUND ( 'NONE', #2120, .T. ) ; +#8477 = ORIENTED_EDGE ( 'NONE', *, *, #9533, .F. ) ; +#8478 = CARTESIAN_POINT ( 'NONE', ( -98.74034410393490191, -59.01605763575113173, 32.61898027292199487 ) ) ; +#8479 = EDGE_CURVE ( 'NONE', #9917, #586, #1541, .T. ) ; +#8480 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -84.96605763575112746, 1.760023829846103727 ) ) ; +#8481 = ORIENTED_EDGE ( 'NONE', *, *, #6274, .T. ) ; +#8482 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#8483 = EDGE_CURVE ( 'NONE', #2268, #1604, #2204, .T. ) ; +#8484 = LINE ( 'NONE', #12453, #2453 ) ; +#8485 = FACE_OUTER_BOUND ( 'NONE', #80, .T. ) ; +#8486 = ADVANCED_FACE ( 'NONE', ( #3748 ), #7588, .T. ) ; +#8487 = ADVANCED_FACE ( 'NONE', ( #11567 ), #7520, .T. ) ; +#8488 = ORIENTED_EDGE ( 'NONE', *, *, #5476, .F. ) ; +#8489 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -65.01605763575113883, 34.14034842993752505 ) ) ; +#8490 = VERTEX_POINT ( 'NONE', #8623 ) ; +#8491 = CARTESIAN_POINT ( 'NONE', ( -88.42466142819056074, -58.46605763575112746, 2.950023829846314172 ) ) ; +#8492 = DIRECTION ( 'NONE', ( 0.9396926207859083169, -0.000000000000000000, 0.3420201433256689350 ) ) ; +#8493 = ORIENTED_EDGE ( 'NONE', *, *, #10778, .F. ) ; +#8494 = CARTESIAN_POINT ( 'NONE', ( -95.84793067741834705, -65.01605763575113883, 37.31564942096930793 ) ) ; +#8495 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 9.000000000000001776 ) ) ; +#8496 = ADVANCED_FACE ( 'NONE', ( #2593 ), #6557, .F. ) ; +#8497 = ORIENTED_EDGE ( 'NONE', *, *, #3310, .T. ) ; +#8498 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#8499 = ORIENTED_EDGE ( 'NONE', *, *, #1196, .F. ) ; +#8500 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -65.96605763575112746, 4.250023829846106160 ) ) ; +#8501 = ADVANCED_FACE ( 'NONE', ( #11688 ), #2787, .F. ) ; +#8502 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -65.01605763575113883, 34.88298056549312065 ) ) ; +#8503 = ORIENTED_EDGE ( 'NONE', *, *, #9993, .T. ) ; +#8504 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8505 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 2.740162246727670503 ) ) ; +#8506 = ORIENTED_EDGE ( 'NONE', *, *, #10562, .F. ) ; +#8507 = FACE_OUTER_BOUND ( 'NONE', #260, .T. ) ; +#8508 = ORIENTED_EDGE ( 'NONE', *, *, #8893, .T. ) ; +#8509 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8510 = EDGE_LOOP ( 'NONE', ( #3832, #1251, #1249, #12283 ) ) ; +#8511 = CARTESIAN_POINT ( 'NONE', ( -70.47820240486235832, -84.87102851662824321, 15.76002382984610506 ) ) ; +#8512 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -63.46605763575112746, 0.000000000000000000 ) ) ; +#8513 = FACE_OUTER_BOUND ( 'NONE', #12473, .T. ) ; +#8514 = CARTESIAN_POINT ( 'NONE', ( -90.11591592402768924, -59.01605763575113173, 41.68345238804977271 ) ) ; +#8515 = CARTESIAN_POINT ( 'NONE', ( -97.48637307361302362, -64.96605763575112746, 15.55016224672746183 ) ) ; +#8516 = CARTESIAN_POINT ( 'NONE', ( -76.69308716011013871, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8517 = ORIENTED_EDGE ( 'NONE', *, *, #6772, .F. ) ; +#8518 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -13.71605763575112213, 0.000000000000000000 ) ) ; +#8519 = ORIENTED_EDGE ( 'NONE', *, *, #2702, .F. ) ; +#8520 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8521 = VERTEX_POINT ( 'NONE', #10840 ) ; +#8522 = CARTESIAN_POINT ( 'NONE', ( -80.62945422668485662, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8523 = ORIENTED_EDGE ( 'NONE', *, *, #6864, .F. ) ; +#8524 = EDGE_CURVE ( 'NONE', #11787, #5523, #1932, .T. ) ; +#8525 = AXIS2_PLACEMENT_3D ( 'NONE', #1619, #6999, #7057 ) ; +#8526 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#8527 = PLANE ( 'NONE', #11082 ) ; +#8528 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#8529 = EDGE_LOOP ( 'NONE', ( #12182, #6883, #3954, #12385 ) ) ; +#8530 = CARTESIAN_POINT ( 'NONE', ( -119.2481460225205154, -79.39742076662213321, 17.74016224672768516 ) ) ; +#8531 = AXIS2_PLACEMENT_3D ( 'NONE', #2099, #4117, #11856 ) ; +#8532 = AXIS2_PLACEMENT_3D ( 'NONE', #291, #5175, #8344 ) ; +#8533 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -29.25000000000000000, 18.75002382984610705 ) ) ; +#8534 = ORIENTED_EDGE ( 'NONE', *, *, #5456, .F. ) ; +#8535 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -58.46605763575112746, 0.000000000000000000 ) ) ; +#8536 = ORIENTED_EDGE ( 'NONE', *, *, #7355, .F. ) ; +#8537 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8538 = ADVANCED_FACE ( 'NONE', ( #3881 ), #10061, .F. ) ; +#8539 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8540 = ORIENTED_EDGE ( 'NONE', *, *, #8453, .T. ) ; +#8541 = VECTOR ( 'NONE', #8078, 1000.000000000000000 ) ; +#8542 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -13.25000000000000178, 10.00000000000000000 ) ) ; +#8543 = CARTESIAN_POINT ( 'NONE', ( -99.73257966153543919, -65.01605763575113883, 39.40542135218865383 ) ) ; +#8544 = CYLINDRICAL_SURFACE ( 'NONE', #10102, 1.000000000000000000 ) ; +#8545 = ORIENTED_EDGE ( 'NONE', *, *, #9793, .F. ) ; +#8546 = CARTESIAN_POINT ( 'NONE', ( -99.73257966153541076, -59.01605763575113173, 32.09476472438507244 ) ) ; +#8547 = EDGE_CURVE ( 'NONE', #7975, #7104, #4923, .T. ) ; +#8548 = VERTEX_POINT ( 'NONE', #7060 ) ; +#8549 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#8550 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -13.25000000000000178, 9.000000000000001776 ) ) ; +#8551 = CIRCLE ( 'NONE', #3983, 2.000000000000001776 ) ; +#8552 = ORIENTED_EDGE ( 'NONE', *, *, #9592, .F. ) ; +#8553 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#8554 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -17.44615242270659650, -3.000000000000000000 ) ) ; +#8555 = EDGE_CURVE ( 'NONE', #11169, #2965, #11260, .T. ) ; +#8556 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #1364, #5328, ( #4744 ) ) ; +#8557 = CARTESIAN_POINT ( 'NONE', ( -120.5836096289016126, -74.76055459481479204, 17.74016224672767805 ) ) ; +#8558 = ORIENTED_EDGE ( 'NONE', *, *, #1068, .F. ) ; +#8559 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8560 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 0.000000000000000000 ) ) ; +#8561 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -59.01605763575113173, 36.94034842993827539 ) ) ; +#8562 = VECTOR ( 'NONE', #4683, 1000.000000000000000 ) ; +#8563 = ORIENTED_EDGE ( 'NONE', *, *, #3136, .T. ) ; +#8564 = EDGE_CURVE ( 'NONE', #11413, #4474, #5898, .T. ) ; +#8565 = LINE ( 'NONE', #443, #7909 ) ; +#8566 = CARTESIAN_POINT ( 'NONE', ( -114.8269077792192121, -83.96605763575108483, 2.740162246727670059 ) ) ; +#8567 = EDGE_LOOP ( 'NONE', ( #9778, #2732, #448, #9969 ) ) ; +#8568 = FACE_OUTER_BOUND ( 'NONE', #5776, .T. ) ; +#8569 = EDGE_CURVE ( 'NONE', #5516, #10664, #2365, .T. ) ; +#8570 = AXIS2_PLACEMENT_3D ( 'NONE', #10920, #835, #2985 ) ; +#8571 = ORIENTED_EDGE ( 'NONE', *, *, #1901, .F. ) ; +#8572 = EDGE_CURVE ( 'NONE', #1309, #7236, #2116, .T. ) ; +#8573 = ADVANCED_FACE ( 'NONE', ( #8824 ), #4860, .T. ) ; +#8574 = LINE ( 'NONE', #10475, #7341 ) ; +#8575 = ORIENTED_EDGE ( 'NONE', *, *, #1493, .F. ) ; +#8576 = CARTESIAN_POINT ( 'NONE', ( -69.61556567138293872, -84.54767693811284346, 14.76002382984610328 ) ) ; +#8577 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8578 = VECTOR ( 'NONE', #540, 1000.000000000000000 ) ; +#8579 = VECTOR ( 'NONE', #11308, 1000.000000000000000 ) ; +#8580 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8581 = AXIS2_PLACEMENT_3D ( 'NONE', #6190, #9113, #3319 ) ; +#8582 = LINE ( 'NONE', #5600, #12020 ) ; +#8583 = CARTESIAN_POINT ( 'NONE', ( -110.2530631040894775, -64.96605763575112746, 15.55016224672746006 ) ) ; +#8584 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#8585 = ORIENTED_EDGE ( 'NONE', *, *, #11235, .F. ) ; +#8586 = LINE ( 'NONE', #12563, #2118 ) ; +#8587 = ORIENTED_EDGE ( 'NONE', *, *, #4421, .T. ) ; +#8588 = CYLINDRICAL_SURFACE ( 'NONE', #2279, 2.800000000000847145 ) ; +#8589 = ORIENTED_EDGE ( 'NONE', *, *, #7254, .T. ) ; +#8590 = VECTOR ( 'NONE', #10836, 1000.000000000000000 ) ; +#8591 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8592 = VECTOR ( 'NONE', #10120, 1000.000000000000000 ) ; +#8593 = VERTEX_POINT ( 'NONE', #7971 ) ; +#8594 = AXIS2_PLACEMENT_3D ( 'NONE', #1486, #7604, #7477 ) ; +#8595 = VECTOR ( 'NONE', #4016, 1000.000000000000000 ) ; +#8596 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8597 = CARTESIAN_POINT ( 'NONE', ( -93.98175186377140733, -59.01605763575113173, 28.11878630094603082 ) ) ; +#8598 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8599 = ORIENTED_EDGE ( 'NONE', *, *, #1987, .T. ) ; +#8600 = CARTESIAN_POINT ( 'NONE', ( -94.44875287422310350, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8601 = VECTOR ( 'NONE', #4510, 1000.000000000000000 ) ; +#8602 = EDGE_CURVE ( 'NONE', #5932, #6979, #4006, .T. ) ; +#8603 = VECTOR ( 'NONE', #11878, 1000.000000000000000 ) ; +#8604 = CYLINDRICAL_SURFACE ( 'NONE', #9376, 2.800000000000836486 ) ; +#8605 = ORIENTED_EDGE ( 'NONE', *, *, #740, .T. ) ; +#8606 = FACE_OUTER_BOUND ( 'NONE', #2806, .T. ) ; +#8607 = AXIS2_PLACEMENT_3D ( 'NONE', #5167, #5463, #9131 ) ; +#8608 = VERTEX_POINT ( 'NONE', #11946 ) ; +#8609 = CARTESIAN_POINT ( 'NONE', ( -100.8833505651173823, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8610 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8611 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -27.25000000000000355, 2.000000000000002665 ) ) ; +#8612 = PLANE ( 'NONE', #6822 ) ; +#8613 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -84.96605763575112746, 15.76002382984610328 ) ) ; +#8614 = CIRCLE ( 'NONE', #7363, 2.800000000000843592 ) ; +#8615 = ORIENTED_EDGE ( 'NONE', *, *, #9610, .F. ) ; +#8616 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8617 = EDGE_CURVE ( 'NONE', #4188, #2171, #3815, .T. ) ; +#8618 = VERTEX_POINT ( 'NONE', #5834 ) ; +#8619 = LINE ( 'NONE', #12458, #1763 ) ; +#8620 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8621 = VERTEX_POINT ( 'NONE', #12787 ) ; +#8622 = LINE ( 'NONE', #3434, #12520 ) ; +#8623 = CARTESIAN_POINT ( 'NONE', ( -111.2618151437952605, -64.96605763575112746, 4.021259996174357809 ) ) ; +#8624 = CARTESIAN_POINT ( 'NONE', ( -117.6719506636534334, -82.07811571753428836, 17.74016224672767095 ) ) ; +#8625 = ORIENTED_EDGE ( 'NONE', *, *, #12303, .F. ) ; +#8626 = EDGE_CURVE ( 'NONE', #2238, #6912, #10071, .T. ) ; +#8627 = PLANE ( 'NONE', #5679 ) ; +#8628 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8629 = CARTESIAN_POINT ( 'NONE', ( -100.5304451868894375, -59.01605763575113173, 34.36789668297783606 ) ) ; +#8630 = ORIENTED_EDGE ( 'NONE', *, *, #5562, .F. ) ; +#8631 = EDGE_CURVE ( 'NONE', #7240, #6037, #8038, .T. ) ; +#8632 = AXIS2_PLACEMENT_3D ( 'NONE', #6628, #1677, #766 ) ; +#8633 = CARTESIAN_POINT ( 'NONE', ( -75.22997229818662390, -64.96605763575112746, 2.950023829846312395 ) ) ; +#8634 = DIRECTION ( 'NONE', ( 2.026550380470326460E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#8635 = EDGE_LOOP ( 'NONE', ( #8552, #9984, #6092, #11038 ) ) ; +#8636 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -59.01605763575113173, 36.94034842993827539 ) ) ; +#8637 = ORIENTED_EDGE ( 'NONE', *, *, #9209, .T. ) ; +#8638 = CARTESIAN_POINT ( 'NONE', ( -81.66456998908088849, -58.46605763575112746, 15.55016224672746183 ) ) ; +#8639 = ORIENTED_EDGE ( 'NONE', *, *, #292, .F. ) ; +#8640 = EDGE_CURVE ( 'NONE', #6741, #10249, #7906, .T. ) ; +#8641 = VECTOR ( 'NONE', #878, 1000.000000000000000 ) ; +#8642 = CARTESIAN_POINT ( 'NONE', ( -65.09874961239533775, -78.02298774079568489, 14.76002382984580130 ) ) ; +#8643 = AXIS2_PLACEMENT_3D ( 'NONE', #11194, #1373, #10533 ) ; +#8644 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 3.740162246727670059 ) ) ; +#8645 = EDGE_CURVE ( 'NONE', #7853, #12320, #4858, .T. ) ; +#8646 = FACE_OUTER_BOUND ( 'NONE', #1579, .T. ) ; +#8647 = ADVANCED_FACE ( 'NONE', ( #6939 ), #4980, .F. ) ; +#8648 = ADVANCED_FACE ( 'NONE', ( #1070 ), #5043, .T. ) ; +#8649 = ADVANCED_FACE ( 'NONE', ( #7378 ), #8158, .T. ) ; +#8650 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, -0.7499761701538951719 ) ) ; +#8651 = PLANE ( 'NONE', #3489 ) ; +#8652 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 8.450023829846104562 ) ) ; +#8653 = ORIENTED_EDGE ( 'NONE', *, *, #7689, .F. ) ; +#8654 = VECTOR ( 'NONE', #1023, 1000.000000000000000 ) ; +#8655 = PLANE ( 'NONE', #3777 ) ; +#8656 = ORIENTED_EDGE ( 'NONE', *, *, #10614, .F. ) ; +#8657 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#8658 = VERTEX_POINT ( 'NONE', #6409 ) ; +#8659 = CARTESIAN_POINT ( 'NONE', ( -120.9769554104623097, -70.56161769596310762, 2.740162246727661177 ) ) ; +#8660 = VERTEX_POINT ( 'NONE', #12194 ) ; +#8661 = EDGE_CURVE ( 'NONE', #7234, #2591, #8328, .T. ) ; +#8662 = VECTOR ( 'NONE', #11234, 1000.000000000000000 ) ; +#8663 = AXIS2_PLACEMENT_3D ( 'NONE', #9001, #2181, #7963 ) ; +#8664 = CARTESIAN_POINT ( 'NONE', ( -94.33771360621082636, -65.01605763575113883, 43.32502097427452981 ) ) ; +#8665 = EDGE_CURVE ( 'NONE', #10072, #5130, #11350, .T. ) ; +#8666 = LINE ( 'NONE', #11603, #11279 ) ; +#8667 = CARTESIAN_POINT ( 'NONE', ( -81.25406374421915245, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8668 = VERTEX_POINT ( 'NONE', #173 ) ; +#8669 = CARTESIAN_POINT ( 'NONE', ( -120.1345576683325760, -76.77587640837789706, 17.74016224672766739 ) ) ; +#8670 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#8671 = EDGE_CURVE ( 'NONE', #4648, #8461, #5234, .T. ) ; +#8672 = ORIENTED_EDGE ( 'NONE', *, *, #2117, .T. ) ; +#8673 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8674 = VECTOR ( 'NONE', #5093, 1000.000000000000000 ) ; +#8675 = ORIENTED_EDGE ( 'NONE', *, *, #1621, .F. ) ; +#8676 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8677 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#8678 = LINE ( 'NONE', #3681, #7020 ) ; +#8679 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8680 = CIRCLE ( 'NONE', #3703, 3.000000000000000000 ) ; +#8681 = ORIENTED_EDGE ( 'NONE', *, *, #2550, .F. ) ; +#8682 = PLANE ( 'NONE', #147 ) ; +#8683 = ORIENTED_EDGE ( 'NONE', *, *, #8084, .F. ) ; +#8684 = FACE_OUTER_BOUND ( 'NONE', #3039, .T. ) ; +#8685 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8686 = EDGE_LOOP ( 'NONE', ( #12032, #4915, #1610, #5863 ) ) ; +#8687 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8688 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 0.000000000000000000 ) ) ; +#8689 = ADVANCED_FACE ( 'NONE', ( #10377 ), #8219, .F. ) ; +#8690 = CARTESIAN_POINT ( 'NONE', ( -120.7939468508311336, -78.08022944959006395, 16.74016224672706699 ) ) ; +#8691 = VERTEX_POINT ( 'NONE', #9268 ) ; +#8692 = EDGE_CURVE ( 'NONE', #11869, #72, #11405, .T. ) ; +#8693 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8694 = CARTESIAN_POINT ( 'NONE', ( -66.40505935174005003, -78.75758718920481272, 0.7600238298461010622 ) ) ; +#8695 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8696 = VERTEX_POINT ( 'NONE', #6277 ) ; +#8697 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 29.62609303828505247 ) ) ; +#8698 = CARTESIAN_POINT ( 'NONE', ( -119.4372317584408165, -78.93247737319843793, 2.740162246727678497 ) ) ; +#8699 = ORIENTED_EDGE ( 'NONE', *, *, #6652, .F. ) ; +#8700 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#8701 = ORIENTED_EDGE ( 'NONE', *, *, #7413, .T. ) ; +#8702 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -64.96605763575112746, 0.000000000000000000 ) ) ; +#8703 = ORIENTED_EDGE ( 'NONE', *, *, #3730, .T. ) ; +#8704 = EDGE_CURVE ( 'NONE', #8714, #10736, #7560, .T. ) ; +#8705 = VECTOR ( 'NONE', #12108, 1000.000000000000000 ) ; +#8706 = CARTESIAN_POINT ( 'NONE', ( -64.12291818276331412, -73.43869721591060795, 14.76002382984730232 ) ) ; +#8707 = VECTOR ( 'NONE', #340, 1000.000000000000114 ) ; +#8708 = CARTESIAN_POINT ( 'NONE', ( -96.28972783784547573, -59.01605763575113173, 42.69077310308948370 ) ) ; +#8709 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -64.96605763575112746, 0.000000000000000000 ) ) ; +#8710 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -16.25000000000000000, 9.000000000000001776 ) ) ; +#8711 = CARTESIAN_POINT ( 'NONE', ( -98.05962619258242796, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8712 = LINE ( 'NONE', #4561, #9825 ) ; +#8713 = EDGE_CURVE ( 'NONE', #10249, #9370, #12063, .T. ) ; +#8714 = VERTEX_POINT ( 'NONE', #3163 ) ; +#8715 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8716 = ORIENTED_EDGE ( 'NONE', *, *, #6116, .F. ) ; +#8717 = LINE ( 'NONE', #3847, #6861 ) ; +#8718 = ORIENTED_EDGE ( 'NONE', *, *, #6674, .F. ) ; +#8719 = CARTESIAN_POINT ( 'NONE', ( -67.69912836887060337, -81.32766361107829312, 15.76002382984610684 ) ) ; +#8720 = EDGE_CURVE ( 'NONE', #5204, #10084, #8301, .T. ) ; +#8721 = ORIENTED_EDGE ( 'NONE', *, *, #447, .F. ) ; +#8722 = EDGE_CURVE ( 'NONE', #3133, #3571, #8282, .T. ) ; +#8723 = AXIS2_PLACEMENT_3D ( 'NONE', #1888, #6897, #11898 ) ; +#8724 = FACE_OUTER_BOUND ( 'NONE', #5872, .T. ) ; +#8725 = VECTOR ( 'NONE', #9896, 1000.000000000000000 ) ; +#8726 = ORIENTED_EDGE ( 'NONE', *, *, #10407, .T. ) ; +#8727 = CARTESIAN_POINT ( 'NONE', ( -98.74034410393491612, -65.01605763575113883, 38.88120580365173140 ) ) ; +#8728 = ORIENTED_EDGE ( 'NONE', *, *, #3852, .F. ) ; +#8729 = CARTESIAN_POINT ( 'NONE', ( -114.8356481400623039, -83.96605763575114167, 17.74016224672768161 ) ) ; +#8730 = ADVANCED_FACE ( 'NONE', ( #10250 ), #4194, .T. ) ; +#8731 = CARTESIAN_POINT ( 'NONE', ( -89.07824139573220634, -59.01605763575113173, 40.49035758184786715 ) ) ; +#8732 = ORIENTED_EDGE ( 'NONE', *, *, #1914, .T. ) ; +#8733 = FACE_OUTER_BOUND ( 'NONE', #10131, .T. ) ; +#8734 = VECTOR ( 'NONE', #9166, 1000.000000000000000 ) ; +#8735 = ORIENTED_EDGE ( 'NONE', *, *, #6911, .T. ) ; +#8736 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, 17.75002382984610350 ) ) ; +#8737 = EDGE_CURVE ( 'NONE', #8148, #10817, #11162, .T. ) ; +#8738 = EDGE_LOOP ( 'NONE', ( #7030, #6647, #3661, #1073 ) ) ; +#8739 = FACE_OUTER_BOUND ( 'NONE', #9342, .T. ) ; +#8740 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 2.753357163179441347 ) ) ; +#8741 = FACE_OUTER_BOUND ( 'NONE', #8982, .T. ) ; +#8742 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#8743 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 16.88908538344432841 ) ) ; +#8744 = VECTOR ( 'NONE', #11091, 1000.000000000000000 ) ; +#8745 = CIRCLE ( 'NONE', #7628, 2.800000000000843592 ) ; +#8746 = EDGE_LOOP ( 'NONE', ( #5105, #6486, #10914, #5737 ) ) ; +#8747 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#8748 = ORIENTED_EDGE ( 'NONE', *, *, #5723, .F. ) ; +#8749 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#8750 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, 17.75002382984610350 ) ) ; +#8751 = EDGE_LOOP ( 'NONE', ( #8481, #3341, #8726, #4710 ) ) ; +#8752 = CARTESIAN_POINT ( 'NONE', ( -104.2464645127226817, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8753 = CARTESIAN_POINT ( 'NONE', ( -109.2179473416934314, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8754 = AXIS2_PLACEMENT_3D ( 'NONE', #10764, #4576, #8670 ) ; +#8755 = CARTESIAN_POINT ( 'NONE', ( -117.1751315720127167, -83.97078944363535413, 16.74016224672766739 ) ) ; +#8756 = ORIENTED_EDGE ( 'NONE', *, *, #3621, .T. ) ; +#8757 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575114167, 14.76002382984610861 ) ) ; +#8758 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260590E-15 ) ) ; +#8759 = CARTESIAN_POINT ( 'NONE', ( -120.5683391289685744, -69.96605763575111325, 2.740162246727670503 ) ) ; +#8760 = EDGE_LOOP ( 'NONE', ( #10457, #10934, #6356, #7743 ) ) ; +#8761 = VECTOR ( 'NONE', #10559, 1000.000000000000000 ) ; +#8762 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8763 = CARTESIAN_POINT ( 'NONE', ( -89.62130666395819389, -59.01605763575113173, 42.69077310308952633 ) ) ; +#8764 = EDGE_CURVE ( 'NONE', #1143, #9681, #12128, .T. ) ; +#8765 = VERTEX_POINT ( 'NONE', #5300 ) ; +#8766 = LINE ( 'NONE', #1086, #8779 ) ; +#8767 = ORIENTED_EDGE ( 'NONE', *, *, #11042, .T. ) ; +#8768 = AXIS2_PLACEMENT_3D ( 'NONE', #1084, #12861, #9949 ) ; +#8769 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8770 = ORIENTED_EDGE ( 'NONE', *, *, #11656, .F. ) ; +#8771 = CARTESIAN_POINT ( 'NONE', ( -65.04385243474132494, -72.63469566257221288, 15.76002382984610328 ) ) ; +#8772 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -65.96605763575112746, 4.250023829846106160 ) ) ; +#8773 = AXIS2_PLACEMENT_3D ( 'NONE', #1065, #4497, #7420 ) ; +#8774 = VECTOR ( 'NONE', #9802, 1000.000000000000000 ) ; +#8775 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8776 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8777 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8778 = EDGE_CURVE ( 'NONE', #2189, #5176, #12252, .T. ) ; +#8779 = VECTOR ( 'NONE', #9817, 1000.000000000000000 ) ; +#8780 = VERTEX_POINT ( 'NONE', #2382 ) ; +#8781 = CYLINDRICAL_SURFACE ( 'NONE', #10219, 2.999999999999999112 ) ; +#8782 = EDGE_LOOP ( 'NONE', ( #3746, #8410, #1063, #9710 ) ) ; +#8783 = CARTESIAN_POINT ( 'NONE', ( -94.51146625773714050, -59.01605763575113173, 29.82705338890494673 ) ) ; +#8784 = ORIENTED_EDGE ( 'NONE', *, *, #783, .T. ) ; +#8785 = CYLINDRICAL_SURFACE ( 'NONE', #5915, 1.000000000000000888 ) ; +#8786 = VERTEX_POINT ( 'NONE', #4386 ) ; +#8787 = VECTOR ( 'NONE', #12277, 1000.000000000000000 ) ; +#8788 = VECTOR ( 'NONE', #3074, 1000.000000000000000 ) ; +#8789 = EDGE_CURVE ( 'NONE', #7158, #9549, #10315, .T. ) ; +#8790 = AXIS2_PLACEMENT_3D ( 'NONE', #3531, #5673, #2635 ) ; +#8791 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -58.46605763575112746, 15.25016224672767073 ) ) ; +#8792 = ORIENTED_EDGE ( 'NONE', *, *, #1907, .T. ) ; +#8793 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 1.760023829846103283 ) ) ; +#8794 = ORIENTED_EDGE ( 'NONE', *, *, #5720, .F. ) ; +#8795 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -24.68297142738792616, -2.249976170153895172 ) ) ; +#8796 = ADVANCED_FACE ( 'NONE', ( #9329 ), #8346, .T. ) ; +#8797 = AXIS2_PLACEMENT_3D ( 'NONE', #6745, #7842, #1863 ) ; +#8798 = LINE ( 'NONE', #1710, #6260 ) ; +#8799 = VERTEX_POINT ( 'NONE', #3735 ) ; +#8800 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -33.25000000000000000, 15.50019557898779610 ) ) ; +#8801 = VECTOR ( 'NONE', #11178, 1000.000000000000114 ) ; +#8802 = VERTEX_POINT ( 'NONE', #4582 ) ; +#8803 = FACE_OUTER_BOUND ( 'NONE', #6019, .T. ) ; +#8804 = ORIENTED_EDGE ( 'NONE', *, *, #6919, .F. ) ; +#8805 = VECTOR ( 'NONE', #12369, 1000.000000000000000 ) ; +#8806 = EDGE_CURVE ( 'NONE', #10649, #3862, #7443, .T. ) ; +#8807 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8808 = CARTESIAN_POINT ( 'NONE', ( -93.82262972369562704, -59.01605763575113173, 42.27053817865339624 ) ) ; +#8809 = VECTOR ( 'NONE', #8482, 1000.000000000000000 ) ; +#8810 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#8811 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8812 = AXIS2_PLACEMENT_3D ( 'NONE', #9393, #2509, #1400 ) ; +#8813 = ORIENTED_EDGE ( 'NONE', *, *, #9785, .T. ) ; +#8814 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -59.01605763575113173, 34.88298056549312065 ) ) ; +#8815 = ADVANCED_FACE ( 'NONE', ( #745 ), #10580, .F. ) ; +#8816 = EDGE_CURVE ( 'NONE', #493, #11381, #4456, .T. ) ; +#8817 = VERTEX_POINT ( 'NONE', #12644 ) ; +#8819 = LINE ( 'NONE', #9869, #7138 ) ; +#8818 = CIRCLE ( 'NONE', #9021, 4.000000000000003553 ) ; +#8820 = ADVANCED_FACE ( 'NONE', ( #4522 ), #12580, .T. ) ; +#8821 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -29.25000000000000000, 21.75002382984610705 ) ) ; +#8822 = ORIENTED_EDGE ( 'NONE', *, *, #2354, .T. ) ; +#8823 = CARTESIAN_POINT ( 'NONE', ( -81.82731686318858522, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8824 = FACE_OUTER_BOUND ( 'NONE', #11292, .T. ) ; +#8825 = AXIS2_PLACEMENT_3D ( 'NONE', #12037, #5150, #8858 ) ; +#8826 = AXIS2_PLACEMENT_3D ( 'NONE', #2208, #189, #3185 ) ; +#8827 = CARTESIAN_POINT ( 'NONE', ( -120.1678840272836624, -79.79297887959084790, 17.74016224673122721 ) ) ; +#8828 = ORIENTED_EDGE ( 'NONE', *, *, #7541, .T. ) ; +#8829 = ADVANCED_FACE ( 'NONE', ( #5565 ), #4716, .T. ) ; +#8830 = CARTESIAN_POINT ( 'NONE', ( -77.26634027907955726, -64.96605763575112746, 15.55016224672746183 ) ) ; +#8831 = CARTESIAN_POINT ( 'NONE', ( -70.73447128260519889, -83.89835003124090917, 0.7600238298461020614 ) ) ; +#8832 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 34.88298056549302828 ) ) ; +#8833 = ORIENTED_EDGE ( 'NONE', *, *, #7465, .T. ) ; +#8834 = CARTESIAN_POINT ( 'NONE', ( -93.08814336361167818, -64.96605763575112746, 15.55016224672746183 ) ) ; +#8835 = ADVANCED_FACE ( 'NONE', ( #11481 ), #3610, .T. ) ; +#8836 = CARTESIAN_POINT ( 'NONE', ( -81.25406374421915245, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8837 = ORIENTED_EDGE ( 'NONE', *, *, #2794, .F. ) ; +#8838 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #844, #789, #1633, #7677, #653, #5800 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#8839 = AXIS2_PLACEMENT_3D ( 'NONE', #5066, #6895, #2019 ) ; +#8840 = CARTESIAN_POINT ( 'NONE', ( -104.1358377307052621, -13.64725987530909990, 2.229374576943859321 ) ) ; +#8841 = ORIENTED_EDGE ( 'NONE', *, *, #8631, .F. ) ; +#8842 = CARTESIAN_POINT ( 'NONE', ( -105.1055600609230964, -44.75000000000000711, -0.7499761701538951719 ) ) ; +#8843 = VERTEX_POINT ( 'NONE', #10512 ) ; +#8844 = CARTESIAN_POINT ( 'NONE', ( -63.97410838195200000, -71.65694149564770044, 14.76002382984729877 ) ) ; +#8845 = LINE ( 'NONE', #8708, #10919 ) ; +#8846 = AXIS2_PLACEMENT_3D ( 'NONE', #8832, #12795, #9882 ) ; +#8847 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#8848 = FACE_OUTER_BOUND ( 'NONE', #4890, .T. ) ; +#8849 = CARTESIAN_POINT ( 'NONE', ( -64.67779620705117338, -70.27419752360447092, 15.73597402777688536 ) ) ; +#8850 = ORIENTED_EDGE ( 'NONE', *, *, #12470, .T. ) ; +#8851 = LINE ( 'NONE', #1103, #5235 ) ; +#8852 = ORIENTED_EDGE ( 'NONE', *, *, #2230, .F. ) ; +#8853 = CIRCLE ( 'NONE', #6156, 0.7999999999999951594 ) ; +#8854 = ORIENTED_EDGE ( 'NONE', *, *, #1292, .T. ) ; +#8855 = CARTESIAN_POINT ( 'NONE', ( -70.75164688275013702, -83.90174693384554416, 15.76002382984610328 ) ) ; +#8856 = ORIENTED_EDGE ( 'NONE', *, *, #3317, .F. ) ; +#8857 = ADVANCED_FACE ( 'NONE', ( #10706 ), #9468, .T. ) ; +#8858 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8859 = AXIS2_PLACEMENT_3D ( 'NONE', #4340, #4213, #9222 ) ; +#8860 = ORIENTED_EDGE ( 'NONE', *, *, #915, .T. ) ; +#8861 = DIRECTION ( 'NONE', ( -0.3420201433256545021, 0.000000000000000000, 0.9396926207859136460 ) ) ; +#8862 = VECTOR ( 'NONE', #9436, 1000.000000000000000 ) ; +#8863 = ORIENTED_EDGE ( 'NONE', *, *, #7025, .T. ) ; +#8864 = CYLINDRICAL_SURFACE ( 'NONE', #158, 6.124000000001836419 ) ; +#8865 = CARTESIAN_POINT ( 'NONE', ( -87.85140830922114219, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8866 = ORIENTED_EDGE ( 'NONE', *, *, #7084, .T. ) ; +#8867 = CARTESIAN_POINT ( 'NONE', ( -88.26191455408286402, -64.96605763575112746, 15.55016224672746183 ) ) ; +#8868 = ORIENTED_EDGE ( 'NONE', *, *, #3001, .T. ) ; +#8869 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8870 = VERTEX_POINT ( 'NONE', #2508 ) ; +#8871 = VECTOR ( 'NONE', #3549, 1000.000000000000114 ) ; +#8872 = EDGE_CURVE ( 'NONE', #1346, #12497, #12386, .T. ) ; +#8873 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8874 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#8875 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8876 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 3.000000000000002665 ) ) ; +#8877 = EDGE_LOOP ( 'NONE', ( #9694, #5501, #4410, #10750 ) ) ; +#8878 = FACE_OUTER_BOUND ( 'NONE', #9883, .T. ) ; +#8879 = AXIS2_PLACEMENT_3D ( 'NONE', #12188, #3287, #11274 ) ; +#8880 = ORIENTED_EDGE ( 'NONE', *, *, #6880, .T. ) ; +#8881 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -64.96605763575112746, 10.76002382984610151 ) ) ; +#8882 = AXIS2_PLACEMENT_3D ( 'NONE', #5886, #943, #9733 ) ; +#8883 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8884 = EDGE_CURVE ( 'NONE', #4141, #7393, #5483, .T. ) ; +#8885 = ORIENTED_EDGE ( 'NONE', *, *, #8872, .F. ) ; +#8886 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8887 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8888 = CARTESIAN_POINT ( 'NONE', ( -91.92928263803207756, -59.01605763575113173, 28.11878630094604858 ) ) ; +#8889 = VERTEX_POINT ( 'NONE', #2644 ) ; +#8890 = EDGE_CURVE ( 'NONE', #8608, #4853, #5685, .T. ) ; +#8891 = APPROVAL_PERSON_ORGANIZATION ( #11125, #7373, #7337 ) ; +#8892 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8893 = EDGE_CURVE ( 'NONE', #982, #9523, #3481, .T. ) ; +#8894 = CARTESIAN_POINT ( 'NONE', ( -67.11720162267678802, -80.32614825114740142, 0.7600238298461055031 ) ) ; +#8895 = CARTESIAN_POINT ( 'NONE', ( -88.42466142819056074, -64.96605763575112746, 2.950023829846314172 ) ) ; +#8896 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #5536, #11392, #1130, #10047 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.08688097306689832044, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#8897 = ORIENTED_EDGE ( 'NONE', *, *, #12038, .T. ) ; +#8898 = FACE_OUTER_BOUND ( 'NONE', #1408, .T. ) ; +#8899 = CARTESIAN_POINT ( 'NONE', ( -87.06405191757912121, -64.96605763575112746, 17.12516224672793541 ) ) ; +#8900 = EDGE_CURVE ( 'NONE', #6433, #11069, #6608, .T. ) ; +#8901 = VERTEX_POINT ( 'NONE', #675 ) ; +#8902 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 15.24999999999809930, 9.000000000000001776 ) ) ; +#8903 = CLOSED_SHELL ( 'NONE', ( #159, #12311, #3993, #2778, #8244, #1904, #12631, #10865, #7627, #11093, #3736, #852, #9065, #5462, #3887, #7646, #2946, #3947, #8171, #264, #7233, #10003, #1515, #4536, #9295, #11373, #951, #10917, #1719, #4062, #8647, #10175, #2579, #1169, #2840, #12797, #5035, #8538, #7286, #11404, #10020, #11865, #11435, #11030, #4770, #11492, #1102, #5165, #3260, #9833, #3505, #4128, #9142, #5395, #3550, #7655, #5883, #7923, #5393, #1799, #10585, #6439, #7791, #11025, #4252, #1361, #10101, #2335, #4120, #11912, #5378, #9469, #9053, #4766, #396, #280, #309, #1345, #4112, #9732, #8835, #9415, #9986, #3211, #6976, #6658, #9689, #10707, #5482, #12371, #5289, #2386, #11521, #1032, #3762, #4214, #10741, #3866, #3296, #10339, #12546, #11505, #3365 ) ) ; +#8904 = ORIENTED_EDGE ( 'NONE', *, *, #57, .T. ) ; +#8905 = PLANE ( 'NONE', #8176 ) ; +#8906 = EDGE_LOOP ( 'NONE', ( #8396, #8718, #5219, #3156 ) ) ; +#8907 = EDGE_CURVE ( 'NONE', #11413, #4309, #10438, .T. ) ; +#8908 = LINE ( 'NONE', #3709, #4461 ) ; +#8909 = PLANE ( 'NONE', #9887 ) ; +#8910 = FACE_OUTER_BOUND ( 'NONE', #3366, .T. ) ; +#8911 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -4.053100760940521970E-15 ) ) ; +#8912 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8913 = ORIENTED_EDGE ( 'NONE', *, *, #1094, .F. ) ; +#8914 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8915 = ORIENTED_EDGE ( 'NONE', *, *, #2757, .F. ) ; +#8916 = ORIENTED_EDGE ( 'NONE', *, *, #2874, .T. ) ; +#8917 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8918 = EDGE_LOOP ( 'NONE', ( #8540, #6842, #2294, #7149 ) ) ; +#8919 = CARTESIAN_POINT ( 'NONE', ( -96.02325821168946618, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8920 = ORIENTED_EDGE ( 'NONE', *, *, #1894, .T. ) ; +#8921 = CARTESIAN_POINT ( 'NONE', ( -93.82414335668882188, -64.96605763575112746, 1.375023829845842149 ) ) ; +#8922 = VECTOR ( 'NONE', #12624, 1000.000000000000000 ) ; +#8923 = VECTOR ( 'NONE', #8673, 1000.000000000000000 ) ; +#8924 = ORIENTED_EDGE ( 'NONE', *, *, #9462, .T. ) ; +#8925 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8926 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8927 = ORIENTED_EDGE ( 'NONE', *, *, #2794, .T. ) ; +#8928 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 14.76002382984610151 ) ) ; +#8929 = EDGE_CURVE ( 'NONE', #9358, #11890, #7640, .T. ) ; +#8930 = ORIENTED_EDGE ( 'NONE', *, *, #5537, .T. ) ; +#8931 = LINE ( 'NONE', #8736, #11094 ) ; +#8932 = ORIENTED_EDGE ( 'NONE', *, *, #8006, .T. ) ; +#8933 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8934 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#8935 = CARTESIAN_POINT ( 'NONE', ( -90.15557767015388890, -13.89995144998309939, 10.00000000000000000 ) ) ; +#8936 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, 3.427649870184929171, 17.75002382984610350 ) ) ; +#8937 = VERTEX_POINT ( 'NONE', #10639 ) ; +#8938 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 14.25016224672766896 ) ) ; +#8939 = CYLINDRICAL_SURFACE ( 'NONE', #909, 6.124000000001839972 ) ; +#8940 = LINE ( 'NONE', #10965, #12485 ) ; +#8941 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#8942 = ADVANCED_FACE ( 'NONE', ( #1716 ), #9853, .T. ) ; +#8943 = ORIENTED_EDGE ( 'NONE', *, *, #8602, .F. ) ; +#8944 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8945 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#8946 = ORIENTED_EDGE ( 'NONE', *, *, #7430, .T. ) ; +#8947 = VECTOR ( 'NONE', #6568, 1000.000000000000000 ) ; +#8948 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#8949 = EDGE_CURVE ( 'NONE', #5542, #12480, #12771, .T. ) ; +#8950 = CARTESIAN_POINT ( 'NONE', ( -68.23908383708619851, -82.07811571848205290, 0.7600238298461051700 ) ) ; +#8951 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8952 = ORIENTED_EDGE ( 'NONE', *, *, #8084, .T. ) ; +#8953 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -13.71605763575112213, 0.000000000000000000 ) ) ; +#8954 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 13.24999999999810285, 9.000000000000001776 ) ) ; +#8955 = EDGE_CURVE ( 'NONE', #9783, #9154, #3025, .T. ) ; +#8956 = CARTESIAN_POINT ( 'NONE', ( -89.07824139573220634, -59.01605763575113173, 40.49035758184786715 ) ) ; +#8957 = ORIENTED_EDGE ( 'NONE', *, *, #6757, .F. ) ; +#8958 = TOROIDAL_SURFACE ( 'NONE', #241, 2.000000000000000000, 1.000000000000000000 ) ; +#8959 = LINE ( 'NONE', #10795, #1304 ) ; +#8960 = ORIENTED_EDGE ( 'NONE', *, *, #8399, .T. ) ; +#8961 = CARTESIAN_POINT ( 'NONE', ( -79.62820200818792671, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8962 = ORIENTED_EDGE ( 'NONE', *, *, #9944, .F. ) ; +#8963 = CARTESIAN_POINT ( 'NONE', ( -99.06947739121399366, -59.01605763575113173, 35.39956857024498760 ) ) ; +#8964 = EDGE_CURVE ( 'NONE', #946, #11403, #9976, .T. ) ; +#8965 = LINE ( 'NONE', #1034, #2618 ) ; +#8966 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#8967 = CARTESIAN_POINT ( 'NONE', ( -97.72099225676075207, -65.01605763575113883, 40.28422325670113224 ) ) ; +#8968 = EDGE_CURVE ( 'NONE', #10435, #1960, #869, .T. ) ; +#8969 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 9.000000000000001776 ) ) ; +#8970 = VERTEX_POINT ( 'NONE', #11804 ) ; +#8971 = DIRECTION ( 'NONE', ( -2.026550380470326460E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8972 = EDGE_CURVE ( 'NONE', #10143, #1091, #5879, .T. ) ; +#8973 = EDGE_CURVE ( 'NONE', #10521, #2889, #809, .T. ) ; +#8974 = VECTOR ( 'NONE', #7533, 1000.000000000000000 ) ; +#8975 = EDGE_LOOP ( 'NONE', ( #8585, #262, #8366, #6533 ) ) ; +#8976 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#8977 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 3.000000000000002665 ) ) ; +#8978 = ORIENTED_EDGE ( 'NONE', *, *, #10085, .F. ) ; +#8979 = DIRECTION ( 'NONE', ( -4.053100760940652921E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8980 = AXIS2_PLACEMENT_3D ( 'NONE', #10781, #1864, #10905 ) ; +#8981 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8982 = EDGE_LOOP ( 'NONE', ( #826, #6270, #11255, #6660 ) ) ; +#8983 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#8984 = CIRCLE ( 'NONE', #1092, 1.000000000000000888 ) ; +#8985 = VERTEX_POINT ( 'NONE', #4966 ) ; +#8986 = FACE_OUTER_BOUND ( 'NONE', #5811, .T. ) ; +#8987 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#8988 = CARTESIAN_POINT ( 'NONE', ( -93.25089023771940333, -64.96605763575112746, 2.950023829846315060 ) ) ; +#8989 = ORIENTED_EDGE ( 'NONE', *, *, #4484, .F. ) ; +#8990 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8991 = ORIENTED_EDGE ( 'NONE', *, *, #5298, .T. ) ; +#8992 = CIRCLE ( 'NONE', #1522, 1.000000000000000000 ) ; +#8993 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -24.68297142738792616, -2.249976170153895172 ) ) ; +#8994 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#8995 = ADVANCED_FACE ( 'NONE', ( #1786 ), #1000, .T. ) ; +#8996 = ADVANCED_FACE ( 'NONE', ( #8020 ), #4779, .T. ) ; +#8997 = CIRCLE ( 'NONE', #9631, 7.700000000002309442 ) ; +#8998 = CARTESIAN_POINT ( 'NONE', ( -92.08840477810790048, -59.01605763575113173, 29.22964789792038687 ) ) ; +#8999 = PLANE ( 'NONE', #12800 ) ; +#9000 = ORIENTED_EDGE ( 'NONE', *, *, #12865, .T. ) ; +#9001 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 10.00000000000000000 ) ) ; +#9002 = VECTOR ( 'NONE', #1074, 1000.000000000000000 ) ; +#9003 = CIRCLE ( 'NONE', #5481, 6.124000000001836419 ) ; +#9004 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9005 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 0.7500238298461039399 ) ) ; +#9006 = ADVANCED_FACE ( 'NONE', ( #1056 ), #6922, .F. ) ; +#9007 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9008 = VECTOR ( 'NONE', #11737, 1000.000000000000114 ) ; +#9009 = ORIENTED_EDGE ( 'NONE', *, *, #1317, .T. ) ; +#9010 = VECTOR ( 'NONE', #6875, 1000.000000000000000 ) ; +#9011 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -59.01605763575113173, 34.88298056549312065 ) ) ; +#9012 = VECTOR ( 'NONE', #2622, 1000.000000000000000 ) ; +#9013 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 7.490162246727668283 ) ) ; +#9014 = AXIS2_PLACEMENT_3D ( 'NONE', #3338, #2496, #11209 ) ; +#9015 = ORIENTED_EDGE ( 'NONE', *, *, #7187, .F. ) ; +#9016 = AXIS2_PLACEMENT_3D ( 'NONE', #9487, #6365, #9290 ) ; +#9017 = CARTESIAN_POINT ( 'NONE', ( -93.82414335668882188, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9018 = EDGE_CURVE ( 'NONE', #9909, #12597, #24, .T. ) ; +#9019 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#9020 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -16.25000000000000000, 9.000000000000001776 ) ) ; +#9021 = AXIS2_PLACEMENT_3D ( 'NONE', #198, #6189, #11062 ) ; +#9022 = ORIENTED_EDGE ( 'NONE', *, *, #4645, .F. ) ; +#9023 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9024 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 5.510023829846119270 ) ) ; +#9025 = AXIS2_PLACEMENT_3D ( 'NONE', #735, #11543, #1704 ) ; +#9026 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9027 = CIRCLE ( 'NONE', #7782, 7.700000000002312994 ) ; +#9028 = ORIENTED_EDGE ( 'NONE', *, *, #3652, .F. ) ; +#9029 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 1.301042606982606060E-16 ) ) ; +#9030 = FACE_OUTER_BOUND ( 'NONE', #7539, .T. ) ; +#9031 = ADVANCED_FACE ( 'NONE', ( #8803 ), #3864, .T. ) ; +#9032 = ORIENTED_EDGE ( 'NONE', *, *, #4136, .F. ) ; +#9033 = AXIS2_PLACEMENT_3D ( 'NONE', #4593, #9600, #4661 ) ; +#9034 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9035 = ORIENTED_EDGE ( 'NONE', *, *, #3469, .F. ) ; +#9036 = LINE ( 'NONE', #3309, #7166 ) ; +#9037 = EDGE_CURVE ( 'NONE', #12234, #3693, #8931, .T. ) ; +#9038 = CARTESIAN_POINT ( 'NONE', ( -99.68548792861368213, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9039 = AXIS2_PLACEMENT_3D ( 'NONE', #12343, #8245, #8184 ) ; +#9040 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -63.46605763575112746, 14.25016224672766896 ) ) ; +#9041 = CALENDAR_DATE ( 2026, 26, 7 ) ; +#9042 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9043 = ORIENTED_EDGE ( 'NONE', *, *, #10803, .F. ) ; +#9044 = CARTESIAN_POINT ( 'NONE', ( -95.79511857777592354, -59.01605763575113173, 29.81673368852401751 ) ) ; +#9045 = ADVANCED_FACE ( 'NONE', ( #7828 ), #10975, .T. ) ; +#9046 = ORIENTED_EDGE ( 'NONE', *, *, #12300, .T. ) ; +#9047 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9048 = FACE_OUTER_BOUND ( 'NONE', #5450, .T. ) ; +#9049 = ORIENTED_EDGE ( 'NONE', *, *, #12114, .T. ) ; +#9050 = AXIS2_PLACEMENT_3D ( 'NONE', #3237, #5241, #2257 ) ; +#9051 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -55.25000000000000711, -2.249976170153895172 ) ) ; +#9052 = EDGE_CURVE ( 'NONE', #4979, #645, #11402, .T. ) ; +#9053 = ADVANCED_FACE ( 'NONE', ( #7361 ), #600, .F. ) ; +#9054 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9055 = AXIS2_PLACEMENT_3D ( 'NONE', #8554, #9485, #11625 ) ; +#9056 = EDGE_CURVE ( 'NONE', #2804, #9909, #8464, .T. ) ; +#9057 = ADVANCED_FACE ( 'NONE', ( #6591 ), #10364, .T. ) ; +#9058 = ORIENTED_EDGE ( 'NONE', *, *, #6880, .F. ) ; +#9059 = CARTESIAN_POINT ( 'NONE', ( -66.40488548997757334, -81.11532610479379457, 0.7600238298458416031 ) ) ; +#9060 = ORIENTED_EDGE ( 'NONE', *, *, #630, .T. ) ; +#9061 = LINE ( 'NONE', #9913, #2871 ) ; +#9062 = CYLINDRICAL_SURFACE ( 'NONE', #8531, 3.000000000000002665 ) ; +#9063 = VECTOR ( 'NONE', #12662, 1000.000000000000000 ) ; +#9064 = CARTESIAN_POINT ( 'NONE', ( -84.86493706257847691, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9065 = ADVANCED_FACE ( 'NONE', ( #10425 ), #11467, .F. ) ; +#9066 = VERTEX_POINT ( 'NONE', #10564 ) ; +#9067 = CARTESIAN_POINT ( 'NONE', ( -120.5965928591524658, -74.68624300020142925, 2.740162246727665174 ) ) ; +#9068 = ORIENTED_EDGE ( 'NONE', *, *, #9578, .F. ) ; +#9069 = EDGE_CURVE ( 'NONE', #1307, #9281, #534, .T. ) ; +#9070 = VECTOR ( 'NONE', #9023, 1000.000000000000000 ) ; +#9071 = CARTESIAN_POINT ( 'NONE', ( -91.92928263803207756, -59.01605763575113173, 28.11878630094604858 ) ) ; +#9072 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 3.740162246727670503 ) ) ; +#9073 = CARTESIAN_POINT ( 'NONE', ( -91.62502850168816337, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9074 = PLANE ( 'NONE', #12376 ) ; +#9075 = ORIENTED_EDGE ( 'NONE', *, *, #9365, .T. ) ; +#9076 = LINE ( 'NONE', #10900, #10544 ) ; +#9077 = CARTESIAN_POINT ( 'NONE', ( -102.0473496577220232, -58.46605763575112746, 2.950023829846314172 ) ) ; +#9078 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#9079 = CARTESIAN_POINT ( 'NONE', ( -98.66192086514537607, -59.01605763575113173, 37.97277920402650153 ) ) ; +#9080 = VECTOR ( 'NONE', #10333, 1000.000000000000000 ) ; +#9081 = ORIENTED_EDGE ( 'NONE', *, *, #6464, .T. ) ; +#9082 = VECTOR ( 'NONE', #6348, 1000.000000000000000 ) ; +#9083 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9084 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 4.250023829846108825 ) ) ; +#9085 = ORIENTED_EDGE ( 'NONE', *, *, #5199, .T. ) ; +#9086 = PLANE ( 'NONE', #12743 ) ; +#9087 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575114167, 16.24349558006100125 ) ) ; +#9088 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9089 = VECTOR ( 'NONE', #6321, 1000.000000000000000 ) ; +#9090 = CIRCLE ( 'NONE', #12826, 4.000000000000000000 ) ; +#9091 = EDGE_LOOP ( 'NONE', ( #8190, #7635 ) ) ; +#9092 = CARTESIAN_POINT ( 'NONE', ( -100.5868239882426280, -59.01605763575113173, 36.77632765115652802 ) ) ; +#9093 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -23.01795580020490206, -1.598080026353337901 ) ) ; +#9094 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416809, -64.96605763575111325, 7.740162246727678053 ) ) ; +#9095 = EDGE_LOOP ( 'NONE', ( #6858, #4760, #12780, #9226 ) ) ; +#9096 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -18.94615242270661071, -0.4019237886466941467 ) ) ; +#9097 = LINE ( 'NONE', #11651, #7068 ) ; +#9098 = EDGE_CURVE ( 'NONE', #1022, #4940, #1443, .T. ) ; +#9099 = CIRCLE ( 'NONE', #1415, 6.124000000001836419 ) ; +#9100 = ORIENTED_EDGE ( 'NONE', *, *, #11758, .F. ) ; +#9101 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9102 = ORIENTED_EDGE ( 'NONE', *, *, #4266, .T. ) ; +#9103 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416809, -69.96605763575114167, 3.602411799254200186 ) ) ; +#9104 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9105 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#9106 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9107 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9108 = ORIENTED_EDGE ( 'NONE', *, *, #6278, .F. ) ; +#9109 = CARTESIAN_POINT ( 'NONE', ( -96.81981506237310953, 11.91421338839179356, 10.00000000000000178 ) ) ; +#9110 = EDGE_CURVE ( 'NONE', #5041, #2310, #5668, .T. ) ; +#9111 = ORIENTED_EDGE ( 'NONE', *, *, #4049, .F. ) ; +#9112 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9113 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9114 = ORIENTED_EDGE ( 'NONE', *, *, #12700, .T. ) ; +#9115 = LINE ( 'NONE', #9174, #310 ) ; +#9116 = CARTESIAN_POINT ( 'NONE', ( -94.85925911908482533, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9118 = EDGE_LOOP ( 'NONE', ( #1246, #4379, #9640, #6860 ) ) ; +#9117 = EDGE_CURVE ( 'NONE', #3718, #12234, #2429, .T. ) ; +#9119 = CARTESIAN_POINT ( 'NONE', ( -68.57246334277316180, -83.83997004052127977, 0.7600238298461419184 ) ) ; +#9120 = ORIENTED_EDGE ( 'NONE', *, *, #5042, .T. ) ; +#9121 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9122 = FACE_OUTER_BOUND ( 'NONE', #2868, .T. ) ; +#9123 = EDGE_LOOP ( 'NONE', ( #7922, #10183, #11239, #11250 ) ) ; +#9124 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9125 = EDGE_CURVE ( 'NONE', #3277, #979, #9449, .T. ) ; +#9126 = VERTEX_POINT ( 'NONE', #660 ) ; +#9127 = CARTESIAN_POINT ( 'NONE', ( -116.1488485972318898, -83.47596790702070280, 2.740162246727674056 ) ) ; +#9128 = ADVANCED_FACE ( 'NONE', ( #6523 ), #7622, .T. ) ; +#9129 = EDGE_LOOP ( 'NONE', ( #10765, #4305, #10110, #7864 ) ) ; +#9130 = LINE ( 'NONE', #7957, #7153 ) ; +#9131 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9132 = EDGE_CURVE ( 'NONE', #2729, #7900, #3662, .T. ) ; +#9133 = LINE ( 'NONE', #5168, #9837 ) ; +#9134 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9135 = ORIENTED_EDGE ( 'NONE', *, *, #6955, .F. ) ; +#9136 = CARTESIAN_POINT ( 'NONE', ( -109.0552004675857347, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9137 = FACE_OUTER_BOUND ( 'NONE', #4550, .T. ) ; +#9138 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9139 = CARTESIAN_POINT ( 'NONE', ( -106.0175802681958572, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9140 = ADVANCED_FACE ( 'NONE', ( #4824 ), #10812, .F. ) ; +#9141 = VERTEX_POINT ( 'NONE', #2753 ) ; +#9142 = ADVANCED_FACE ( 'NONE', ( #4764 ), #2824, .F. ) ; +#9143 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9144 = EDGE_CURVE ( 'NONE', #6956, #4617, #2367, .T. ) ; +#9145 = LINE ( 'NONE', #2252, #11524 ) ; +#9146 = EDGE_LOOP ( 'NONE', ( #5821, #10149, #1862, #3308 ) ) ; +#9147 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -33.25000000000000000, 8.450093038286887293 ) ) ; +#9148 = LINE ( 'NONE', #4080, #10122 ) ; +#9149 = CARTESIAN_POINT ( 'NONE', ( -68.63558859164847092, -65.25895085456457423, 10.76002382984609440 ) ) ; +#9150 = VERTEX_POINT ( 'NONE', #6971 ) ; +#9151 = PLANE ( 'NONE', #5543 ) ; +#9152 = CARTESIAN_POINT ( 'NONE', ( -93.82414335668882188, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9153 = CARTESIAN_POINT ( 'NONE', ( -117.7803003549171024, -65.76380529932657737, 5.725686329639531280 ) ) ; +#9154 = VERTEX_POINT ( 'NONE', #5741 ) ; +#9155 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#9156 = FACE_OUTER_BOUND ( 'NONE', #12518, .T. ) ; +#9157 = AXIS2_PLACEMENT_3D ( 'NONE', #11314, #7270, #3255 ) ; +#9158 = ORIENTED_EDGE ( 'NONE', *, *, #4533, .T. ) ; +#9159 = DIRECTION ( 'NONE', ( 0.3420201433256545021, 0.000000000000000000, 0.9396926207859136460 ) ) ; +#9160 = EDGE_LOOP ( 'NONE', ( #2625, #9426, #8615, #7455 ) ) ; +#9161 = CARTESIAN_POINT ( 'NONE', ( -121.7690846076039577, -70.05433037025049714, 3.109171765512178887 ) ) ; +#9162 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#9163 = EDGE_CURVE ( 'NONE', #10252, #1143, #851, .T. ) ; +#9164 = AXIS2_PLACEMENT_3D ( 'NONE', #9078, #6016, #5108 ) ; +#9165 = CIRCLE ( 'NONE', #3560, 1.000000000000000000 ) ; +#9166 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9167 = DATE_AND_TIME ( #6240, #3085 ) ; +#9168 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -4.053100760940652921E-15 ) ) ; +#9169 = VERTEX_POINT ( 'NONE', #2888 ) ; +#9170 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -84.96605763575112746, 3.740162246727670503 ) ) ; +#9171 = ORIENTED_EDGE ( 'NONE', *, *, #9144, .T. ) ; +#9172 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#9173 = ORIENTED_EDGE ( 'NONE', *, *, #8789, .T. ) ; +#9174 = CARTESIAN_POINT ( 'NONE', ( -79.46545513408021577, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9175 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -44.55000000000000426, 0.000000000000000000 ) ) ; +#9176 = EDGE_CURVE ( 'NONE', #3548, #3718, #3913, .T. ) ; +#9177 = CARTESIAN_POINT ( 'NONE', ( -69.25001392126705468, -84.33779583673235436, 0.7600238298468235953 ) ) ; +#9178 = EDGE_LOOP ( 'NONE', ( #12435, #8506, #11609, #2327 ) ) ; +#9179 = FACE_OUTER_BOUND ( 'NONE', #8270, .T. ) ; +#9180 = VECTOR ( 'NONE', #12430, 1000.000000000000000 ) ; +#9181 = ORIENTED_EDGE ( 'NONE', *, *, #12608, .F. ) ; +#9182 = LINE ( 'NONE', #4308, #10019 ) ; +#9183 = ORIENTED_EDGE ( 'NONE', *, *, #10010, .F. ) ; +#9184 = CARTESIAN_POINT ( 'NONE', ( -93.25089023771940333, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9185 = EDGE_LOOP ( 'NONE', ( #10717, #10583, #4154, #8599, #10060 ) ) ; +#9186 = CARTESIAN_POINT ( 'NONE', ( -117.1893525383563599, -83.95986372592578562, 3.740162246727558593 ) ) ; +#9187 = ORIENTED_EDGE ( 'NONE', *, *, #9768, .F. ) ; +#9188 = ADVANCED_FACE ( 'NONE', ( #11653 ), #8785, .T. ) ; +#9189 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9190 = EDGE_CURVE ( 'NONE', #11970, #1001, #9650, .T. ) ; +#9191 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -59.01605763575113173, 34.14034842993752505 ) ) ; +#9192 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#9193 = ORIENTED_EDGE ( 'NONE', *, *, #4321, .T. ) ; +#9194 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9195 = FACE_OUTER_BOUND ( 'NONE', #17, .T. ) ; +#9196 = AXIS2_PLACEMENT_3D ( 'NONE', #12145, #11172, #3302 ) ; +#9197 = PLANE ( 'NONE', #7291 ) ; +#9198 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -55.25000000000000711, 0.000000000000000000 ) ) ; +#9199 = AXIS2_PLACEMENT_3D ( 'NONE', #6361, #3245, #6099 ) ; +#9200 = VERTEX_POINT ( 'NONE', #5864 ) ; +#9201 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9202 = EDGE_CURVE ( 'NONE', #4043, #5404, #3721, .T. ) ; +#9203 = PLANE ( 'NONE', #4668 ) ; +#9204 = ORIENTED_EDGE ( 'NONE', *, *, #715, .F. ) ; +#9205 = VECTOR ( 'NONE', #9168, 1000.000000000000000 ) ; +#9206 = AXIS2_PLACEMENT_3D ( 'NONE', #282, #9982, #1060 ) ; +#9207 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 0.7500238298461039399 ) ) ; +#9208 = VECTOR ( 'NONE', #5239, 1000.000000000000000 ) ; +#9209 = EDGE_CURVE ( 'NONE', #8668, #8696, #93, .T. ) ; +#9210 = CARTESIAN_POINT ( 'NONE', ( -74.65671917921717693, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9211 = LINE ( 'NONE', #11225, #8008 ) ; +#9212 = VECTOR ( 'NONE', #5614, 1000.000000000000000 ) ; +#9213 = EDGE_CURVE ( 'NONE', #12409, #1307, #6600, .T. ) ; +#9214 = ADVANCED_FACE ( 'NONE', ( #11907 ), #2219, .T. ) ; +#9215 = ORIENTED_EDGE ( 'NONE', *, *, #2920, .F. ) ; +#9216 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -5.337610695313254343E-16 ) ) ; +#9217 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9218 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913380429, -64.96605763575476544, 7.139796907103890256 ) ) ; +#9219 = VERTEX_POINT ( 'NONE', #4165 ) ; +#9220 = AXIS2_PLACEMENT_3D ( 'NONE', #10964, #9801, #7711 ) ; +#9221 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 15.24999999999810107, 9.000000000000001776 ) ) ; +#9222 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9223 = AXIS2_PLACEMENT_3D ( 'NONE', #9682, #891, #11692 ) ; +#9224 = EDGE_CURVE ( 'NONE', #6616, #8889, #8818, .T. ) ; +#9225 = VECTOR ( 'NONE', #5594, 1000.000000000000000 ) ; +#9226 = ORIENTED_EDGE ( 'NONE', *, *, #2091, .T. ) ; +#9227 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9228 = ORIENTED_EDGE ( 'NONE', *, *, #3112, .T. ) ; +#9229 = AXIS2_PLACEMENT_3D ( 'NONE', #12509, #1524, #553 ) ; +#9230 = CYLINDRICAL_SURFACE ( 'NONE', #8196, 1.000000000000000888 ) ; +#9231 = FACE_OUTER_BOUND ( 'NONE', #5480, .T. ) ; +#9232 = AXIS2_PLACEMENT_3D ( 'NONE', #6667, #2901, #5761 ) ; +#9233 = EDGE_CURVE ( 'NONE', #4309, #10223, #8127, .T. ) ; +#9234 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9235 = APPROVAL_DATE_TIME ( #9167, #302 ) ; +#9236 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#9237 = ORIENTED_EDGE ( 'NONE', *, *, #4882, .T. ) ; +#9238 = AXIS2_PLACEMENT_3D ( 'NONE', #10871, #10756, #10688 ) ; +#9239 = CARTESIAN_POINT ( 'NONE', ( -104.8197176316921286, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9240 = VERTEX_POINT ( 'NONE', #1107 ) ; +#9241 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -63.46605763575112746, -0.7499761701538951719 ) ) ; +#9242 = ORIENTED_EDGE ( 'NONE', *, *, #4057, .F. ) ; +#9243 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9244 = VECTOR ( 'NONE', #9480, 1000.000000000000000 ) ; +#9245 = CARTESIAN_POINT ( 'NONE', ( -90.15557767015388890, -13.89995144998309939, 0.000000000000000000 ) ) ; +#9246 = CARTESIAN_POINT ( 'NONE', ( -67.70603203391871716, -83.00290838631740087, 0.7600238298449404351 ) ) ; +#9247 = ORIENTED_EDGE ( 'NONE', *, *, #1068, .T. ) ; +#9248 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#9249 = ORIENTED_EDGE ( 'NONE', *, *, #8661, .T. ) ; +#9250 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9251 = VERTEX_POINT ( 'NONE', #2152 ) ; +#9252 = CARTESIAN_POINT ( 'NONE', ( -98.84698258422444894, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9253 = VECTOR ( 'NONE', #5254, 1000.000000000000000 ) ; +#9254 = VERTEX_POINT ( 'NONE', #2088 ) ; +#9255 = CARTESIAN_POINT ( 'NONE', ( -120.7947328979189905, -73.32092084107863172, 2.740162246727665174 ) ) ; +#9256 = ORIENTED_EDGE ( 'NONE', *, *, #8968, .F. ) ; +#9257 = EDGE_CURVE ( 'NONE', #461, #2735, #8068, .T. ) ; +#9258 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9259 = PLANE ( 'NONE', #10050 ) ; +#9260 = CARTESIAN_POINT ( 'NONE', ( -95.79511857777596617, -65.01605763575113883, 41.68345238804973718 ) ) ; +#9261 = VECTOR ( 'NONE', #2918, 1000.000000000000000 ) ; +#9262 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #11034 ) ; +#9263 = ORIENTED_EDGE ( 'NONE', *, *, #1231, .T. ) ; +#9264 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046191058, -84.96605763575112746, 1.760023829846104837 ) ) ; +#9265 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9266 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -82.96605763575112746, 0.7600238298461037267 ) ) ; +#9267 = VERTEX_POINT ( 'NONE', #5080 ) ; +#9268 = CARTESIAN_POINT ( 'NONE', ( -82.82856908168551513, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9269 = EDGE_CURVE ( 'NONE', #10157, #11434, #12033, .T. ) ; +#9270 = AXIS2_PLACEMENT_3D ( 'NONE', #9863, #12842, #944 ) ; +#9271 = AXIS2_PLACEMENT_3D ( 'NONE', #12227, #4606, #6316 ) ; +#9272 = CARTESIAN_POINT ( 'NONE', ( -89.35550846171311434, 13.89991557692050073, 0.000000000000000000 ) ) ; +#9273 = ORIENTED_EDGE ( 'NONE', *, *, #6644, .T. ) ; +#9274 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -84.96605763575112746, 3.740162246727671391 ) ) ; +#9275 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -5.337610695313254343E-16 ) ) ; +#9276 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164845671, -69.25895085456456002, 15.76002382984610328 ) ) ; +#9277 = ORIENTED_EDGE ( 'NONE', *, *, #10074, .F. ) ; +#9278 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -12.50498006704500042, 9.000000000000001776 ) ) ; +#9279 = EDGE_CURVE ( 'NONE', #1556, #10007, #70, .T. ) ; +#9280 = VECTOR ( 'NONE', #11107, 1000.000000000000000 ) ; +#9281 = VERTEX_POINT ( 'NONE', #1172 ) ; +#9282 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -83.96605763575112746, 1.760023829846103727 ) ) ; +#9283 = PLANE ( 'NONE', #2975 ) ; +#9284 = ORIENTED_EDGE ( 'NONE', *, *, #8722, .T. ) ; +#9285 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9286 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -64.96605763575112746, -0.7499761701538951719 ) ) ; +#9287 = EDGE_CURVE ( 'NONE', #4335, #123, #1234, .T. ) ; +#9288 = VERTEX_POINT ( 'NONE', #8004 ) ; +#9289 = EDGE_CURVE ( 'NONE', #12495, #2268, #5145, .T. ) ; +#9290 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9291 = ORIENTED_EDGE ( 'NONE', *, *, #10313, .F. ) ; +#9292 = VECTOR ( 'NONE', #6355, 1000.000000000000114 ) ; +#9293 = CARTESIAN_POINT ( 'NONE', ( -97.69578179446273225, -59.01605763575113173, 39.62736889345652713 ) ) ; +#9294 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 1.301042606982606060E-16 ) ) ; +#9295 = ADVANCED_FACE ( 'NONE', ( #3197 ), #3071, .F. ) ; +#9296 = LINE ( 'NONE', #7087, #13 ) ; +#9297 = DATE_AND_TIME ( #9041, #10973 ) ; +#9298 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9299 = EDGE_LOOP ( 'NONE', ( #2687, #6726, #8813, #3526, #3433, #9560 ) ) ; +#9300 = LINE ( 'NONE', #7406, #49 ) ; +#9301 = EDGE_CURVE ( 'NONE', #2655, #11384, #12801, .T. ) ; +#9302 = EDGE_LOOP ( 'NONE', ( #3247, #6183, #9085, #7206 ) ) ; +#9303 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9304 = VERTEX_POINT ( 'NONE', #4991 ) ; +#9305 = CARTESIAN_POINT ( 'NONE', ( -99.84823480272136464, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9306 = CC_DESIGN_APPROVAL ( #7373, ( #6404 ) ) ; +#9307 = CYLINDRICAL_SURFACE ( 'NONE', #9699, 7.700000000002309442 ) ; +#9308 = CARTESIAN_POINT ( 'NONE', ( -70.94635768634326212, -84.96605763575112746, 1.760023829845796639 ) ) ; +#9309 = ORIENTED_EDGE ( 'NONE', *, *, #8483, .T. ) ; +#9310 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, -4.618802153517092890 ) ) ; +#9311 = ORIENTED_EDGE ( 'NONE', *, *, #7071, .T. ) ; +#9312 = CARTESIAN_POINT ( 'NONE', ( -89.64540189891232558, -59.01605763575113173, 30.59776226896062568 ) ) ; +#9313 = ORIENTED_EDGE ( 'NONE', *, *, #4663, .T. ) ; +#9314 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9315 = ORIENTED_EDGE ( 'NONE', *, *, #11613, .F. ) ; +#9316 = CARTESIAN_POINT ( 'NONE', ( -120.2366905172733595, -76.37787028960084967, 2.740162246727668727 ) ) ; +#9317 = ORIENTED_EDGE ( 'NONE', *, *, #7340, .F. ) ; +#9318 = CARTESIAN_POINT ( 'NONE', ( -107.6434420042270688, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9319 = PLANE ( 'NONE', #9421 ) ; +#9320 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9321 = ORIENTED_EDGE ( 'NONE', *, *, #10235, .T. ) ; +#9322 = CARTESIAN_POINT ( 'NONE', ( -91.57332089559271537, -65.01605763575113883, 28.17516510229925331 ) ) ; +#9323 = MANIFOLD_SOLID_BREP ( 'Բ½Ç21', #383 ) ; +#9324 = EDGE_CURVE ( 'NONE', #8799, #6158, #7915, .T. ) ; +#9325 = CARTESIAN_POINT ( 'NONE', ( -106.0175802681958572, -58.46605763575112746, 2.950023829846315060 ) ) ; +#9326 = ORIENTED_EDGE ( 'NONE', *, *, #3831, .F. ) ; +#9327 = DIRECTION ( 'NONE', ( 0.3420201433256612744, 0.000000000000000000, -0.9396926207859110924 ) ) ; +#9328 = ORIENTED_EDGE ( 'NONE', *, *, #3805, .T. ) ; +#9329 = FACE_OUTER_BOUND ( 'NONE', #5490, .T. ) ; +#9330 = VECTOR ( 'NONE', #12238, 1000.000000000000000 ) ; +#9331 = CARTESIAN_POINT ( 'NONE', ( -84.86493706257847691, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9332 = ORIENTED_EDGE ( 'NONE', *, *, #320, .F. ) ; +#9333 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9334 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#9335 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9336 = ORIENTED_EDGE ( 'NONE', *, *, #6911, .F. ) ; +#9337 = FACE_OUTER_BOUND ( 'NONE', #1401, .T. ) ; +#9338 = EDGE_CURVE ( 'NONE', #2097, #4704, #3824, .T. ) ; +#9339 = VERTEX_POINT ( 'NONE', #8954 ) ; +#9340 = CARTESIAN_POINT ( 'NONE', ( -106.4455793677233686, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9341 = LINE ( 'NONE', #8294, #11480 ) ; +#9342 = EDGE_LOOP ( 'NONE', ( #7389, #3326, #6877, #3510 ) ) ; +#9343 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9344 = FACE_OUTER_BOUND ( 'NONE', #1416, .T. ) ; +#9345 = ORIENTED_EDGE ( 'NONE', *, *, #12625, .T. ) ; +#9346 = LINE ( 'NONE', #11436, #6327 ) ; +#9347 = VERTEX_POINT ( 'NONE', #965 ) ; +#9348 = EDGE_CURVE ( 'NONE', #6694, #10370, #50, .T. ) ; +#9349 = CARTESIAN_POINT ( 'NONE', ( -90.46102940908352252, -58.46605763575112746, 15.55016224672746006 ) ) ; +#9350 = LINE ( 'NONE', #2531, #733 ) ; +#9351 = ORIENTED_EDGE ( 'NONE', *, *, #3075, .T. ) ; +#9352 = ADVANCED_FACE ( 'NONE', ( #8898 ), #3892, .T. ) ; +#9353 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -64.96605763575112746, 17.74016224672767095 ) ) ; +#9354 = CARTESIAN_POINT ( 'NONE', ( -101.8846027836143264, -58.46605763575112746, 15.55016224672746183 ) ) ; +#9355 = EDGE_LOOP ( 'NONE', ( #4394, #7242, #578, #4023 ) ) ; +#9356 = AXIS2_PLACEMENT_3D ( 'NONE', #7217, #2409, #10344 ) ; +#9357 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -51.45000000000000284, 0.7500238298461048281 ) ) ; +#9358 = VERTEX_POINT ( 'NONE', #7855 ) ; +#9359 = CARTESIAN_POINT ( 'NONE', ( -79.05494888921849395, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9360 = ORIENTED_EDGE ( 'NONE', *, *, #6512, .F. ) ; +#9361 = EDGE_CURVE ( 'NONE', #3497, #10231, #4453, .T. ) ; +#9362 = CARTESIAN_POINT ( 'NONE', ( -64.45908239447844323, -75.56174589985727152, 15.76002382984489714 ) ) ; +#9363 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -84.96605763575112746, 0.000000000000000000 ) ) ; +#9364 = VECTOR ( 'NONE', #9327, 1000.000000000000114 ) ; +#9365 = EDGE_CURVE ( 'NONE', #8070, #3571, #6031, .T. ) ; +#9366 = LINE ( 'NONE', #10747, #5747 ) ; +#9367 = EDGE_CURVE ( 'NONE', #12659, #1283, #2799, .T. ) ; +#9368 = ADVANCED_FACE ( 'NONE', ( #10850 ), #5907, .T. ) ; +#9369 = EDGE_CURVE ( 'NONE', #8011, #2426, #6763, .T. ) ; +#9370 = VERTEX_POINT ( 'NONE', #1082 ) ; +#9371 = CARTESIAN_POINT ( 'NONE', ( -86.22554657318990223, -58.46605763575112746, 2.950023829846315060 ) ) ; +#9372 = ORIENTED_EDGE ( 'NONE', *, *, #9630, .F. ) ; +#9373 = CARTESIAN_POINT ( 'NONE', ( -85.65229345422048368, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9374 = VERTEX_POINT ( 'NONE', #3951 ) ; +#9375 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9376 = AXIS2_PLACEMENT_3D ( 'NONE', #805, #10635, #9658 ) ; +#9377 = VERTEX_POINT ( 'NONE', #10733 ) ; +#9378 = CARTESIAN_POINT ( 'NONE', ( -121.9550281240786376, -71.29927948324052522, 2.740162246727655404 ) ) ; +#9379 = VERTEX_POINT ( 'NONE', #6827 ) ; +#9380 = PLANE ( 'NONE', #12755 ) ; +#9381 = LINE ( 'NONE', #2302, #12110 ) ; +#9382 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, 0.2500238298461061603 ) ) ; +#9383 = AXIS2_PLACEMENT_3D ( 'NONE', #3657, #7617, #3774 ) ; +#9384 = EDGE_CURVE ( 'NONE', #6342, #463, #7793, .T. ) ; +#9385 = ORIENTED_EDGE ( 'NONE', *, *, #5271, .F. ) ; +#9386 = DIRECTION ( 'NONE', ( 0.3420201433256621071, 0.000000000000000000, -0.9396926207859107594 ) ) ; +#9387 = FACE_OUTER_BOUND ( 'NONE', #5411, .T. ) ; +#9388 = EDGE_CURVE ( 'NONE', #6372, #119, #12731, .T. ) ; +#9389 = ORIENTED_EDGE ( 'NONE', *, *, #6178, .F. ) ; +#9390 = CARTESIAN_POINT ( 'NONE', ( -88.19004224504277545, -65.01605763575113883, 31.21596281987267574 ) ) ; +#9391 = ORIENTED_EDGE ( 'NONE', *, *, #8645, .F. ) ; +#9392 = CARTESIAN_POINT ( 'NONE', ( -104.2464645127226817, -58.46605763575112746, 2.950023829846315060 ) ) ; +#9393 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#9394 = ORIENTED_EDGE ( 'NONE', *, *, #5554, .F. ) ; +#9395 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9396 = AXIS2_PLACEMENT_3D ( 'NONE', #11460, #5037, #4261 ) ; +#9397 = LINE ( 'NONE', #488, #6587 ) ; +#9398 = CARTESIAN_POINT ( 'NONE', ( -67.80088225530626289, -66.89332403266260485, 14.75835803862305973 ) ) ; +#9399 = CIRCLE ( 'NONE', #9196, 3.000000000000000000 ) ; +#9400 = ORIENTED_EDGE ( 'NONE', *, *, #12599, .T. ) ; +#9401 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9402 = VECTOR ( 'NONE', #4281, 1000.000000000000000 ) ; +#9403 = ORIENTED_EDGE ( 'NONE', *, *, #7993, .F. ) ; +#9404 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 21.75002382984610705 ) ) ; +#9405 = CARTESIAN_POINT ( 'NONE', ( -81.66456998908088849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9406 = ORIENTED_EDGE ( 'NONE', *, *, #341, .T. ) ; +#9407 = CARTESIAN_POINT ( 'NONE', ( -92.08840477810804259, -65.01605763575113883, 42.27053817865341045 ) ) ; +#9408 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9409 = AXIS2_PLACEMENT_3D ( 'NONE', #914, #3125, #6114 ) ; +#9410 = ORIENTED_EDGE ( 'NONE', *, *, #6245, .T. ) ; +#9411 = AXIS2_PLACEMENT_3D ( 'NONE', #6011, #11211, #28 ) ; +#9412 = PLANE ( 'NONE', #7770 ) ; +#9413 = VECTOR ( 'NONE', #1224, 1000.000000000000000 ) ; +#9414 = ORIENTED_EDGE ( 'NONE', *, *, #9793, .T. ) ; +#9415 = ADVANCED_FACE ( 'NONE', ( #7014 ), #12288, .T. ) ; +#9416 = VECTOR ( 'NONE', #5487, 1000.000000000000227 ) ; +#9417 = CARTESIAN_POINT ( 'NONE', ( -83.45317859921982517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9418 = EDGE_CURVE ( 'NONE', #7012, #10819, #10070, .T. ) ; +#9419 = CARTESIAN_POINT ( 'NONE', ( -88.26191455408286402, -58.46605763575112746, 15.55016224672746183 ) ) ; +#9420 = VERTEX_POINT ( 'NONE', #5186 ) ; +#9421 = AXIS2_PLACEMENT_3D ( 'NONE', #411, #1993, #7966 ) ; +#9422 = CARTESIAN_POINT ( 'NONE', ( -86.49079879860971687, -58.46605763575112746, 15.55016224672746183 ) ) ; +#9423 = VECTOR ( 'NONE', #1936, 1000.000000000000000 ) ; +#9424 = CARTESIAN_POINT ( 'NONE', ( -107.0188324866927729, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9425 = AXIS2_PLACEMENT_3D ( 'NONE', #4488, #8509, #12481 ) ; +#9426 = ORIENTED_EDGE ( 'NONE', *, *, #2550, .T. ) ; +#9427 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9428 = ORIENTED_EDGE ( 'NONE', *, *, #4752, .F. ) ; +#9429 = AXIS2_PLACEMENT_3D ( 'NONE', #1506, #5478, #12496 ) ; +#9430 = CARTESIAN_POINT ( 'NONE', ( -96.28972783784541889, -65.01605763575113883, 28.80941297348426744 ) ) ; +#9431 = ORIENTED_EDGE ( 'NONE', *, *, #6136, .F. ) ; +#9432 = EDGE_CURVE ( 'NONE', #10231, #10097, #7571, .T. ) ; +#9433 = CARTESIAN_POINT ( 'NONE', ( -67.61649276071236159, -81.19922621630009019, 15.76002382984610684 ) ) ; +#9434 = CIRCLE ( 'NONE', #7566, 2.800000000000843592 ) ; +#9435 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -19.44615242270661426, 0.4641016151377427290 ) ) ; +#9436 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9437 = VECTOR ( 'NONE', #4336, 1000.000000000000000 ) ; +#9438 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 9.000000000000001776 ) ) ; +#9439 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -59.01605763575113173, 36.94034842993827539 ) ) ; +#9440 = LINE ( 'NONE', #6077, #6705 ) ; +#9441 = EDGE_CURVE ( 'NONE', #11248, #359, #10141, .T. ) ; +#9442 = ORIENTED_EDGE ( 'NONE', *, *, #8378, .F. ) ; +#9443 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -13.25000000000000178, 9.000000000000001776 ) ) ; +#9444 = ORIENTED_EDGE ( 'NONE', *, *, #6894, .F. ) ; +#9445 = AXIS2_PLACEMENT_3D ( 'NONE', #2693, #2756, #12689 ) ; +#9446 = CYLINDRICAL_SURFACE ( 'NONE', #9963, 2.450000000000000622 ) ; +#9447 = CIRCLE ( 'NONE', #2812, 3.000000000000002665 ) ; +#9448 = VERTEX_POINT ( 'NONE', #9152 ) ; +#9449 = LINE ( 'NONE', #2557, #4651 ) ; +#9450 = EDGE_CURVE ( 'NONE', #3803, #10084, #10465, .T. ) ; +#9451 = EDGE_LOOP ( 'NONE', ( #5718, #8885, #10537, #10540 ) ) ; +#9452 = EDGE_CURVE ( 'NONE', #7771, #12086, #4277, .T. ) ; +#9453 = AXIS2_PLACEMENT_3D ( 'NONE', #3030, #2046, #8028 ) ; +#9454 = EDGE_CURVE ( 'NONE', #10921, #9852, #713, .T. ) ; +#9455 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#9456 = CARTESIAN_POINT ( 'NONE', ( -80.46670735257715990, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9457 = CARTESIAN_POINT ( 'NONE', ( -89.07824139573209266, -59.01605763575113173, 31.00982849472599412 ) ) ; +#9458 = CYLINDRICAL_SURFACE ( 'NONE', #3050, 2.800000000000840039 ) ; +#9459 = ORIENTED_EDGE ( 'NONE', *, *, #10090, .F. ) ; +#9460 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9461 = MANIFOLD_SOLID_BREP ( 'ʵÌå-Òƶ¯/¸´ÖÆ5[3]', #11183 ) ; +#9462 = EDGE_CURVE ( 'NONE', #1442, #2724, #6357, .T. ) ; +#9463 = VECTOR ( 'NONE', #10342, 1000.000000000000000 ) ; +#9464 = DIRECTION ( 'NONE', ( 0.9396926207859083169, 0.000000000000000000, -0.3420201433256689350 ) ) ; +#9465 = ORIENTED_EDGE ( 'NONE', *, *, #7927, .F. ) ; +#9466 = PLANE ( 'NONE', #4178 ) ; +#9467 = ORIENTED_EDGE ( 'NONE', *, *, #12690, .T. ) ; +#9468 = CYLINDRICAL_SURFACE ( 'NONE', #4239, 2.800000000000843592 ) ; +#9469 = ADVANCED_FACE ( 'NONE', ( #239 ), #12204, .F. ) ; +#9470 = LINE ( 'NONE', #556, #10898 ) ; +#9471 = VERTEX_POINT ( 'NONE', #5310 ) ; +#9472 = AXIS2_PLACEMENT_3D ( 'NONE', #7644, #4786, #682 ) ; +#9473 = LINE ( 'NONE', #9274, #4436 ) ; +#9474 = CARTESIAN_POINT ( 'NONE', ( -113.9284818104619177, -58.46605763575112746, 0.2500238298461052722 ) ) ; +#9475 = LINE ( 'NONE', #11488, #2833 ) ; +#9476 = AXIS2_PLACEMENT_3D ( 'NONE', #8688, #570, #12527 ) ; +#9477 = VERTEX_POINT ( 'NONE', #11108 ) ; +#9478 = LINE ( 'NONE', #6417, #9292 ) ; +#9479 = EDGE_LOOP ( 'NONE', ( #4904, #9954, #388, #8916, #11099, #1503, #9046, #5237, #9309 ) ) ; +#9480 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#9481 = FACE_BOUND ( 'NONE', #2244, .T. ) ; +#9482 = VECTOR ( 'NONE', #7690, 1000.000000000000000 ) ; +#9483 = ORIENTED_EDGE ( 'NONE', *, *, #3385, .F. ) ; +#9484 = CARTESIAN_POINT ( 'NONE', ( -78.26759249757650139, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9485 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#9486 = ORIENTED_EDGE ( 'NONE', *, *, #2069, .T. ) ; +#9487 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -69.96605763575111325, 10.76002382984610151 ) ) ; +#9488 = VERTEX_POINT ( 'NONE', #11040 ) ; +#9489 = CARTESIAN_POINT ( 'NONE', ( -105.1055600609230964, -44.55000000000000426, -0.7499761701538951719 ) ) ; +#9490 = CARTESIAN_POINT ( 'NONE', ( -79.89345423360771292, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9491 = VECTOR ( 'NONE', #4754, 1000.000000000000000 ) ; +#9492 = ORIENTED_EDGE ( 'NONE', *, *, #11302, .F. ) ; +#9493 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -68.96605763575112746, 4.250023829846105272 ) ) ; +#9494 = CARTESIAN_POINT ( 'NONE', ( -88.21525270734082369, -65.01605763575113883, 31.87281718311728440 ) ) ; +#9495 = EDGE_CURVE ( 'NONE', #7179, #1852, #12557, .T. ) ; +#9496 = VERTEX_POINT ( 'NONE', #3301 ) ; +#9497 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#9498 = VECTOR ( 'NONE', #2051, 1000.000000000000000 ) ; +#9499 = ORIENTED_EDGE ( 'NONE', *, *, #12864, .F. ) ; +#9500 = FACE_OUTER_BOUND ( 'NONE', #2984, .T. ) ; +#9501 = ORIENTED_EDGE ( 'NONE', *, *, #6836, .F. ) ; +#9502 = CARTESIAN_POINT ( 'NONE', ( -68.55769985255763288, -83.82780703727082994, 14.76002382984655092 ) ) ; +#9503 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#9504 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -68.96605763575114167, 14.25016224672766896 ) ) ; +#9505 = AXIS2_PLACEMENT_3D ( 'NONE', #8214, #8277, #2501 ) ; +#9506 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -59.01605763575113173, 32.08298056549228505 ) ) ; +#9507 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9508 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#9509 = EDGE_CURVE ( 'NONE', #11415, #6372, #2129, .T. ) ; +#9510 = ORIENTED_EDGE ( 'NONE', *, *, #1488, .F. ) ; +#9511 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9512 = ORIENTED_EDGE ( 'NONE', *, *, #10402, .F. ) ; +#9513 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9514 = ORIENTED_EDGE ( 'NONE', *, *, #8955, .F. ) ; +#9515 = CARTESIAN_POINT ( 'NONE', ( -85.02768393668618785, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9516 = ORIENTED_EDGE ( 'NONE', *, *, #7381, .T. ) ; +#9517 = VECTOR ( 'NONE', #3457, 1000.000000000000000 ) ; +#9518 = AXIS2_PLACEMENT_3D ( 'NONE', #1913, #6857, #5877 ) ; +#9519 = EDGE_CURVE ( 'NONE', #12803, #979, #8110, .T. ) ; +#9520 = LINE ( 'NONE', #11657, #6950 ) ; +#9521 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -16.25000000000000000, 3.000000000000002665 ) ) ; +#9522 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 15.24999999999809930, 1.000000000000000000 ) ) ; +#9523 = VERTEX_POINT ( 'NONE', #4147 ) ; +#9524 = CARTESIAN_POINT ( 'NONE', ( -117.6719506647174285, -82.07811571848208132, 17.74016224672767095 ) ) ; +#9525 = ADVANCED_FACE ( 'NONE', ( #1349 ), #12078, .T. ) ; +#9526 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9527 = VERTEX_POINT ( 'NONE', #3240 ) ; +#9528 = CARTESIAN_POINT ( 'NONE', ( -87.17069039786863982, -59.01605763575113173, 32.61898027292208013 ) ) ; +#9529 = VERTEX_POINT ( 'NONE', #2197 ) ; +#9530 = CARTESIAN_POINT ( 'NONE', ( -91.57332089559285748, -59.01605763575113173, 43.32502097427455823 ) ) ; +#9531 = CYLINDRICAL_SURFACE ( 'NONE', #6111, 6.124000000001832866 ) ; +#9532 = ORIENTED_EDGE ( 'NONE', *, *, #8051, .T. ) ; +#9533 = EDGE_CURVE ( 'NONE', #6741, #2804, #6290, .T. ) ; +#9534 = CARTESIAN_POINT ( 'NONE', ( -90.95550846171310866, 13.89991557692050073, 10.00000000000000000 ) ) ; +#9535 = LINE ( 'NONE', #10517, #9082 ) ; +#9536 = CARTESIAN_POINT ( 'NONE', ( -92.24963801922244500, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9537 = ORIENTED_EDGE ( 'NONE', *, *, #6674, .T. ) ; +#9538 = CARTESIAN_POINT ( 'NONE', ( -102.4578559025837450, -58.46605763575112746, 17.12516224672793541 ) ) ; +#9539 = EDGE_CURVE ( 'NONE', #461, #5497, #7981, .T. ) ; +#9540 = ORIENTED_EDGE ( 'NONE', *, *, #2627, .T. ) ; +#9541 = DIRECTION ( 'NONE', ( 8.673617379884039170E-17, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9542 = EDGE_CURVE ( 'NONE', #10817, #979, #7259, .T. ) ; +#9543 = EDGE_CURVE ( 'NONE', #2140, #10363, #6957, .T. ) ; +#9544 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9545 = VERTEX_POINT ( 'NONE', #10263 ) ; +#9546 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9547 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -13.25000000000000178, 2.000000000000002665 ) ) ; +#9548 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#9549 = VERTEX_POINT ( 'NONE', #11295 ) ; +#9550 = LINE ( 'NONE', #12469, #12345 ) ; +#9551 = FACE_OUTER_BOUND ( 'NONE', #2095, .T. ) ; +#9552 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9553 = EDGE_LOOP ( 'NONE', ( #9816, #654, #7600, #4615 ) ) ; +#9554 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9555 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9556 = ORIENTED_EDGE ( 'NONE', *, *, #618, .T. ) ; +#9557 = PLANE ( 'NONE', #2969 ) ; +#9558 = ORIENTED_EDGE ( 'NONE', *, *, #12278, .F. ) ; +#9559 = CARTESIAN_POINT ( 'NONE', ( -85.02768393668618785, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9560 = ORIENTED_EDGE ( 'NONE', *, *, #12228, .T. ) ; +#9561 = CARTESIAN_POINT ( 'NONE', ( -70.06600987931267355, -83.64857725187556525, 15.76002382984610684 ) ) ; +#9562 = EDGE_CURVE ( 'NONE', #2363, #7266, #12590, .T. ) ; +#9563 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 10.05009303828688871 ) ) ; +#9564 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #12774, #1720, #812, #3868 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 0.000000000000000000, 1.570796326794896558 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#9565 = CARTESIAN_POINT ( 'NONE', ( -90.73283108516211826, -65.01605763575113883, 30.04368942404332898 ) ) ; +#9566 = AXIS2_PLACEMENT_3D ( 'NONE', #2212, #4159, #12276 ) ; +#9567 = ADVANCED_FACE ( 'NONE', ( #625 ), #3687, .T. ) ; +#9568 = CARTESIAN_POINT ( 'NONE', ( -107.0188324866927729, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9569 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#9570 = ORIENTED_EDGE ( 'NONE', *, *, #8671, .F. ) ; +#9571 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9572 = ORIENTED_EDGE ( 'NONE', *, *, #6023, .F. ) ; +#9573 = CARTESIAN_POINT ( 'NONE', ( -102.4578559025837450, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9574 = ORIENTED_EDGE ( 'NONE', *, *, #8254, .F. ) ; +#9575 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#9576 = ORIENTED_EDGE ( 'NONE', *, *, #3877, .F. ) ; +#9577 = CIRCLE ( 'NONE', #9996, 2.800000000000829381 ) ; +#9578 = EDGE_CURVE ( 'NONE', #6342, #7844, #2380, .T. ) ; +#9579 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9580 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9581 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9582 = ORIENTED_EDGE ( 'NONE', *, *, #9441, .F. ) ; +#9583 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -65.96605763575112746, 0.7600238298461036157 ) ) ; +#9584 = VECTOR ( 'NONE', #10821, 1000.000000000000000 ) ; +#9585 = CARTESIAN_POINT ( 'NONE', ( -95.17820341664142347, -59.01605763575113173, 41.45649665253046834 ) ) ; +#9586 = ORIENTED_EDGE ( 'NONE', *, *, #7473, .F. ) ; +#9587 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9588 = EDGE_CURVE ( 'NONE', #12206, #8658, #3623, .T. ) ; +#9589 = ORIENTED_EDGE ( 'NONE', *, *, #8640, .T. ) ; +#9590 = CARTESIAN_POINT ( 'NONE', ( -88.19004224504277545, -59.01605763575113173, 31.21596281987267574 ) ) ; +#9591 = LINE ( 'NONE', #811, #7986 ) ; +#9592 = EDGE_CURVE ( 'NONE', #11803, #6558, #9868, .T. ) ; +#9593 = CIRCLE ( 'NONE', #6691, 5.000000000000004441 ) ; +#9594 = LINE ( 'NONE', #4654, #2996 ) ; +#9595 = CARTESIAN_POINT ( 'NONE', ( -87.24911363665823671, -65.01605763575113883, 37.97277920402658680 ) ) ; +#9596 = LINE ( 'NONE', #3740, #10724 ) ; +#9597 = ORIENTED_EDGE ( 'NONE', *, *, #10816, .T. ) ; +#9598 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#9599 = VERTEX_POINT ( 'NONE', #10451 ) ; +#9600 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9601 = VECTOR ( 'NONE', #5650, 1000.000000000000000 ) ; +#9602 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#9603 = EDGE_CURVE ( 'NONE', #9281, #7174, #1536, .T. ) ; +#9604 = VECTOR ( 'NONE', #516, 1000.000000000000000 ) ; +#9605 = ORIENTED_EDGE ( 'NONE', *, *, #800, .F. ) ; +#9606 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9607 = CARTESIAN_POINT ( 'NONE', ( -87.17069039786863982, -59.01605763575113173, 32.61898027292208013 ) ) ; +#9608 = CARTESIAN_POINT ( 'NONE', ( -116.2848659264660967, -84.55266352686689402, 17.74016224673254527 ) ) ; +#9609 = ORIENTED_EDGE ( 'NONE', *, *, #4205, .T. ) ; +#9610 = EDGE_CURVE ( 'NONE', #581, #7657, #3431, .T. ) ; +#9611 = EDGE_CURVE ( 'NONE', #1714, #1366, #5922, .T. ) ; +#9612 = AXIS2_PLACEMENT_3D ( 'NONE', #5895, #8035, #2910 ) ; +#9613 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9614 = EDGE_CURVE ( 'NONE', #12497, #7240, #4535, .T. ) ; +#9615 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 14.76002382984610861 ) ) ; +#9616 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9617 = AXIS2_PLACEMENT_3D ( 'NONE', #6634, #5652, #3704 ) ; +#9618 = ORIENTED_EDGE ( 'NONE', *, *, #5564, .T. ) ; +#9619 = FACE_OUTER_BOUND ( 'NONE', #10197, .T. ) ; +#9620 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9621 = EDGE_CURVE ( 'NONE', #5426, #9496, #7584, .T. ) ; +#9622 = EDGE_LOOP ( 'NONE', ( #11116, #1991, #7342, #10811 ) ) ; +#9623 = AXIS2_PLACEMENT_3D ( 'NONE', #10837, #3876, #11815 ) ; +#9624 = CARTESIAN_POINT ( 'NONE', ( -81.25406374421915245, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9625 = VECTOR ( 'NONE', #11544, 1000.000000000000000 ) ; +#9626 = ORIENTED_EDGE ( 'NONE', *, *, #2299, .T. ) ; +#9627 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9628 = ORIENTED_EDGE ( 'NONE', *, *, #1987, .F. ) ; +#9629 = CARTESIAN_POINT ( 'NONE', ( -69.23782686992787205, -84.33055574297634394, 14.76002382984762029 ) ) ; +#9630 = EDGE_CURVE ( 'NONE', #6847, #9549, #8619, .T. ) ; +#9631 = AXIS2_PLACEMENT_3D ( 'NONE', #5198, #12347, #4611 ) ; +#9632 = CARTESIAN_POINT ( 'NONE', ( -95.45000509272006184, -64.96605763575112746, 2.950023829846315948 ) ) ; +#9633 = VECTOR ( 'NONE', #12374, 1000.000000000000000 ) ; +#9634 = VECTOR ( 'NONE', #4009, 1000.000000000000000 ) ; +#9635 = CYLINDRICAL_SURFACE ( 'NONE', #2217, 2.800000000000836486 ) ; +#9636 = VECTOR ( 'NONE', #6104, 1000.000000000000000 ) ; +#9637 = CARTESIAN_POINT ( 'NONE', ( -96.02325821168946618, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9638 = CARTESIAN_POINT ( 'NONE', ( -102.6206027766914701, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9639 = FACE_OUTER_BOUND ( 'NONE', #2521, .T. ) ; +#9640 = ORIENTED_EDGE ( 'NONE', *, *, #10581, .F. ) ; +#9641 = VECTOR ( 'NONE', #8676, 1000.000000000000000 ) ; +#9642 = CARTESIAN_POINT ( 'NONE', ( -107.0188324866927729, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9643 = ORIENTED_EDGE ( 'NONE', *, *, #9768, .T. ) ; +#9644 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#9645 = ORIENTED_EDGE ( 'NONE', *, *, #3635, .F. ) ; +#9646 = CARTESIAN_POINT ( 'NONE', ( -87.38486598194194244, -59.01605763575113173, 41.06590383624345009 ) ) ; +#9647 = AXIS2_PLACEMENT_3D ( 'NONE', #8336, #2562, #8273 ) ; +#9648 = ORIENTED_EDGE ( 'NONE', *, *, #11760, .T. ) ; +#9649 = VECTOR ( 'NONE', #7080, 1000.000000000000000 ) ; +#9650 = CIRCLE ( 'NONE', #304, 2.800000000000836486 ) ; +#9651 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9652 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9653 = LINE ( 'NONE', #2759, #4084 ) ; +#9654 = EDGE_LOOP ( 'NONE', ( #9035, #6402, #4268, #9249 ) ) ; +#9655 = CARTESIAN_POINT ( 'NONE', ( -120.5836096291008062, -74.76055459485426979, 17.74016224672765674 ) ) ; +#9656 = AXIS2_PLACEMENT_3D ( 'NONE', #988, #11851, #3978 ) ; +#9657 = AXIS2_PLACEMENT_3D ( 'NONE', #12065, #7907, #4925 ) ; +#9658 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9659 = ORIENTED_EDGE ( 'NONE', *, *, #4602, .F. ) ; +#9660 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9661 = EDGE_CURVE ( 'NONE', #9529, #10921, #7650, .T. ) ; +#9662 = CIRCLE ( 'NONE', #7580, 2.450000000000000622 ) ; +#9663 = ORIENTED_EDGE ( 'NONE', *, *, #12153, .F. ) ; +#9664 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9665 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9666 = LINE ( 'NONE', #11615, #86 ) ; +#9667 = CARTESIAN_POINT ( 'NONE', ( -94.14577264255315470, -65.01605763575113883, 29.28082870826846573 ) ) ; +#9668 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 3.002406016113880042E-17 ) ) ; +#9669 = AXIS2_PLACEMENT_3D ( 'NONE', #2080, #8118, #60 ) ; +#9670 = ORIENTED_EDGE ( 'NONE', *, *, #1450, .T. ) ; +#9671 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9672 = ORIENTED_EDGE ( 'NONE', *, *, #9693, .T. ) ; +#9673 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9674 = DIRECTION ( 'NONE', ( -0.9396926207859083169, 0.000000000000000000, 0.3420201433256689350 ) ) ; +#9675 = ADVANCED_FACE ( 'NONE', ( #10591 ), #1726, .T. ) ; +#9676 = ORIENTED_EDGE ( 'NONE', *, *, #5012, .T. ) ; +#9677 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#9678 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 1.760023829846110610 ) ) ; +#9679 = AXIS2_PLACEMENT_3D ( 'NONE', #9490, #10789, #11694 ) ; +#9680 = CARTESIAN_POINT ( 'NONE', ( -120.4405086676382268, -79.11533733521625322, 16.74016224672886821 ) ) ; +#9681 = VERTEX_POINT ( 'NONE', #688 ) ; +#9682 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#9683 = EDGE_CURVE ( 'NONE', #5655, #5033, #10082, .T. ) ; +#9684 = CARTESIAN_POINT ( 'NONE', ( -96.61084556480358287, -65.01605763575113883, 42.52715544892052435 ) ) ; +#9685 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9686 = VERTEX_POINT ( 'NONE', #11495 ) ; +#9687 = CIRCLE ( 'NONE', #6576, 2.800000000000836486 ) ; +#9688 = CARTESIAN_POINT ( 'NONE', ( -94.85925911908482533, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9689 = ADVANCED_FACE ( 'NONE', ( #494 ), #2587, .T. ) ; +#9690 = CARTESIAN_POINT ( 'NONE', ( -118.7259705698382106, -80.45452204199699509, 2.740162246727674944 ) ) ; +#9691 = EDGE_LOOP ( 'NONE', ( #11650, #4997, #12843, #659 ) ) ; +#9692 = CARTESIAN_POINT ( 'NONE', ( -88.85266052771805789, -64.96605763575112746, 2.950023829846315948 ) ) ; +#9693 = EDGE_CURVE ( 'NONE', #3514, #757, #2458, .T. ) ; +#9694 = ORIENTED_EDGE ( 'NONE', *, *, #12799, .T. ) ; +#9695 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260590E-15 ) ) ; +#9696 = ORIENTED_EDGE ( 'NONE', *, *, #12216, .F. ) ; +#9697 = AXIS2_PLACEMENT_3D ( 'NONE', #5489, #3727, #8598 ) ; +#9698 = CARTESIAN_POINT ( 'NONE', ( -63.92904295334457743, -70.22289204113710070, 15.76002382984580130 ) ) ; +#9699 = AXIS2_PLACEMENT_3D ( 'NONE', #3697, #1239, #7350 ) ; +#9700 = EDGE_CURVE ( 'NONE', #1085, #3862, #515, .T. ) ; +#9701 = CARTESIAN_POINT ( 'NONE', ( -82.66582220757781840, -64.96605763575112746, 17.12516224672793541 ) ) ; +#9702 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575115589, 17.00196163452681475 ) ) ; +#9703 = ORIENTED_EDGE ( 'NONE', *, *, #839, .F. ) ; +#9704 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#9705 = ADVANCED_FACE ( 'NONE', ( #11367 ), #4469, .F. ) ; +#9706 = LINE ( 'NONE', #2746, #9012 ) ; +#9707 = VERTEX_POINT ( 'NONE', #1921 ) ; +#9708 = VECTOR ( 'NONE', #10241, 1000.000000000000000 ) ; +#9709 = CARTESIAN_POINT ( 'NONE', ( -95.17820341664138084, -59.01605763575113173, 30.04368942404330056 ) ) ; +#9710 = ORIENTED_EDGE ( 'NONE', *, *, #12064, .T. ) ; +#9711 = DIRECTION ( 'NONE', ( -2.026550380470326460E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9712 = ORIENTED_EDGE ( 'NONE', *, *, #455, .F. ) ; +#9713 = CARTESIAN_POINT ( 'NONE', ( -67.88977123822354542, -81.61141712502102052, 15.76002382984610684 ) ) ; +#9714 = EDGE_LOOP ( 'NONE', ( #5419, #12338, #242, #12187, #5392, #8364, #5861, #520, #2398, #9771, #11164, #6499, #4534, #9291, #5616, #6771, #5906, #9345, #6154, #8255, #2259, #4125, #5458, #10044, #9676 ) ) ; +#9715 = AXIS2_PLACEMENT_3D ( 'NONE', #2305, #11411, #2438 ) ; +#9716 = CARTESIAN_POINT ( 'NONE', ( -71.98255269134165246, -58.46605763575112746, 18.25016224672766896 ) ) ; +#9717 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -26.25000000000000355, 15.50019557898779610 ) ) ; +#9718 = PLANE ( 'NONE', #8036 ) ; +#9719 = ORIENTED_EDGE ( 'NONE', *, *, #1839, .T. ) ; +#9720 = CARTESIAN_POINT ( 'NONE', ( -120.4566910933619539, -75.43555924180297723, 17.74016224672765674 ) ) ; +#9721 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256614409 ) ) ; +#9722 = ORIENTED_EDGE ( 'NONE', *, *, #8564, .F. ) ; +#9723 = DIRECTION ( 'NONE', ( 2.026550380470260590E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9724 = CIRCLE ( 'NONE', #2239, 3.000000000000002665 ) ; +#9725 = EDGE_LOOP ( 'NONE', ( #7054, #9317, #5362, #9960 ) ) ; +#9726 = CARTESIAN_POINT ( 'NONE', ( -97.48964746931605418, -59.01605763575113173, 40.51556804414585145 ) ) ; +#9727 = VECTOR ( 'NONE', #9849, 1000.000000000000000 ) ; +#9728 = EDGE_LOOP ( 'NONE', ( #5495, #10776, #1454, #8257 ) ) ; +#9729 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9730 = LINE ( 'NONE', #7702, #1326 ) ; +#9731 = LINE ( 'NONE', #813, #5710 ) ; +#9732 = ADVANCED_FACE ( 'NONE', ( #876 ), #12709, .T. ) ; +#9733 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9734 = FACE_OUTER_BOUND ( 'NONE', #11593, .T. ) ; +#9735 = CIRCLE ( 'NONE', #176, 7.700000000002305889 ) ; +#9736 = VERTEX_POINT ( 'NONE', #1059 ) ; +#9737 = CARTESIAN_POINT ( 'NONE', ( -105.4443271492264103, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9738 = ORIENTED_EDGE ( 'NONE', *, *, #1589, .F. ) ; +#9739 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416525, -84.96605763575112746, 17.00196163452681830 ) ) ; +#9740 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#9741 = ORIENTED_EDGE ( 'NONE', *, *, #770, .T. ) ; +#9742 = CARTESIAN_POINT ( 'NONE', ( -87.38486598194194244, -65.01605763575113883, 41.06590383624345009 ) ) ; +#9743 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#9744 = CARTESIAN_POINT ( 'NONE', ( -119.2481460238209792, -79.39742076721863384, 17.74016224672765674 ) ) ; +#9745 = EDGE_LOOP ( 'NONE', ( #11258, #11719, #12140, #11690 ) ) ; +#9746 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9747 = EDGE_CURVE ( 'NONE', #4562, #11575, #8198, .T. ) ; +#9748 = LINE ( 'NONE', #765, #10936 ) ; +#9749 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#9750 = EDGE_LOOP ( 'NONE', ( #7047, #777, #1040, #3818 ) ) ; +#9751 = CARTESIAN_POINT ( 'NONE', ( -94.51146625773718313, -59.01605763575113173, 41.67313268766882572 ) ) ; +#9752 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#9753 = ORIENTED_EDGE ( 'NONE', *, *, #5715, .T. ) ; +#9754 = FACE_OUTER_BOUND ( 'NONE', #4287, .T. ) ; +#9755 = ADVANCED_FACE ( 'NONE', ( #6009 ), #3869, .F. ) ; +#9756 = ORIENTED_EDGE ( 'NONE', *, *, #5303, .F. ) ; +#9757 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -52.01605763575113883, 35.75009303828682050 ) ) ; +#9758 = ORIENTED_EDGE ( 'NONE', *, *, #2703, .T. ) ; +#9759 = CIRCLE ( 'NONE', #3928, 1.000000000000000000 ) ; +#9760 = CARTESIAN_POINT ( 'NONE', ( -65.31444164265595020, -74.68624300020145768, 15.76002382984610684 ) ) ; +#9761 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#9762 = LINE ( 'NONE', #3063, #3539 ) ; +#9763 = FACE_OUTER_BOUND ( 'NONE', #3689, .T. ) ; +#9764 = ORIENTED_EDGE ( 'NONE', *, *, #3653, .F. ) ; +#9765 = FACE_OUTER_BOUND ( 'NONE', #3918, .T. ) ; +#9766 = EDGE_LOOP ( 'NONE', ( #985, #5609, #7591, #2036 ) ) ; +#9767 = LINE ( 'NONE', #10985, #4155 ) ; +#9768 = EDGE_CURVE ( 'NONE', #5669, #4638, #3930, .T. ) ; +#9769 = ORIENTED_EDGE ( 'NONE', *, *, #8421, .F. ) ; +#9770 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9771 = ORIENTED_EDGE ( 'NONE', *, *, #550, .T. ) ; +#9772 = EDGE_CURVE ( 'NONE', #6584, #10453, #8614, .T. ) ; +#9773 = EDGE_CURVE ( 'NONE', #11461, #11370, #6863, .T. ) ; +#9774 = VECTOR ( 'NONE', #9644, 1000.000000000000000 ) ; +#9775 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9776 = EDGE_CURVE ( 'NONE', #10351, #12593, #2815, .T. ) ; +#9777 = ADVANCED_FACE ( 'NONE', ( #9859 ), #1986, .T. ) ; +#9778 = ORIENTED_EDGE ( 'NONE', *, *, #3952, .T. ) ; +#9779 = PLANE ( 'NONE', #6585 ) ; +#9780 = ORIENTED_EDGE ( 'NONE', *, *, #10074, .T. ) ; +#9781 = CARTESIAN_POINT ( 'NONE', ( -88.42466142819056074, -58.46605763575112746, 2.950023829846314172 ) ) ; +#9782 = CARTESIAN_POINT ( 'NONE', ( -95.84793067741834705, -59.01605763575113173, 37.31564942096930793 ) ) ; +#9783 = VERTEX_POINT ( 'NONE', #5951 ) ; +#9784 = CYLINDRICAL_SURFACE ( 'NONE', #3282, 1.000000000000000888 ) ; +#9785 = EDGE_CURVE ( 'NONE', #5151, #3299, #7833, .T. ) ; +#9786 = AXIS2_PLACEMENT_3D ( 'NONE', #6435, #11576, #5649 ) ; +#9787 = ORIENTED_EDGE ( 'NONE', *, *, #7254, .F. ) ; +#9788 = VECTOR ( 'NONE', #7326, 1000.000000000000000 ) ; +#9789 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9790 = ORIENTED_EDGE ( 'NONE', *, *, #4605, .T. ) ; +#9791 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#9792 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 1.334402673828313586E-16 ) ) ; +#9793 = EDGE_CURVE ( 'NONE', #726, #5159, #4064, .T. ) ; +#9794 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9795 = LINE ( 'NONE', #2962, #2007 ) ; +#9796 = CIRCLE ( 'NONE', #9164, 7.700000000002309442 ) ; +#9797 = AXIS2_PLACEMENT_3D ( 'NONE', #6341, #1205, #2185 ) ; +#9798 = ORIENTED_EDGE ( 'NONE', *, *, #8547, .F. ) ; +#9799 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#9800 = ORIENTED_EDGE ( 'NONE', *, *, #6033, .F. ) ; +#9801 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9802 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#9803 = ORIENTED_EDGE ( 'NONE', *, *, #4057, .T. ) ; +#9804 = DIRECTION ( 'NONE', ( -0.3420201433256689350, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#9805 = DIRECTION ( 'NONE', ( -0.3420201433256545021, 0.000000000000000000, 0.9396926207859136460 ) ) ; +#9806 = AXIS2_PLACEMENT_3D ( 'NONE', #290, #4450, #8215 ) ; +#9807 = CARTESIAN_POINT ( 'NONE', ( -120.4566910937964934, -75.43555924187138828, 17.74016224672766384 ) ) ; +#9808 = ORIENTED_EDGE ( 'NONE', *, *, #11750, .T. ) ; +#9809 = CARTESIAN_POINT ( 'NONE', ( -112.9284818104619177, -58.46605763575112746, -0.7499761701538892877 ) ) ; +#9810 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#9811 = FACE_OUTER_BOUND ( 'NONE', #11605, .T. ) ; +#9812 = ORIENTED_EDGE ( 'NONE', *, *, #7413, .F. ) ; +#9813 = AXIS2_PLACEMENT_3D ( 'NONE', #5664, #7742, #11716 ) ; +#9814 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -27.25000000000000355, 18.75002382984610705 ) ) ; +#9815 = CARTESIAN_POINT ( 'NONE', ( -120.1334670003872844, -68.11697194479162931, 3.018733205755236515 ) ) ; +#9816 = ORIENTED_EDGE ( 'NONE', *, *, #391, .T. ) ; +#9817 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9818 = EDGE_CURVE ( 'NONE', #10081, #4152, #11864, .T. ) ; +#9819 = ORIENTED_EDGE ( 'NONE', *, *, #5961, .T. ) ; +#9820 = FACE_OUTER_BOUND ( 'NONE', #10686, .T. ) ; +#9821 = ORIENTED_EDGE ( 'NONE', *, *, #5721, .F. ) ; +#9822 = CIRCLE ( 'NONE', #666, 2.999999999999999112 ) ; +#9823 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -82.96605763575112746, 15.76002382984610328 ) ) ; +#9824 = CARTESIAN_POINT ( 'NONE', ( -106.4455793677233686, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9825 = VECTOR ( 'NONE', #9569, 1000.000000000000000 ) ; +#9826 = VECTOR ( 'NONE', #689, 1000.000000000000000 ) ; +#9827 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, -2.249976170153895172 ) ) ; +#9828 = LINE ( 'NONE', #7999, #10041 ) ; +#9829 = AXIS2_PLACEMENT_3D ( 'NONE', #2719, #4597, #7519 ) ; +#9830 = EDGE_LOOP ( 'NONE', ( #7554, #12532, #7487, #3609, #8360, #4035 ) ) ; +#9831 = CARTESIAN_POINT ( 'NONE', ( -92.24963801922244500, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9832 = ORIENTED_EDGE ( 'NONE', *, *, #2066, .T. ) ; +#9833 = ADVANCED_FACE ( 'NONE', ( #7958 ), #3091, .F. ) ; +#9834 = VERTEX_POINT ( 'NONE', #2843 ) ; +#9835 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -83.96605763575111325, 15.76002382984610328 ) ) ; +#9836 = ORIENTED_EDGE ( 'NONE', *, *, #11195, .T. ) ; +#9837 = VECTOR ( 'NONE', #11017, 1000.000000000000000 ) ; +#9838 = AXIS2_PLACEMENT_3D ( 'NONE', #11964, #11180, #3061 ) ; +#9839 = CIRCLE ( 'NONE', #2364, 7.700000000002309442 ) ; +#9840 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#9842 = VERTEX_POINT ( 'NONE', #10956 ) ; +#9841 = EDGE_CURVE ( 'NONE', #1684, #9686, #7050, .T. ) ; +#9843 = CARTESIAN_POINT ( 'NONE', ( -87.80318648157546590, -65.01605763575113883, 32.43997768629751732 ) ) ; +#9844 = ORIENTED_EDGE ( 'NONE', *, *, #10108, .F. ) ; +#9845 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9846 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, -0.7499761701538951719 ) ) ; +#9847 = VECTOR ( 'NONE', #575, 1000.000000000000000 ) ; +#9848 = EDGE_LOOP ( 'NONE', ( #8850, #6588, #4193, #12612, #12642, #6561, #12767, #7284 ) ) ; +#9849 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9850 = ADVANCED_FACE ( 'NONE', ( #3992 ), #11317, .T. ) ; +#9851 = VECTOR ( 'NONE', #4999, 1000.000000000000000 ) ; +#9852 = VERTEX_POINT ( 'NONE', #5030 ) ; +#9853 = PLANE ( 'NONE', #5687 ) ; +#9854 = EDGE_CURVE ( 'NONE', #12505, #10016, #9731, .T. ) ; +#9855 = DESIGN_CONTEXT ( 'detailed design', #1916, 'design' ) ; +#9856 = ORIENTED_EDGE ( 'NONE', *, *, #3939, .T. ) ; +#9857 = VECTOR ( 'NONE', #10770, 999.9999999999998863 ) ; +#9858 = LINE ( 'NONE', #10772, #6942 ) ; +#9859 = FACE_OUTER_BOUND ( 'NONE', #12155, .T. ) ; +#9860 = CIRCLE ( 'NONE', #706, 7.700000000002302336 ) ; +#9861 = ADVANCED_FACE ( 'NONE', ( #8741 ), #3799, .T. ) ; +#9862 = CARTESIAN_POINT ( 'NONE', ( -87.90560167398128044, -33.25000000000000000, 99.40560149999998885 ) ) ; +#9863 = CARTESIAN_POINT ( 'NONE', ( -91.05177538271874482, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9864 = VECTOR ( 'NONE', #7265, 1000.000000000000000 ) ; +#9865 = EDGE_LOOP ( 'NONE', ( #9919, #11261, #378, #12344 ) ) ; +#9866 = PLANE ( 'NONE', #3270 ) ; +#9867 = VERTEX_POINT ( 'NONE', #2546 ) ; +#9869 = CARTESIAN_POINT ( 'NONE', ( -82.82856908168551513, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9868 = CIRCLE ( 'NONE', #9033, 1.000000000000000888 ) ; +#9870 = LINE ( 'NONE', #953, #2137 ) ; +#9871 = EDGE_CURVE ( 'NONE', #5204, #647, #8896, .T. ) ; +#9872 = EDGE_LOOP ( 'NONE', ( #3054, #9977, #2159, #8052 ) ) ; +#9873 = CARTESIAN_POINT ( 'NONE', ( -110.6810622036169605, -64.96605763575112746, 15.55016224672746361 ) ) ; +#9874 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9875 = VECTOR ( 'NONE', #6041, 1000.000000000000114 ) ; +#9876 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #8329, #7424, #3525, #12297, #7553, #12565 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#9877 = CARTESIAN_POINT ( 'NONE', ( -119.9451031267758339, -77.44200639512582995, 17.74016224672767095 ) ) ; +#9878 = ORIENTED_EDGE ( 'NONE', *, *, #6205, .F. ) ; +#9879 = AXIS2_PLACEMENT_3D ( 'NONE', #1563, #4493, #5401 ) ; +#9880 = LINE ( 'NONE', #7658, #7756 ) ; +#9881 = CARTESIAN_POINT ( 'NONE', ( -71.07538636174126623, -83.96605763575108483, 0.7600238298461038378 ) ) ; +#9882 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9883 = EDGE_LOOP ( 'NONE', ( #8897, #2253, #4765, #11305 ) ) ; +#9884 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9885 = CARTESIAN_POINT ( 'NONE', ( -87.22679879168684636, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9886 = EDGE_LOOP ( 'NONE', ( #11141, #7908, #1637, #2973 ) ) ; +#9887 = AXIS2_PLACEMENT_3D ( 'NONE', #7995, #5985, #1095 ) ; +#9888 = CARTESIAN_POINT ( 'NONE', ( -103.7327392473335124, -14.80130337439090127, 2.828871654739368413 ) ) ; +#9889 = ORIENTED_EDGE ( 'NONE', *, *, #10235, .F. ) ; +#9890 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9891 = ORIENTED_EDGE ( 'NONE', *, *, #8671, .T. ) ; +#9892 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9893 = LINE ( 'NONE', #975, #10712 ) ; +#9894 = VECTOR ( 'NONE', #11952, 1000.000000000000000 ) ; +#9895 = ADVANCED_FACE ( 'NONE', ( #11454 ), #6507, .T. ) ; +#9896 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9897 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9898 = CARTESIAN_POINT ( 'NONE', ( -98.88887660066463070, -59.01605763575113173, 32.91049171141268914 ) ) ; +#9899 = ORIENTED_EDGE ( 'NONE', *, *, #3694, .T. ) ; +#9900 = CARTESIAN_POINT ( 'NONE', ( -79.62820200818792671, -64.96605763575112746, 2.950023829846315060 ) ) ; +#9901 = ORIENTED_EDGE ( 'NONE', *, *, #7144, .F. ) ; +#9902 = AXIS2_PLACEMENT_3D ( 'NONE', #3032, #6995, #3093 ) ; +#9903 = ORIENTED_EDGE ( 'NONE', *, *, #2680, .T. ) ; +#9904 = CARTESIAN_POINT ( 'NONE', ( -66.47380274336620687, -78.93247737320690760, 15.76002382984609973 ) ) ; +#9905 = CIRCLE ( 'NONE', #11353, 1.000000000000000000 ) ; +#9906 = ORIENTED_EDGE ( 'NONE', *, *, #8617, .T. ) ; +#9907 = CARTESIAN_POINT ( 'NONE', ( -89.42591364668750487, -58.46605763575112746, 1.375023829845842149 ) ) ; +#9908 = EDGE_CURVE ( 'NONE', #726, #2024, #2174, .T. ) ; +#9909 = VERTEX_POINT ( 'NONE', #8452 ) ; +#9910 = FACE_OUTER_BOUND ( 'NONE', #958, .T. ) ; +#9911 = AXIS2_PLACEMENT_3D ( 'NONE', #8667, #474, #10818 ) ; +#9912 = VERTEX_POINT ( 'NONE', #8086 ) ; +#9913 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 15.24999999999809930, 10.00000000000000000 ) ) ; +#9914 = FACE_OUTER_BOUND ( 'NONE', #11583, .T. ) ; +#9915 = ORIENTED_EDGE ( 'NONE', *, *, #9776, .F. ) ; +#9916 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -82.96605763575112746, 3.740162246727670503 ) ) ; +#9917 = VERTEX_POINT ( 'NONE', #588 ) ; +#9918 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#9919 = ORIENTED_EDGE ( 'NONE', *, *, #7697, .T. ) ; +#9920 = ADVANCED_FACE ( 'NONE', ( #12484 ), #11542, .T. ) ; +#9921 = VECTOR ( 'NONE', #9598, 1000.000000000000000 ) ; +#9922 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9923 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9924 = ADVANCED_FACE ( 'NONE', ( #1198 ), #7414, .T. ) ; +#9925 = CARTESIAN_POINT ( 'NONE', ( -95.79511857777592354, -59.01605763575113173, 29.81673368852401751 ) ) ; +#9926 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9927 = ORIENTED_EDGE ( 'NONE', *, *, #6352, .T. ) ; +#9928 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -16.25000000000000000, 10.00000000000000000 ) ) ; +#9929 = CIRCLE ( 'NONE', #12410, 1.000000000000000000 ) ; +#9930 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#9931 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -65.96605763575112746, 14.25016224672766896 ) ) ; +#9932 = VECTOR ( 'NONE', #996, 1000.000000000000000 ) ; +#9933 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9934 = VERTEX_POINT ( 'NONE', #163 ) ; +#9935 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9936 = EDGE_CURVE ( 'NONE', #5588, #9304, #9662, .T. ) ; +#9937 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9938 = ORIENTED_EDGE ( 'NONE', *, *, #2661, .F. ) ; +#9939 = VECTOR ( 'NONE', #5988, 1000.000000000000000 ) ; +#9940 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9941 = ADVANCED_FACE ( 'NONE', ( #6444 ), #10121, .T. ) ; +#9942 = LINE ( 'NONE', #3948, #1803 ) ; +#9943 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#9944 = EDGE_CURVE ( 'NONE', #10736, #12495, #1343, .T. ) ; +#9945 = EDGE_CURVE ( 'NONE', #6853, #12129, #12117, .T. ) ; +#9946 = ORIENTED_EDGE ( 'NONE', *, *, #11357, .T. ) ; +#9947 = LINE ( 'NONE', #1150, #10744 ) ; +#9948 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -51.25000000000000711, 20.75002382984610350 ) ) ; +#9949 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9950 = ORIENTED_EDGE ( 'NONE', *, *, #4981, .T. ) ; +#9951 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#9952 = ORIENTED_EDGE ( 'NONE', *, *, #4998, .T. ) ; +#9953 = CARTESIAN_POINT ( 'NONE', ( -106.2828324936156434, -64.96605763575112746, 15.55016224672746183 ) ) ; +#9954 = ORIENTED_EDGE ( 'NONE', *, *, #1758, .T. ) ; +#9955 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283502416, -64.96605763575111325, 13.68895601798062955 ) ) ; +#9956 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -84.96605763575112746, 14.76002382984610151 ) ) ; +#9957 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, 21.75002382984610705 ) ) ; +#9958 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#9959 = LINE ( 'NONE', #5925, #2339 ) ; +#9960 = ORIENTED_EDGE ( 'NONE', *, *, #6205, .T. ) ; +#9961 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9962 = ORIENTED_EDGE ( 'NONE', *, *, #5934, .F. ) ; +#9963 = AXIS2_PLACEMENT_3D ( 'NONE', #7358, #6453, #2688 ) ; +#9964 = CARTESIAN_POINT ( 'NONE', ( -69.80916247434515753, -83.50341704709165924, 15.76002382984611039 ) ) ; +#9965 = ORIENTED_EDGE ( 'NONE', *, *, #110, .T. ) ; +#9966 = ADVANCED_FACE ( 'NONE', ( #12052 ), #6385, .T. ) ; +#9967 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 16.74016224672766739 ) ) ; +#9968 = PLANE ( 'NONE', #2009 ) ; +#9969 = ORIENTED_EDGE ( 'NONE', *, *, #4028, .T. ) ; +#9970 = DIRECTION ( 'NONE', ( 4.053100760940521181E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9971 = ORIENTED_EDGE ( 'NONE', *, *, #1480, .T. ) ; +#9972 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#9973 = DIRECTION ( 'NONE', ( -2.026550380470260590E-15, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9974 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#9975 = ORIENTED_EDGE ( 'NONE', *, *, #6478, .T. ) ; +#9976 = LINE ( 'NONE', #5946, #9857 ) ; +#9977 = ORIENTED_EDGE ( 'NONE', *, *, #2689, .F. ) ; +#9978 = ADVANCED_FACE ( 'NONE', ( #11324 ), #2482, .T. ) ; +#9979 = CIRCLE ( 'NONE', #11217, 2.999999999999999112 ) ; +#9980 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -64.96605763575112746, 0.7600238298461037267 ) ) ; +#9981 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9982 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#9983 = LINE ( 'NONE', #1006, #8220 ) ; +#9984 = ORIENTED_EDGE ( 'NONE', *, *, #4975, .T. ) ; +#9985 = CARTESIAN_POINT ( 'NONE', ( -87.38486598194182875, -65.01605763575113883, 30.43428224033044671 ) ) ; +#9986 = ADVANCED_FACE ( 'NONE', ( #12424 ), #2420, .T. ) ; +#9987 = VECTOR ( 'NONE', #1287, 1000.000000000000000 ) ; +#9988 = CARTESIAN_POINT ( 'NONE', ( -90.11591592402768924, -65.01605763575113883, 41.68345238804977271 ) ) ; +#9989 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#9990 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#9991 = ORIENTED_EDGE ( 'NONE', *, *, #1703, .F. ) ; +#9992 = CARTESIAN_POINT ( 'NONE', ( -87.85140830922114219, -64.96605763575112746, 1.375023829845842149 ) ) ; +#9993 = EDGE_CURVE ( 'NONE', #6700, #12086, #3427, .T. ) ; +#9994 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575114167, 16.74016224672766739 ) ) ; +#9995 = ORIENTED_EDGE ( 'NONE', *, *, #7763, .F. ) ; +#9996 = AXIS2_PLACEMENT_3D ( 'NONE', #8342, #12312, #10372 ) ; +#9997 = CIRCLE ( 'NONE', #5217, 7.700000000002309442 ) ; +#9998 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -26.25000000000000355, 15.50019557898779610 ) ) ; +#9999 = LINE ( 'NONE', #11167, #10536 ) ; +#10000 = FACE_OUTER_BOUND ( 'NONE', #1700, .T. ) ; +#10001 = VERTEX_POINT ( 'NONE', #522 ) ; +#10002 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#10003 = ADVANCED_FACE ( 'NONE', ( #3516 ), #3647, .F. ) ; +#10004 = CARTESIAN_POINT ( 'NONE', ( -77.69433937860706862, -64.96605763575112746, 15.55016224672746183 ) ) ; +#10005 = AXIS2_PLACEMENT_3D ( 'NONE', #12317, #6219, #9143 ) ; +#10006 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -58.46605763575112746, 18.25016224672766896 ) ) ; +#10007 = VERTEX_POINT ( 'NONE', #2617 ) ; +#10008 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10009 = CARTESIAN_POINT ( 'NONE', ( -111.2543153225863932, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10010 = EDGE_CURVE ( 'NONE', #12693, #12835, #7996, .T. ) ; +#10011 = EDGE_CURVE ( 'NONE', #7760, #11970, #2402, .T. ) ; +#10012 = VERTEX_POINT ( 'NONE', #6837 ) ; +#10013 = EDGE_CURVE ( 'NONE', #9549, #7234, #12676, .T. ) ; +#10014 = EDGE_CURVE ( 'NONE', #10272, #7318, #2740, .T. ) ; +#10015 = CARTESIAN_POINT ( 'NONE', ( -89.30018893700008675, -59.01605763575113173, 42.52715544892058119 ) ) ; +#10016 = VERTEX_POINT ( 'NONE', #7672 ) ; +#10017 = PLANE ( 'NONE', #1553 ) ; +#10018 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#10019 = VECTOR ( 'NONE', #11201, 1000.000000000000000 ) ; +#10020 = ADVANCED_FACE ( 'NONE', ( #11525 ), #6578, .F. ) ; +#10021 = LINE ( 'NONE', #11839, #10607 ) ; +#10022 = PLANE ( 'NONE', #7437 ) ; +#10023 = CYLINDRICAL_SURFACE ( 'NONE', #898, 2.800000000000836486 ) ; +#10024 = ORIENTED_EDGE ( 'NONE', *, *, #156, .F. ) ; +#10025 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10026 = EDGE_CURVE ( 'NONE', #7900, #9917, #12575, .T. ) ; +#10027 = AXIS2_PLACEMENT_3D ( 'NONE', #9044, #8002, #7809 ) ; +#10028 = ORIENTED_EDGE ( 'NONE', *, *, #2709, .T. ) ; +#10029 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10030 = LINE ( 'NONE', #12167, #4013 ) ; +#10031 = VERTEX_POINT ( 'NONE', #9563 ) ; +#10032 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10033 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10034 = ORIENTED_EDGE ( 'NONE', *, *, #6756, .F. ) ; +#10035 = CARTESIAN_POINT ( 'NONE', ( -70.48456708541586124, -84.87238189499889529, 1.760023829845642762 ) ) ; +#10036 = CIRCLE ( 'NONE', #3795, 7.700000000002309442 ) ; +#10037 = ORIENTED_EDGE ( 'NONE', *, *, #863, .T. ) ; +#10038 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#10039 = CARTESIAN_POINT ( 'NONE', ( -92.82289113819189197, -64.96605763575112746, 2.950023829846314172 ) ) ; +#10040 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -65.01605763575113883, 35.75009303828682050 ) ) ; +#10041 = VECTOR ( 'NONE', #4034, 1000.000000000000000 ) ; +#10042 = ORIENTED_EDGE ( 'NONE', *, *, #2207, .F. ) ; +#10043 = CARTESIAN_POINT ( 'NONE', ( -121.1179924773310006, -76.96934549823068039, 2.740162246727670503 ) ) ; +#10044 = ORIENTED_EDGE ( 'NONE', *, *, #6119, .T. ) ; +#10045 = VECTOR ( 'NONE', #4921, 1000.000000000000000 ) ; +#10046 = LINE ( 'NONE', #1129, #4030 ) ; +#10047 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 14.25016224672766896 ) ) ; +#10048 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#10049 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#10050 = AXIS2_PLACEMENT_3D ( 'NONE', #347, #8274, #1389 ) ; +#10051 = ORIENTED_EDGE ( 'NONE', *, *, #711, .F. ) ; +#10052 = LINE ( 'NONE', #9928, #3068 ) ; +#10053 = AXIS2_PLACEMENT_3D ( 'NONE', #11485, #9395, #9333 ) ; +#10054 = EDGE_CURVE ( 'NONE', #4258, #742, #5794, .T. ) ; +#10055 = AXIS2_PLACEMENT_3D ( 'NONE', #7921, #9627, #716 ) ; +#10056 = CARTESIAN_POINT ( 'NONE', ( -96.40560150000000306, -11.50498006704500042, 9.585786437626905965 ) ) ; +#10057 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470326460E-15 ) ) ; +#10058 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -12.50498006704500042, 9.000000000000001776 ) ) ; +#10059 = AXIS2_PLACEMENT_3D ( 'NONE', #5177, #3230, #2251 ) ; +#10060 = ORIENTED_EDGE ( 'NONE', *, *, #3573, .F. ) ; +#10061 = PLANE ( 'NONE', #251 ) ; +#10062 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10063 = VECTOR ( 'NONE', #2316, 1000.000000000000000 ) ; +#10064 = ORIENTED_EDGE ( 'NONE', *, *, #3575, .T. ) ; +#10065 = CIRCLE ( 'NONE', #3408, 1.000000000000000888 ) ; +#10066 = FACE_OUTER_BOUND ( 'NONE', #11366, .T. ) ; +#10067 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #5923, #3769, #2816, #1831 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 4.712388980384689674, 6.283185307179586232 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#10068 = CYLINDRICAL_SURFACE ( 'NONE', #6793, 1.000000000000000000 ) ; +#10069 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, -0.7499761701538951719 ) ) ; +#10070 = CIRCLE ( 'NONE', #8191, 1.000000000000000888 ) ; +#10071 = CIRCLE ( 'NONE', #4455, 2.800000000000829381 ) ; +#10072 = VERTEX_POINT ( 'NONE', #9632 ) ; +#10073 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10074 = EDGE_CURVE ( 'NONE', #9339, #475, #11123, .T. ) ; +#10075 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10076 = VECTOR ( 'NONE', #9455, 1000.000000000000000 ) ; +#10077 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#10078 = ORIENTED_EDGE ( 'NONE', *, *, #2706, .F. ) ; +#10079 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 0.7500238298461048281 ) ) ; +#10080 = CARTESIAN_POINT ( 'NONE', ( -65.15757525041176734, -69.78093751332785644, 15.76002382984610684 ) ) ; +#10081 = VERTEX_POINT ( 'NONE', #9824 ) ; +#10082 = CIRCLE ( 'NONE', #5295, 2.800000000000836486 ) ; +#10083 = CARTESIAN_POINT ( 'NONE', ( 1.930789787959816768E-15, 12.49999982601868354, 9.000000000000001776 ) ) ; +#10084 = VERTEX_POINT ( 'NONE', #8644 ) ; +#10085 = EDGE_CURVE ( 'NONE', #2735, #5680, #1990, .T. ) ; +#10086 = CARTESIAN_POINT ( 'NONE', ( -121.2332382947719509, -70.27419752359651284, 2.764212048802181965 ) ) ; +#10087 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#10088 = EDGE_CURVE ( 'NONE', #10649, #2839, #11949, .T. ) ; +#10089 = VECTOR ( 'NONE', #7802, 1000.000000000000000 ) ; +#10090 = EDGE_CURVE ( 'NONE', #6006, #9736, #11778, .T. ) ; +#10091 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -29.25000000000000000, 20.75002382984610350 ) ) ; +#10092 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#10093 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10094 = EDGE_CURVE ( 'NONE', #10106, #1723, #8845, .T. ) ; +#10095 = ORIENTED_EDGE ( 'NONE', *, *, #10814, .T. ) ; +#10096 = CARTESIAN_POINT ( 'NONE', ( -106.2828324936156434, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10097 = VERTEX_POINT ( 'NONE', #3710 ) ; +#10098 = CARTESIAN_POINT ( 'NONE', ( -100.2587410475830865, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10099 = DIRECTION ( 'NONE', ( -0.3420201433256614965, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#10100 = EDGE_LOOP ( 'NONE', ( #56, #2500, #9821, #6873 ) ) ; +#10101 = ADVANCED_FACE ( 'NONE', ( #10802 ), #908, .F. ) ; +#10102 = AXIS2_PLACEMENT_3D ( 'NONE', #3617, #11617, #7705 ) ; +#10103 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10104 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10105 = ADVANCED_FACE ( 'NONE', ( #12811 ), #1629, .T. ) ; +#10106 = VERTEX_POINT ( 'NONE', #1761 ) ; +#10107 = CARTESIAN_POINT ( 'NONE', ( -65.45434340800231610, -75.43555924184749983, 0.7600238298461086117 ) ) ; +#10108 = EDGE_CURVE ( 'NONE', #7435, #5285, #5729, .T. ) ; +#10109 = EDGE_CURVE ( 'NONE', #12, #3750, #8060, .T. ) ; +#10110 = ORIENTED_EDGE ( 'NONE', *, *, #341, .F. ) ; +#10111 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10112 = VECTOR ( 'NONE', #4528, 1000.000000000000000 ) ; +#10113 = CARTESIAN_POINT ( 'NONE', ( -98.27132804885827966, -65.01605763575113883, 41.32074430724679104 ) ) ; +#10114 = ORIENTED_EDGE ( 'NONE', *, *, #4685, .F. ) ; +#10115 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10116 = ORIENTED_EDGE ( 'NONE', *, *, #4158, .T. ) ; +#10117 = CARTESIAN_POINT ( 'NONE', ( -118.4709073099021168, -82.68144244079782368, 3.740162246727522177 ) ) ; +#10118 = ORIENTED_EDGE ( 'NONE', *, *, #2135, .F. ) ; +#10119 = VECTOR ( 'NONE', #7983, 1000.000000000000000 ) ; +#10120 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10121 = CYLINDRICAL_SURFACE ( 'NONE', #8607, 2.800000000000836486 ) ; +#10122 = VECTOR ( 'NONE', #6224, 1000.000000000000000 ) ; +#10123 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10124 = DIRECTION ( 'NONE', ( -0.3420201433256621071, 0.000000000000000000, 0.9396926207859107594 ) ) ; +#10125 = ORIENTED_EDGE ( 'NONE', *, *, #4367, .T. ) ; +#10126 = LINE ( 'NONE', #1449, #9708 ) ; +#10127 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 9.000000000000001776 ) ) ; +#10128 = LINE ( 'NONE', #12665, #10831 ) ; +#10129 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10130 = VECTOR ( 'NONE', #5106, 1000.000000000000000 ) ; +#10131 = EDGE_LOOP ( 'NONE', ( #8291, #3981, #10189, #7121 ) ) ; +#10132 = CARTESIAN_POINT ( 'NONE', ( -76.06847764257581446, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10133 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -55.25000000000000711, 17.75002382984610350 ) ) ; +#10134 = ORIENTED_EDGE ( 'NONE', *, *, #9818, .F. ) ; +#10135 = ADVANCED_FACE ( 'NONE', ( #1225 ), #3122, .T. ) ; +#10136 = CARTESIAN_POINT ( 'NONE', ( -112.4521779590901218, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10137 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283502416, -64.96605763575111325, 11.41464029950892645 ) ) ; +#10138 = AXIS2_PLACEMENT_3D ( 'NONE', #2832, #4832, #2895 ) ; +#10139 = ORIENTED_EDGE ( 'NONE', *, *, #2471, .F. ) ; +#10140 = CARTESIAN_POINT ( 'NONE', ( -93.82414335668882188, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10141 = LINE ( 'NONE', #3113, #1968 ) ; +#10142 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 29.62609303828505247 ) ) ; +#10143 = VERTEX_POINT ( 'NONE', #128 ) ; +#10144 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -11.50498006704499865, -3.469446951953614189E-15 ) ) ; +#10145 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575111325, 7.740162246727670059 ) ) ; +#10146 = ORIENTED_EDGE ( 'NONE', *, *, #1017, .F. ) ; +#10147 = AXIS2_PLACEMENT_3D ( 'NONE', #7758, #11734, #936 ) ; +#10148 = LINE ( 'NONE', #9953, #490 ) ; +#10149 = ORIENTED_EDGE ( 'NONE', *, *, #10739, .F. ) ; +#10150 = EDGE_CURVE ( 'NONE', #6649, #9150, #1162, .T. ) ; +#10151 = LINE ( 'NONE', #10276, #8163 ) ; +#10152 = FACE_OUTER_BOUND ( 'NONE', #4230, .T. ) ; +#10153 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#10154 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ; +#10155 = LINE ( 'NONE', #3445, #10243 ) ; +#10156 = EDGE_CURVE ( 'NONE', #7757, #4131, #2142, .T. ) ; +#10157 = VERTEX_POINT ( 'NONE', #7024 ) ; +#10158 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10159 = ORIENTED_EDGE ( 'NONE', *, *, #10090, .T. ) ; +#10160 = CARTESIAN_POINT ( 'NONE', ( -85.38058931491416104, -59.01605763575113173, 37.13228939359599678 ) ) ; +#10161 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10162 = ORIENTED_EDGE ( 'NONE', *, *, #824, .F. ) ; +#10163 = ADVANCED_FACE ( 'NONE', ( #10152 ), #5002, .F. ) ; +#10164 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -82.96605763575112746, 14.76002382984610151 ) ) ; +#10165 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#10166 = CARTESIAN_POINT ( 'NONE', ( -68.73590292800140844, -83.97078944614551688, 0.7600238298457464570 ) ) ; +#10167 = ORIENTED_EDGE ( 'NONE', *, *, #3251, .T. ) ; +#10168 = FACE_OUTER_BOUND ( 'NONE', #2598, .T. ) ; +#10169 = EDGE_CURVE ( 'NONE', #10031, #123, #6559, .T. ) ; +#10170 = LINE ( 'NONE', #1245, #5440 ) ; +#10171 = ORIENTED_EDGE ( 'NONE', *, *, #5448, .T. ) ; +#10172 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10173 = ORIENTED_EDGE ( 'NONE', *, *, #5364, .F. ) ; +#10174 = CARTESIAN_POINT ( 'NONE', ( -121.5824756038964409, -74.85570423547804353, 3.740162246727817941 ) ) ; +#10175 = ADVANCED_FACE ( 'NONE', ( #7152 ), #8909, .F. ) ; +#10176 = ORIENTED_EDGE ( 'NONE', *, *, #5566, .F. ) ; +#10177 = EDGE_CURVE ( 'NONE', #1232, #11773, #4097, .T. ) ; +#10178 = EDGE_CURVE ( 'NONE', #9783, #5127, #7083, .T. ) ; +#10179 = ADVANCED_FACE ( 'NONE', ( #3903 ), #11896, .T. ) ; +#10180 = CYLINDRICAL_SURFACE ( 'NONE', #4245, 1.000000000000000888 ) ; +#10181 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10182 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -23.45096189432328870, -1.848076211353339993 ) ) ; +#10183 = ORIENTED_EDGE ( 'NONE', *, *, #4002, .F. ) ; +#10184 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#10185 = EDGE_CURVE ( 'NONE', #9867, #6006, #8965, .T. ) ; +#10186 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10187 = LINE ( 'NONE', #3289, #643 ) ; +#10188 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10189 = ORIENTED_EDGE ( 'NONE', *, *, #9661, .F. ) ; +#10190 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#10191 = EDGE_CURVE ( 'NONE', #6394, #601, #5517, .T. ) ; +#10192 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 18.49016224672767095 ) ) ; +#10193 = ORIENTED_EDGE ( 'NONE', *, *, #9509, .F. ) ; +#10194 = DIRECTION ( 'NONE', ( 0.7071067811865475727, 0.7071067811865475727, 0.000000000000000000 ) ) ; +#10195 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, -0.3420201433256621071 ) ) ; +#10196 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#10197 = EDGE_LOOP ( 'NONE', ( #10790, #868, #236, #2939 ) ) ; +#10198 = CARTESIAN_POINT ( 'NONE', ( -96.61084556480354024, -59.01605763575113173, 28.97303062765322323 ) ) ; +#10199 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416809, -84.22785702355028548, 2.740162246727670503 ) ) ; +#10200 = CARTESIAN_POINT ( 'NONE', ( -80.46670735257715990, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10201 = ORIENTED_EDGE ( 'NONE', *, *, #1480, .F. ) ; +#10202 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#10203 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10204 = CIRCLE ( 'NONE', #6887, 6.124000000001836419 ) ; +#10205 = ORIENTED_EDGE ( 'NONE', *, *, #6909, .T. ) ; +#10206 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -58.46605763575112746, 1.760023829846103727 ) ) ; +#10207 = ORIENTED_EDGE ( 'NONE', *, *, #8407, .T. ) ; +#10208 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10209 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#10210 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#10211 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#10212 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#10213 = ADVANCED_FACE ( 'NONE', ( #7925 ), #10925, .T. ) ; +#10214 = ORIENTED_EDGE ( 'NONE', *, *, #10262, .F. ) ; +#10215 = CARTESIAN_POINT ( 'NONE', ( -96.28972783784547573, -65.01605763575113883, 42.69077310308948370 ) ) ; +#10216 = EDGE_LOOP ( 'NONE', ( #7461, #4476, #1627, #11902 ) ) ; +#10217 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10218 = ORIENTED_EDGE ( 'NONE', *, *, #9621, .F. ) ; +#10219 = AXIS2_PLACEMENT_3D ( 'NONE', #1892, #12750, #7031 ) ; +#10220 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10221 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#10222 = CARTESIAN_POINT ( 'NONE', ( -68.23908383814772094, -82.07811571754153590, 0.7600238298461045039 ) ) ; +#10223 = VERTEX_POINT ( 'NONE', #9038 ) ; +#10224 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -12.50498006704500042, 1.000000000000000000 ) ) ; +#10225 = EDGE_CURVE ( 'NONE', #8323, #1852, #11052, .T. ) ; +#10226 = CIRCLE ( 'NONE', #2951, 1.000000000000000888 ) ; +#10227 = ORIENTED_EDGE ( 'NONE', *, *, #8949, .T. ) ; +#10228 = LINE ( 'NONE', #9312, #7095 ) ; +#10229 = ORIENTED_EDGE ( 'NONE', *, *, #9132, .T. ) ; +#10230 = CARTESIAN_POINT ( 'NONE', ( -78.89220201511079722, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10231 = VERTEX_POINT ( 'NONE', #9956 ) ; +#10232 = CARTESIAN_POINT ( 'NONE', ( -119.7005534080707747, -80.75061317964451746, 2.740162246725490469 ) ) ; +#10233 = ORIENTED_EDGE ( 'NONE', *, *, #2974, .F. ) ; +#10234 = VECTOR ( 'NONE', #7985, 1000.000000000000000 ) ; +#10235 = EDGE_CURVE ( 'NONE', #6700, #11904, #190, .T. ) ; +#10236 = CIRCLE ( 'NONE', #11893, 1.000000000000000000 ) ; +#10237 = LINE ( 'NONE', #1388, #6752 ) ; +#10238 = DIRECTION ( 'NONE', ( -0.3420201433256545021, 0.000000000000000000, -0.9396926207859136460 ) ) ; +#10239 = CARTESIAN_POINT ( 'NONE', ( -98.52616851986171298, -59.01605763575113173, 41.06590383624336482 ) ) ; +#10240 = EDGE_LOOP ( 'NONE', ( #12751, #10690, #10214, #7032 ) ) ; +#10241 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10242 = EDGE_CURVE ( 'NONE', #6766, #11374, #5933, .T. ) ; +#10243 = VECTOR ( 'NONE', #387, 1000.000000000000114 ) ; +#10244 = VECTOR ( 'NONE', #9740, 1000.000000000000000 ) ; +#10245 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -17.44615242270659650, 1.000000000000000000 ) ) ; +#10246 = EDGE_CURVE ( 'NONE', #1201, #7435, #9893, .T. ) ; +#10247 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10248 = AXIS2_PLACEMENT_3D ( 'NONE', #8636, #12545, #7601 ) ; +#10249 = VERTEX_POINT ( 'NONE', #3311 ) ; +#10250 = FACE_OUTER_BOUND ( 'NONE', #9886, .T. ) ; +#10251 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -84.96605763575112746, 1.760023829846104615 ) ) ; +#10252 = VERTEX_POINT ( 'NONE', #12412 ) ; +#10253 = EDGE_CURVE ( 'NONE', #463, #2779, #7589, .T. ) ; +#10254 = VECTOR ( 'NONE', #10305, 1000.000000000000000 ) ; +#10255 = CARTESIAN_POINT ( 'NONE', ( -98.52616851986168456, -59.01605763575113173, 30.43428224033036500 ) ) ; +#10256 = VECTOR ( 'NONE', #8948, 1000.000000000000000 ) ; +#10257 = LINE ( 'NONE', #7066, #7409 ) ; +#10258 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 11.49999982601869775, 9.000000000000001776 ) ) ; +#10259 = AXIS2_PLACEMENT_3D ( 'NONE', #7277, #1042, #4355 ) ; +#10260 = ORIENTED_EDGE ( 'NONE', *, *, #10253, .T. ) ; +#10261 = CARTESIAN_POINT ( 'NONE', ( -87.22679879168684636, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10262 = EDGE_CURVE ( 'NONE', #6584, #5342, #11440, .T. ) ; +#10264 = VECTOR ( 'NONE', #11336, 1000.000000000000000 ) ; +#10263 = CARTESIAN_POINT ( 'NONE', ( -77.85708625271475114, -64.96605763575112746, 2.950023829846313284 ) ) ; +#10265 = CARTESIAN_POINT ( 'NONE', ( -93.30604171894366061, -65.01605763575113883, 41.86405317859909303 ) ) ; +#10266 = ORIENTED_EDGE ( 'NONE', *, *, #1428, .T. ) ; +#10267 = AXIS2_PLACEMENT_3D ( 'NONE', #7056, #12003, #6449 ) ; +#10268 = LINE ( 'NONE', #10144, #9402 ) ; +#10269 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#10270 = VECTOR ( 'NONE', #3217, 999.9999999999998863 ) ; +#10271 = CIRCLE ( 'NONE', #12325, 5.000000000000004441 ) ; +#10272 = VERTEX_POINT ( 'NONE', #10464 ) ; +#10273 = LINE ( 'NONE', #436, #11938 ) ; +#10274 = ORIENTED_EDGE ( 'NONE', *, *, #5406, .T. ) ; +#10275 = VECTOR ( 'NONE', #3051, 1000.000000000000000 ) ; +#10276 = CARTESIAN_POINT ( 'NONE', ( -87.38486598194182875, -59.01605763575113173, 30.43428224033044671 ) ) ; +#10277 = CARTESIAN_POINT ( 'NONE', ( -92.60499278285986691, -65.01605763575113883, 29.63613289797468653 ) ) ; +#10278 = AXIS2_PLACEMENT_3D ( 'NONE', #2158, #11003, #9054 ) ; +#10279 = FACE_OUTER_BOUND ( 'NONE', #7003, .T. ) ; +#10280 = SECURITY_CLASSIFICATION_LEVEL ( 'unclassified' ) ; +#10281 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.22785702355027126, 0.7600238298461038378 ) ) ; +#10282 = ORIENTED_EDGE ( 'NONE', *, *, #740, .F. ) ; +#10283 = VECTOR ( 'NONE', #3218, 1000.000000000000000 ) ; +#10284 = DIRECTION ( 'NONE', ( 0.3420201433256545021, 0.000000000000000000, 0.9396926207859136460 ) ) ; +#10285 = ORIENTED_EDGE ( 'NONE', *, *, #5792, .F. ) ; +#10286 = CARTESIAN_POINT ( 'NONE', ( -79.89345423360771292, -64.96605763575112746, 15.55016224672746183 ) ) ; +#10287 = ORIENTED_EDGE ( 'NONE', *, *, #10738, .F. ) ; +#10288 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -84.96605763575111325, 14.76002382984609973 ) ) ; +#10289 = ADVANCED_FACE ( 'NONE', ( #321 ), #1774, .T. ) ; +#10290 = AXIS2_PLACEMENT_3D ( 'NONE', #2813, #8577, #4691 ) ; +#10291 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10292 = CARTESIAN_POINT ( 'NONE', ( -70.94635768263852071, -84.96605762397283002, 0.7600238298344660359 ) ) ; +#10293 = EDGE_LOOP ( 'NONE', ( #8637, #4454, #1440, #5337 ) ) ; +#10294 = FACE_OUTER_BOUND ( 'NONE', #611, .T. ) ; +#10295 = ORIENTED_EDGE ( 'NONE', *, *, #10716, .F. ) ; +#10296 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#10297 = ORIENTED_EDGE ( 'NONE', *, *, #7541, .F. ) ; +#10298 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10299 = CIRCLE ( 'NONE', #8412, 7.700000000002309442 ) ; +#10300 = ORIENTED_EDGE ( 'NONE', *, *, #4091, .F. ) ; +#10301 = CARTESIAN_POINT ( 'NONE', ( -121.2075905228250576, -76.61781865419398230, 2.740162246730085904 ) ) ; +#10302 = ORIENTED_EDGE ( 'NONE', *, *, #9773, .T. ) ; +#10303 = EDGE_CURVE ( 'NONE', #11248, #1806, #9350, .T. ) ; +#10304 = LINE ( 'NONE', #10367, #5691 ) ; +#10305 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10306 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10307 = VECTOR ( 'NONE', #11762, 1000.000000000000000 ) ; +#10308 = ORIENTED_EDGE ( 'NONE', *, *, #6040, .F. ) ; +#10309 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 1.760023829846110610 ) ) ; +#10310 = DIRECTION ( 'NONE', ( -0.3420201433256689350, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#10311 = ORIENTED_EDGE ( 'NONE', *, *, #6969, .F. ) ; +#10312 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10313 = EDGE_CURVE ( 'NONE', #11415, #9471, #6493, .T. ) ; +#10314 = ORIENTED_EDGE ( 'NONE', *, *, #11326, .F. ) ; +#10315 = LINE ( 'NONE', #1398, #8380 ) ; +#10316 = CIRCLE ( 'NONE', #9697, 0.7999999999999951594 ) ; +#10317 = VECTOR ( 'NONE', #2225, 1000.000000000000000 ) ; +#10318 = LINE ( 'NONE', #12389, #2595 ) ; +#10319 = ORIENTED_EDGE ( 'NONE', *, *, #5052, .F. ) ; +#10320 = EDGE_CURVE ( 'NONE', #335, #11186, #10507, .T. ) ; +#10321 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10322 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10323 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -18.94615242270661071, -0.4019237886466941467 ) ) ; +#10324 = ORIENTED_EDGE ( 'NONE', *, *, #12304, .T. ) ; +#10325 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10326 = ORIENTED_EDGE ( 'NONE', *, *, #4968, .F. ) ; +#10327 = CARTESIAN_POINT ( 'NONE', ( -99.84823480272136464, -58.46605763575112746, 2.950023829846315060 ) ) ; +#10328 = CIRCLE ( 'NONE', #10944, 2.800000000000836486 ) ; +#10329 = CYLINDRICAL_SURFACE ( 'NONE', #3181, 7.700000000002309442 ) ; +#10330 = EDGE_CURVE ( 'NONE', #1001, #10460, #10299, .T. ) ; +#10331 = ORIENTED_EDGE ( 'NONE', *, *, #6844, .T. ) ; +#10332 = CARTESIAN_POINT ( 'NONE', ( -109.6798099851200305, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10333 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10334 = VERTEX_POINT ( 'NONE', #12215 ) ; +#10335 = CARTESIAN_POINT ( 'NONE', ( -100.5868239882426280, -59.01605763575113173, 34.72385842541719825 ) ) ; +#10336 = VERTEX_POINT ( 'NONE', #10399 ) ; +#10337 = EDGE_CURVE ( 'NONE', #2942, #2552, #7269, .T. ) ; +#10338 = VECTOR ( 'NONE', #5358, 1000.000000000000114 ) ; +#10339 = ADVANCED_FACE ( 'NONE', ( #9231 ), #3648, .T. ) ; +#10340 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10341 = EDGE_CURVE ( 'NONE', #2942, #2268, #12357, .T. ) ; +#10342 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10343 = ORIENTED_EDGE ( 'NONE', *, *, #1822, .T. ) ; +#10344 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10345 = CARTESIAN_POINT ( 'NONE', ( -89.35557767015389175, -13.89995144998309939, 0.000000000000000000 ) ) ; +#10346 = ORIENTED_EDGE ( 'NONE', *, *, #3322, .F. ) ; +#10347 = AXIS2_PLACEMENT_3D ( 'NONE', #12310, #6271, #5226 ) ; +#10348 = CARTESIAN_POINT ( 'NONE', ( -101.4566036840868151, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10349 = ORIENTED_EDGE ( 'NONE', *, *, #11379, .F. ) ; +#10350 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.75000000000000711, 19.25002382984610705 ) ) ; +#10351 = VERTEX_POINT ( 'NONE', #10277 ) ; +#10352 = CARTESIAN_POINT ( 'NONE', ( -64.70344397873843434, -76.61781865425247418, 14.76002382984669836 ) ) ; +#10354 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10353 = LOCAL_TIME ( 15, 10, 40.00000000000000000, #1227 ) ; +#10355 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#10356 = ORIENTED_EDGE ( 'NONE', *, *, #7700, .T. ) ; +#10357 = CYLINDRICAL_SURFACE ( 'NONE', #1823, 7.700000000002309442 ) ; +#10358 = ORIENTED_EDGE ( 'NONE', *, *, #12349, .F. ) ; +#10359 = CARTESIAN_POINT ( 'NONE', ( -77.69433937860706862, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10360 = ORIENTED_EDGE ( 'NONE', *, *, #11361, .F. ) ; +#10361 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#10362 = EDGE_CURVE ( 'NONE', #3048, #6601, #11241, .T. ) ; +#10363 = VERTEX_POINT ( 'NONE', #8304 ) ; +#10364 = CYLINDRICAL_SURFACE ( 'NONE', #1537, 1.000000000000000000 ) ; +#10365 = VERTEX_POINT ( 'NONE', #9419 ) ; +#10366 = EDGE_CURVE ( 'NONE', #599, #5563, #11380, .T. ) ; +#10367 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -59.46605763575112746, 4.250023829846106160 ) ) ; +#10368 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#10369 = LINE ( 'NONE', #3155, #7392 ) ; +#10370 = VERTEX_POINT ( 'NONE', #1360 ) ; +#10371 = FACE_OUTER_BOUND ( 'NONE', #8751, .T. ) ; +#10372 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10373 = EDGE_LOOP ( 'NONE', ( #9532, #528, #3574 ) ) ; +#10374 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -64.96605763575112746, 1.760023829846104615 ) ) ; +#10375 = EDGE_CURVE ( 'NONE', #6147, #5519, #6369, .T. ) ; +#10376 = ORIENTED_EDGE ( 'NONE', *, *, #8226, .F. ) ; +#10377 = FACE_OUTER_BOUND ( 'NONE', #2401, .T. ) ; +#10378 = AXIS2_PLACEMENT_3D ( 'NONE', #6258, #3210, #10298 ) ; +#10379 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 9.000000000000001776 ) ) ; +#10380 = ORIENTED_EDGE ( 'NONE', *, *, #5934, .T. ) ; +#10381 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10382 = FACE_OUTER_BOUND ( 'NONE', #6930, .T. ) ; +#10383 = CARTESIAN_POINT ( 'NONE', ( -67.35717129160148886, -67.44796273729667746, 15.12895577302574424 ) ) ; +#10384 = ORIENTED_EDGE ( 'NONE', *, *, #10362, .F. ) ; +#10385 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -82.96605763575112746, 2.740162246727670503 ) ) ; +#10386 = ORIENTED_EDGE ( 'NONE', *, *, #2134, .F. ) ; +#10387 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10388 = FACE_OUTER_BOUND ( 'NONE', #5849, .T. ) ; +#10389 = ADVANCED_FACE ( 'NONE', ( #1421 ), #6431, .T. ) ; +#10390 = VERTEX_POINT ( 'NONE', #8439 ) ; +#10391 = FACE_OUTER_BOUND ( 'NONE', #10623, .T. ) ; +#10392 = LINE ( 'NONE', #9286, #8043 ) ; +#10393 = VERTEX_POINT ( 'NONE', #4221 ) ; +#10394 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685318, -64.96605763575112746, 14.25016224672766896 ) ) ; +#10395 = ORIENTED_EDGE ( 'NONE', *, *, #1321, .T. ) ; +#10396 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10397 = AXIS2_PLACEMENT_3D ( 'NONE', #4946, #63, #7929 ) ; +#10398 = ADVANCED_FACE ( 'NONE', ( #3506 ), #6238, .T. ) ; +#10399 = CARTESIAN_POINT ( 'NONE', ( -96.26563260289117352, -59.01605763575113173, 30.59776226896057594 ) ) ; +#10400 = VERTEX_POINT ( 'NONE', #7789 ) ; +#10401 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10402 = EDGE_CURVE ( 'NONE', #4863, #2097, #5730, .T. ) ; +#10403 = ORIENTED_EDGE ( 'NONE', *, *, #11960, .F. ) ; +#10405 = EDGE_CURVE ( 'NONE', #8236, #930, #1371, .T. ) ; +#10404 = AXIS2_PLACEMENT_3D ( 'NONE', #6302, #6239, #5258 ) ; +#10406 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10407 = EDGE_CURVE ( 'NONE', #6392, #8124, #4676, .T. ) ; +#10408 = ORIENTED_EDGE ( 'NONE', *, *, #5874, .F. ) ; +#10409 = CARTESIAN_POINT ( 'NONE', ( -100.4214879216908116, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10410 = ORIENTED_EDGE ( 'NONE', *, *, #10844, .F. ) ; +#10411 = CARTESIAN_POINT ( 'NONE', ( -69.33450955752799416, -83.16881345813349924, 15.76002382984609618 ) ) ; +#10412 = ADVANCED_FACE ( 'NONE', ( #12472 ), #3753, .F. ) ; +#10413 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10414 = VECTOR ( 'NONE', #6405, 1000.000000000000000 ) ; +#10415 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -71.39981715203164470, 1.760023829845802634 ) ) ; +#10416 = CARTESIAN_POINT ( 'NONE', ( -98.27132804885825124, -59.01605763575113173, 30.17944176932694589 ) ) ; +#10417 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10418 = EDGE_CURVE ( 'NONE', #4863, #6538, #2728, .T. ) ; +#10419 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 9.000000000000001776 ) ) ; +#10420 = ORIENTED_EDGE ( 'NONE', *, *, #5042, .F. ) ; +#10421 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 36.61720551108070509 ) ) ; +#10422 = ORIENTED_EDGE ( 'NONE', *, *, #11541, .F. ) ; +#10423 = LINE ( 'NONE', #1504, #3522 ) ; +#10424 = ORIENTED_EDGE ( 'NONE', *, *, #4537, .F. ) ; +#10425 = FACE_OUTER_BOUND ( 'NONE', #3348, .T. ) ; +#10426 = ORIENTED_EDGE ( 'NONE', *, *, #10013, .F. ) ; +#10427 = CARTESIAN_POINT ( 'NONE', ( -109.8425568592277557, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10428 = CYLINDRICAL_SURFACE ( 'NONE', #480, 1.000000000000000888 ) ; +#10429 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10430 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10431 = VECTOR ( 'NONE', #12031, 1000.000000000000000 ) ; +#10432 = EDGE_LOOP ( 'NONE', ( #5344, #2897, #11763, #11686 ) ) ; +#10433 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10434 = CARTESIAN_POINT ( 'NONE', ( -83.86368484408154700, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10435 = VERTEX_POINT ( 'NONE', #2603 ) ; +#10436 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#10437 = ORIENTED_EDGE ( 'NONE', *, *, #5476, .T. ) ; +#10438 = LINE ( 'NONE', #8609, #9641 ) ; +#10439 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10440 = EDGE_LOOP ( 'NONE', ( #9927, #1221, #7019, #8828 ) ) ; +#10441 = LINE ( 'NONE', #1528, #8809 ) ; +#10442 = EDGE_CURVE ( 'NONE', #11974, #7725, #12789, .T. ) ; +#10443 = CIRCLE ( 'NONE', #4413, 2.800000000000836486 ) ; +#10444 = CARTESIAN_POINT ( 'NONE', ( -91.57332089559271537, -59.01605763575113173, 28.17516510229925331 ) ) ; +#10445 = FACE_OUTER_BOUND ( 'NONE', #6476, .T. ) ; +#10446 = AXIS2_PLACEMENT_3D ( 'NONE', #9602, #8620, #6554 ) ; +#10447 = VERTEX_POINT ( 'NONE', #3565 ) ; +#10448 = FACE_OUTER_BOUND ( 'NONE', #8295, .T. ) ; +#10449 = AXIS2_PLACEMENT_3D ( 'NONE', #2805, #10008, #1945 ) ; +#10450 = EDGE_LOOP ( 'NONE', ( #11918, #8683, #11490, #5828 ) ) ; +#10451 = CARTESIAN_POINT ( 'NONE', ( -93.98175186377140733, -65.01605763575113883, 28.11878630094603082 ) ) ; +#10452 = DIRECTION ( 'NONE', ( 0.3420201433256689350, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#10453 = VERTEX_POINT ( 'NONE', #6689 ) ; +#10454 = CARTESIAN_POINT ( 'NONE', ( -90.88902850861101967, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10455 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10456 = CIRCLE ( 'NONE', #3595, 6.124000000001832866 ) ; +#10457 = ORIENTED_EDGE ( 'NONE', *, *, #9621, .T. ) ; +#10458 = VECTOR ( 'NONE', #10048, 1000.000000000000000 ) ; +#10459 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090182060, -52.01605763575113883, 33.30009303828681766 ) ) ; +#10460 = VERTEX_POINT ( 'NONE', #10600 ) ; +#10461 = AXIS2_PLACEMENT_3D ( 'NONE', #11818, #10839, #6816 ) ; +#10462 = CARTESIAN_POINT ( 'NONE', ( -95.86051133758178366, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10463 = ADVANCED_FACE ( 'NONE', ( #11631 ), #12601, .F. ) ; +#10464 = CARTESIAN_POINT ( 'NONE', ( -94.28600600011540678, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10465 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #5376, #10199, #8049, #1409, #7204, #2396 ), + .UNSPECIFIED., .F., .F., + ( 4, 2, 4 ), + ( 0.000000000000000000, 0.5000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) ; +#10466 = ORIENTED_EDGE ( 'NONE', *, *, #7750, .T. ) ; +#10467 = CYLINDRICAL_SURFACE ( 'NONE', #2932, 6.124000000001829314 ) ; +#10468 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10469 = VECTOR ( 'NONE', #12353, 1000.000000000000000 ) ; +#10470 = ORIENTED_EDGE ( 'NONE', *, *, #11111, .T. ) ; +#10471 = CARTESIAN_POINT ( 'NONE', ( -93.66139648258112516, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10472 = EDGE_CURVE ( 'NONE', #4617, #11803, #2199, .T. ) ; +#10473 = ORIENTED_EDGE ( 'NONE', *, *, #4932, .F. ) ; +#10474 = VECTOR ( 'NONE', #3541, 1000.000000000000000 ) ; +#10475 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -84.96605763575112746, 17.74016224672767095 ) ) ; +#10476 = ORIENTED_EDGE ( 'NONE', *, *, #3053, .T. ) ; +#10477 = CARTESIAN_POINT ( 'NONE', ( -68.10389679592773859, -83.41543600442719253, 15.76002382984429318 ) ) ; +#10478 = VECTOR ( 'NONE', #8807, 1000.000000000000000 ) ; +#10479 = ADVANCED_FACE ( 'NONE', ( #7660 ), #1874, .T. ) ; +#10480 = VECTOR ( 'NONE', #4327, 1000.000000000000000 ) ; +#10481 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -58.46605763575112746, -0.7499761701538951719 ) ) ; +#10482 = ADVANCED_FACE ( 'NONE', ( #4739 ), #7721, .F. ) ; +#10483 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -69.96605763575112746, 0.7600238298461016173 ) ) ; +#10484 = AXIS2_PLACEMENT_3D ( 'NONE', #1215, #12263, #1276 ) ; +#10485 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10486 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10487 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10488 = EDGE_LOOP ( 'NONE', ( #7710, #10162, #4248, #10531 ) ) ; +#10489 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10490 = ORIENTED_EDGE ( 'NONE', *, *, #5117, .T. ) ; +#10491 = VECTOR ( 'NONE', #4635, 1000.000000000000000 ) ; +#10492 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#10493 = ADVANCED_FACE ( 'NONE', ( #638 ), #11509, .F. ) ; +#10494 = AXIS2_PLACEMENT_3D ( 'NONE', #8243, #8117, #3121 ) ; +#10495 = ORIENTED_EDGE ( 'NONE', *, *, #7861, .F. ) ; +#10496 = CARTESIAN_POINT ( 'NONE', ( -121.9725357169367328, -70.76159287803561426, 2.740162246727655404 ) ) ; +#10497 = ORIENTED_EDGE ( 'NONE', *, *, #4357, .F. ) ; +#10498 = VECTOR ( 'NONE', #11808, 1000.000000000000000 ) ; +#10499 = EDGE_CURVE ( 'NONE', #298, #4743, #5781, .T. ) ; +#10500 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#10501 = EDGE_CURVE ( 'NONE', #12593, #12222, #6567, .T. ) ; +#10502 = EDGE_CURVE ( 'NONE', #2310, #2923, #7597, .T. ) ; +#10503 = CARTESIAN_POINT ( 'NONE', ( -77.42908715318728241, -58.46605763575112746, 2.950023829846312395 ) ) ; +#10504 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#10505 = VERTEX_POINT ( 'NONE', #4800 ) ; +#10506 = CYLINDRICAL_SURFACE ( 'NONE', #12002, 1.000000000000000888 ) ; +#10507 = CIRCLE ( 'NONE', #7796, 1.000000000000000888 ) ; +#10508 = CARTESIAN_POINT ( 'NONE', ( -89.35557767015389175, -13.89995144998309939, 10.00000000000000000 ) ) ; +#10509 = ORIENTED_EDGE ( 'NONE', *, *, #10972, .F. ) ; +#10510 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10511 = ORIENTED_EDGE ( 'NONE', *, *, #10225, .T. ) ; +#10512 = CARTESIAN_POINT ( 'NONE', ( -87.38486598194182875, -59.01605763575113173, 30.43428224033044671 ) ) ; +#10513 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 8.073495580061003096 ) ) ; +#10514 = VERTEX_POINT ( 'NONE', #8759 ) ; +#10515 = AXIS2_PLACEMENT_3D ( 'NONE', #7526, #9616, #577 ) ; +#10516 = LINE ( 'NONE', #12256, #1734 ) ; +#10517 = CARTESIAN_POINT ( 'NONE', ( -111.2618151437952605, -64.96605763575112746, 4.021259996174358697 ) ) ; +#10518 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#10519 = VERTEX_POINT ( 'NONE', #12728 ) ; +#10520 = FACE_OUTER_BOUND ( 'NONE', #11871, .T. ) ; +#10521 = VERTEX_POINT ( 'NONE', #10534 ) ; +#10522 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10523 = LINE ( 'NONE', #3745, #10861 ) ; +#10524 = AXIS2_PLACEMENT_3D ( 'NONE', #10182, #11212, #2303 ) ; +#10525 = ORIENTED_EDGE ( 'NONE', *, *, #5721, .T. ) ; +#10526 = CYLINDRICAL_SURFACE ( 'NONE', #4852, 2.800000000000829381 ) ; +#10527 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256614409 ) ) ; +#10528 = EDGE_CURVE ( 'NONE', #11362, #4426, #1617, .T. ) ; +#10529 = EDGE_LOOP ( 'NONE', ( #8508, #4524, #328, #4433 ) ) ; +#10530 = FACE_OUTER_BOUND ( 'NONE', #919, .T. ) ; +#10531 = ORIENTED_EDGE ( 'NONE', *, *, #7374, .F. ) ; +#10532 = CARTESIAN_POINT ( 'NONE', ( -89.30018893699994464, -65.01605763575113883, 28.97303062765327653 ) ) ; +#10533 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 1.084202172485503448E-16 ) ) ; +#10534 = CARTESIAN_POINT ( 'NONE', ( -91.05177538271874482, -64.96605763575112746, 2.950023829846315060 ) ) ; +#10535 = VECTOR ( 'NONE', #8861, 999.9999999999998863 ) ; +#10536 = VECTOR ( 'NONE', #9334, 1000.000000000000000 ) ; +#10537 = ORIENTED_EDGE ( 'NONE', *, *, #5564, .F. ) ; +#10538 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -68.96605763575112746, 4.250023829846105272 ) ) ; +#10539 = LINE ( 'NONE', #1620, #10651 ) ; +#10540 = ORIENTED_EDGE ( 'NONE', *, *, #1019, .T. ) ; +#10541 = FACE_OUTER_BOUND ( 'NONE', #247, .T. ) ; +#10542 = CIRCLE ( 'NONE', #6595, 2.800000000000843592 ) ; +#10543 = ADVANCED_FACE ( 'NONE', ( #1021 ), #1077, .T. ) ; +#10544 = VECTOR ( 'NONE', #7115, 1000.000000000000000 ) ; +#10545 = ORIENTED_EDGE ( 'NONE', *, *, #1979, .T. ) ; +#10546 = CIRCLE ( 'NONE', #12195, 1.000000000000000888 ) ; +#10547 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10548 = ORIENTED_EDGE ( 'NONE', *, *, #2229, .F. ) ; +#10549 = CARTESIAN_POINT ( 'NONE', ( -66.64479097406159269, -79.35573128507630258, 15.76002382984610684 ) ) ; +#10550 = CARTESIAN_POINT ( 'NONE', ( -103.8184654131951987, -64.96605763575112746, 2.950023829846314172 ) ) ; +#10551 = EDGE_CURVE ( 'NONE', #753, #10519, #6947, .T. ) ; +#10552 = CARTESIAN_POINT ( 'NONE', ( -103.2452122942257517, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10553 = VECTOR ( 'NONE', #11531, 1000.000000000000000 ) ; +#10554 = AXIS2_PLACEMENT_3D ( 'NONE', #681, #1922, #5824 ) ; +#10555 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10556 = LINE ( 'NONE', #6448, #7026 ) ; +#10557 = CARTESIAN_POINT ( 'NONE', ( -92.82289113819189197, -58.46605763575112746, 2.950023829846314172 ) ) ; +#10558 = EDGE_LOOP ( 'NONE', ( #992, #10632, #10314, #11771 ) ) ; +#10559 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10560 = VERTEX_POINT ( 'NONE', #11883 ) ; +#10561 = LINE ( 'NONE', #1638, #12871 ) ; +#10562 = EDGE_CURVE ( 'NONE', #5302, #11403, #4144, .T. ) ; +#10563 = ORIENTED_EDGE ( 'NONE', *, *, #5797, .T. ) ; +#10564 = CARTESIAN_POINT ( 'NONE', ( -98.52616851986168456, -65.01605763575113883, 30.43428224033036500 ) ) ; +#10565 = ORIENTED_EDGE ( 'NONE', *, *, #3169, .T. ) ; +#10566 = VECTOR ( 'NONE', #8911, 1000.000000000000000 ) ; +#10567 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10569 = ADVANCED_FACE ( 'NONE', ( #45 ), #11966, .T. ) ; +#10568 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -64.96605763575112746, 14.25016224672766896 ) ) ; +#10570 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10571 = ORIENTED_EDGE ( 'NONE', *, *, #12669, .F. ) ; +#10572 = CARTESIAN_POINT ( 'NONE', ( -118.2773243143907820, -81.22632021046081263, 17.74016224672766739 ) ) ; +#10573 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -27.25000000000000355, 2.000000000000002665 ) ) ; +#10574 = CLOSED_SHELL ( 'NONE', ( #2907, #12719, #9675, #4762, #3971, #12255, #8015, #9941, #8286, #8995, #10213, #7468, #8996, #11599, #10105, #7847, #6347, #1248, #10579, #3324, #1963, #2081, #2943, #11816, #12049, #10543, #12633, #3788, #7713, #5163, #2880, #7839, #7454, #3807, #3664, #74, #10179, #8573, #12535, #2258, #524, #2020, #12397, #925, #9777, #8487, #8251, #11193, #9368, #10398, #10882, #8648, #3529, #9895, #3901, #11253, #12476, #12467, #6696, #8857, #3235, #9924, #5172, #2520, #48, #3557, #5957, #8039, #371, #4996, #4170, #9978, #161, #6562, #5072, #5852, #6266, #10656, #7123, #5521, #6209, #1872, #5322, #8820, #453, #9031, #1012, #2223, #7976 ) ) ; +#10575 = ORIENTED_EDGE ( 'NONE', *, *, #940, .T. ) ; +#10576 = CARTESIAN_POINT ( 'NONE', ( -103.0824654201180692, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10577 = EDGE_CURVE ( 'NONE', #1604, #1767, #5905, .T. ) ; +#10578 = ORIENTED_EDGE ( 'NONE', *, *, #2469, .F. ) ; +#10579 = ADVANCED_FACE ( 'NONE', ( #5972 ), #4985, .T. ) ; +#10580 = PLANE ( 'NONE', #5064 ) ; +#10581 = EDGE_CURVE ( 'NONE', #1346, #1782, #5048, .T. ) ; +#10582 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10583 = ORIENTED_EDGE ( 'NONE', *, *, #2312, .T. ) ; +#10584 = CARTESIAN_POINT ( 'NONE', ( -74.64921935800832387, -64.96605763575112746, 14.47892608039941642 ) ) ; +#10585 = ADVANCED_FACE ( 'NONE', ( #10000 ), #4012, .F. ) ; +#10586 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#10587 = CARTESIAN_POINT ( 'NONE', ( -98.87855690028371214, -59.01605763575113173, 34.19414403145147219 ) ) ; +#10588 = VERTEX_POINT ( 'NONE', #10977 ) ; +#10589 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10590 = ORIENTED_EDGE ( 'NONE', *, *, #4769, .F. ) ; +#10591 = FACE_OUTER_BOUND ( 'NONE', #7276, .T. ) ; +#10592 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#10593 = EDGE_LOOP ( 'NONE', ( #6163, #6022, #2963, #11733 ) ) ; +#10594 = FACE_OUTER_BOUND ( 'NONE', #6890, .T. ) ; +#10595 = CARTESIAN_POINT ( 'NONE', ( -95.86051133758178366, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10596 = CARTESIAN_POINT ( 'NONE', ( -119.5061490118284127, -81.11532610479616778, 17.74016224673007258 ) ) ; +#10597 = ORIENTED_EDGE ( 'NONE', *, *, #10791, .F. ) ; +#10598 = LINE ( 'NONE', #2470, #4257 ) ; +#10599 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10600 = CARTESIAN_POINT ( 'NONE', ( -85.32421051356092789, -65.01605763575113883, 34.72385842541730483 ) ) ; +#10601 = AXIS2_PLACEMENT_3D ( 'NONE', #3733, #9723, #807 ) ; +#10602 = EDGE_LOOP ( 'NONE', ( #6722, #10590, #6800, #5233 ) ) ; +#10603 = CARTESIAN_POINT ( 'NONE', ( -96.28972783784541889, -59.01605763575113173, 28.80941297348426744 ) ) ; +#10604 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -63.46605763575112746, 0.7600238298461048370 ) ) ; +#10605 = ORIENTED_EDGE ( 'NONE', *, *, #6532, .F. ) ; +#10606 = PLANE ( 'NONE', #7311 ) ; +#10607 = VECTOR ( 'NONE', #912, 1000.000000000000000 ) ; +#10608 = ORIENTED_EDGE ( 'NONE', *, *, #4998, .F. ) ; +#10609 = AXIS2_PLACEMENT_3D ( 'NONE', #3906, #8847, #7997 ) ; +#10610 = FACE_OUTER_BOUND ( 'NONE', #11751, .T. ) ; +#10611 = ORIENTED_EDGE ( 'NONE', *, *, #940, .F. ) ; +#10612 = CARTESIAN_POINT ( 'NONE', ( -67.44012719343820095, -82.68144243968498586, 15.76002382984609618 ) ) ; +#10613 = DIRECTION ( 'NONE', ( -0.3420201433256689350, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#10614 = EDGE_CURVE ( 'NONE', #10016, #5159, #12857, .T. ) ; +#10615 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 15.25016224672767784 ) ) ; +#10616 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 8.450093038286887293 ) ) ; +#10617 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10618 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#10619 = VERTEX_POINT ( 'NONE', #9020 ) ; +#10620 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -63.46605763575112746, 19.25016224672767251 ) ) ; +#10621 = ORIENTED_EDGE ( 'NONE', *, *, #7914, .T. ) ; +#10622 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#10623 = EDGE_LOOP ( 'NONE', ( #8589, #10395, #9114, #431, #8880, #8001 ) ) ; +#10624 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10625 = ORIENTED_EDGE ( 'NONE', *, *, #7388, .F. ) ; +#10626 = VECTOR ( 'NONE', #11023, 1000.000000000000114 ) ; +#10627 = AXIS2_PLACEMENT_3D ( 'NONE', #1329, #353, #10312 ) ; +#10628 = CARTESIAN_POINT ( 'NONE', ( -75.65797139771410684, -64.96605763575112746, 2.950023829846315948 ) ) ; +#10629 = ADVANCED_FACE ( 'NONE', ( #114 ), #6146, .T. ) ; +#10630 = CARTESIAN_POINT ( 'NONE', ( -100.5868239882426280, -59.01605763575113173, 34.72385842541719825 ) ) ; +#10631 = CARTESIAN_POINT ( 'NONE', ( -102.6206027766914701, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10632 = ORIENTED_EDGE ( 'NONE', *, *, #11319, .F. ) ; +#10633 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10634 = CIRCLE ( 'NONE', #1910, 6.124000000001829314 ) ; +#10635 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10636 = VERTEX_POINT ( 'NONE', #6882 ) ; +#10637 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#10638 = ORIENTED_EDGE ( 'NONE', *, *, #5432, .T. ) ; +#10639 = CARTESIAN_POINT ( 'NONE', ( -86.17845484026818781, -65.01605763575113883, 39.40542135218875330 ) ) ; +#10640 = ADVANCED_FACE ( 'NONE', ( #4081 ), #5120, .F. ) ; +#10641 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 9.250093038286888003 ) ) ; +#10642 = AXIS2_PLACEMENT_3D ( 'NONE', #8518, #9511, #10752 ) ; +#10643 = ADVANCED_FACE ( 'NONE', ( #1938 ), #179, .F. ) ; +#10644 = CARTESIAN_POINT ( 'NONE', ( -86.22554657318990223, -64.96605763575112746, 2.950023829846315060 ) ) ; +#10645 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 11.49999982601869952, 10.00000000000000000 ) ) ; +#10646 = EDGE_CURVE ( 'NONE', #7714, #10365, #6090, .T. ) ; +#10647 = ORIENTED_EDGE ( 'NONE', *, *, #6985, .F. ) ; +#10648 = LINE ( 'NONE', #5766, #1606 ) ; +#10649 = VERTEX_POINT ( 'NONE', #5840 ) ; +#10650 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -69.96605763575111325, 7.740162246727670059 ) ) ; +#10651 = VECTOR ( 'NONE', #2536, 1000.000000000000000 ) ; +#10652 = CARTESIAN_POINT ( 'NONE', ( -104.0837176386149849, -58.46605763575112746, 15.55016224672746183 ) ) ; +#10653 = ORIENTED_EDGE ( 'NONE', *, *, #6836, .T. ) ; +#10654 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10655 = FACE_OUTER_BOUND ( 'NONE', #10813, .T. ) ; +#10656 = ADVANCED_FACE ( 'NONE', ( #9811 ), #4867, .T. ) ; +#10657 = CARTESIAN_POINT ( 'NONE', ( -118.7938328784765645, -80.32614825084905874, 17.74016224672765674 ) ) ; +#10658 = ORIENTED_EDGE ( 'NONE', *, *, #6919, .T. ) ; +#10659 = FACE_OUTER_BOUND ( 'NONE', #8746, .T. ) ; +#10660 = ADVANCED_FACE ( 'NONE', ( #6415 ), #12324, .T. ) ; +#10661 = CARTESIAN_POINT ( 'NONE', ( -65.69022505013765567, -76.44160863477900136, 0.7600238298461026165 ) ) ; +#10662 = DIRECTION ( 'NONE', ( 3.002406016113880042E-17, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10663 = VECTOR ( 'NONE', #9285, 1000.000000000000000 ) ; +#10664 = VERTEX_POINT ( 'NONE', #10258 ) ; +#10665 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#10666 = LINE ( 'NONE', #6497, #11909 ) ; +#10667 = ORIENTED_EDGE ( 'NONE', *, *, #7502, .F. ) ; +#10668 = LINE ( 'NONE', #6831, #11695 ) ; +#10669 = AXIS2_PLACEMENT_3D ( 'NONE', #11190, #10217, #2281 ) ; +#10670 = VERTEX_POINT ( 'NONE', #1461 ) ; +#10671 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#10672 = ORIENTED_EDGE ( 'NONE', *, *, #4508, .T. ) ; +#10673 = CARTESIAN_POINT ( 'NONE', ( -64.97258012314875941, -71.60035044999321485, 15.76002382984610328 ) ) ; +#10674 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -29.25000000000000000, 20.75002382984610350 ) ) ; +#10675 = AXIS2_PLACEMENT_3D ( 'NONE', #558, #2449, #5304 ) ; +#10676 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10677 = AXIS2_PLACEMENT_3D ( 'NONE', #7728, #9890, #6699 ) ; +#10678 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164844250, -69.25895085456458844, 14.76002382984610151 ) ) ; +#10679 = CARTESIAN_POINT ( 'NONE', ( -87.68866143511344546, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10680 = CARTESIAN_POINT ( 'NONE', ( -87.06405191757912121, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10681 = ORIENTED_EDGE ( 'NONE', *, *, #1266, .F. ) ; +#10682 = VECTOR ( 'NONE', #10825, 1000.000000000000000 ) ; +#10683 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#10684 = ORIENTED_EDGE ( 'NONE', *, *, #2931, .T. ) ; +#10685 = DIRECTION ( 'NONE', ( 0.3420201433256621071, 0.000000000000000000, -0.9396926207859107594 ) ) ; +#10686 = EDGE_LOOP ( 'NONE', ( #1908, #11879, #5214, #5842 ) ) ; +#10687 = AXIS2_PLACEMENT_3D ( 'NONE', #11157, #11022, #103 ) ; +#10688 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10689 = VECTOR ( 'NONE', #3738, 1000.000000000000000 ) ; +#10690 = ORIENTED_EDGE ( 'NONE', *, *, #12468, .F. ) ; +#10691 = EDGE_CURVE ( 'NONE', #10521, #10400, #489, .T. ) ; +#10692 = VECTOR ( 'NONE', #12339, 1000.000000000000000 ) ; +#10693 = AXIS2_PLACEMENT_3D ( 'NONE', #2715, #5634, #12522 ) ; +#10694 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -24.68297142738792616, -3.249976170153895172 ) ) ; +#10695 = FACE_OUTER_BOUND ( 'NONE', #6261, .T. ) ; +#10696 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 0.000000000000000000 ) ) ; +#10697 = ORIENTED_EDGE ( 'NONE', *, *, #12382, .F. ) ; +#10698 = LINE ( 'NONE', #12442, #364 ) ; +#10699 = VECTOR ( 'NONE', #6975, 1000.000000000000227 ) ; +#10700 = CIRCLE ( 'NONE', #6509, 1.000000000000000888 ) ; +#10701 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10702 = ORIENTED_EDGE ( 'NONE', *, *, #6490, .T. ) ; +#10703 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10704 = AXIS2_PLACEMENT_3D ( 'NONE', #9435, #3453, #1491 ) ; +#10705 = ORIENTED_EDGE ( 'NONE', *, *, #1292, .F. ) ; +#10706 = FACE_OUTER_BOUND ( 'NONE', #10906, .T. ) ; +#10707 = ADVANCED_FACE ( 'NONE', ( #6286 ), #4067, .T. ) ; +#10708 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10709 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10710 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 2.740162246727670503 ) ) ; +#10711 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#10712 = VECTOR ( 'NONE', #7332, 1000.000000000000000 ) ; +#10713 = VECTOR ( 'NONE', #1917, 1000.000000000000227 ) ; +#10714 = VERTEX_POINT ( 'NONE', #5372 ) ; +#10715 = CARTESIAN_POINT ( 'NONE', ( -96.64786772922379043, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10716 = EDGE_CURVE ( 'NONE', #3102, #2189, #9211, .T. ) ; +#10717 = ORIENTED_EDGE ( 'NONE', *, *, #5199, .F. ) ; +#10718 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10719 = CARTESIAN_POINT ( 'NONE', ( -87.02215790113889682, -59.01605763575113173, 32.91049171141277441 ) ) ; +#10720 = EDGE_LOOP ( 'NONE', ( #5945, #2090, #5384, #2437 ) ) ; +#10721 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10722 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -26.25000000000000355, 15.50019557898779610 ) ) ; +#10723 = EDGE_CURVE ( 'NONE', #9420, #726, #11334, .T. ) ; +#10724 = VECTOR ( 'NONE', #6548, 1000.000000000000000 ) ; +#10725 = CARTESIAN_POINT ( 'NONE', ( -121.1008930452911159, -77.03368300856490691, 16.74016224672706699 ) ) ; +#10726 = ORIENTED_EDGE ( 'NONE', *, *, #3184, .F. ) ; +#10727 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10728 = CARTESIAN_POINT ( 'NONE', ( -68.94658240228469026, -82.83819084104924002, 0.7600238298461042818 ) ) ; +#10729 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10730 = ORIENTED_EDGE ( 'NONE', *, *, #2226, .F. ) ; +#10731 = EDGE_CURVE ( 'NONE', #11826, #7873, #3488, .T. ) ; +#10732 = VECTOR ( 'NONE', #8811, 1000.000000000000000 ) ; +#10733 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 9.000000000000001776 ) ) ; +#10734 = AXIS2_PLACEMENT_3D ( 'NONE', #6824, #1873, #9810 ) ; +#10735 = FACE_OUTER_BOUND ( 'NONE', #10432, .T. ) ; +#10736 = VERTEX_POINT ( 'NONE', #10323 ) ; +#10737 = CARTESIAN_POINT ( 'NONE', ( -96.40560150000000306, 11.49999982601869952, 0.4142135623730938687 ) ) ; +#10738 = EDGE_CURVE ( 'NONE', #2186, #3823, #363, .T. ) ; +#10739 = EDGE_CURVE ( 'NONE', #7257, #8432, #3298, .T. ) ; +#10740 = ORIENTED_EDGE ( 'NONE', *, *, #559, .T. ) ; +#10741 = ADVANCED_FACE ( 'NONE', ( #3426 ), #672, .T. ) ; +#10742 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#10743 = ORIENTED_EDGE ( 'NONE', *, *, #2312, .F. ) ; +#10744 = VECTOR ( 'NONE', #8108, 1000.000000000000000 ) ; +#10745 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10746 = DIRECTION ( 'NONE', ( -8.673617379884040402E-17, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10747 = CARTESIAN_POINT ( 'NONE', ( -83.45317859921982517, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10748 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10749 = CARTESIAN_POINT ( 'NONE', ( -68.92848181046190348, -58.46605763575112746, 3.250023829846105716 ) ) ; +#10750 = ORIENTED_EDGE ( 'NONE', *, *, #3811, .T. ) ; +#10751 = VECTOR ( 'NONE', #9671, 1000.000000000000000 ) ; +#10752 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10753 = ORIENTED_EDGE ( 'NONE', *, *, #1580, .T. ) ; +#10754 = LINE ( 'NONE', #11718, #8099 ) ; +#10755 = ORIENTED_EDGE ( 'NONE', *, *, #12391, .F. ) ; +#10756 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10757 = ORIENTED_EDGE ( 'NONE', *, *, #6425, .T. ) ; +#10758 = AXIS2_PLACEMENT_3D ( 'NONE', #9310, #400, #1436 ) ; +#10759 = CARTESIAN_POINT ( 'NONE', ( -96.26563260289117352, -59.01605763575113173, 30.59776226896057594 ) ) ; +#10760 = ORIENTED_EDGE ( 'NONE', *, *, #4518, .F. ) ; +#10761 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -4.053100760940521181E-15 ) ) ; +#10762 = EDGE_LOOP ( 'NONE', ( #3120, #7822 ) ) ; +#10763 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 14.25016224672766896 ) ) ; +#10764 = CARTESIAN_POINT ( 'NONE', ( -81.82731686318858522, -64.96605763575112746, 2.950023829846315060 ) ) ; +#10765 = ORIENTED_EDGE ( 'NONE', *, *, #1399, .T. ) ; +#10766 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10767 = AXIS2_PLACEMENT_3D ( 'NONE', #7028, #6046, #1036 ) ; +#10768 = VERTEX_POINT ( 'NONE', #12516 ) ; +#10769 = CIRCLE ( 'NONE', #10554, 2.000000000000001776 ) ; +#10770 = DIRECTION ( 'NONE', ( 0.3420201433256545021, 0.000000000000000000, -0.9396926207859136460 ) ) ; +#10771 = VERTEX_POINT ( 'NONE', #12648 ) ; +#10772 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550850, -65.25895085456457423, 7.740162246727670059 ) ) ; +#10773 = CARTESIAN_POINT ( 'NONE', ( -94.28600600011540678, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10774 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10775 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -84.96605763575112746, 14.76002382984610151 ) ) ; +#10776 = ORIENTED_EDGE ( 'NONE', *, *, #7267, .F. ) ; +#10777 = LINE ( 'NONE', #1662, #9921 ) ; +#10778 = EDGE_CURVE ( 'NONE', #8621, #6442, #9596, .T. ) ; +#10779 = ORIENTED_EDGE ( 'NONE', *, *, #12436, .T. ) ; +#10780 = CARTESIAN_POINT ( 'NONE', ( -120.9796354570119234, -70.37735396378434416, 2.740162246727671391 ) ) ; +#10781 = CARTESIAN_POINT ( 'NONE', ( -78.43033937168419811, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10782 = ORIENTED_EDGE ( 'NONE', *, *, #12864, .T. ) ; +#10783 = CARTESIAN_POINT ( 'NONE', ( -100.4214879216908116, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10784 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 4.053100760940521970E-15 ) ) ; +#10785 = CARTESIAN_POINT ( 'NONE', ( -120.1678840257284833, -79.79297887883011242, 16.74016224673005127 ) ) ; +#10786 = ORIENTED_EDGE ( 'NONE', *, *, #8468, .F. ) ; +#10787 = CARTESIAN_POINT ( 'NONE', ( -76.69308716011013871, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10788 = CARTESIAN_POINT ( 'NONE', ( -68.82136747905168761, -82.71803235920219777, 0.7600238298461056141 ) ) ; +#10789 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#10790 = ORIENTED_EDGE ( 'NONE', *, *, #10341, .T. ) ; +#10791 = EDGE_CURVE ( 'NONE', #9240, #8870, #1531, .T. ) ; +#10792 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 16.51002382984610506 ) ) ; +#10793 = CARTESIAN_POINT ( 'NONE', ( -78.89220201511079722, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10794 = ORIENTED_EDGE ( 'NONE', *, *, #1903, .F. ) ; +#10795 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 10.05002382984610421 ) ) ; +#10796 = ORIENTED_EDGE ( 'NONE', *, *, #7928, .F. ) ; +#10797 = CYLINDRICAL_SURFACE ( 'NONE', #10677, 7.700000000002309442 ) ; +#10798 = ORIENTED_EDGE ( 'NONE', *, *, #8929, .T. ) ; +#10799 = ADVANCED_FACE ( 'NONE', ( #9734 ), #8544, .T. ) ; +#10800 = PLANE ( 'NONE', #3191 ) ; +#10801 = VECTOR ( 'NONE', #3331, 1000.000000000000000 ) ; +#10802 = FACE_OUTER_BOUND ( 'NONE', #3974, .T. ) ; +#10803 = EDGE_CURVE ( 'NONE', #7225, #2073, #9475, .T. ) ; +#10804 = ADVANCED_FACE ( 'NONE', ( #8485 ), #3801, .F. ) ; +#10805 = CARTESIAN_POINT ( 'NONE', ( -98.22237306669012469, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10806 = CARTESIAN_POINT ( 'NONE', ( -72.98255269134165246, -64.96605763575112746, 19.25016224672767251 ) ) ; +#10807 = ORIENTED_EDGE ( 'NONE', *, *, #2366, .F. ) ; +#10808 = AXIS2_PLACEMENT_3D ( 'NONE', #8398, #12367, #9513 ) ; +#10809 = CARTESIAN_POINT ( 'NONE', ( -81.82731686318858522, -64.96605763575112746, 2.950023829846315060 ) ) ; +#10810 = EDGE_LOOP ( 'NONE', ( #5869, #6808, #409, #9058 ) ) ; +#10811 = ORIENTED_EDGE ( 'NONE', *, *, #1703, .T. ) ; +#10812 = PLANE ( 'NONE', #702 ) ; +#10813 = EDGE_LOOP ( 'NONE', ( #5460, #3872, #5772, #627 ) ) ; +#10814 = EDGE_CURVE ( 'NONE', #2087, #5127, #2711, .T. ) ; +#10815 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10816 = EDGE_CURVE ( 'NONE', #1882, #8207, #1722, .T. ) ; +#10817 = VERTEX_POINT ( 'NONE', #8743 ) ; +#10818 = DIRECTION ( 'NONE', ( -0.3420201433256689350, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#10819 = VERTEX_POINT ( 'NONE', #11423 ) ; +#10820 = LINE ( 'NONE', #6795, #3695 ) ; +#10821 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#10822 = ORIENTED_EDGE ( 'NONE', *, *, #11450, .T. ) ; +#10823 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10824 = ORIENTED_EDGE ( 'NONE', *, *, #6397, .T. ) ; +#10825 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10826 = ORIENTED_EDGE ( 'NONE', *, *, #5623, .F. ) ; +#10827 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#10828 = CARTESIAN_POINT ( 'NONE', ( -106.8560856125850762, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10829 = PLANE ( 'NONE', #5361 ) ; +#10830 = DIRECTION ( 'NONE', ( 0.3420201433256693235, 0.000000000000000000, 0.9396926207859082059 ) ) ; +#10831 = VECTOR ( 'NONE', #12126, 1000.000000000000000 ) ; +#10832 = CIRCLE ( 'NONE', #7086, 1.000000000000000888 ) ; +#10833 = ORIENTED_EDGE ( 'NONE', *, *, #7854, .F. ) ; +#10834 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#10835 = ORIENTED_EDGE ( 'NONE', *, *, #603, .T. ) ; +#10836 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10837 = CARTESIAN_POINT ( 'NONE', ( -88.68991365361037538, -64.96605763575112746, 15.55016224672746183 ) ) ; +#10838 = VERTEX_POINT ( 'NONE', #10587 ) ; +#10839 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#10840 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 1.760023829846110610 ) ) ; +#10841 = VECTOR ( 'NONE', #2763, 1000.000000000000000 ) ; +#10842 = CARTESIAN_POINT ( 'NONE', ( -119.1219912095270388, -81.76244302438472289, 16.74016224672706699 ) ) ; +#10843 = ORIENTED_EDGE ( 'NONE', *, *, #6353, .F. ) ; +#10844 = EDGE_CURVE ( 'NONE', #4951, #211, #1603, .T. ) ; +#10845 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10846 = CARTESIAN_POINT ( 'NONE', ( -68.46037207182905604, -82.34446871320174921, 0.7600238298461057251 ) ) ; +#10847 = CARTESIAN_POINT ( 'NONE', ( -111.8789248401206891, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10848 = EDGE_LOOP ( 'NONE', ( #3294, #8605, #9135, #1268 ) ) ; +#10849 = AXIS2_PLACEMENT_3D ( 'NONE', #11649, #2686, #9571 ) ; +#10850 = FACE_OUTER_BOUND ( 'NONE', #6552, .T. ) ; +#10851 = CARTESIAN_POINT ( 'NONE', ( -118.5538632102020813, -67.44796273729646430, 3.371230303548122365 ) ) ; +#10852 = ORIENTED_EDGE ( 'NONE', *, *, #5062, .F. ) ; +#10853 = DIRECTION ( 'NONE', ( -1.301042606982606060E-16, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10854 = ORIENTED_EDGE ( 'NONE', *, *, #10528, .T. ) ; +#10855 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#10856 = ORIENTED_EDGE ( 'NONE', *, *, #11584, .T. ) ; +#10857 = EDGE_CURVE ( 'NONE', #1551, #12419, #6669, .T. ) ; +#10858 = VECTOR ( 'NONE', #4888, 1000.000000000000000 ) ; +#10859 = CARTESIAN_POINT ( 'NONE', ( -87.02215790113896787, -59.01605763575113173, 38.58969436516112950 ) ) ; +#10860 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10861 = VECTOR ( 'NONE', #2519, 1000.000000000000000 ) ; +#10862 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#10863 = CARTESIAN_POINT ( 'NONE', ( -97.48964746931605418, -65.01605763575113883, 40.51556804414585145 ) ) ; +#10864 = FACE_OUTER_BOUND ( 'NONE', #6635, .T. ) ; +#10865 = ADVANCED_FACE ( 'NONE', ( #12712 ), #2513, .T. ) ; +#10866 = AXIS2_PLACEMENT_3D ( 'NONE', #6556, #11499, #7587 ) ; +#10867 = EDGE_LOOP ( 'NONE', ( #12271, #11285, #8429, #3015 ) ) ; +#10868 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10869 = VERTEX_POINT ( 'NONE', #7510 ) ; +#10870 = ORIENTED_EDGE ( 'NONE', *, *, #9269, .T. ) ; +#10871 = CARTESIAN_POINT ( 'NONE', ( -74.98255269134165246, -64.96605763575112746, 15.42173512198147556 ) ) ; +#10872 = EDGE_CURVE ( 'NONE', #7174, #3778, #7579, .T. ) ; +#10873 = VERTEX_POINT ( 'NONE', #6475 ) ; +#10874 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #8188, #11315, ( #11034 ) ) ; +#10875 = VECTOR ( 'NONE', #1614, 1000.000000000000114 ) ; +#10876 = CIRCLE ( 'NONE', #7965, 1.000000000000000888 ) ; +#10877 = CARTESIAN_POINT ( 'NONE', ( -99.25748882908617077, -58.46605763575112746, 15.55016224672746006 ) ) ; +#10878 = EDGE_LOOP ( 'NONE', ( #7106, #9321, #12606, #12197 ) ) ; +#10879 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#10880 = ORIENTED_EDGE ( 'NONE', *, *, #11357, .F. ) ; +#10881 = CARTESIAN_POINT ( 'NONE', ( -86.84155711058959071, -59.01605763575113173, 36.10061750632883104 ) ) ; +#10882 = ADVANCED_FACE ( 'NONE', ( #10445 ), #620, .T. ) ; +#10883 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -83.96605763575112746, 14.76002382984610151 ) ) ; +#10884 = AXIS2_PLACEMENT_3D ( 'NONE', #2773, #941, #5690 ) ; +#10885 = ORIENTED_EDGE ( 'NONE', *, *, #7381, .F. ) ; +#10886 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#10887 = CIRCLE ( 'NONE', #2792, 3.000000000000002665 ) ; +#10888 = ORIENTED_EDGE ( 'NONE', *, *, #11319, .T. ) ; +#10889 = CARTESIAN_POINT ( 'NONE', ( -98.74034410393491612, -59.01605763575113173, 38.88120580365173140 ) ) ; +#10890 = EDGE_CURVE ( 'NONE', #11169, #9681, #1660, .T. ) ; +#10891 = ORIENTED_EDGE ( 'NONE', *, *, #9462, .F. ) ; +#10892 = EDGE_CURVE ( 'NONE', #1283, #6034, #5572, .T. ) ; +#10893 = PLANE ( 'NONE', #1748 ) ; +#10894 = DIRECTION ( 'NONE', ( -0.3420201433256691570, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#10895 = VECTOR ( 'NONE', #6612, 1000.000000000000000 ) ; +#10896 = FACE_BOUND ( 'NONE', #3850, .T. ) ; +#10897 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10898 = VECTOR ( 'NONE', #4523, 1000.000000000000000 ) ; +#10899 = ORIENTED_EDGE ( 'NONE', *, *, #2143, .F. ) ; +#10900 = CARTESIAN_POINT ( 'NONE', ( -85.48954658011275853, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10901 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 3, 2, ( + ( #7794, #5845, #5054 ), + ( #6096, #12732, #3827 ), + ( #11767, #9815, #2922 ), + ( #6885, #4872, #10851 ), + ( #5311, #5377, #6229 ), + ( #183, #3241, #8234 ), + ( #9153, #1152, #3176 ), + ( #1277, #5246, #8359 ), + ( #12079, #9218, #5126 ), + ( #1350, #9094, #12331 ) ), + .UNSPECIFIED., .F., .F., .T. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 4, 2, 2, 2, 4 ), + ( 3, 3 ), + ( 4.712388980384689674, 5.105088062083414258, 5.497787143782137953, 5.890486225480861648, 6.283185307179586232 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 0.7071067811865475727, 1.000000000000000000), + ( 1.000000000000000000, 0.7398497523644986806, 1.000000000000000000), + ( 1.000000000000000000, 0.7702345536276886673, 1.000000000000000000), + ( 1.000000000000000000, 0.8238783972469314598, 1.000000000000000000), + ( 1.000000000000000000, 0.8471316604607848078, 1.000000000000000000), + ( 1.000000000000000000, 0.8849191471080943838, 1.000000000000000000), + ( 1.000000000000000000, 0.8994581712217365466, 1.000000000000000000), + ( 1.000000000000000000, 0.9189375406287862980, 1.000000000000000000), + ( 1.000000000000000000, 0.9238886108933997976, 1.000000000000000000), + ( 1.000000000000000000, 0.9238795325112875156, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#10903 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#10902 = VECTOR ( 'NONE', #2261, 1000.000000000000227 ) ; +#10904 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -76.14639752325007294, 19.25016224672767251 ) ) ; +#10905 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10906 = EDGE_LOOP ( 'NONE', ( #10525, #1355, #1981, #616 ) ) ; +#10907 = CARTESIAN_POINT ( 'NONE', ( -96.02325821168946618, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10908 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 16.74016224672766384 ) ) ; +#10909 = VERTEX_POINT ( 'NONE', #3547 ) ; +#10910 = AXIS2_PLACEMENT_3D ( 'NONE', #566, #10522, #1666 ) ; +#10911 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 1.000000000000000000 ) ) ; +#10912 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -69.96605763575112746, 0.7600238298461047259 ) ) ; +#10913 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 15.24999999999809930, 0.000000000000000000 ) ) ; +#10914 = ORIENTED_EDGE ( 'NONE', *, *, #8665, .F. ) ; +#10915 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10916 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#10917 = ADVANCED_FACE ( 'NONE', ( #12586 ), #3682, .F. ) ; +#10918 = EDGE_LOOP ( 'NONE', ( #3205, #5819, #9465, #4808 ) ) ; +#10919 = VECTOR ( 'NONE', #721, 1000.000000000000000 ) ; +#10920 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -26.25000000000000355, 3.000000000000002665 ) ) ; +#10921 = VERTEX_POINT ( 'NONE', #6739 ) ; +#10922 = EDGE_CURVE ( 'NONE', #1884, #11441, #2108, .T. ) ; +#10923 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -59.01605763575113173, 36.94034842993827539 ) ) ; +#10924 = VERTEX_POINT ( 'NONE', #1989 ) ; +#10925 = CYLINDRICAL_SURFACE ( 'NONE', #8839, 7.700000000002312994 ) ; +#10926 = VECTOR ( 'NONE', #11104, 1000.000000000000000 ) ; +#10927 = CARTESIAN_POINT ( 'NONE', ( -111.8789248401206891, -58.46605763575112746, 17.12516224672793541 ) ) ; +#10928 = DIRECTION ( 'NONE', ( -0.3420201433256614409, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#10929 = CARTESIAN_POINT ( 'NONE', ( -64.14194989420602155, -70.05433037025306930, 15.39101431106990248 ) ) ; +#10930 = EDGE_CURVE ( 'NONE', #2189, #7257, #5032, .T. ) ; +#10931 = EDGE_LOOP ( 'NONE', ( #5212, #11335, #7496, #276 ) ) ; +#10932 = CARTESIAN_POINT ( 'NONE', ( -84.45443081771675509, -64.96605763575112746, 2.950023829846314172 ) ) ; +#10933 = VECTOR ( 'NONE', #8471, 1000.000000000000114 ) ; +#10934 = ORIENTED_EDGE ( 'NONE', *, *, #11128, .F. ) ; +#10935 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -27.25000000000000355, 3.000000000000002665 ) ) ; +#10936 = VECTOR ( 'NONE', #3752, 1000.000000000000000 ) ; +#10937 = ORIENTED_EDGE ( 'NONE', *, *, #1026, .F. ) ; +#10938 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 1.000000000000000000 ) ) ; +#10939 = EDGE_CURVE ( 'NONE', #2011, #4426, #7835, .T. ) ; +#10940 = LINE ( 'NONE', #2032, #4709 ) ; +#10941 = ORIENTED_EDGE ( 'NONE', *, *, #8051, .F. ) ; +#10942 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10943 = VECTOR ( 'NONE', #11643, 1000.000000000000000 ) ; +#10944 = AXIS2_PLACEMENT_3D ( 'NONE', #113, #8105, #3108 ) ; +#10945 = ORIENTED_EDGE ( 'NONE', *, *, #6666, .T. ) ; +#10946 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 1.000000000000000000 ) ) ; +#10947 = EDGE_CURVE ( 'NONE', #9488, #5170, #8853, .T. ) ; +#10948 = CYLINDRICAL_SURFACE ( 'NONE', #442, 1.000000000000000888 ) ; +#10949 = PLANE ( 'NONE', #10601 ) ; +#10950 = EDGE_LOOP ( 'NONE', ( #6605, #9431, #12538, #9351 ) ) ; +#10951 = CARTESIAN_POINT ( 'NONE', ( -114.8375477461595295, -83.96605762708533405, 2.740162246727668727 ) ) ; +#10952 = EDGE_LOOP ( 'NONE', ( #7747, #4164, #9787, #12579 ) ) ; +#10953 = AXIS2_PLACEMENT_3D ( 'NONE', #1925, #5034, #12781 ) ; +#10954 = EDGE_CURVE ( 'NONE', #2222, #8937, #11867, .T. ) ; +#10955 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#10956 = CARTESIAN_POINT ( 'NONE', ( -95.02200599319255048, -64.96605763575112746, 2.950023829846314172 ) ) ; +#10957 = FACE_OUTER_BOUND ( 'NONE', #9160, .T. ) ; +#10958 = FACE_OUTER_BOUND ( 'NONE', #12564, .T. ) ; +#10959 = ORIENTED_EDGE ( 'NONE', *, *, #8103, .T. ) ; +#10960 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10961 = ADVANCED_FACE ( 'NONE', ( #5954 ), #336, .T. ) ; +#10962 = AXIS2_PLACEMENT_3D ( 'NONE', #3474, #220, #1325 ) ; +#10963 = EDGE_CURVE ( 'NONE', #7435, #9141, #9795, .T. ) ; +#10964 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -17.44615242270659650, 1.000000000000000000 ) ) ; +#10965 = CARTESIAN_POINT ( 'NONE', ( -72.98255269134165246, -58.46605763575112746, 19.25016224672767251 ) ) ; +#10966 = ADVANCED_FACE ( 'NONE', ( #2904 ), #8999, .F. ) ; +#10967 = FACE_OUTER_BOUND ( 'NONE', #6287, .T. ) ; +#10968 = ORIENTED_EDGE ( 'NONE', *, *, #2419, .F. ) ; +#10969 = CARTESIAN_POINT ( 'NONE', ( -100.8833505651173823, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10970 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -84.96605763575112746, 1.990162246727670725 ) ) ; +#10971 = ORIENTED_EDGE ( 'NONE', *, *, #4934, .T. ) ; +#10972 = EDGE_CURVE ( 'NONE', #11420, #11362, #9983, .T. ) ; +#10973 = LOCAL_TIME ( 15, 10, 40.00000000000000000, #11055 ) ; +#10974 = CARTESIAN_POINT ( 'NONE', ( -72.48301777707223437, -15.33170424737562954, 3.000000000000001776 ) ) ; +#10975 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 3, 2, ( + ( #7954, #11930, #91 ), + ( #11991, #6987, #10951 ), + ( #7046, #2042, #2838 ), + ( #5820, #5756, #6801 ), + ( #155, #4123, #9127 ), + ( #9186, #4373, #8141 ), + ( #4312, #7241, #12111 ), + ( #12047, #2237, #212 ), + ( #8082, #4179, #2361 ), + ( #3214, #8271, #7107 ), + ( #10117, #1192, #12181 ), + ( #3149, #6066, #6207 ), + ( #1125, #11206, #3278 ), + ( #2295, #11011, #12240 ), + ( #6263, #10232, #1314 ), + ( #11079, #278, #5218 ), + ( #3397, #1250, #407 ), + ( #3334, #8333, #2170 ), + ( #8208, #2102, #12299 ), + ( #7178, #10043, #5350 ), + ( #7293, #10301, #9316 ), + ( #5098, #11148, #1384 ), + ( #10174, #4249, #9067 ), + ( #5286, #6140, #9255 ), + ( #343, #11265, #6329 ), + ( #5160, #1640, #12434 ), + ( #4703, #9378, #1701 ), + ( #1577, #10496, #12627 ), + ( #3464, #2493, #8659 ), + ( #467, #7426, #5549 ), + ( #4505, #7556, #12567 ), + ( #6395, #4435, #6650 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ), + ( 3, 3 ), + ( -2.732189474663471174E-17, 0.001048545188355413634, 0.002097090376710854590, 0.002621362970888575176, 0.003145635565066295762, 0.004194180753421736935, 0.005242725941777178107, 0.006291271130132619280, 0.008388361506843501625, 0.009436906695198941930, 0.01048545188355438397, 0.01258254226026526632, 0.01467963263697614866, 0.01572817782533159070, 0.01625245041950931085, 0.01677672301368703101 ), + ( 0.000000000000000000, 1.000000000000000000 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 0.7071067811865523467, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865523467, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865473507, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865473507, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865521247, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865521247, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865443531, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865443531, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865485719, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865485719, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865485719, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865485719, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865482389, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865517916, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865517916, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865465735, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865465735, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865490160, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865490160, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865424657, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865424657, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865454633, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865454633, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865472397, 1.000000000000000000), + ( 1.000000000000000000, 0.7071067811865472397, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#10976 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#10977 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -82.96605763575112746, 1.760023829846104393 ) ) ; +#10978 = ORIENTED_EDGE ( 'NONE', *, *, #8720, .T. ) ; +#10979 = CYLINDRICAL_SURFACE ( 'NONE', #11775, 1.000000000000000888 ) ; +#10980 = EDGE_CURVE ( 'NONE', #9379, #7209, #12778, .T. ) ; +#10981 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10982 = LINE ( 'NONE', #8899, #10234 ) ; +#10983 = ORIENTED_EDGE ( 'NONE', *, *, #2788, .F. ) ; +#10984 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -15.25000000000000000, 10.00000000000000000 ) ) ; +#10985 = CARTESIAN_POINT ( 'NONE', ( -81.09131687011145573, -64.96605763575112746, 17.12516224672793541 ) ) ; +#10986 = ORIENTED_EDGE ( 'NONE', *, *, #4696, .F. ) ; +#10987 = CARTESIAN_POINT ( 'NONE', ( -76.23122451668353960, -64.96605763575112746, 1.375023829845842149 ) ) ; +#10988 = ORIENTED_EDGE ( 'NONE', *, *, #11647, .F. ) ; +#10989 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#10990 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#10991 = PLANE ( 'NONE', #3129 ) ; +#10992 = CARTESIAN_POINT ( 'NONE', ( -76.85583403421783544, -58.46605763575112746, 1.375023829845842149 ) ) ; +#10993 = CARTESIAN_POINT ( 'NONE', ( -80.05620110771543807, -64.96605763575112746, 2.950023829846315948 ) ) ; +#10994 = ORIENTED_EDGE ( 'NONE', *, *, #9841, .T. ) ; +#10995 = PLANE ( 'NONE', #6701 ) ; +#10996 = EDGE_LOOP ( 'NONE', ( #1796, #1639, #3080, #5365 ) ) ; +#10997 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, 13.24999999999810285, 0.000000000000000000 ) ) ; +#10998 = CIRCLE ( 'NONE', #10378, 1.000000000000000888 ) ; +#10999 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11000 = ORIENTED_EDGE ( 'NONE', *, *, #8092, .F. ) ; +#11001 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11002 = ADVANCED_FACE ( 'NONE', ( #1923 ), #9074, .T. ) ; +#11003 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11004 = ORIENTED_EDGE ( 'NONE', *, *, #9365, .F. ) ; +#11005 = CARTESIAN_POINT ( 'NONE', ( -85.38058931491416104, -65.01605763575113883, 37.13228939359599678 ) ) ; +#11006 = ORIENTED_EDGE ( 'NONE', *, *, #3886, .F. ) ; +#11007 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11008 = CARTESIAN_POINT ( 'NONE', ( -88.68991365361037538, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11009 = LINE ( 'NONE', #9064, #8707 ) ; +#11010 = ORIENTED_EDGE ( 'NONE', *, *, #11758, .T. ) ; +#11011 = CARTESIAN_POINT ( 'NONE', ( -119.5252348231982609, -81.08088933667580989, 2.740162246730473594 ) ) ; +#11012 = VERTEX_POINT ( 'NONE', #1061 ) ; +#11013 = VECTOR ( 'NONE', #10685, 1000.000000000000000 ) ; +#11014 = EDGE_CURVE ( 'NONE', #394, #6656, #5887, .T. ) ; +#11015 = DIRECTION ( 'NONE', ( 1.544631851866820033E-16, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11016 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11017 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#11018 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -69.96605763575112746, 0.7600238298461047259 ) ) ; +#11019 = ORIENTED_EDGE ( 'NONE', *, *, #2722, .F. ) ; +#11020 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11021 = AXIS2_PLACEMENT_3D ( 'NONE', #12091, #5196, #7156 ) ; +#11022 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11023 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#11024 = LINE ( 'NONE', #12061, #4805 ) ; +#11025 = ADVANCED_FACE ( 'NONE', ( #29 ), #165, .F. ) ; +#11026 = ORIENTED_EDGE ( 'NONE', *, *, #752, .F. ) ; +#11027 = CARTESIAN_POINT ( 'NONE', ( -77.69433937860706862, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11028 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 18.49016224672767095 ) ) ; +#11029 = ORIENTED_EDGE ( 'NONE', *, *, #7577, .F. ) ; +#11030 = ADVANCED_FACE ( 'NONE', ( #10958 ), #2049, .F. ) ; +#11031 = VECTOR ( 'NONE', #12414, 1000.000000000000000 ) ; +#11032 = VECTOR ( 'NONE', #1395, 1000.000000000000000 ) ; +#11033 = CARTESIAN_POINT ( 'NONE', ( -93.08814336361167818, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11034 = PRODUCT_DEFINITION ( 'æœ', '', #6404, #9855 ) ; +#11035 = EDGE_CURVE ( 'NONE', #352, #2140, #4914, .T. ) ; +#11036 = CYLINDRICAL_SURFACE ( 'NONE', #2018, 1.000000000000000888 ) ; +#11037 = CARTESIAN_POINT ( 'NONE', ( -100.4214879216908116, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11038 = ORIENTED_EDGE ( 'NONE', *, *, #603, .F. ) ; +#11039 = PLANE ( 'NONE', #3678 ) ; +#11040 = CARTESIAN_POINT ( 'NONE', ( -90.95557767015388606, -13.89995144998309939, 10.00000000000000000 ) ) ; +#11041 = CARTESIAN_POINT ( 'NONE', ( -120.9796354570119234, -70.37735396378434416, 2.740162246727671391 ) ) ; +#11042 = EDGE_CURVE ( 'NONE', #10097, #8765, #3932, .T. ) ; +#11043 = ORIENTED_EDGE ( 'NONE', *, *, #845, .T. ) ; +#11044 = VECTOR ( 'NONE', #2164, 1000.000000000000000 ) ; +#11045 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#11046 = CARTESIAN_POINT ( 'NONE', ( -76.06847764257581446, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11047 = VERTEX_POINT ( 'NONE', #11018 ) ; +#11048 = CARTESIAN_POINT ( 'NONE', ( -88.26191455408286402, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11049 = EDGE_LOOP ( 'NONE', ( #769, #10843, #861, #4502 ) ) ; +#11050 = EDGE_CURVE ( 'NONE', #6953, #8786, #7894, .T. ) ; +#11051 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 12.49999982601869952, 0.9999999999999991118 ) ) ; +#11052 = LINE ( 'NONE', #6109, #4682 ) ; +#11053 = VECTOR ( 'NONE', #6586, 1000.000000000000000 ) ; +#11054 = FACE_OUTER_BOUND ( 'NONE', #8241, .T. ) ; +#11055 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#11056 = CARTESIAN_POINT ( 'NONE', ( -64.80516815816092446, -70.32610976271939762, 15.76002382984783701 ) ) ; +#11057 = ORIENTED_EDGE ( 'NONE', *, *, #4482, .F. ) ; +#11058 = VECTOR ( 'NONE', #7205, 1000.000000000000000 ) ; +#11059 = CARTESIAN_POINT ( 'NONE', ( -96.83279310607142065, -59.01605763575113173, 31.00982849472593372 ) ) ; +#11060 = AXIS2_PLACEMENT_3D ( 'NONE', #3195, #4163, #446 ) ; +#11061 = ORIENTED_EDGE ( 'NONE', *, *, #3184, .T. ) ; +#11062 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11063 = CARTESIAN_POINT ( 'NONE', ( -81.66456998908088849, -58.46605763575112746, 15.55016224672746183 ) ) ; +#11064 = ORIENTED_EDGE ( 'NONE', *, *, #8964, .F. ) ; +#11065 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11066 = CIRCLE ( 'NONE', #2766, 1.000000000000000888 ) ; +#11067 = VECTOR ( 'NONE', #11563, 1000.000000000000000 ) ; +#11068 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11069 = VERTEX_POINT ( 'NONE', #8088 ) ; +#11070 = CARTESIAN_POINT ( 'NONE', ( -64.72002765809064329, -76.68438186608737794, 1.760023829846404153 ) ) ; +#11071 = AXIS2_PLACEMENT_3D ( 'NONE', #5380, #184, #5128 ) ; +#11072 = ORIENTED_EDGE ( 'NONE', *, *, #6251, .T. ) ; +#11073 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#11074 = CARTESIAN_POINT ( 'NONE', ( -91.39956824406634439, -59.01605763575113173, 29.82705338890496805 ) ) ; +#11075 = ORIENTED_EDGE ( 'NONE', *, *, #7067, .F. ) ; +#11076 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -64.96605763575112746, 4.250023829846106160 ) ) ; +#11077 = EDGE_CURVE ( 'NONE', #10272, #5523, #10369, .T. ) ; +#11078 = ORIENTED_EDGE ( 'NONE', *, *, #9348, .F. ) ; +#11079 = CARTESIAN_POINT ( 'NONE', ( -120.1871104092728615, -79.74865145976457370, 3.740162246727067430 ) ) ; +#11080 = CIRCLE ( 'NONE', #11731, 1.000000000000000000 ) ; +#11081 = ORIENTED_EDGE ( 'NONE', *, *, #9945, .T. ) ; +#11082 = AXIS2_PLACEMENT_3D ( 'NONE', #11470, #6654, #4511 ) ; +#11083 = CARTESIAN_POINT ( 'NONE', ( -74.65671917921717693, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11084 = CARTESIAN_POINT ( 'NONE', ( -94.14577264255315470, -59.01605763575113173, 29.28082870826846573 ) ) ; +#11085 = CYLINDRICAL_SURFACE ( 'NONE', #6508, 7.700000000002309442 ) ; +#11086 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11087 = ORIENTED_EDGE ( 'NONE', *, *, #4516, .F. ) ; +#11088 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11089 = AXIS2_PLACEMENT_3D ( 'NONE', #12069, #43, #7065 ) ; +#11090 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11091 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#11092 = FACE_OUTER_BOUND ( 'NONE', #7246, .T. ) ; +#11093 = ADVANCED_FACE ( 'NONE', ( #12186 ), #12244, .T. ) ; +#11094 = VECTOR ( 'NONE', #3988, 1000.000000000000000 ) ; +#11095 = ORIENTED_EDGE ( 'NONE', *, *, #4283, .F. ) ; +#11096 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 3.740162246727670059 ) ) ; +#11097 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11098 = CIRCLE ( 'NONE', #7349, 1.000000000000000000 ) ; +#11099 = ORIENTED_EDGE ( 'NONE', *, *, #11312, .T. ) ; +#11100 = AXIS2_PLACEMENT_3D ( 'NONE', #6941, #2000, #11947 ) ; +#11101 = LINE ( 'NONE', #10136, #9208 ) ; +#11102 = ADVANCED_FACE ( 'NONE', ( #3221 ), #7183, .T. ) ; +#11103 = FACE_OUTER_BOUND ( 'NONE', #6234, .T. ) ; +#11104 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11105 = VECTOR ( 'NONE', #4105, 1000.000000000000114 ) ; +#11106 = ORIENTED_EDGE ( 'NONE', *, *, #12349, .T. ) ; +#11107 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#11108 = CARTESIAN_POINT ( 'NONE', ( -90.95557767015388606, -13.89995144998309939, 0.000000000000000000 ) ) ; +#11109 = AXIS2_PLACEMENT_3D ( 'NONE', #7879, #11068, #12824 ) ; +#11110 = LINE ( 'NONE', #6421, #1928 ) ; +#11111 = EDGE_CURVE ( 'NONE', #2614, #1022, #8275, .T. ) ; +#11112 = VECTOR ( 'NONE', #5793, 1000.000000000000000 ) ; +#11113 = VERTEX_POINT ( 'NONE', #5356 ) ; +#11114 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -59.01605763575113173, 34.14034842993743268 ) ) ; +#11115 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#11116 = ORIENTED_EDGE ( 'NONE', *, *, #2717, .T. ) ; +#11117 = AXIS2_PLACEMENT_3D ( 'NONE', #8512, #454, #11016 ) ; +#11118 = DIRECTION ( 'NONE', ( 1.387778780781445676E-14, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11119 = ORIENTED_EDGE ( 'NONE', *, *, #11042, .F. ) ; +#11120 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11121 = EDGE_CURVE ( 'NONE', #8937, #7777, #9687, .T. ) ; +#11122 = DIRECTION ( 'NONE', ( -0.9396926207859109814, 0.000000000000000000, 0.3420201433256616630 ) ) ; +#11123 = CIRCLE ( 'NONE', #8206, 3.000000000000002665 ) ; +#11124 = CARTESIAN_POINT ( 'NONE', ( -111.9865484946268310, -58.46605763575112746, 16.82946868617310443 ) ) ; +#11125 = PERSON_AND_ORGANIZATION ( #2890, #12834 ) ; +#11126 = CARTESIAN_POINT ( 'NONE', ( -86.01483718609922846, -65.01605763575113883, 39.08430362523065327 ) ) ; +#11127 = VERTEX_POINT ( 'NONE', #7301 ) ; +#11128 = EDGE_CURVE ( 'NONE', #10223, #9496, #218, .T. ) ; +#11129 = LINE ( 'NONE', #9170, #7730 ) ; +#11130 = ADVANCED_FACE ( 'NONE', ( #6212 ), #4318, .F. ) ; +#11131 = EDGE_CURVE ( 'NONE', #1375, #4700, #964, .T. ) ; +#11132 = EDGE_LOOP ( 'NONE', ( #6191, #2749, #12763, #2490 ) ) ; +#11133 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11134 = CARTESIAN_POINT ( 'NONE', ( -88.85266052771805789, -64.96605763575112746, 2.950023829846315948 ) ) ; +#11135 = EDGE_LOOP ( 'NONE', ( #8503, #1468, #12383, #9889 ) ) ; +#11136 = AXIS2_PLACEMENT_3D ( 'NONE', #4607, #10662, #12537 ) ; +#11137 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.673617379884040402E-17 ) ) ; +#11138 = EDGE_CURVE ( 'NONE', #119, #3693, #2436, .T. ) ; +#11139 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.96605763575112746, 10.42669049651277469 ) ) ; +#11140 = CARTESIAN_POINT ( 'NONE', ( -68.73590292979248773, -83.97078944363651942, 1.760023829845764887 ) ) ; +#11141 = ORIENTED_EDGE ( 'NONE', *, *, #4046, .T. ) ; +#11142 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046186085, -84.85828453936086646, 15.28201048860937661 ) ) ; +#11143 = VECTOR ( 'NONE', #1777, 1000.000000000000000 ) ; +#11144 = CARTESIAN_POINT ( 'NONE', ( -101.0460974392251075, -58.46605763575112746, 1.375023829845842149 ) ) ; +#11145 = ORIENTED_EDGE ( 'NONE', *, *, #5630, .T. ) ; +#11146 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#11147 = ORIENTED_EDGE ( 'NONE', *, *, #780, .F. ) ; +#11148 = CARTESIAN_POINT ( 'NONE', ( -121.4519521073202952, -75.56174589986207479, 2.740162246722874340 ) ) ; +#11149 = ORIENTED_EDGE ( 'NONE', *, *, #7466, .T. ) ; +#11150 = AXIS2_PLACEMENT_3D ( 'NONE', #5975, #4083, #5122 ) ; +#11151 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11152 = CIRCLE ( 'NONE', #7004, 2.800000000000836486 ) ; +#11153 = LINE ( 'NONE', #9191, #11700 ) ; +#11154 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#11155 = ORIENTED_EDGE ( 'NONE', *, *, #9944, .T. ) ; +#11156 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -17.44615242270659650, 0.000000000000000000 ) ) ; +#11157 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -33.25000000000000000, 9.250023829846105272 ) ) ; +#11158 = CARTESIAN_POINT ( 'NONE', ( -87.68866143511344546, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11159 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#11160 = AXIS2_PLACEMENT_3D ( 'NONE', #5696, #4788, #8747 ) ; +#11161 = ORIENTED_EDGE ( 'NONE', *, *, #1837, .F. ) ; +#11162 = LINE ( 'NONE', #10132, #293 ) ; +#11163 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 3.583357163179442750 ) ) ; +#11164 = ORIENTED_EDGE ( 'NONE', *, *, #9176, .T. ) ; +#11165 = CARTESIAN_POINT ( 'NONE', ( -72.33170483200620993, -15.15989129149377845, 2.956664635740681391 ) ) ; +#11166 = EDGE_CURVE ( 'NONE', #11231, #5563, #4186, .T. ) ; +#11167 = CARTESIAN_POINT ( 'NONE', ( -86.49079879860971687, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11168 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -15.25000000000000000, 9.000000000000001776 ) ) ; +#11169 = VERTEX_POINT ( 'NONE', #10239 ) ; +#11170 = PLANE ( 'NONE', #6803 ) ; +#11171 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#11172 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#11173 = ORIENTED_EDGE ( 'NONE', *, *, #10014, .T. ) ; +#11174 = PLANE ( 'NONE', #5457 ) ; +#11175 = CARTESIAN_POINT ( 'NONE', ( -84.29168394360905836, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11176 = AXIS2_PLACEMENT_3D ( 'NONE', #8967, #7998, #5005 ) ; +#11177 = ORIENTED_EDGE ( 'NONE', *, *, #9841, .F. ) ; +#11178 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#11179 = ORIENTED_EDGE ( 'NONE', *, *, #1052, .T. ) ; +#11180 = DIRECTION ( 'NONE', ( -0.9396926207859108704, 0.000000000000000000, -0.3420201433256621071 ) ) ; +#11181 = EDGE_CURVE ( 'NONE', #6755, #1665, #5223, .T. ) ; +#11182 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11183 = CLOSED_SHELL ( 'NONE', ( #5486, #12053, #7529, #2870, #11449, #2211, #5744, #9966, #2448, #6080, #676, #5948, #12231, #10640, #5570, #2300, #11917, #12867, #1738, #7463, #2770, #10493, #7161, #2848, #897, #2826, #8131, #6840, #8496, #7525, #12150, #6363, #6160, #7109, #11739, #10463, #194, #8815, #9705, #3337, #10966, #62, #7298, #5613, #704, #9755, #9006, #12773, #3772, #11635, #8419, #11511, #4674, #11837, #3884, #7294, #1634, #12165, #389, #12460, #6069, #4856, #3177, #6427, #11981, #12348, #10643, #4363, #7226, #8160, #8363, #10482, #10163, #11889, #2064, #8501, #4124, #6434, #11678, #10135, #11681, #11895, #3267, #8829, #8689, #9861, #8317, #7696, #9850, #2695, #3228, #3187, #4721, #10289, #2721, #10479, #6418, #6120, #9920, #3414, #9045, #1264, #6988, #4895 ) ) ; +#11184 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11185 = LINE ( 'NONE', #1365, #5255 ) ; +#11186 = VERTEX_POINT ( 'NONE', #8147 ) ; +#11187 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#11188 = EDGE_CURVE ( 'NONE', #12291, #9200, #1323, .T. ) ; +#11189 = ORIENTED_EDGE ( 'NONE', *, *, #8259, .T. ) ; +#11190 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11191 = ORIENTED_EDGE ( 'NONE', *, *, #12142, .F. ) ; +#11192 = CARTESIAN_POINT ( 'NONE', ( -99.25748882908617077, -58.46605763575112746, 15.55016224672746006 ) ) ; +#11193 = ADVANCED_FACE ( 'NONE', ( #5292 ), #412, .T. ) ; +#11194 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 0.7600238298461038378 ) ) ; +#11195 = EDGE_CURVE ( 'NONE', #9681, #6468, #7812, .T. ) ; +#11196 = CARTESIAN_POINT ( 'NONE', ( -67.11720162333180895, -80.32614825084905874, 0.7600238298461052810 ) ) ; +#11197 = EDGE_LOOP ( 'NONE', ( #4686, #1771, #11830, #11095 ) ) ; +#11198 = DIRECTION ( 'NONE', ( -1.301042606982606060E-16, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11199 = ORIENTED_EDGE ( 'NONE', *, *, #9348, .T. ) ; +#11200 = VECTOR ( 'NONE', #6326, 1000.000000000000000 ) ; +#11201 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11202 = ORIENTED_EDGE ( 'NONE', *, *, #11361, .T. ) ; +#11203 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11204 = EDGE_CURVE ( 'NONE', #2428, #1091, #7606, .T. ) ; +#11205 = EDGE_LOOP ( 'NONE', ( #12455, #11982, #3010, #12095 ) ) ; +#11206 = CARTESIAN_POINT ( 'NONE', ( -119.1407933894579685, -81.73284268250500872, 2.740162246724878958 ) ) ; +#11207 = ORIENTED_EDGE ( 'NONE', *, *, #12074, .F. ) ; +#11208 = EDGE_CURVE ( 'NONE', #10001, #3048, #3668, .T. ) ; +#11209 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11210 = VECTOR ( 'NONE', #9124, 1000.000000000000000 ) ; +#11211 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11212 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.8660254037844354880, 0.5000000000000056621 ) ) ; +#11213 = ORIENTED_EDGE ( 'NONE', *, *, #9747, .F. ) ; +#11214 = PLANE ( 'NONE', #10962 ) ; +#11215 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#11216 = LINE ( 'NONE', #8280, #3759 ) ; +#11217 = AXIS2_PLACEMENT_3D ( 'NONE', #7805, #2021, #5799 ) ; +#11218 = ORIENTED_EDGE ( 'NONE', *, *, #5012, .F. ) ; +#11219 = AXIS2_PLACEMENT_3D ( 'NONE', #10862, #4032, #10748 ) ; +#11220 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 0.9999999999999991118 ) ) ; +#11221 = CARTESIAN_POINT ( 'NONE', ( -97.48637307361302362, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11222 = EDGE_LOOP ( 'NONE', ( #11498, #8915, #717, #5611 ) ) ; +#11223 = CARTESIAN_POINT ( 'NONE', ( -90.15557767015388890, -13.89995144998309939, 0.000000000000000000 ) ) ; +#11224 = LINE ( 'NONE', #3297, #12388 ) ; +#11225 = CARTESIAN_POINT ( 'NONE', ( -97.05837397408551226, -64.96605763575112746, 15.55016224672746006 ) ) ; +#11226 = AXIS2_PLACEMENT_3D ( 'NONE', #2620, #4559, #7482 ) ; +#11227 = EDGE_LOOP ( 'NONE', ( #818, #2764, #9769, #5398 ) ) ; +#11228 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11229 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11230 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11231 = VERTEX_POINT ( 'NONE', #5418 ) ; +#11232 = LINE ( 'NONE', #6293, #12729 ) ; +#11233 = PRODUCT ( '\X2\6d4b8bd5\X0\2', '\X2\6d4b8bd5\X0\2', '', ( #1165 ) ) ; +#11234 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11235 = EDGE_CURVE ( 'NONE', #8490, #7819, #4708, .T. ) ; +#11236 = CIRCLE ( 'NONE', #11859, 1.000000000000000000 ) ; +#11237 = ORIENTED_EDGE ( 'NONE', *, *, #1407, .F. ) ; +#11238 = LINE ( 'NONE', #377, #12337 ) ; +#11239 = ORIENTED_EDGE ( 'NONE', *, *, #3151, .T. ) ; +#11240 = CARTESIAN_POINT ( 'NONE', ( -93.30604171894366061, -59.01605763575113173, 41.86405317859909303 ) ) ; +#11241 = LINE ( 'NONE', #2331, #1144 ) ; +#11242 = CIRCLE ( 'NONE', #4599, 1.000000000000000888 ) ; +#11243 = FACE_OUTER_BOUND ( 'NONE', #9728, .T. ) ; +#11244 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, 17.75002382984610350 ) ) ; +#11245 = ORIENTED_EDGE ( 'NONE', *, *, #8321, .F. ) ; +#11246 = FACE_OUTER_BOUND ( 'NONE', #12254, .T. ) ; +#11247 = EDGE_CURVE ( 'NONE', #12480, #2614, #11545, .T. ) ; +#11248 = VERTEX_POINT ( 'NONE', #4637 ) ; +#11249 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11250 = ORIENTED_EDGE ( 'NONE', *, *, #2991, .T. ) ; +#11251 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11252 = FACE_OUTER_BOUND ( 'NONE', #3622, .T. ) ; +#11253 = ADVANCED_FACE ( 'NONE', ( #7630 ), #9458, .T. ) ; +#11254 = CARTESIAN_POINT ( 'NONE', ( -67.70603203673734072, -83.00290838359362056, 1.760023829845805299 ) ) ; +#11255 = ORIENTED_EDGE ( 'NONE', *, *, #5312, .F. ) ; +#11256 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11257 = VECTOR ( 'NONE', #1291, 1000.000000000000000 ) ; +#11258 = ORIENTED_EDGE ( 'NONE', *, *, #11527, .T. ) ; +#11259 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11260 = CIRCLE ( 'NONE', #2333, 2.800000000000836486 ) ; +#11261 = ORIENTED_EDGE ( 'NONE', *, *, #4956, .F. ) ; +#11262 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#11263 = EDGE_CURVE ( 'NONE', #4626, #4988, #11471, .T. ) ; +#11264 = ORIENTED_EDGE ( 'NONE', *, *, #4767, .F. ) ; +#11265 = CARTESIAN_POINT ( 'NONE', ( -121.8631418467373635, -72.72774175407795383, 2.740162246730673434 ) ) ; +#11266 = ORIENTED_EDGE ( 'NONE', *, *, #4956, .T. ) ; +#11267 = AXIS2_PLACEMENT_3D ( 'NONE', #8969, #5075, #3065 ) ; +#11268 = VECTOR ( 'NONE', #9951, 1000.000000000000000 ) ; +#11269 = CARTESIAN_POINT ( 'NONE', ( -76.69308716011013871, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11270 = EDGE_CURVE ( 'NONE', #3985, #8070, #5555, .T. ) ; +#11271 = LINE ( 'NONE', #2498, #5268 ) ; +#11272 = CARTESIAN_POINT ( 'NONE', ( -86.48625292088338767, -59.01605763575113173, 36.94034842993836065 ) ) ; +#11273 = ORIENTED_EDGE ( 'NONE', *, *, #6902, .T. ) ; +#11274 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11275 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11276 = EDGE_LOOP ( 'NONE', ( #4228, #2537, #8126, #11199 ) ) ; +#11277 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -63.46605763575112746, 15.25016224672767073 ) ) ; +#11278 = EDGE_CURVE ( 'NONE', #3362, #10921, #5325, .T. ) ; +#11279 = VECTOR ( 'NONE', #1705, 1000.000000000000000 ) ; +#11280 = EDGE_LOOP ( 'NONE', ( #12450, #12212, #186, #9903, #5027, #11075, #2819, #9570, #7329, #7333, #11401, #10116, #6429, #11538, #5998, #12366, #967, #881, #9819, #7402, #11081, #6203, #10563, #10658, #8013, #6340, #4670, #1533, #6419, #10167, #9589, #609, #2905, #10331, #2825, #9618, #6786, #5153, #11640, #11473, #10274, #197, #3960, #1027, #1695, #8672, #5722, #11554, #7185, #12429, #690, #12849, #1971, #11925, #4396, #12464, #4372, #11789, #4014, #6380, #7887, #12705, #1223, #12637, #3844, #4078, #12395, #9790, #8081, #8423, #9009, #7878, #9049, #9946, #8325, #11320 ) ) ; +#11281 = EDGE_CURVE ( 'NONE', #11745, #9200, #6990, .T. ) ; +#11282 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11283 = EDGE_CURVE ( 'NONE', #333, #6570, #10316, .T. ) ; +#11284 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -83.96605763575112746, 3.740162246727670503 ) ) ; +#11285 = ORIENTED_EDGE ( 'NONE', *, *, #3001, .F. ) ; +#11286 = AXIS2_PLACEMENT_3D ( 'NONE', #12415, #772, #4680 ) ; +#11287 = LINE ( 'NONE', #10255, #11709 ) ; +#11288 = AXIS2_PLACEMENT_3D ( 'NONE', #2529, #6879, #6687 ) ; +#11289 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11290 = CARTESIAN_POINT ( 'NONE', ( -67.83425595866958702, -66.06028348754345814, 13.21821071231681799 ) ) ; +#11291 = VECTOR ( 'NONE', #316, 1000.000000000000000 ) ; +#11292 = EDGE_LOOP ( 'NONE', ( #5665, #5901, #1487, #372 ) ) ; +#11293 = CARTESIAN_POINT ( 'NONE', ( -76.23122451668353960, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11294 = ORIENTED_EDGE ( 'NONE', *, *, #4679, .F. ) ; +#11296 = AXIS2_PLACEMENT_3D ( 'NONE', #1332, #6155, #4326 ) ; +#11295 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 0.9999999999999991118 ) ) ; +#11297 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 18.75002382984610705 ) ) ; +#11298 = VERTEX_POINT ( 'NONE', #9522 ) ; +#11299 = VECTOR ( 'NONE', #7901, 1000.000000000000000 ) ; +#11300 = FACE_OUTER_BOUND ( 'NONE', #4780, .T. ) ; +#11301 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11302 = EDGE_CURVE ( 'NONE', #12573, #4638, #4717, .T. ) ; +#11303 = CIRCLE ( 'NONE', #5908, 1.000000000000000888 ) ; +#11304 = AXIS2_PLACEMENT_3D ( 'NONE', #6974, #8979, #6610 ) ; +#11305 = ORIENTED_EDGE ( 'NONE', *, *, #7942, .T. ) ; +#11306 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11307 = ORIENTED_EDGE ( 'NONE', *, *, #9588, .F. ) ; +#11308 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#11309 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11310 = EDGE_LOOP ( 'NONE', ( #8313, #6282, #1501, #2101 ) ) ; +#11311 = VECTOR ( 'NONE', #8526, 1000.000000000000114 ) ; +#11312 = EDGE_CURVE ( 'NONE', #3734, #5191, #605, .T. ) ; +#11313 = VECTOR ( 'NONE', #10439, 1000.000000000000000 ) ; +#11314 = CARTESIAN_POINT ( 'NONE', ( -108.2166951231965157, -64.96605763575112746, 2.950023829846315060 ) ) ; +#11315 = DATE_TIME_ROLE ( 'creation_date' ) ; +#11316 = ORIENTED_EDGE ( 'NONE', *, *, #4046, .F. ) ; +#11317 = TOROIDAL_SURFACE ( 'NONE', #9453, 1.000000000000000000, 1.000000000000000000 ) ; +#11318 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11319 = EDGE_CURVE ( 'NONE', #7108, #3750, #11984, .T. ) ; +#11320 = ORIENTED_EDGE ( 'NONE', *, *, #9854, .T. ) ; +#11321 = LINE ( 'NONE', #7538, #3618 ) ; +#11322 = ORIENTED_EDGE ( 'NONE', *, *, #5724, .F. ) ; +#11323 = CARTESIAN_POINT ( 'NONE', ( -64.79304202446532202, -76.96934549822826455, 15.76002382984610506 ) ) ; +#11324 = FACE_OUTER_BOUND ( 'NONE', #11510, .T. ) ; +#11325 = AXIS2_PLACEMENT_3D ( 'NONE', #6961, #2930, #3963 ) ; +#11326 = EDGE_CURVE ( 'NONE', #3945, #7108, #541, .T. ) ; +#11327 = CARTESIAN_POINT ( 'NONE', ( -65.00855787203047953, -77.73132331519364868, 1.760023829845992260 ) ) ; +#11328 = EDGE_LOOP ( 'NONE', ( #9075, #7500, #2925, #730 ) ) ; +#11329 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11330 = VERTEX_POINT ( 'NONE', #665 ) ; +#11331 = CARTESIAN_POINT ( 'NONE', ( -93.82262972369562704, -59.01605763575113173, 42.27053817865339624 ) ) ; +#11332 = ORIENTED_EDGE ( 'NONE', *, *, #4685, .T. ) ; +#11333 = CARTESIAN_POINT ( 'NONE', ( -100.4214879216908116, -58.46605763575112746, 1.375023829845842149 ) ) ; +#11334 = CIRCLE ( 'NONE', #120, 1.000000000000000000 ) ; +#11335 = ORIENTED_EDGE ( 'NONE', *, *, #3167, .T. ) ; +#11336 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11337 = EDGE_LOOP ( 'NONE', ( #3612, #1193, #12680, #1708 ) ) ; +#11338 = EDGE_CURVE ( 'NONE', #4403, #2290, #12572, .T. ) ; +#11339 = CARTESIAN_POINT ( 'NONE', ( -103.8184654131951987, -58.46605763575112746, 2.950023829846314172 ) ) ; +#11340 = EDGE_CURVE ( 'NONE', #5653, #5176, #4445, .T. ) ; +#11341 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.544631851866820033E-16, 0.000000000000000000 ) ) ; +#11342 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11343 = AXIS2_PLACEMENT_3D ( 'NONE', #2777, #2581, #6614 ) ; +#11344 = EDGE_LOOP ( 'NONE', ( #7661, #6454, #2570, #7707 ) ) ; +#11345 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11346 = LINE ( 'NONE', #7248, #7918 ) ; +#11347 = ORIENTED_EDGE ( 'NONE', *, *, #1901, .T. ) ; +#11348 = CARTESIAN_POINT ( 'NONE', ( -97.64911994772072035, -64.96605763575112746, 2.950023829846314172 ) ) ; +#11349 = ORIENTED_EDGE ( 'NONE', *, *, #621, .T. ) ; +#11350 = LINE ( 'NONE', #1265, #101 ) ; +#11351 = EDGE_CURVE ( 'NONE', #3773, #1079, #5674, .T. ) ; +#11352 = VECTOR ( 'NONE', #3016, 1000.000000000000000 ) ; +#11353 = AXIS2_PLACEMENT_3D ( 'NONE', #331, #10165, #4359 ) ; +#11354 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11355 = VERTEX_POINT ( 'NONE', #12636 ) ; +#11356 = CARTESIAN_POINT ( 'NONE', ( -86.43507211053527328, -65.01605763575113883, 34.88298056549312065 ) ) ; +#11357 = EDGE_CURVE ( 'NONE', #3133, #8448, #12500, .T. ) ; +#11358 = CYLINDRICAL_SURFACE ( 'NONE', #974, 1.000000000000000000 ) ; +#11359 = CARTESIAN_POINT ( 'NONE', ( -66.38968691298924796, -68.65731821055466355, 15.62988721177933549 ) ) ; +#11360 = EDGE_CURVE ( 'NONE', #3900, #10869, #7495, .T. ) ; +#11361 = EDGE_CURVE ( 'NONE', #9254, #2067, #9653, .T. ) ; +#11362 = VERTEX_POINT ( 'NONE', #5746 ) ; +#11363 = FACE_OUTER_BOUND ( 'NONE', #10558, .T. ) ; +#11364 = VECTOR ( 'NONE', #6485, 1000.000000000000000 ) ; +#11365 = CIRCLE ( 'NONE', #7407, 6.124000000001832866 ) ; +#11366 = EDGE_LOOP ( 'NONE', ( #10971, #8114, #10095, #3537 ) ) ; +#11367 = FACE_OUTER_BOUND ( 'NONE', #9178, .T. ) ; +#11368 = VECTOR ( 'NONE', #6089, 1000.000000000000000 ) ; +#11369 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.673617379884028076E-17 ) ) ; +#11370 = VERTEX_POINT ( 'NONE', #1645 ) ; +#11371 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -82.96605763575112746, 15.76002382984610328 ) ) ; +#11372 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11373 = ADVANCED_FACE ( 'NONE', ( #5615 ), #4707, .F. ) ; +#11374 = VERTEX_POINT ( 'NONE', #9843 ) ; +#11375 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11376 = VERTEX_POINT ( 'NONE', #3917 ) ; +#11377 = VECTOR ( 'NONE', #9845, 1000.000000000000000 ) ; +#11378 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11379 = EDGE_CURVE ( 'NONE', #5943, #4215, #5937, .T. ) ; +#11380 = LINE ( 'NONE', #2472, #2190 ) ; +#11381 = VERTEX_POINT ( 'NONE', #7752 ) ; +#11382 = LINE ( 'NONE', #11633, #6043 ) ; +#11383 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.48804429451439546, 0.8677969262362913438 ) ) ; +#11384 = VERTEX_POINT ( 'NONE', #4052 ) ; +#11385 = AXIS2_PLACEMENT_3D ( 'NONE', #7947, #862, #6060 ) ; +#11386 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11387 = ORIENTED_EDGE ( 'NONE', *, *, #4290, .F. ) ; +#11388 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#11389 = ORIENTED_EDGE ( 'NONE', *, *, #9018, .F. ) ; +#11390 = CARTESIAN_POINT ( 'NONE', ( -70.72974396905155459, -83.89737196698922617, 15.76002382984610684 ) ) ; +#11392 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 7.243495580061003913 ) ) ; +#11391 = CIRCLE ( 'NONE', #5573, 1.000000000000000888 ) ; +#11393 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #11829, #118, #4087, #1878 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 1.570796326794896558, 3.141592653589793116 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243649375, 0.8047378541243649375, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#11394 = CARTESIAN_POINT ( 'NONE', ( -64.02884155297796553, -72.81933044636144814, 1.760023829847741750 ) ) ; +#11395 = CARTESIAN_POINT ( 'NONE', ( -101.0460974392251075, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11396 = CARTESIAN_POINT ( 'NONE', ( -94.51146625773714050, -59.01605763575113173, 29.82705338890494673 ) ) ; +#11397 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11398 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11399 = EDGE_LOOP ( 'NONE', ( #6494, #10229, #4519, #11202 ) ) ; +#11400 = FACE_OUTER_BOUND ( 'NONE', #9123, .T. ) ; +#11401 = ORIENTED_EDGE ( 'NONE', *, *, #10499, .T. ) ; +#11402 = LINE ( 'NONE', #8522, #7150 ) ; +#11403 = VERTEX_POINT ( 'NONE', #802 ) ; +#11404 = ADVANCED_FACE ( 'NONE', ( #2830 ), #4897, .F. ) ; +#11405 = CIRCLE ( 'NONE', #6106, 2.800000000000836486 ) ; +#11406 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -4.053100760940521970E-15 ) ) ; +#11407 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11408 = CARTESIAN_POINT ( 'NONE', ( -81.66456998908088849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11409 = DIRECTION ( 'NONE', ( 1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#11410 = VERTEX_POINT ( 'NONE', #11727 ) ; +#11411 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#11412 = CARTESIAN_POINT ( 'NONE', ( -74.64921935800832387, -64.96605763575112746, 14.47892608039941464 ) ) ; +#11413 = VERTEX_POINT ( 'NONE', #4772 ) ; +#11414 = PLANE ( 'NONE', #8120 ) ; +#11415 = VERTEX_POINT ( 'NONE', #4829 ) ; +#11416 = DIRECTION ( 'NONE', ( -0.3420201433256621071, 0.000000000000000000, 0.9396926207859107594 ) ) ; +#11417 = EDGE_CURVE ( 'NONE', #4952, #6433, #6913, .T. ) ; +#11418 = AXIS2_PLACEMENT_3D ( 'NONE', #10040, #1310, #5283 ) ; +#11419 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11420 = VERTEX_POINT ( 'NONE', #2035 ) ; +#11421 = CYLINDRICAL_SURFACE ( 'NONE', #4655, 1.000000000000000000 ) ; +#11422 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11423 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -27.25000000000000355, 18.75002382984610705 ) ) ; +#11424 = EDGE_LOOP ( 'NONE', ( #1507, #10786, #10755, #10476 ) ) ; +#11425 = CARTESIAN_POINT ( 'NONE', ( -80.05620110771543807, -58.46605763575112746, 2.950023829846315948 ) ) ; +#11426 = EDGE_CURVE ( 'NONE', #9448, #889, #7820, .T. ) ; +#11427 = ORIENTED_EDGE ( 'NONE', *, *, #4752, .T. ) ; +#11428 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 34.88298056549302828 ) ) ; +#11429 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -26.25000000000000355, -0.7499761701538956160 ) ) ; +#11430 = ORIENTED_EDGE ( 'NONE', *, *, #2601, .T. ) ; +#11431 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -26.25000000000000355, 73.00000000000001421 ) ) ; +#11432 = CARTESIAN_POINT ( 'NONE', ( -109.2179473416934314, -58.46605763575112746, 1.375023829845842149 ) ) ; +#11433 = EDGE_CURVE ( 'NONE', #7873, #12497, #6852, .T. ) ; +#11434 = VERTEX_POINT ( 'NONE', #11005 ) ; +#11435 = ADVANCED_FACE ( 'NONE', ( #8012 ), #9779, .F. ) ; +#11436 = CARTESIAN_POINT ( 'NONE', ( -87.24911363665823671, -59.01605763575113173, 37.97277920402658680 ) ) ; +#11437 = EDGE_LOOP ( 'NONE', ( #428, #1057, #5097, #4574 ) ) ; +#11438 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11439 = AXIS2_PLACEMENT_3D ( 'NONE', #11644, #1566, #10555 ) ; +#11440 = LINE ( 'NONE', #7400, #3437 ) ; +#11441 = VERTEX_POINT ( 'NONE', #1047 ) ; +#11442 = EDGE_CURVE ( 'NONE', #928, #10031, #1846, .T. ) ; +#11443 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#11444 = CARTESIAN_POINT ( 'NONE', ( -104.0837176386149849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11445 = ORIENTED_EDGE ( 'NONE', *, *, #2104, .F. ) ; +#11446 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.8660254037844355990, -0.5000000000000056621 ) ) ; +#11447 = EDGE_CURVE ( 'NONE', #10817, #2218, #11795, .T. ) ; +#11448 = ORIENTED_EDGE ( 'NONE', *, *, #2033, .F. ) ; +#11449 = ADVANCED_FACE ( 'NONE', ( #5812 ), #3980, .F. ) ; +#11450 = EDGE_CURVE ( 'NONE', #148, #9834, #4297, .T. ) ; +#11451 = PLANE ( 'NONE', #2582 ) ; +#11452 = ORIENTED_EDGE ( 'NONE', *, *, #225, .F. ) ; +#11453 = CARTESIAN_POINT ( 'NONE', ( -64.79304202480567199, -76.96934549813252602, 14.76002382984610328 ) ) ; +#11454 = FACE_OUTER_BOUND ( 'NONE', #2395, .T. ) ; +#11455 = VECTOR ( 'NONE', #2967, 1000.000000000000000 ) ; +#11456 = VECTOR ( 'NONE', #10637, 1000.000000000000000 ) ; +#11457 = FACE_OUTER_BOUND ( 'NONE', #8266, .T. ) ; +#11458 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#11459 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -82.96605763575112746, 2.740162246727670503 ) ) ; +#11460 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 0.000000000000000000, 9.000000000000001776 ) ) ; +#11461 = VERTEX_POINT ( 'NONE', #2096 ) ; +#11462 = CARTESIAN_POINT ( 'NONE', ( -96.26563260289117352, -65.01605763575113883, 30.59776226896057594 ) ) ; +#11463 = ORIENTED_EDGE ( 'NONE', *, *, #10402, .T. ) ; +#11464 = LINE ( 'NONE', #3462, #1438 ) ; +#11465 = VECTOR ( 'NONE', #12576, 1000.000000000000000 ) ; +#11466 = ORIENTED_EDGE ( 'NONE', *, *, #2874, .F. ) ; +#11467 = PLANE ( 'NONE', #9429 ) ; +#11468 = ORIENTED_EDGE ( 'NONE', *, *, #4184, .T. ) ; +#11469 = LINE ( 'NONE', #5484, #1542 ) ; +#11470 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 3.427649870184929171, 17.75002382984610350 ) ) ; +#11471 = LINE ( 'NONE', #3599, #11143 ) ; +#11472 = AXIS2_PLACEMENT_3D ( 'NONE', #4037, #1961, #4102 ) ; +#11473 = ORIENTED_EDGE ( 'NONE', *, *, #7620, .T. ) ; +#11474 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 1.192622389734055617E-16 ) ) ; +#11475 = EDGE_CURVE ( 'NONE', #6912, #10001, #6792, .T. ) ; +#11476 = CARTESIAN_POINT ( 'NONE', ( -64.92848181046190348, -63.46605763575112746, 4.250023829846105272 ) ) ; +#11477 = EDGE_LOOP ( 'NONE', ( #2565, #1167, #5965, #5583 ) ) ; +#11478 = CARTESIAN_POINT ( 'NONE', ( 42.84439832602063092, -51.45000000000000284, 19.25002382984610705 ) ) ; +#11479 = VERTEX_POINT ( 'NONE', #7944 ) ; +#11480 = VECTOR ( 'NONE', #8170, 1000.000000000000000 ) ; +#11481 = FACE_OUTER_BOUND ( 'NONE', #969, .T. ) ; +#11482 = CIRCLE ( 'NONE', #12510, 1.000000000000000888 ) ; +#11483 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#11484 = ORIENTED_EDGE ( 'NONE', *, *, #9301, .F. ) ; +#11485 = CARTESIAN_POINT ( 'NONE', ( -95.79511857777592354, -65.01605763575113883, 29.81673368852401751 ) ) ; +#11486 = AXIS2_PLACEMENT_3D ( 'NONE', #1959, #10093, #6047 ) ; +#11487 = CARTESIAN_POINT ( 'NONE', ( -98.87855690028372635, -59.01605763575113173, 37.30604204512226119 ) ) ; +#11488 = CARTESIAN_POINT ( 'NONE', ( -98.84698258422444894, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11489 = VECTOR ( 'NONE', #4855, 1000.000000000000000 ) ; +#11490 = ORIENTED_EDGE ( 'NONE', *, *, #932, .F. ) ; +#11491 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260985E-15 ) ) ; +#11492 = ADVANCED_FACE ( 'NONE', ( #9910 ), #9718, .F. ) ; +#11493 = AXIS2_PLACEMENT_3D ( 'NONE', #4019, #10853, #9029 ) ; +#11494 = ORIENTED_EDGE ( 'NONE', *, *, #4679, .T. ) ; +#11495 = CARTESIAN_POINT ( 'NONE', ( -111.2543153225863932, -58.46605763575112746, 17.12516224672793541 ) ) ; +#11496 = VECTOR ( 'NONE', #5966, 1000.000000000000000 ) ; +#11497 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, 13.24999999999810285, 3.000000000000002665 ) ) ; +#11498 = ORIENTED_EDGE ( 'NONE', *, *, #6526, .T. ) ; +#11499 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11500 = CYLINDRICAL_SURFACE ( 'NONE', #9055, 3.000000000000000000 ) ; +#11501 = ORIENTED_EDGE ( 'NONE', *, *, #870, .T. ) ; +#11502 = CARTESIAN_POINT ( 'NONE', ( -115.4264674114463674, -84.87238188173211029, 17.74016224672276820 ) ) ; +#11503 = AXIS2_PLACEMENT_3D ( 'NONE', #10164, #7096, #8130 ) ; +#11504 = ORIENTED_EDGE ( 'NONE', *, *, #6592, .F. ) ; +#11505 = ADVANCED_FACE ( 'NONE', ( #1972 ), #7817, .T. ) ; +#11506 = VECTOR ( 'NONE', #7093, 1000.000000000000000 ) ; +#11507 = CYLINDRICAL_SURFACE ( 'NONE', #12735, 0.7999999999999951594 ) ; +#11508 = PLANE ( 'NONE', #12377 ) ; +#11509 = PLANE ( 'NONE', #11555 ) ; +#11510 = EDGE_LOOP ( 'NONE', ( #7827, #23, #10326, #3940 ) ) ; +#11511 = ADVANCED_FACE ( 'NONE', ( #8646 ), #5538, .F. ) ; +#11512 = CARTESIAN_POINT ( 'NONE', ( -83.86368484408154700, -58.46605763575112746, 15.55016224672746183 ) ) ; +#11513 = CIRCLE ( 'NONE', #11288, 7.700000000002309442 ) ; +#11514 = DIRECTION ( 'NONE', ( -0.3420201433256689905, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#11515 = EDGE_LOOP ( 'NONE', ( #6053, #5373, #9442, #3021 ) ) ; +#11516 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, 18.75002382984610705 ) ) ; +#11517 = VERTEX_POINT ( 'NONE', #4425 ) ; +#11518 = VECTOR ( 'NONE', #2187, 1000.000000000000000 ) ; +#11519 = DIRECTION ( 'NONE', ( -0.3420201433256693235, 0.000000000000000000, -0.9396926207859082059 ) ) ; +#11520 = ORIENTED_EDGE ( 'NONE', *, *, #7534, .F. ) ; +#11521 = ADVANCED_FACE ( 'NONE', ( #8513 ), #6165, .T. ) ; +#11522 = CARTESIAN_POINT ( 'NONE', ( -69.19632759318530191, -83.05769853789536228, 15.76002382984609262 ) ) ; +#11523 = VECTOR ( 'NONE', #422, 1000.000000000000114 ) ; +#11524 = VECTOR ( 'NONE', #6021, 1000.000000000000000 ) ; +#11525 = FACE_OUTER_BOUND ( 'NONE', #5076, .T. ) ; +#11526 = LINE ( 'NONE', #1691, #2424 ) ; +#11527 = EDGE_CURVE ( 'NONE', #2290, #10771, #7610, .T. ) ; +#11528 = VECTOR ( 'NONE', #1772, 1000.000000000000000 ) ; +#11529 = EDGE_CURVE ( 'NONE', #10453, #7250, #4494, .T. ) ; +#11530 = LINE ( 'NONE', #6514, #7457 ) ; +#11531 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11532 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#11533 = EDGE_LOOP ( 'NONE', ( #8794, #2704, #11430, #4250 ) ) ; +#11534 = FACE_OUTER_BOUND ( 'NONE', #5446, .T. ) ; +#11535 = ORIENTED_EDGE ( 'NONE', *, *, #5230, .F. ) ; +#11536 = LINE ( 'NONE', #2555, #2495 ) ; +#11537 = AXIS2_PLACEMENT_3D ( 'NONE', #10641, #12645, #9665 ) ; +#11538 = ORIENTED_EDGE ( 'NONE', *, *, #5052, .T. ) ; +#11539 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11540 = EDGE_LOOP ( 'NONE', ( #6663, #6904, #4471, #8264 ) ) ; +#11541 = EDGE_CURVE ( 'NONE', #8985, #5092, #345, .T. ) ; +#11542 = TOROIDAL_SURFACE ( 'NONE', #3840, 1.000000000000000000, 1.000000000000000000 ) ; +#11543 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#11544 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11545 = LINE ( 'NONE', #3533, #9482 ) ; +#11546 = ORIENTED_EDGE ( 'NONE', *, *, #7070, .F. ) ; +#11547 = CARTESIAN_POINT ( 'NONE', ( -87.03247760151984380, -59.01605763575113173, 34.19414403145155035 ) ) ; +#11548 = VECTOR ( 'NONE', #5657, 1000.000000000000000 ) ; +#11549 = PLANE ( 'NONE', #8754 ) ; +#11550 = ORIENTED_EDGE ( 'NONE', *, *, #2338, .F. ) ; +#11551 = CARTESIAN_POINT ( 'NONE', ( -98.74034410393490191, -59.01605763575113173, 32.61898027292199487 ) ) ; +#11552 = ORIENTED_EDGE ( 'NONE', *, *, #12225, .F. ) ; +#11553 = CARTESIAN_POINT ( 'NONE', ( -76.85583403421783544, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11554 = ORIENTED_EDGE ( 'NONE', *, *, #12380, .T. ) ; +#11555 = AXIS2_PLACEMENT_3D ( 'NONE', #1811, #2796, #6761 ) ; +#11556 = CARTESIAN_POINT ( 'NONE', ( -72.06981523635438691, -26.25000000000000355, 3.000000000000000888 ) ) ; +#11557 = CARTESIAN_POINT ( 'NONE', ( -94.33771360621076951, -59.01605763575113173, 28.17516510229923554 ) ) ; +#11558 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11559 = ORIENTED_EDGE ( 'NONE', *, *, #7051, .T. ) ; +#11560 = PLANE ( 'NONE', #11160 ) ; +#11561 = ORIENTED_EDGE ( 'NONE', *, *, #10225, .F. ) ; +#11562 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11563 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11564 = AXIS2_PLACEMENT_3D ( 'NONE', #1793, #4657, #11558 ) ; +#11565 = ORIENTED_EDGE ( 'NONE', *, *, #7867, .F. ) ; +#11566 = LINE ( 'NONE', #11624, #7945 ) ; +#11567 = FACE_OUTER_BOUND ( 'NONE', #10440, .T. ) ; +#11568 = CARTESIAN_POINT ( 'NONE', ( -116.2848659215226377, -84.55266351360094745, 16.74016224672950059 ) ) ; +#11569 = ORIENTED_EDGE ( 'NONE', *, *, #2269, .T. ) ; +#11570 = EDGE_CURVE ( 'NONE', #7393, #12573, #7415, .T. ) ; +#11571 = CARTESIAN_POINT ( 'NONE', ( -75.40062160693628357, -33.25000000000000000, 3.000000000000002665 ) ) ; +#11572 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11573 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11574 = VECTOR ( 'NONE', #1706, 1000.000000000000000 ) ; +#11575 = VERTEX_POINT ( 'NONE', #9565 ) ; +#11576 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11577 = CARTESIAN_POINT ( 'NONE', ( -118.0212632635832080, -81.61141712501652989, 2.740162246727671391 ) ) ; +#11578 = EDGE_LOOP ( 'NONE', ( #12761, #12281, #8003, #9311 ) ) ; +#11579 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11580 = VECTOR ( 'NONE', #11491, 1000.000000000000000 ) ; +#11581 = ORIENTED_EDGE ( 'NONE', *, *, #1075, .F. ) ; +#11582 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11583 = EDGE_LOOP ( 'NONE', ( #4601, #4323, #9712, #339 ) ) ; +#11584 = EDGE_CURVE ( 'NONE', #12502, #5791, #1593, .T. ) ; +#11585 = CARTESIAN_POINT ( 'NONE', ( -66.77024111234803172, -81.73284268250985463, 15.76002382984671080 ) ) ; +#11586 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11587 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#11588 = VECTOR ( 'NONE', #11921, 1000.000000000000000 ) ; +#11589 = FACE_OUTER_BOUND ( 'NONE', #2292, .T. ) ; +#11590 = LINE ( 'NONE', #9638, #5787 ) ; +#11591 = DIRECTION ( 'NONE', ( -2.026550380470260590E-15, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11592 = EDGE_CURVE ( 'NONE', #1711, #2604, #525, .T. ) ; +#11593 = EDGE_LOOP ( 'NONE', ( #4902, #1007, #4198, #7162 ) ) ; +#11594 = CARTESIAN_POINT ( 'NONE', ( -98.10784802022807582, -65.01605763575113883, 39.06020839027629421 ) ) ; +#11595 = EDGE_LOOP ( 'NONE', ( #9764, #9428, #9510, #8305, #11920, #15 ) ) ; +#11596 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -76.14639752325007294, -0.7499761701538951719 ) ) ; +#11597 = ORIENTED_EDGE ( 'NONE', *, *, #10178, .T. ) ; +#11598 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 12.49999982601869775, 9.000000000000001776 ) ) ; +#11599 = ADVANCED_FACE ( 'NONE', ( #11457 ), #9635, .T. ) ; +#11600 = VERTEX_POINT ( 'NONE', #12359 ) ; +#11601 = EDGE_CURVE ( 'NONE', #6570, #3430, #3582, .T. ) ; +#11602 = CARTESIAN_POINT ( 'NONE', ( -91.39956824406634439, -59.01605763575113173, 29.82705338890496805 ) ) ; +#11603 = CARTESIAN_POINT ( 'NONE', ( -98.10784802022807582, -59.01605763575113173, 39.06020839027629421 ) ) ; +#11604 = CARTESIAN_POINT ( 'NONE', ( -87.02215790113889682, -59.01605763575113173, 32.91049171141277441 ) ) ; +#11605 = EDGE_LOOP ( 'NONE', ( #12407, #3865, #6783, #10285 ) ) ; +#11606 = CARTESIAN_POINT ( 'NONE', ( -115.1765632191984281, -83.89835003124092339, 17.74016224672768516 ) ) ; +#11607 = EDGE_CURVE ( 'NONE', #7777, #7236, #2433, .T. ) ; +#11608 = LINE ( 'NONE', #10508, #10841 ) ; +#11609 = ORIENTED_EDGE ( 'NONE', *, *, #5910, .F. ) ; +#11610 = DIRECTION ( 'NONE', ( 0.9396926207859084279, 0.000000000000000000, -0.3420201433256687684 ) ) ; +#11611 = VERTEX_POINT ( 'NONE', #7544 ) ; +#11612 = CARTESIAN_POINT ( 'NONE', ( -99.25748882908617077, -64.96605763575112746, 15.55016224672746006 ) ) ; +#11613 = EDGE_CURVE ( 'NONE', #5285, #10909, #11526, .T. ) ; +#11614 = CYLINDRICAL_SURFACE ( 'NONE', #11537, 0.8000000000000003775 ) ; +#11615 = CARTESIAN_POINT ( 'NONE', ( -105.4443271492264103, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11616 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#11617 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#11618 = ORIENTED_EDGE ( 'NONE', *, *, #6331, .F. ) ; +#11619 = CARTESIAN_POINT ( 'NONE', ( -87.03247760151987222, -59.01605763575113173, 37.30604204512233935 ) ) ; +#11620 = ORIENTED_EDGE ( 'NONE', *, *, #8180, .T. ) ; +#11621 = CARTESIAN_POINT ( 'NONE', ( -90.73283108516223194, -59.01605763575113173, 41.45649665253048965 ) ) ; +#11622 = FACE_OUTER_BOUND ( 'NONE', #3702, .T. ) ; +#11623 = EDGE_LOOP ( 'NONE', ( #10302, #69, #12172, #7041 ) ) ; +#11624 = CARTESIAN_POINT ( 'NONE', ( -102.6206027766914701, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11625 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11626 = AXIS2_PLACEMENT_3D ( 'NONE', #11146, #7105, #11203 ) ; +#11627 = CARTESIAN_POINT ( 'NONE', ( -120.4405086669556653, -79.11533733498319521, 17.74016224673246711 ) ) ; +#11628 = ORIENTED_EDGE ( 'NONE', *, *, #11312, .F. ) ; +#11629 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#11630 = PLANE ( 'NONE', #7194 ) ; +#11631 = FACE_OUTER_BOUND ( 'NONE', #11884, .T. ) ; +#11632 = ORIENTED_EDGE ( 'NONE', *, *, #6368, .T. ) ; +#11633 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 11.49999982601869775, 10.00000000000000000 ) ) ; +#11634 = CARTESIAN_POINT ( 'NONE', ( -98.88887660066463070, -65.01605763575113883, 32.91049171141268914 ) ) ; +#11635 = ADVANCED_FACE ( 'NONE', ( #6386 ), #722, .F. ) ; +#11636 = ORIENTED_EDGE ( 'NONE', *, *, #797, .T. ) ; +#11637 = CARTESIAN_POINT ( 'NONE', ( -75.22997229818662390, -58.46605763575112746, 2.950023829846312395 ) ) ; +#11638 = EDGE_LOOP ( 'NONE', ( #10343, #10426, #10794, #12030 ) ) ; +#11639 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11640 = ORIENTED_EDGE ( 'NONE', *, *, #7895, .T. ) ; +#11641 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -83.96605763575112746, 17.74016224672767095 ) ) ; +#11642 = CARTESIAN_POINT ( 'NONE', ( -79.05494888921849395, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11643 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#11644 = CARTESIAN_POINT ( 'NONE', ( -96.48512085511606529, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11645 = DIRECTION ( 'NONE', ( 2.026550380470260590E-15, -0.000000000000000000, 1.000000000000000000 ) ) ; +#11646 = DIRECTION ( 'NONE', ( -2.026550380470260590E-15, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11647 = EDGE_CURVE ( 'NONE', #12785, #10505, #9366, .T. ) ; +#11648 = ORIENTED_EDGE ( 'NONE', *, *, #4390, .T. ) ; +#11649 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#11650 = ORIENTED_EDGE ( 'NONE', *, *, #6677, .T. ) ; +#11651 = CARTESIAN_POINT ( 'NONE', ( -94.44875287422310350, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11652 = ORIENTED_EDGE ( 'NONE', *, *, #12614, .F. ) ; +#11653 = FACE_OUTER_BOUND ( 'NONE', #7753, .T. ) ; +#11654 = ORIENTED_EDGE ( 'NONE', *, *, #11768, .F. ) ; +#11655 = VECTOR ( 'NONE', #9660, 1000.000000000000000 ) ; +#11656 = EDGE_CURVE ( 'NONE', #5099, #5936, #6030, .T. ) ; +#11657 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -26.25000000000000355, 1.000000000000000000 ) ) ; +#11658 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11659 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11660 = ORIENTED_EDGE ( 'NONE', *, *, #8973, .F. ) ; +#11661 = LINE ( 'NONE', #1709, #4735 ) ; +#11662 = EDGE_CURVE ( 'NONE', #4368, #834, #2585, .T. ) ; +#11663 = CIRCLE ( 'NONE', #4813, 0.8000000000000003775 ) ; +#11664 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11665 = ORIENTED_EDGE ( 'NONE', *, *, #12776, .T. ) ; +#11666 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11667 = ORIENTED_EDGE ( 'NONE', *, *, #4103, .T. ) ; +#11668 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11669 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 16.74016224672766384 ) ) ; +#11670 = EDGE_CURVE ( 'NONE', #10001, #1127, #1080, .T. ) ; +#11671 = AXIS2_PLACEMENT_3D ( 'NONE', #10683, #791, #5736 ) ; +#11672 = LINE ( 'NONE', #12708, #10689 ) ; +#11673 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#11674 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#11675 = EDGE_LOOP ( 'NONE', ( #106, #11945, #4892, #1879 ) ) ; +#11676 = LINE ( 'NONE', #817, #11580 ) ; +#11677 = EDGE_CURVE ( 'NONE', #7318, #2655, #4015, .T. ) ; +#11678 = ADVANCED_FACE ( 'NONE', ( #7073 ), #9151, .F. ) ; +#11679 = ORIENTED_EDGE ( 'NONE', *, *, #2044, .F. ) ; +#11680 = FACE_OUTER_BOUND ( 'NONE', #6218, .T. ) ; +#11681 = ADVANCED_FACE ( 'NONE', ( #116 ), #10979, .T. ) ; +#11682 = EDGE_CURVE ( 'NONE', #5932, #5293, #237, .T. ) ; +#11683 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#11684 = VECTOR ( 'NONE', #12221, 1000.000000000000227 ) ; +#11685 = EDGE_CURVE ( 'NONE', #5437, #172, #3878, .T. ) ; +#11686 = ORIENTED_EDGE ( 'NONE', *, *, #10013, .T. ) ; +#11687 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11688 = FACE_OUTER_BOUND ( 'NONE', #995, .T. ) ; +#11689 = CARTESIAN_POINT ( 'NONE', ( -118.9118760814848059, -82.08343222251910731, 16.74016224672827136 ) ) ; +#11690 = ORIENTED_EDGE ( 'NONE', *, *, #11338, .T. ) ; +#11691 = AXIS2_PLACEMENT_3D ( 'NONE', #6643, #10618, #4816 ) ; +#11692 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11693 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11694 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11695 = VECTOR ( 'NONE', #7988, 1000.000000000000000 ) ; +#11696 = ORIENTED_EDGE ( 'NONE', *, *, #10890, .T. ) ; +#11697 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -83.96605763575112746, 14.76002382984610151 ) ) ; +#11698 = CARTESIAN_POINT ( 'NONE', ( -117.6123329826755111, -82.15120948102369880, 2.740162246727670503 ) ) ; +#11699 = VERTEX_POINT ( 'NONE', #9092 ) ; +#11700 = VECTOR ( 'NONE', #3284, 1000.000000000000000 ) ; +#11701 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#11702 = AXIS2_PLACEMENT_3D ( 'NONE', #2786, #7715, #12655 ) ; +#11703 = ORIENTED_EDGE ( 'NONE', *, *, #4344, .F. ) ; +#11704 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11705 = VERTEX_POINT ( 'NONE', #10140 ) ; +#11706 = FACE_OUTER_BOUND ( 'NONE', #6222, .T. ) ; +#11707 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 0.9999999999999991118 ) ) ; +#11708 = CIRCLE ( 'NONE', #8797, 2.800000000000836486 ) ; +#11709 = VECTOR ( 'NONE', #2577, 1000.000000000000000 ) ; +#11710 = CARTESIAN_POINT ( 'NONE', ( -95.28725821861233669, -64.96605763575112746, 15.55016224672746006 ) ) ; +#11711 = LINE ( 'NONE', #1096, #635 ) ; +#11712 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#11713 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11714 = ORIENTED_EDGE ( 'NONE', *, *, #10963, .F. ) ; +#11715 = VECTOR ( 'NONE', #6664, 1000.000000000000000 ) ; +#11716 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11717 = ORIENTED_EDGE ( 'NONE', *, *, #12684, .T. ) ; +#11718 = CARTESIAN_POINT ( 'NONE', ( -101.0460974392251075, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11719 = ORIENTED_EDGE ( 'NONE', *, *, #1098, .F. ) ; +#11720 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11721 = ORIENTED_EDGE ( 'NONE', *, *, #4010, .T. ) ; +#11722 = EDGE_CURVE ( 'NONE', #10670, #6342, #8048, .T. ) ; +#11723 = VECTOR ( 'NONE', #4040, 1000.000000000000000 ) ; +#11724 = VECTOR ( 'NONE', #3040, 1000.000000000000000 ) ; +#11725 = LINE ( 'NONE', #10759, #11935 ) ; +#11726 = EDGE_LOOP ( 'NONE', ( #5803, #8927, #7913, #2647 ) ) ; +#11727 = CARTESIAN_POINT ( 'NONE', ( -64.63558859164844250, -69.25895085456458844, 14.76002382984610151 ) ) ; +#11728 = VERTEX_POINT ( 'NONE', #181 ) ; +#11729 = CARTESIAN_POINT ( 'NONE', ( -83.29043172511211424, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11730 = CIRCLE ( 'NONE', #6124, 4.000000000000000888 ) ; +#11731 = AXIS2_PLACEMENT_3D ( 'NONE', #1110, #7036, #11001 ) ; +#11732 = LINE ( 'NONE', #11476, #6896 ) ; +#11733 = ORIENTED_EDGE ( 'NONE', *, *, #1178, .F. ) ; +#11734 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11735 = VECTOR ( 'NONE', #11996, 1000.000000000000000 ) ; +#11736 = EDGE_LOOP ( 'NONE', ( #5651, #4584, #1397, #1943 ) ) ; +#11737 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#11738 = ORIENTED_EDGE ( 'NONE', *, *, #3715, .T. ) ; +#11739 = ADVANCED_FACE ( 'NONE', ( #5731 ), #11039, .F. ) ; +#11740 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 2.256690496512774757 ) ) ; +#11741 = CARTESIAN_POINT ( 'NONE', ( -106.4455793677233686, -64.96605763575112746, 2.950023829846315060 ) ) ; +#11742 = CARTESIAN_POINT ( 'NONE', ( -88.68991365361037538, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11743 = DIRECTION ( 'NONE', ( -0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#11744 = VECTOR ( 'NONE', #3188, 1000.000000000000000 ) ; +#11745 = VERTEX_POINT ( 'NONE', #12015 ) ; +#11746 = LINE ( 'NONE', #10715, #11783 ) ; +#11747 = ORIENTED_EDGE ( 'NONE', *, *, #630, .F. ) ; +#11748 = CARTESIAN_POINT ( 'NONE', ( -77.26634027907955726, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11749 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11750 = EDGE_CURVE ( 'NONE', #5588, #195, #3049, .T. ) ; +#11751 = EDGE_LOOP ( 'NONE', ( #1652, #9808, #12000, #1841 ) ) ; +#11752 = LINE ( 'NONE', #8823, #7545 ) ; +#11753 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11754 = AXIS2_PLACEMENT_3D ( 'NONE', #3822, #11573, #9685 ) ; +#11755 = CARTESIAN_POINT ( 'NONE', ( -117.4506624320210477, -82.34446871505011245, 17.74016224672767805 ) ) ; +#11756 = ORIENTED_EDGE ( 'NONE', *, *, #10528, .F. ) ; +#11757 = EDGE_CURVE ( 'NONE', #9545, #5876, #2126, .T. ) ; +#11758 = EDGE_CURVE ( 'NONE', #12659, #3376, #2743, .T. ) ; +#11759 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11760 = EDGE_CURVE ( 'NONE', #8098, #2426, #2195, .T. ) ; +#11761 = CARTESIAN_POINT ( 'NONE', ( -65.45434340844158783, -75.43555924180294880, 0.7600238298461025055 ) ) ; +#11762 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11763 = ORIENTED_EDGE ( 'NONE', *, *, #9630, .T. ) ; +#11764 = VECTOR ( 'NONE', #11154, 1000.000000000000000 ) ; +#11765 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11766 = AXIS2_PLACEMENT_3D ( 'NONE', #7282, #8261, #10599 ) ; +#11767 = CARTESIAN_POINT ( 'NONE', ( -120.2284543699984027, -68.21195931440786353, 3.844271541180299234 ) ) ; +#11768 = EDGE_CURVE ( 'NONE', #7506, #4008, #9947, .T. ) ; +#11769 = ORIENTED_EDGE ( 'NONE', *, *, #12704, .T. ) ; +#11770 = CYLINDRICAL_SURFACE ( 'NONE', #2771, 1.000000000000000888 ) ; +#11771 = ORIENTED_EDGE ( 'NONE', *, *, #12259, .T. ) ; +#11772 = FACE_OUTER_BOUND ( 'NONE', #12621, .T. ) ; +#11773 = VERTEX_POINT ( 'NONE', #12076 ) ; +#11774 = EDGE_CURVE ( 'NONE', #2171, #7191, #3174, .T. ) ; +#11775 = AXIS2_PLACEMENT_3D ( 'NONE', #6164, #11954, #10073 ) ; +#11776 = CARTESIAN_POINT ( 'NONE', ( -64.12291818253383724, -73.43869721594391820, 15.76002382984730410 ) ) ; +#11777 = CIRCLE ( 'NONE', #2220, 2.800000000000836486 ) ; +#11778 = LINE ( 'NONE', #3839, #10089 ) ; +#11779 = CARTESIAN_POINT ( 'NONE', ( -108.6446942227240129, -64.96605763575112746, 2.950023829846315060 ) ) ; +#11780 = CARTESIAN_POINT ( 'NONE', ( -99.06947739121399366, -59.01605763575113173, 36.10061750632874578 ) ) ; +#11781 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11782 = ORIENTED_EDGE ( 'NONE', *, *, #10791, .T. ) ; +#11783 = VECTOR ( 'NONE', #9799, 1000.000000000000114 ) ; +#11784 = DIRECTION ( 'NONE', ( 0.3420201433256689905, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#11785 = ORIENTED_EDGE ( 'NONE', *, *, #11845, .T. ) ; +#11786 = PLANE ( 'NONE', #5403 ) ; +#11787 = VERTEX_POINT ( 'NONE', #4395 ) ; +#11788 = CARTESIAN_POINT ( 'NONE', ( -113.9825526913416809, -83.96605763575112746, 16.74016224672766739 ) ) ; +#11789 = ORIENTED_EDGE ( 'NONE', *, *, #3026, .T. ) ; +#11790 = AXIS2_PLACEMENT_3D ( 'NONE', #3364, #3305, #9408 ) ; +#11791 = CIRCLE ( 'NONE', #10347, 2.800000000000836486 ) ; +#11792 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11793 = CIRCLE ( 'NONE', #2240, 6.124000000001839972 ) ; +#11794 = ORIENTED_EDGE ( 'NONE', *, *, #4139, .F. ) ; +#11795 = LINE ( 'NONE', #16, #7401 ) ; +#11796 = ORIENTED_EDGE ( 'NONE', *, *, #4663, .F. ) ; +#11797 = LINE ( 'NONE', #10763, #2664 ) ; +#11798 = LINE ( 'NONE', #8865, #9584 ) ; +#11799 = ORIENTED_EDGE ( 'NONE', *, *, #5996, .F. ) ; +#11800 = CARTESIAN_POINT ( 'NONE', ( -112.9825526913416809, -84.96605763575112746, 16.74016224672766739 ) ) ; +#11801 = EDGE_CURVE ( 'NONE', #11728, #10505, #2516, .T. ) ; +#11802 = AXIS2_PLACEMENT_3D ( 'NONE', #4033, #3064, #8776 ) ; +#11803 = VERTEX_POINT ( 'NONE', #1406 ) ; +#11804 = CARTESIAN_POINT ( 'NONE', ( -93.25089023771940333, -58.46605763575112746, 2.950023829846315060 ) ) ; +#11805 = VECTOR ( 'NONE', #4964, 1000.000000000000000 ) ; +#11806 = VERTEX_POINT ( 'NONE', #9278 ) ; +#11807 = CARTESIAN_POINT ( 'NONE', ( -91.39956824406634439, -65.01605763575113883, 29.82705338890496805 ) ) ; +#11808 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11809 = FACE_OUTER_BOUND ( 'NONE', #5110, .T. ) ; +#11810 = CARTESIAN_POINT ( 'NONE', ( -86.17845484026818781, -59.01605763575113173, 39.40542135218875330 ) ) ; +#11811 = ORIENTED_EDGE ( 'NONE', *, *, #5697, .T. ) ; +#11812 = FACE_OUTER_BOUND ( 'NONE', #1865, .T. ) ; +#11813 = ORIENTED_EDGE ( 'NONE', *, *, #863, .F. ) ; +#11814 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.22785702355027126, 17.74016224672767450 ) ) ; +#11815 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260590E-15 ) ) ; +#11816 = ADVANCED_FACE ( 'NONE', ( #11363 ), #3429, .T. ) ; +#11817 = ORIENTED_EDGE ( 'NONE', *, *, #8006, .F. ) ; +#11818 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -13.25000000000000178, 9.000000000000001776 ) ) ; +#11819 = CARTESIAN_POINT ( 'NONE', ( -85.02768393668618785, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11820 = CARTESIAN_POINT ( 'NONE', ( -118.0853113448992673, -81.51930742543395070, 17.74016224672767095 ) ) ; +#11821 = VERTEX_POINT ( 'NONE', #3357 ) ; +#11822 = LINE ( 'NONE', #5903, #2986 ) ; +#11823 = EDGE_CURVE ( 'NONE', #6103, #10514, #9478, .T. ) ; +#11824 = CARTESIAN_POINT ( 'NONE', ( -65.96593137471910495, -77.44200639517099205, 0.7600238298461021724 ) ) ; +#11825 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11826 = VERTEX_POINT ( 'NONE', #10261 ) ; +#11827 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11828 = EDGE_CURVE ( 'NONE', #8075, #7725, #2456, .T. ) ; +#11829 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, -12.50498006704500042, 0.000000000000000000 ) ) ; +#11830 = ORIENTED_EDGE ( 'NONE', *, *, #12553, .F. ) ; +#11831 = PLANE ( 'NONE', #8570 ) ; +#11832 = VERTEX_POINT ( 'NONE', #1463 ) ; +#11833 = CARTESIAN_POINT ( 'NONE', ( -105.2815802751187135, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11834 = ORIENTED_EDGE ( 'NONE', *, *, #9388, .F. ) ; +#11835 = CIRCLE ( 'NONE', #11418, 2.450000000000000622 ) ; +#11836 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -70.04081548788053624, 15.76002382984609618 ) ) ; +#11837 = ADVANCED_FACE ( 'NONE', ( #12396 ), #1534, .F. ) ; +#11838 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11839 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -76.14639752325007294, 4.250023829846106160 ) ) ; +#11840 = CARTESIAN_POINT ( 'NONE', ( -89.64540189891232558, -59.01605763575113173, 30.59776226896062568 ) ) ; +#11841 = EDGE_CURVE ( 'NONE', #1860, #1665, #5374, .T. ) ; +#11842 = LINE ( 'NONE', #1166, #275 ) ; +#11843 = ORIENTED_EDGE ( 'NONE', *, *, #8645, .T. ) ; +#11844 = CARTESIAN_POINT ( 'NONE', ( -79.05494888921849395, -58.46605763575112746, 1.375023829845842149 ) ) ; +#11846 = EDGE_LOOP ( 'NONE', ( #12332, #4949, #6690, #10994 ) ) ; +#11845 = EDGE_CURVE ( 'NONE', #11705, #4188, #4467, .T. ) ; +#11847 = EDGE_CURVE ( 'NONE', #9339, #3957, #3890, .T. ) ; +#11848 = ORIENTED_EDGE ( 'NONE', *, *, #762, .T. ) ; +#11849 = CARTESIAN_POINT ( 'NONE', ( -68.51738869086679529, -82.40839924967910690, 15.76002382984610328 ) ) ; +#11850 = ORIENTED_EDGE ( 'NONE', *, *, #10963, .T. ) ; +#11851 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11852 = ORIENTED_EDGE ( 'NONE', *, *, #4924, .T. ) ; +#11853 = CARTESIAN_POINT ( 'NONE', ( -87.85140830922114219, -58.46605763575112746, 1.375023829845842149 ) ) ; +#11854 = EDGE_LOOP ( 'NONE', ( #3856, #7917, #12326, #1465 ) ) ; +#11855 = CARTESIAN_POINT ( 'NONE', ( -86.49079879860971687, -64.96605763575112746, 15.55016224672746183 ) ) ; +#11856 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11857 = VERTEX_POINT ( 'NONE', #11425 ) ; +#11858 = CARTESIAN_POINT ( 'NONE', ( -87.80318648157553696, -65.01605763575113883, 39.06020839027636526 ) ) ; +#11859 = AXIS2_PLACEMENT_3D ( 'NONE', #10245, #11215, #12443 ) ; +#11860 = ORIENTED_EDGE ( 'NONE', *, *, #8217, .F. ) ; +#11861 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#11862 = EDGE_LOOP ( 'NONE', ( #12201, #4264, #4734, #9060 ) ) ; +#11863 = CARTESIAN_POINT ( 'NONE', ( -96.61084556480354024, -65.01605763575113883, 28.97303062765322323 ) ) ; +#11864 = LINE ( 'NONE', #11741, #4883 ) ; +#11865 = ADVANCED_FACE ( 'NONE', ( #10448 ), #5508, .F. ) ; +#11866 = CARTESIAN_POINT ( 'NONE', ( -89.26316677257977972, -64.96605763575112746, 17.12516224672793541 ) ) ; +#11867 = LINE ( 'NONE', #11810, #5533 ) ; +#11868 = AXIS2_PLACEMENT_3D ( 'NONE', #3536, #546, #7499 ) ; +#11869 = VERTEX_POINT ( 'NONE', #8230 ) ; +#11870 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -19.44615242270661426, 0.4641016151377423959 ) ) ; +#11871 = EDGE_LOOP ( 'NONE', ( #1405, #3494, #11448, #9277 ) ) ; +#11872 = CARTESIAN_POINT ( 'NONE', ( -109.2179473416934314, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11873 = CARTESIAN_POINT ( 'NONE', ( -121.9825526913416667, -69.96605763575112746, 14.25016224672766896 ) ) ; +#11874 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11875 = VERTEX_POINT ( 'NONE', #11293 ) ; +#11876 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11877 = VECTOR ( 'NONE', #2086, 1000.000000000000000 ) ; +#11878 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11879 = ORIENTED_EDGE ( 'NONE', *, *, #7624, .F. ) ; +#11880 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 1.334402673828313586E-16 ) ) ; +#11881 = EDGE_CURVE ( 'NONE', #3430, #12224, #7213, .T. ) ; +#11882 = CARTESIAN_POINT ( 'NONE', ( -65.02568340315843898, -72.72432753584337206, 0.7600238298461078346 ) ) ; +#11883 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 3.250023829846110601 ) ) ; +#11884 = EDGE_LOOP ( 'NONE', ( #2853, #7491, #6246, #5786 ) ) ; +#11885 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -33.25000000000000000, 3.000000000000002665 ) ) ; +#11886 = CARTESIAN_POINT ( 'NONE', ( -75.98255269134165246, -64.96605763575112746, 15.42173512198147556 ) ) ; +#11887 = ORIENTED_EDGE ( 'NONE', *, *, #2468, .F. ) ; +#11888 = CARTESIAN_POINT ( 'NONE', ( -97.40560149999998885, 12.49999982601869952, 0.000000000000000000 ) ) ; +#11889 = ADVANCED_FACE ( 'NONE', ( #7201 ), #11170, .F. ) ; +#11890 = VERTEX_POINT ( 'NONE', #4333 ) ; +#11891 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 16.24999999999809930, 0.9999999999999991118 ) ) ; +#11892 = VERTEX_POINT ( 'NONE', #10198 ) ; +#11893 = AXIS2_PLACEMENT_3D ( 'NONE', #4486, #1484, #6438 ) ; +#11894 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.86644213680253301, 15.76002382984609618 ) ) ; +#11895 = ADVANCED_FACE ( 'NONE', ( #9337 ), #5308, .T. ) ; +#11896 = CYLINDRICAL_SURFACE ( 'NONE', #11325, 6.124000000001836419 ) ; +#11897 = AXIS2_PLACEMENT_3D ( 'NONE', #254, #7219, #3192 ) ; +#11898 = DIRECTION ( 'NONE', ( -0.3420201433256692680, 0.000000000000000000, -0.9396926207859082059 ) ) ; +#11899 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#11900 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.544631851866820033E-16, -0.000000000000000000 ) ) ; +#11901 = VECTOR ( 'NONE', #8296, 1000.000000000000000 ) ; +#11902 = ORIENTED_EDGE ( 'NONE', *, *, #3385, .T. ) ; +#11903 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -59.46605763575112746, 14.25016224672766896 ) ) ; +#11904 = VERTEX_POINT ( 'NONE', #7258 ) ; +#11905 = EDGE_CURVE ( 'NONE', #6034, #4131, #2320, .T. ) ; +#11906 = EDGE_LOOP ( 'NONE', ( #5579, #9181, #4965, #848 ) ) ; +#11907 = FACE_OUTER_BOUND ( 'NONE', #9654, .T. ) ; +#11908 = VERTEX_POINT ( 'NONE', #8290 ) ; +#11909 = VECTOR ( 'NONE', #11514, 1000.000000000000000 ) ; +#11910 = FACE_OUTER_BOUND ( 'NONE', #8394, .T. ) ; +#11911 = VECTOR ( 'NONE', #12273, 1000.000000000000000 ) ; +#11912 = ADVANCED_FACE ( 'NONE', ( #427 ), #12261, .F. ) ; +#11913 = AXIS2_PLACEMENT_3D ( 'NONE', #9873, #4859, #3880 ) ; +#11914 = EDGE_CURVE ( 'NONE', #10393, #6986, #10648, .T. ) ; +#11915 = CARTESIAN_POINT ( 'NONE', ( -88.19004224504287492, -59.01605763575113173, 40.28422325670119619 ) ) ; +#11916 = EDGE_CURVE ( 'NONE', #12301, #7777, #3742, .T. ) ; +#11917 = ADVANCED_FACE ( 'NONE', ( #1795 ), #8682, .F. ) ; +#11918 = ORIENTED_EDGE ( 'NONE', *, *, #11670, .T. ) ; +#11919 = AXIS2_PLACEMENT_3D ( 'NONE', #11598, #2691, #6716 ) ; +#11920 = ORIENTED_EDGE ( 'NONE', *, *, #3042, .F. ) ; +#11921 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11922 = VECTOR ( 'NONE', #2850, 1000.000000000000000 ) ; +#11923 = LINE ( 'NONE', #6916, #6054 ) ; +#11924 = VECTOR ( 'NONE', #3798, 1000.000000000000000 ) ; +#11925 = ORIENTED_EDGE ( 'NONE', *, *, #6064, .T. ) ; +#11926 = LINE ( 'NONE', #6798, #9932 ) ; +#11927 = EDGE_CURVE ( 'NONE', #1475, #2712, #4591, .T. ) ; +#11928 = AXIS2_PLACEMENT_3D ( 'NONE', #4093, #9101, #187 ) ; +#11929 = EDGE_LOOP ( 'NONE', ( #4993, #5453, #11948, #1106, #10835 ) ) ; +#11930 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416951, -84.96605763575112746, 2.740162246727682493 ) ) ; +#11931 = VERTEX_POINT ( 'NONE', #8546 ) ; +#11932 = AXIS2_PLACEMENT_3D ( 'NONE', #6166, #11229, #2321 ) ; +#11933 = FACE_OUTER_BOUND ( 'NONE', #11540, .T. ) ; +#11934 = EDGE_CURVE ( 'NONE', #8124, #2892, #5632, .T. ) ; +#11935 = VECTOR ( 'NONE', #3597, 1000.000000000000000 ) ; +#11936 = LINE ( 'NONE', #4185, #3802 ) ; +#11937 = DIRECTION ( 'NONE', ( 0.9396926207859108704, 0.000000000000000000, -0.3420201433256618295 ) ) ; +#11938 = VECTOR ( 'NONE', #3307, 1000.000000000000000 ) ; +#11939 = EDGE_CURVE ( 'NONE', #484, #8179, #11746, .T. ) ; +#11940 = VERTEX_POINT ( 'NONE', #4532 ) ; +#11941 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11942 = CARTESIAN_POINT ( 'NONE', ( -106.0175802681958572, -58.46605763575112746, 2.950023829846315060 ) ) ; +#11943 = LINE ( 'NONE', #11158, #1053 ) ; +#11944 = PLANE ( 'NONE', #9612 ) ; +#11945 = ORIENTED_EDGE ( 'NONE', *, *, #3651, .F. ) ; +#11946 = CARTESIAN_POINT ( 'NONE', ( -104.2464645127226817, -58.46605763575112746, 2.950023829846315060 ) ) ; +#11947 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11948 = ORIENTED_EDGE ( 'NONE', *, *, #5837, .F. ) ; +#11949 = CIRCLE ( 'NONE', #6973, 2.800000000000836486 ) ; +#11950 = LINE ( 'NONE', #11033, #9002 ) ; +#11951 = CARTESIAN_POINT ( 'NONE', ( -81.09131687011145573, -58.46605763575112746, 17.12516224672793541 ) ) ; +#11952 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11953 = ORIENTED_EDGE ( 'NONE', *, *, #6373, .T. ) ; +#11954 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11955 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -59.01605763575113173, 34.14034842993743268 ) ) ; +#11956 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11957 = VERTEX_POINT ( 'NONE', #7582 ) ; +#11958 = AXIS2_PLACEMENT_3D ( 'NONE', #10847, #12013, #9088 ) ; +#11959 = CARTESIAN_POINT ( 'NONE', ( -96.64786772922379043, -58.46605763575112746, 1.375023829845842149 ) ) ; +#11960 = EDGE_CURVE ( 'NONE', #9374, #1860, #11676, .T. ) ; +#11961 = ORIENTED_EDGE ( 'NONE', *, *, #9418, .F. ) ; +#11962 = CYLINDRICAL_SURFACE ( 'NONE', #708, 0.9999999999999991118 ) ; +#11963 = ORIENTED_EDGE ( 'NONE', *, *, #5220, .T. ) ; +#11964 = CARTESIAN_POINT ( 'NONE', ( -76.85583403421783544, -64.96605763575112746, 1.375023829845842149 ) ) ; +#11965 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#11966 = TOROIDAL_SURFACE ( 'NONE', #1575, 4.000000000000000000, 1.000000000000000000 ) ; +#11967 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#11968 = LINE ( 'NONE', #3966, #10566 ) ; +#11969 = PLANE ( 'NONE', #8150 ) ; +#11970 = VERTEX_POINT ( 'NONE', #8489 ) ; +#11971 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#11972 = EDGE_CURVE ( 'NONE', #12597, #3196, #10777, .T. ) ; +#11973 = VECTOR ( 'NONE', #5825, 1000.000000000000000 ) ; +#11974 = VERTEX_POINT ( 'NONE', #6742 ) ; +#11975 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#11976 = CIRCLE ( 'NONE', #8643, 1.000000000000000888 ) ; +#11977 = CARTESIAN_POINT ( 'NONE', ( -73.92448600717673912, -64.96605763575112746, 1.670717390400673130 ) ) ; +#11978 = ORIENTED_EDGE ( 'NONE', *, *, #1828, .F. ) ; +#11979 = CARTESIAN_POINT ( 'NONE', ( -79.89345423360771292, -58.46605763575112746, 15.55016224672746183 ) ) ; +#11980 = CARTESIAN_POINT ( 'NONE', ( -73.92848181046188927, -65.96605763575112746, 0.7600238298461036157 ) ) ; +#11982 = ORIENTED_EDGE ( 'NONE', *, *, #10242, .F. ) ; +#11981 = ADVANCED_FACE ( 'NONE', ( #3620 ), #11560, .F. ) ; +#11983 = CARTESIAN_POINT ( 'NONE', ( -88.85266052771805789, -64.96605763575112746, 2.950023829846315948 ) ) ; +#11984 = CIRCLE ( 'NONE', #6379, 2.800000000000836486 ) ; +#11985 = ORIENTED_EDGE ( 'NONE', *, *, #685, .F. ) ; +#11986 = CARTESIAN_POINT ( 'NONE', ( -90.11591592402756135, -59.01605763575113173, 29.81673368852405659 ) ) ; +#11987 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#11988 = LINE ( 'NONE', #5095, #4563 ) ; +#11989 = ADVANCED_FACE ( 'NONE', ( #10520 ), #355, .T. ) ; +#11990 = ORIENTED_EDGE ( 'NONE', *, *, #1833, .T. ) ; +#11991 = CARTESIAN_POINT ( 'NONE', ( -114.9676511300985879, -84.96605763575112746, 3.740162246728903295 ) ) ; +#11992 = EDGE_CURVE ( 'NONE', #5151, #533, #2025, .T. ) ; +#11993 = ORIENTED_EDGE ( 'NONE', *, *, #4924, .F. ) ; +#11994 = CIRCLE ( 'NONE', #2443, 2.000000000000000000 ) ; +#11995 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#11996 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, 1.334402673828313586E-16 ) ) ; +#11997 = EDGE_CURVE ( 'NONE', #12477, #285, #684, .T. ) ; +#11998 = LINE ( 'NONE', #3220, #10458 ) ; +#11999 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12000 = ORIENTED_EDGE ( 'NONE', *, *, #7938, .T. ) ; +#12001 = CARTESIAN_POINT ( 'NONE', ( -80.05620110771543807, -64.96605763575112746, 2.950023829846315948 ) ) ; +#12002 = AXIS2_PLACEMENT_3D ( 'NONE', #9583, #12503, #668 ) ; +#12003 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12004 = CARTESIAN_POINT ( 'NONE', ( -88.19004224504287492, -59.01605763575113173, 40.28422325670119619 ) ) ; +#12005 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -44.55000000000000426, 19.25002382984610705 ) ) ; +#12006 = EDGE_CURVE ( 'NONE', #10873, #4451, #7648, .T. ) ; +#12007 = ORIENTED_EDGE ( 'NONE', *, *, #10375, .T. ) ; +#12008 = DIRECTION ( 'NONE', ( -0.9396926207859136460, 0.000000000000000000, -0.3420201433256545021 ) ) ; +#12009 = CYLINDRICAL_SURFACE ( 'NONE', #4247, 0.9999999999999997780 ) ; +#12010 = ORIENTED_EDGE ( 'NONE', *, *, #8929, .F. ) ; +#12011 = CARTESIAN_POINT ( 'NONE', ( -71.75397263657815472, -14.03751011389929815, 2.447817803033669470 ) ) ; +#12012 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12013 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#12014 = VERTEX_POINT ( 'NONE', #3804 ) ; +#12015 = CARTESIAN_POINT ( 'NONE', ( -98.10784802022806161, -65.01605763575113883, 32.43997768629744627 ) ) ; +#12016 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#12017 = LINE ( 'NONE', #2130, #1078 ) ; +#12018 = VERTEX_POINT ( 'NONE', #7772 ) ; +#12019 = CARTESIAN_POINT ( 'NONE', ( -105.4443271492264103, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12020 = VECTOR ( 'NONE', #11458, 1000.000000000000000 ) ; +#12021 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12022 = ORIENTED_EDGE ( 'NONE', *, *, #4050, .T. ) ; +#12023 = LINE ( 'NONE', #3119, #9649 ) ; +#12024 = ORIENTED_EDGE ( 'NONE', *, *, #7928, .T. ) ; +#12025 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -65.96605763575112746, 0.000000000000000000 ) ) ; +#12026 = CARTESIAN_POINT ( 'NONE', ( -86.06279969908220551, -58.46605763575112746, 15.55016224672746183 ) ) ; +#12027 = EDGE_CURVE ( 'NONE', #5092, #3275, #3685, .T. ) ; +#12028 = CARTESIAN_POINT ( 'NONE', ( -76.40062160693628357, -26.25000000000000355, 3.000000000000002665 ) ) ; +#12029 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#12030 = ORIENTED_EDGE ( 'NONE', *, *, #5370, .F. ) ; +#12031 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#12032 = ORIENTED_EDGE ( 'NONE', *, *, #10947, .T. ) ; +#12033 = LINE ( 'NONE', #10160, #5077 ) ; +#12034 = CARTESIAN_POINT ( 'NONE', ( -77.42908715318728241, -64.96605763575112746, 2.950023829846312395 ) ) ; +#12035 = ORIENTED_EDGE ( 'NONE', *, *, #6353, .T. ) ; +#12036 = CARTESIAN_POINT ( 'NONE', ( -100.5868239882426280, -59.01605763575113173, 36.77632765115652802 ) ) ; +#12037 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -26.25000000000000355, 9.250023829846105272 ) ) ; +#12038 = EDGE_CURVE ( 'NONE', #10447, #6755, #12519, .T. ) ; +#12039 = ORIENTED_EDGE ( 'NONE', *, *, #11208, .T. ) ; +#12040 = CARTESIAN_POINT ( 'NONE', ( -64.72002765833110516, -76.68438186603098927, 0.7600238298464820907 ) ) ; +#12041 = ORIENTED_EDGE ( 'NONE', *, *, #1342, .F. ) ; +#12042 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12043 = FACE_OUTER_BOUND ( 'NONE', #11197, .T. ) ; +#12044 = ORIENTED_EDGE ( 'NONE', *, *, #380, .T. ) ; +#12045 = LINE ( 'NONE', #2293, #10801 ) ; +#12046 = ORIENTED_EDGE ( 'NONE', *, *, #1105, .F. ) ; +#12047 = CARTESIAN_POINT ( 'NONE', ( -117.6618206312624153, -83.55585800715519440, 3.740162246727404050 ) ) ; +#12048 = ORIENTED_EDGE ( 'NONE', *, *, #10646, .T. ) ; +#12049 = ADVANCED_FACE ( 'NONE', ( #623 ), #2713, .T. ) ; +#12050 = AXIS2_PLACEMENT_3D ( 'NONE', #3583, #6707, #7546 ) ; +#12051 = CARTESIAN_POINT ( 'NONE', ( -99.73257966153543919, -59.01605763575113173, 39.40542135218865383 ) ) ; +#12052 = FACE_OUTER_BOUND ( 'NONE', #9622, .T. ) ; +#12053 = ADVANCED_FACE ( 'NONE', ( #33 ), #9866, .F. ) ; +#12054 = CARTESIAN_POINT ( 'NONE', ( -104.0837176386149849, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12055 = CARTESIAN_POINT ( 'NONE', ( -99.68548792861368213, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12056 = ORIENTED_EDGE ( 'NONE', *, *, #7071, .F. ) ; +#12057 = PLANE ( 'NONE', #10953 ) ; +#12058 = AXIS2_PLACEMENT_3D ( 'NONE', #5389, #9234, #129 ) ; +#12059 = CARTESIAN_POINT ( 'NONE', ( -87.22679879168684636, -64.96605763575112746, 1.375023829845842149 ) ) ; +#12060 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12061 = CARTESIAN_POINT ( 'NONE', ( -87.03247760151984380, -59.01605763575113173, 34.19414403145155035 ) ) ; +#12062 = EDGE_LOOP ( 'NONE', ( #376, #12827, #11029, #3775 ) ) ; +#12063 = LINE ( 'NONE', #357, #12749 ) ; +#12064 = EDGE_CURVE ( 'NONE', #4215, #5407, #6868, .T. ) ; +#12065 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#12066 = EDGE_LOOP ( 'NONE', ( #1661, #3303, #7920, #6826 ) ) ; +#12067 = AXIS2_PLACEMENT_3D ( 'NONE', #12004, #1138, #7118 ) ; +#12068 = AXIS2_PLACEMENT_3D ( 'NONE', #5109, #7308, #1139 ) ; +#12069 = CARTESIAN_POINT ( 'NONE', ( -98.88887660066464491, -65.01605763575113883, 38.58969436516104423 ) ) ; +#12070 = ADVANCED_FACE ( 'NONE', ( #880 ), #12057, .T. ) ; +#12071 = CARTESIAN_POINT ( 'NONE', ( -94.28600600011540678, -58.46605763575112746, 17.12516224672793541 ) ) ; +#12072 = CARTESIAN_POINT ( 'NONE', ( -97.48637307361302362, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12073 = ADVANCED_FACE ( 'NONE', ( #3934 ), #3157, .F. ) ; +#12074 = EDGE_CURVE ( 'NONE', #7581, #7485, #9076, .T. ) ; +#12075 = ORIENTED_EDGE ( 'NONE', *, *, #5644, .T. ) ; +#12076 = CARTESIAN_POINT ( 'NONE', ( -85.48954658011275853, -58.46605763575112746, 17.12516224672793541 ) ) ; +#12077 = EDGE_CURVE ( 'NONE', #72, #1324, #6176, .T. ) ; +#12078 = PLANE ( 'NONE', #2807 ) ; +#12079 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550992, -65.25895085456457423, 7.216469070997085566 ) ) ; +#12080 = VECTOR ( 'NONE', #6216, 1000.000000000000000 ) ; +#12081 = LINE ( 'NONE', #2132, #2979 ) ; +#12082 = DIRECTION ( 'NONE', ( 0.3420201433256689350, 0.000000000000000000, -0.9396926207859083169 ) ) ; +#12083 = EDGE_CURVE ( 'NONE', #5754, #3957, #1396, .T. ) ; +#12084 = ORIENTED_EDGE ( 'NONE', *, *, #9163, .F. ) ; +#12085 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#12086 = VERTEX_POINT ( 'NONE', #11870 ) ; +#12087 = CARTESIAN_POINT ( 'NONE', ( -121.1058663437431306, -70.32610976290425242, 2.740162246729434870 ) ) ; +#12088 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#12089 = CIRCLE ( 'NONE', #9383, 0.7999999999999951594 ) ; +#12090 = EDGE_CURVE ( 'NONE', #10231, #7179, #5890, .T. ) ; +#12091 = CARTESIAN_POINT ( 'NONE', ( -89.82440448553691681, -65.01605763575113883, 41.53491989132000128 ) ) ; +#12092 = CARTESIAN_POINT ( 'NONE', ( -92.66014426408416682, -58.46605763575112746, 15.55016224672746183 ) ) ; +#12093 = VERTEX_POINT ( 'NONE', #9985 ) ; +#12094 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12095 = ORIENTED_EDGE ( 'NONE', *, *, #6583, .T. ) ; +#12096 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12097 = CARTESIAN_POINT ( 'NONE', ( -98.68423571011672379, -58.46605763575112746, 17.12516224672793541 ) ) ; +#12098 = ORIENTED_EDGE ( 'NONE', *, *, #150, .F. ) ; +#12099 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12100 = CIRCLE ( 'NONE', #1746, 1.000000000000000000 ) ; +#12101 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#12102 = CARTESIAN_POINT ( 'NONE', ( -69.77203881788688022, -83.48179195663639973, 0.7600238298461055031 ) ) ; +#12103 = CIRCLE ( 'NONE', #686, 2.800000000000843592 ) ; +#12104 = ORIENTED_EDGE ( 'NONE', *, *, #3317, .T. ) ; +#12105 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -84.22785702355025705, 15.76002382984610328 ) ) ; +#12106 = CARTESIAN_POINT ( 'NONE', ( -64.93139904479190250, -70.37735396380439568, 15.76002382984610684 ) ) ; +#12107 = ORIENTED_EDGE ( 'NONE', *, *, #4321, .F. ) ; +#12108 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.106201521881305841E-15 ) ) ; +#12109 = ORIENTED_EDGE ( 'NONE', *, *, #10738, .T. ) ; +#12110 = VECTOR ( 'NONE', #2369, 1000.000000000000000 ) ; +#12111 = CARTESIAN_POINT ( 'NONE', ( -116.7147069086207267, -83.05769853789294643, 2.740162246727674500 ) ) ; +#12112 = VECTOR ( 'NONE', #8316, 1000.000000000000000 ) ; +#12113 = ORIENTED_EDGE ( 'NONE', *, *, #11939, .F. ) ; +#12114 = EDGE_CURVE ( 'NONE', #11611, #3133, #6148, .T. ) ; +#12115 = VECTOR ( 'NONE', #2912, 1000.000000000000000 ) ; +#12116 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12117 = LINE ( 'NONE', #4127, #10283 ) ; +#12118 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12119 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 1.192622389734055617E-16 ) ) ; +#12120 = AXIS2_PLACEMENT_3D ( 'NONE', #3809, #7775, #9930 ) ; +#12121 = EDGE_LOOP ( 'NONE', ( #5209, #3086 ) ) ; +#12122 = CARTESIAN_POINT ( 'NONE', ( -87.68866143511344546, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12123 = AXIS2_PLACEMENT_3D ( 'NONE', #3885, #11759, #8693 ) ; +#12124 = AXIS2_PLACEMENT_3D ( 'NONE', #12085, #6173, #1090 ) ; +#12125 = CARTESIAN_POINT ( 'NONE', ( -100.4056015000000031, -26.25000000000000355, 15.50019557898779610 ) ) ; +#12126 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12127 = CARTESIAN_POINT ( 'NONE', ( -89.07824139573209266, -65.01605763575113883, 31.00982849472599412 ) ) ; +#12128 = CIRCLE ( 'NONE', #10059, 7.700000000002302336 ) ; +#12129 = VERTEX_POINT ( 'NONE', #12001 ) ; +#12130 = DIRECTION ( 'NONE', ( 0.7071067811865455743, -0.7071067811865494601, 0.000000000000000000 ) ) ; +#12131 = ADVANCED_FACE ( 'NONE', ( #5956 ), #947, .F. ) ; +#12132 = CARTESIAN_POINT ( 'NONE', ( -114.4825526913416667, -84.96605763575112746, 12.99016224672767272 ) ) ; +#12133 = AXIS2_PLACEMENT_3D ( 'NONE', #4526, #4462, #12321 ) ; +#12134 = VERTEX_POINT ( 'NONE', #1064 ) ; +#12135 = AXIS2_PLACEMENT_3D ( 'NONE', #4458, #6344, #11419 ) ; +#12136 = FACE_OUTER_BOUND ( 'NONE', #12232, .T. ) ; +#12137 = LINE ( 'NONE', #11951, #4718 ) ; +#12138 = CARTESIAN_POINT ( 'NONE', ( -68.54136273985612604, -65.96772342697418878, 13.83275743293463833 ) ) ; +#12139 = AXIS2_PLACEMENT_3D ( 'NONE', #9282, #6228, #3175 ) ; +#12140 = ORIENTED_EDGE ( 'NONE', *, *, #1240, .F. ) ; +#12141 = CARTESIAN_POINT ( 'NONE', ( -90.15550846171311150, 13.89991557692050073, 0.000000000000000000 ) ) ; +#12142 = EDGE_CURVE ( 'NONE', #3351, #982, #6387, .T. ) ; +#12143 = CARTESIAN_POINT ( 'NONE', ( -97.72099225676072365, -59.01605763575113173, 31.21596281987260824 ) ) ; +#12144 = VECTOR ( 'NONE', #6529, 1000.000000000000114 ) ; +#12145 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -24.68297142738792616, -0.2499761701538951719 ) ) ; +#12146 = AXIS2_PLACEMENT_3D ( 'NONE', #5148, #5338, #201 ) ; +#12147 = VERTEX_POINT ( 'NONE', #2111 ) ; +#12148 = LINE ( 'NONE', #7325, #11901 ) ; +#12149 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12150 = ADVANCED_FACE ( 'NONE', ( #8878 ), #1992, .F. ) ; +#12151 = EDGE_LOOP ( 'NONE', ( #3969, #10611, #2340, #2837 ) ) ; +#12152 = AXIS2_PLACEMENT_3D ( 'NONE', #10773, #12840, #6805 ) ; +#12153 = EDGE_CURVE ( 'NONE', #647, #12502, #5063, .T. ) ; +#12154 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12155 = EDGE_LOOP ( 'NONE', ( #3476, #8639, #1924, #6115 ) ) ; +#12156 = CARTESIAN_POINT ( 'NONE', ( -107.4806951301193720, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12157 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, 13.24999999999810285, 1.000000000000000000 ) ) ; +#12158 = EDGE_CURVE ( 'NONE', #2381, #10619, #10052, .T. ) ; +#12159 = AXIS2_PLACEMENT_3D ( 'NONE', #4620, #7542, #6704 ) ; +#12160 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12161 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12162 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575114167, 14.76002382984610861 ) ) ; +#12163 = ORIENTED_EDGE ( 'NONE', *, *, #1809, .F. ) ; +#12164 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#12165 = ADVANCED_FACE ( 'NONE', ( #11812 ), #4132, .F. ) ; +#12166 = ORIENTED_EDGE ( 'NONE', *, *, #6756, .T. ) ; +#12167 = CARTESIAN_POINT ( 'NONE', ( -88.85266052771805789, -64.96605763575112746, 2.950023829846315948 ) ) ; +#12168 = ORIENTED_EDGE ( 'NONE', *, *, #7593, .F. ) ; +#12169 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -59.01605763575113173, 35.75009303828688445 ) ) ; +#12170 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12171 = CARTESIAN_POINT ( 'NONE', ( -68.11988740079085858, -83.43117233271738087, 1.760023829846255827 ) ) ; +#12172 = ORIENTED_EDGE ( 'NONE', *, *, #11914, .F. ) ; +#12173 = LINE ( 'NONE', #7235, #6810 ) ; +#12174 = ORIENTED_EDGE ( 'NONE', *, *, #9519, .F. ) ; +#12175 = VECTOR ( 'NONE', #283, 1000.000000000000000 ) ; +#12176 = CARTESIAN_POINT ( 'NONE', ( -95.17820341664142347, -59.01605763575113173, 41.45649665253046834 ) ) ; +#12177 = VECTOR ( 'NONE', #5780, 1000.000000000000000 ) ; +#12178 = VERTEX_POINT ( 'NONE', #476 ) ; +#12179 = CYLINDRICAL_SURFACE ( 'NONE', #3943, 2.800000000000843592 ) ; +#12180 = ORIENTED_EDGE ( 'NONE', *, *, #9495, .T. ) ; +#12181 = CARTESIAN_POINT ( 'NONE', ( -117.6876977062306793, -82.05852311186015413, 2.740162246727676720 ) ) ; +#12182 = ORIENTED_EDGE ( 'NONE', *, *, #4928, .T. ) ; +#12183 = VECTOR ( 'NONE', #10002, 1000.000000000000000 ) ; +#12184 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12185 = AXIS2_PLACEMENT_3D ( 'NONE', #424, #8351, #5371 ) ; +#12186 = FACE_OUTER_BOUND ( 'NONE', #7377, .T. ) ; +#12187 = ORIENTED_EDGE ( 'NONE', *, *, #12845, .T. ) ; +#12188 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12189 = EDGE_CURVE ( 'NONE', #4152, #3130, #12246, .T. ) ; +#12190 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12191 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12192 = AXIS2_PLACEMENT_3D ( 'NONE', #4069, #3095, #11020 ) ; +#12193 = ORIENTED_EDGE ( 'NONE', *, *, #12657, .T. ) ; +#12194 = CARTESIAN_POINT ( 'NONE', ( -113.9284818104619177, -58.46605763575112746, 0.2500238298461052722 ) ) ; +#12195 = AXIS2_PLACEMENT_3D ( 'NONE', #21, #10823, #10766 ) ; +#12196 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12197 = ORIENTED_EDGE ( 'NONE', *, *, #2394, .T. ) ; +#12198 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -3.002406016113880042E-17 ) ) ; +#12199 = LINE ( 'NONE', #3046, #11368 ) ; +#12200 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -4.053100760940652921E-15 ) ) ; +#12201 = ORIENTED_EDGE ( 'NONE', *, *, #6278, .T. ) ; +#12202 = CARTESIAN_POINT ( 'NONE', ( -93.82414335668882188, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12203 = EDGE_CURVE ( 'NONE', #6625, #12477, #11994, .T. ) ; +#12204 = PLANE ( 'NONE', #4253 ) ; +#12205 = DIRECTION ( 'NONE', ( 0.3420201433256545021, 0.000000000000000000, 0.9396926207859136460 ) ) ; +#12206 = VERTEX_POINT ( 'NONE', #12379 ) ; +#12207 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#12208 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12209 = AXIS2_PLACEMENT_3D ( 'NONE', #11899, #12678, #913 ) ; +#12210 = EDGE_LOOP ( 'NONE', ( #67, #12626, #5287, #4567 ) ) ; +#12211 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12212 = ORIENTED_EDGE ( 'NONE', *, *, #2419, .T. ) ; +#12213 = EDGE_CURVE ( 'NONE', #8521, #8445, #12715, .T. ) ; +#12214 = CARTESIAN_POINT ( 'NONE', ( -120.9796354570119234, -70.37735396378434416, 2.740162246727671391 ) ) ; +#12215 = CARTESIAN_POINT ( 'NONE', ( -109.8425568592277557, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12216 = EDGE_CURVE ( 'NONE', #3105, #83, #12398, .T. ) ; +#12217 = PLANE ( 'NONE', #5206 ) ; +#12218 = CARTESIAN_POINT ( 'NONE', ( -87.63970645294536155, -59.01605763575113173, 41.32074430724686920 ) ) ; +#12219 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 3, ( #12539, #3508, #4678, #9493 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 4, 4 ), + ( 4.770489558936221876E-15, 1.570796326794896558 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.8047378541243661587, 0.8047378541243661587, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#12220 = ORIENTED_EDGE ( 'NONE', *, *, #4525, .T. ) ; +#12221 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.8660254037844353769, -0.5000000000000055511 ) ) ; +#12222 = VERTEX_POINT ( 'NONE', #9322 ) ; +#12223 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#12224 = VERTEX_POINT ( 'NONE', #3342 ) ; +#12225 = EDGE_CURVE ( 'NONE', #11362, #12577, #7436, .T. ) ; +#12226 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ; +#12227 = CARTESIAN_POINT ( 'NONE', ( -71.92848181046188927, -82.96605763575112746, 1.760023829846103727 ) ) ; +#12228 = EDGE_CURVE ( 'NONE', #5437, #12502, #10126, .T. ) ; +#12229 = CARTESIAN_POINT ( 'NONE', ( -66.40488549121788253, -81.11532610405747334, 1.760023829845842602 ) ) ; +#12230 = EDGE_CURVE ( 'NONE', #2965, #8334, #11365, .T. ) ; +#12231 = ADVANCED_FACE ( 'NONE', ( #7247 ), #6403, .F. ) ; +#12232 = EDGE_LOOP ( 'NONE', ( #11717, #392, #4942, #4039 ) ) ; +#12233 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12234 = VERTEX_POINT ( 'NONE', #8149 ) ; +#12235 = AXIS2_PLACEMENT_3D ( 'NONE', #9252, #1247, #2100 ) ; +#12236 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12237 = EDGE_LOOP ( 'NONE', ( #3563, #1101, #481, #11628 ) ) ; +#12238 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12239 = VERTEX_POINT ( 'NONE', #350 ) ; +#12240 = CARTESIAN_POINT ( 'NONE', ( -118.6487039351184194, -80.59862178779668795, 2.740162246727676276 ) ) ; +#12241 = ORIENTED_EDGE ( 'NONE', *, *, #9854, .F. ) ; +#12242 = CARTESIAN_POINT ( 'NONE', ( -98.27132804885825124, -65.01605763575113883, 30.17944176932694589 ) ) ; +#12243 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#12244 = PLANE ( 'NONE', #3253 ) ; +#12245 = ORIENTED_EDGE ( 'NONE', *, *, #5910, .T. ) ; +#12246 = LINE ( 'NONE', #8341, #10338 ) ; +#12247 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 7.753357163179439127 ) ) ; +#12248 = ORIENTED_EDGE ( 'NONE', *, *, #2872, .T. ) ; +#12249 = FACE_OUTER_BOUND ( 'NONE', #8906, .T. ) ; +#12250 = ORIENTED_EDGE ( 'NONE', *, *, #7927, .T. ) ; +#12251 = VECTOR ( 'NONE', #7611, 1000.000000000000000 ) ; +#12252 = LINE ( 'NONE', #7310, #12330 ) ; +#12253 = LINE ( 'NONE', #7379, #10480 ) ; +#12254 = EDGE_LOOP ( 'NONE', ( #7698, #2949, #11552, #10854 ) ) ; +#12255 = ADVANCED_FACE ( 'NONE', ( #414 ), #4320, .T. ) ; +#12256 = CARTESIAN_POINT ( 'NONE', ( -87.24911363665819408, -59.01605763575113173, 33.52740687254731000 ) ) ; +#12257 = LINE ( 'NONE', #2512, #1598 ) ; +#12258 = CARTESIAN_POINT ( 'NONE', ( -65.68258013180516741, -68.21195931440786353, 14.65591453539316547 ) ) ; +#12259 = EDGE_CURVE ( 'NONE', #3945, #12, #11791, .T. ) ; +#12260 = ORIENTED_EDGE ( 'NONE', *, *, #7070, .T. ) ; +#12261 = PLANE ( 'NONE', #5341 ) ; +#12262 = ORIENTED_EDGE ( 'NONE', *, *, #1266, .T. ) ; +#12263 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12264 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12265 = ORIENTED_EDGE ( 'NONE', *, *, #8024, .T. ) ; +#12266 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12267 = LINE ( 'NONE', #5249, #9080 ) ; +#12268 = AXIS2_PLACEMENT_3D ( 'NONE', #9931, #170, #36 ) ; +#12269 = VERTEX_POINT ( 'NONE', #5294 ) ; +#12270 = LINE ( 'NONE', #8436, #9864 ) ; +#12271 = ORIENTED_EDGE ( 'NONE', *, *, #6343, .T. ) ; +#12272 = ADVANCED_FACE ( 'NONE', ( #10371 ), #11214, .T. ) ; +#12273 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12274 = EDGE_LOOP ( 'NONE', ( #728, #7882, #7784, #8960 ) ) ; +#12275 = VECTOR ( 'NONE', #8017, 1000.000000000000000 ) ; +#12276 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12277 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12278 = EDGE_CURVE ( 'NONE', #518, #1232, #5420, .T. ) ; +#12279 = ORIENTED_EDGE ( 'NONE', *, *, #1083, .T. ) ; +#12280 = CARTESIAN_POINT ( 'NONE', ( -88.19004224504277545, -59.01605763575113173, 31.21596281987267574 ) ) ; +#12281 = ORIENTED_EDGE ( 'NONE', *, *, #12630, .T. ) ; +#12282 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 15.24999999999809930, 0.000000000000000000 ) ) ; +#12283 = ORIENTED_EDGE ( 'NONE', *, *, #9213, .F. ) ; +#12284 = ADVANCED_FACE ( 'NONE', ( #5171 ), #7304, .T. ) ; +#12285 = AXIS2_PLACEMENT_3D ( 'NONE', #9443, #4174, #8137 ) ; +#12286 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046188927, -83.96605763575111325, 15.76002382984609973 ) ) ; +#12287 = LINE ( 'NONE', #12600, #10317 ) ; +#12288 =( BOUNDED_SURFACE ( ) B_SPLINE_SURFACE ( 2, 3, ( + ( #2008, #2866, #9024, #832 ), + ( #5976, #1024, #7984, #4802 ), + ( #10792, #1877, #117, #5843 ) ), + .UNSPECIFIED., .F., .F., .F. ) + B_SPLINE_SURFACE_WITH_KNOTS ( ( 3, 3 ), + ( 4, 4 ), + ( 0.000000000000000000, 1.000000000000000000 ), + ( -0.01651002382984610370, -1.002382984610389761E-05 ), + .UNSPECIFIED. ) + GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_SURFACE ( ( + ( 1.000000000000000000, 1.000000000000000000, 1.000000000000000000, 1.000000000000000000), + ( 0.7071067811865477948, 0.7071067811865477948, 0.7071067811865477948, 0.7071067811865477948), + ( 1.000000000000000000, 1.000000000000000000, 1.000000000000000000, 1.000000000000000000) ) ) + REPRESENTATION_ITEM ( '' ) SURFACE ( ) ); +#12289 = CARTESIAN_POINT ( 'NONE', ( -69.20880489027385352, -83.06797188849010638, 0.7600238298461040598 ) ) ; +#12290 = CIRCLE ( 'NONE', #4622, 7.700000000002309442 ) ; +#12291 = VERTEX_POINT ( 'NONE', #4448 ) ; +#12292 = CYLINDRICAL_SURFACE ( 'NONE', #5142, 1.000000000000000000 ) ; +#12293 = EDGE_CURVE ( 'NONE', #11957, #6388, #8411, .T. ) ; +#12294 = ORIENTED_EDGE ( 'NONE', *, *, #11121, .T. ) ; +#12295 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -2.026550380470260985E-15 ) ) ; +#12296 = ORIENTED_EDGE ( 'NONE', *, *, #11326, .T. ) ; +#12297 = CARTESIAN_POINT ( 'NONE', ( -121.1992388228681392, -69.33515794185153425, 3.218175587964387852 ) ) ; +#12298 = VERTEX_POINT ( 'NONE', #12122 ) ; +#12299 = CARTESIAN_POINT ( 'NONE', ( -119.9622702861438768, -77.38501729944321994, 2.740162246727670503 ) ) ; +#12300 = EDGE_CURVE ( 'NONE', #3392, #12495, #3223, .T. ) ; +#12301 = VERTEX_POINT ( 'NONE', #6657 ) ; +#12302 = EDGE_CURVE ( 'NONE', #4873, #7935, #11661, .T. ) ; +#12303 = EDGE_CURVE ( 'NONE', #834, #3813, #3336, .T. ) ; +#12304 = EDGE_CURVE ( 'NONE', #115, #4825, #10698, .T. ) ; +#12305 = CIRCLE ( 'NONE', #5662, 6.124000000001836419 ) ; +#12306 = LINE ( 'NONE', #3402, #8601 ) ; +#12307 = CARTESIAN_POINT ( 'NONE', ( -78.43033937168419811, -64.96605763575112746, 1.375023829845842149 ) ) ; +#12308 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12309 = ORIENTED_EDGE ( 'NONE', *, *, #9202, .F. ) ; +#12310 = CARTESIAN_POINT ( 'NONE', ( -96.08663001626665334, -59.01605763575113173, 41.53491989132000128 ) ) ; +#12311 = ADVANCED_FACE ( 'NONE', ( #1779 ), #3601, .F. ) ; +#12312 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12313 = ORIENTED_EDGE ( 'NONE', *, *, #3097, .F. ) ; +#12314 = FACE_OUTER_BOUND ( 'NONE', #2798, .T. ) ; +#12315 = VECTOR ( 'NONE', #8886, 1000.000000000000000 ) ; +#12316 = EDGE_LOOP ( 'NONE', ( #9626, #4489, #11703 ) ) ; +#12317 = CARTESIAN_POINT ( 'NONE', ( -74.65560167398129465, -13.25000000000000178, 10.00000000000000000 ) ) ; +#12318 = EDGE_CURVE ( 'NONE', #1312, #742, #1517, .T. ) ; +#12319 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12320 = VERTEX_POINT ( 'NONE', #11547 ) ; +#12321 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#12322 = AXIS2_PLACEMENT_3D ( 'NONE', #7128, #3107, #10194 ) ; +#12323 = CARTESIAN_POINT ( 'NONE', ( -109.0552004675857347, -58.46605763575112746, 17.12516224672793541 ) ) ; +#12324 = CYLINDRICAL_SURFACE ( 'NONE', #2408, 1.000000000000000888 ) ; +#12325 = AXIS2_PLACEMENT_3D ( 'NONE', #5060, #1158, #3248 ) ; +#12326 = ORIENTED_EDGE ( 'NONE', *, *, #10026, .F. ) ; +#12327 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12328 = ORIENTED_EDGE ( 'NONE', *, *, #221, .F. ) ; +#12330 = VECTOR ( 'NONE', #11282, 1000.000000000000000 ) ; +#12329 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575111325, 15.76002382984610328 ) ) ; +#12331 = CARTESIAN_POINT ( 'NONE', ( -116.5683391289685460, -64.96605763575111325, 7.740162246727678941 ) ) ; +#12332 = ORIENTED_EDGE ( 'NONE', *, *, #320, .T. ) ; +#12333 = CIRCLE ( 'NONE', #5067, 2.800000000000847145 ) ; +#12334 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859109814 ) ) ; +#12335 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12336 = VECTOR ( 'NONE', #94, 1000.000000000000000 ) ; +#12337 = VECTOR ( 'NONE', #2527, 1000.000000000000000 ) ; +#12338 = ORIENTED_EDGE ( 'NONE', *, *, #6748, .T. ) ; +#12339 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12340 = ORIENTED_EDGE ( 'NONE', *, *, #12799, .F. ) ; +#12341 = VECTOR ( 'NONE', #8917, 1000.000000000000000 ) ; +#12342 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12343 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -63.46605763575112746, 15.25016224672767073 ) ) ; +#12344 = ORIENTED_EDGE ( 'NONE', *, *, #3167, .F. ) ; +#12345 = VECTOR ( 'NONE', #8559, 1000.000000000000000 ) ; +#12346 = CARTESIAN_POINT ( 'NONE', ( -101.6193505581945118, -64.96605763575112746, 2.950023829846315060 ) ) ; +#12347 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12348 = ADVANCED_FACE ( 'NONE', ( #7497 ), #5617, .F. ) ; +#12349 = EDGE_CURVE ( 'NONE', #4831, #4137, #2639, .T. ) ; +#12350 = ORIENTED_EDGE ( 'NONE', *, *, #2230, .T. ) ; +#12351 = AXIS2_PLACEMENT_3D ( 'NONE', #11642, #6639, #10613 ) ; +#12352 = EDGE_LOOP ( 'NONE', ( #145, #468, #9183, #11452 ) ) ; +#12353 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12354 = ORIENTED_EDGE ( 'NONE', *, *, #6095, .F. ) ; +#12355 = CARTESIAN_POINT ( 'NONE', ( -64.32855889813674821, -74.85570423544544383, 15.76002382984490957 ) ) ; +#12356 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12357 = CIRCLE ( 'NONE', #6767, 1.000000000000000000 ) ; +#12358 = VECTOR ( 'NONE', #2574, 1000.000000000000000 ) ; +#12359 = CARTESIAN_POINT ( 'NONE', ( -90.62377628319123346, -58.46605763575112746, 2.950023829846316836 ) ) ; +#12360 = ORIENTED_EDGE ( 'NONE', *, *, #401, .F. ) ; +#12361 = LINE ( 'NONE', #4695, #9517 ) ; +#12362 = CARTESIAN_POINT ( 'NONE', ( -86.84155711058957650, -59.01605763575113173, 35.39956857024507286 ) ) ; +#12363 = EDGE_CURVE ( 'NONE', #3115, #4863, #987, .T. ) ; +#12364 = ORIENTED_EDGE ( 'NONE', *, *, #5348, .F. ) ; +#12365 = LINE ( 'NONE', #2425, #6269 ) ; +#12366 = ORIENTED_EDGE ( 'NONE', *, *, #8816, .T. ) ; +#12367 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12368 = ORIENTED_EDGE ( 'NONE', *, *, #10150, .F. ) ; +#12369 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12370 = VERTEX_POINT ( 'NONE', #545 ) ; +#12371 = ADVANCED_FACE ( 'NONE', ( #4515 ), #10506, .T. ) ; +#12372 = CARTESIAN_POINT ( 'NONE', ( -78.26759249757650139, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12373 = CARTESIAN_POINT ( 'NONE', ( -85.65229345422048368, -64.96605763575112746, 1.375023829845842149 ) ) ; +#12374 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12375 = CARTESIAN_POINT ( 'NONE', ( -96.08663001626665334, -65.01605763575113883, 41.53491989132000128 ) ) ; +#12376 = AXIS2_PLACEMENT_3D ( 'NONE', #3871, #10897, #10049 ) ; +#12377 = AXIS2_PLACEMENT_3D ( 'NONE', #9175, #4237, #3384 ) ; +#12378 = EDGE_LOOP ( 'NONE', ( #9228, #9336, #9015, #5983 ) ) ; +#12379 = CARTESIAN_POINT ( 'NONE', ( -81.82731686318858522, -58.46605763575112746, 2.950023829846315060 ) ) ; +#12380 = EDGE_CURVE ( 'NONE', #889, #9842, #4639, .T. ) ; +#12381 = CARTESIAN_POINT ( 'NONE', ( -93.25089023771940333, -58.46605763575112746, 2.950023829846315060 ) ) ; +#12382 = EDGE_CURVE ( 'NONE', #12239, #11857, #12574, .T. ) ; +#12383 = ORIENTED_EDGE ( 'NONE', *, *, #4928, .F. ) ; +#12384 = DIRECTION ( 'NONE', ( -0.3420201433256612744, 0.000000000000000000, 0.9396926207859110924 ) ) ; +#12385 = ORIENTED_EDGE ( 'NONE', *, *, #12630, .F. ) ; +#12386 = LINE ( 'NONE', #6469, #12358 ) ; +#12387 = AXIS2_PLACEMENT_3D ( 'NONE', #3079, #12828, #860 ) ; +#12388 = VECTOR ( 'NONE', #1272, 1000.000000000000000 ) ; +#12389 = CARTESIAN_POINT ( 'NONE', ( -76.23122451668353960, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12390 = ORIENTED_EDGE ( 'NONE', *, *, #12468, .T. ) ; +#12391 = EDGE_CURVE ( 'NONE', #12134, #6715, #149, .T. ) ; +#12392 = CARTESIAN_POINT ( 'NONE', ( -99.42478158092021090, -65.01605763575113883, 36.94034842993827539 ) ) ; +#12393 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -27.25000000000000355, 18.75002382984610705 ) ) ; +#12394 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, -0.000000000000000000 ) ) ; +#12395 = ORIENTED_EDGE ( 'NONE', *, *, #1688, .T. ) ; +#12396 = FACE_OUTER_BOUND ( 'NONE', #3306, .T. ) ; +#12397 = ADVANCED_FACE ( 'NONE', ( #8986 ), #1974, .T. ) ; +#12398 = CIRCLE ( 'NONE', #9715, 1.000000000000000888 ) ; +#12399 = EDGE_LOOP ( 'NONE', ( #5507, #6308, #8653, #4552 ) ) ; +#12400 = CARTESIAN_POINT ( 'NONE', ( 2.818946317559042250E-16, -59.46605763575112746, 3.250023829846099499 ) ) ; +#12401 = EDGE_CURVE ( 'NONE', #3916, #10393, #3919, .T. ) ; +#12402 = EDGE_CURVE ( 'NONE', #1767, #11298, #2031, .T. ) ; +#12403 = LINE ( 'NONE', #6620, #4415 ) ; +#12404 = ORIENTED_EDGE ( 'NONE', *, *, #10320, .F. ) ; +#12405 = CARTESIAN_POINT ( 'NONE', ( -95.02200599319255048, -58.46605763575112746, 2.950023829846314172 ) ) ; +#12406 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12407 = ORIENTED_EDGE ( 'NONE', *, *, #8806, .F. ) ; +#12408 = FACE_OUTER_BOUND ( 'NONE', #3315, .T. ) ; +#12409 = VERTEX_POINT ( 'NONE', #2950 ) ; +#12410 = AXIS2_PLACEMENT_3D ( 'NONE', #3389, #7354, #11329 ) ; +#12411 = FACE_OUTER_BOUND ( 'NONE', #11399, .T. ) ; +#12412 = CARTESIAN_POINT ( 'NONE', ( -98.27132804885827966, -59.01605763575113173, 41.32074430724679104 ) ) ; +#12413 = ORIENTED_EDGE ( 'NONE', *, *, #2442, .T. ) ; +#12414 = DIRECTION ( 'NONE', ( 0.3420201433256618295, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#12415 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 10.00000000000000000 ) ) ; +#12416 = ORIENTED_EDGE ( 'NONE', *, *, #3962, .T. ) ; +#12417 = CARTESIAN_POINT ( 'NONE', ( -111.9825526913416809, -76.14639752325007294, 14.25016224672766896 ) ) ; +#12418 = VECTOR ( 'NONE', #4656, 1000.000000000000000 ) ; +#12419 = VERTEX_POINT ( 'NONE', #4899 ) ; +#12420 = LINE ( 'NONE', #1369, #10469 ) ; +#12421 = ORIENTED_EDGE ( 'NONE', *, *, #11035, .F. ) ; +#12422 = CARTESIAN_POINT ( 'NONE', ( -66.38705906226394404, -78.71085322203288115, 15.76002382984610684 ) ) ; +#12423 = EDGE_CURVE ( 'NONE', #5176, #8432, #8014, .T. ) ; +#12424 = FACE_OUTER_BOUND ( 'NONE', #3399, .T. ) ; +#12425 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -26.25000000000000355, 3.000000000000002665 ) ) ; +#12426 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#12427 = CARTESIAN_POINT ( 'NONE', ( -97.64911994772072035, -64.96605763575112746, 2.950023829846314172 ) ) ; +#12428 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -63.46605763575112746, 3.250023829846105272 ) ) ; +#12429 = ORIENTED_EDGE ( 'NONE', *, *, #8665, .T. ) ; +#12430 = DIRECTION ( 'NONE', ( 1.544631851866820033E-16, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12431 = ORIENTED_EDGE ( 'NONE', *, *, #8253, .F. ) ; +#12432 = CARTESIAN_POINT ( 'NONE', ( -105.2815802751187135, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12433 = ORIENTED_EDGE ( 'NONE', *, *, #872, .T. ) ; +#12434 = CARTESIAN_POINT ( 'NONE', ( -120.9384543786620156, -71.60035044998605258, 2.740162246727675388 ) ) ; +#12435 = ORIENTED_EDGE ( 'NONE', *, *, #8964, .T. ) ; +#12436 = EDGE_CURVE ( 'NONE', #6996, #5754, #9061, .T. ) ; +#12437 = LINE ( 'NONE', #1582, #2373 ) ; +#12438 = LINE ( 'NONE', #1644, #3608 ) ; +#12439 = LINE ( 'NONE', #5291, #4434 ) ; +#12440 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12441 = EDGE_LOOP ( 'NONE', ( #3860, #3229, #4206, #7586 ) ) ; +#12442 = CARTESIAN_POINT ( 'NONE', ( -98.27132804885825124, -59.01605763575113173, 30.17944176932694589 ) ) ; +#12443 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12444 = ORIENTED_EDGE ( 'NONE', *, *, #11166, .F. ) ; +#12445 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12446 = EDGE_CURVE ( 'NONE', #8843, #6125, #8055, .T. ) ; +#12447 = ORIENTED_EDGE ( 'NONE', *, *, #2460, .T. ) ; +#12448 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12449 = LINE ( 'NONE', #3543, #12554 ) ; +#12450 = ORIENTED_EDGE ( 'NONE', *, *, #10614, .T. ) ; +#12451 = EDGE_CURVE ( 'NONE', #2604, #2381, #9724, .T. ) ; +#12452 = CARTESIAN_POINT ( 'NONE', ( -112.9284818104619177, -64.96605763575112746, -0.7499761701538892877 ) ) ; +#12453 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, -11.50498006704499865, 1.000000000000000000 ) ) ; +#12454 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12455 = ORIENTED_EDGE ( 'NONE', *, *, #4612, .T. ) ; +#12456 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 9.000000000000001776 ) ) ; +#12457 = ORIENTED_EDGE ( 'NONE', *, *, #408, .T. ) ; +#12458 = CARTESIAN_POINT ( 'NONE', ( -96.40560149999998885, 11.49999982601869952, 10.00000000000000000 ) ) ; +#12459 = CARTESIAN_POINT ( 'NONE', ( -72.92848181046188927, -69.96605763575111325, 15.76002382984610328 ) ) ; +#12460 = ADVANCED_FACE ( 'NONE', ( #931 ), #7042, .F. ) ; +#12461 = ORIENTED_EDGE ( 'NONE', *, *, #7914, .F. ) ; +#12462 = CARTESIAN_POINT ( 'NONE', ( -98.68423571011672379, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12463 = CARTESIAN_POINT ( 'NONE', ( -98.66192086514536186, -59.01605763575113173, 33.52740687254723184 ) ) ; +#12464 = ORIENTED_EDGE ( 'NONE', *, *, #10803, .T. ) ; +#12465 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -24.68297142738792616, -2.249976170153895172 ) ) ; +#12466 = ORIENTED_EDGE ( 'NONE', *, *, #10731, .F. ) ; +#12467 = ADVANCED_FACE ( 'NONE', ( #3081 ), #6915, .T. ) ; +#12468 = EDGE_CURVE ( 'NONE', #5342, #7250, #5777, .T. ) ; +#12469 = CARTESIAN_POINT ( 'NONE', ( -86.17845484026810254, -59.01605763575113173, 32.09476472438516481 ) ) ; +#12470 = EDGE_CURVE ( 'NONE', #83, #5791, #11797, .T. ) ; +#12471 = EDGE_CURVE ( 'NONE', #10400, #6383, #10820, .T. ) ; +#12472 = FACE_OUTER_BOUND ( 'NONE', #11533, .T. ) ; +#12473 = EDGE_LOOP ( 'NONE', ( #5769, #2455, #7808, #11887 ) ) ; +#12474 = CARTESIAN_POINT ( 'NONE', ( -86.06279969908220551, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12475 = CARTESIAN_POINT ( 'NONE', ( -115.8047777558144702, -83.66714618240239076, 2.740162246727666506 ) ) ; +#12476 = ADVANCED_FACE ( 'NONE', ( #6980 ), #8864, .T. ) ; +#12477 = VERTEX_POINT ( 'NONE', #8795 ) ; +#12478 = VECTOR ( 'NONE', #4548, 1000.000000000000000 ) ; +#12479 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.5000000000000043299, -0.8660254037844361541 ) ) ; +#12480 = VERTEX_POINT ( 'NONE', #5815 ) ; +#12481 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12482 = VERTEX_POINT ( 'NONE', #12764 ) ; +#12483 = CARTESIAN_POINT ( 'NONE', ( -67.68898877469013087, -82.98349709619454018, 15.76002382984973771 ) ) ; +#12484 = FACE_OUTER_BOUND ( 'NONE', #10996, .T. ) ; +#12485 = VECTOR ( 'NONE', #4134, 1000.000000000000000 ) ; +#12486 = CIRCLE ( 'NONE', #6044, 2.800000000000840039 ) ; +#12487 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12488 = LINE ( 'NONE', #12558, #4581 ) ; +#12489 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470260590E-15 ) ) ; +#12490 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 2.026550380470260590E-15 ) ) ; +#12491 = ORIENTED_EDGE ( 'NONE', *, *, #12158, .F. ) ; +#12492 = LINE ( 'NONE', #3717, #8761 ) ; +#12493 = ORIENTED_EDGE ( 'NONE', *, *, #8025, .T. ) ; +#12494 = FACE_OUTER_BOUND ( 'NONE', #2236, .T. ) ; +#12495 = VERTEX_POINT ( 'NONE', #6854 ) ; +#12496 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12497 = VERTEX_POINT ( 'NONE', #9781 ) ; +#12498 = LINE ( 'NONE', #2633, #11311 ) ; +#12499 = CARTESIAN_POINT ( 'NONE', ( -90.88902850861101967, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12500 = LINE ( 'NONE', #4513, #7821 ) ; +#12501 = AXIS2_PLACEMENT_3D ( 'NONE', #9900, #8971, #847 ) ; +#12502 = VERTEX_POINT ( 'NONE', #3857 ) ; +#12503 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12504 = LINE ( 'NONE', #8731, #11465 ) ; +#12505 = VERTEX_POINT ( 'NONE', #7823 ) ; +#12506 = LINE ( 'NONE', #1521, #11456 ) ; +#12507 = EDGE_CURVE ( 'NONE', #2889, #1882, #1909, .T. ) ; +#12508 = ORIENTED_EDGE ( 'NONE', *, *, #4990, .T. ) ; +#12509 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12510 = AXIS2_PLACEMENT_3D ( 'NONE', #2216, #7275, #2342 ) ; +#12511 = FACE_OUTER_BOUND ( 'NONE', #9185, .T. ) ; +#12512 = ORIENTED_EDGE ( 'NONE', *, *, #6334, .T. ) ; +#12513 = PLANE ( 'NONE', #12133 ) ; +#12514 = VECTOR ( 'NONE', #2936, 1000.000000000000000 ) ; +#12515 = CARTESIAN_POINT ( 'NONE', ( -102.0473496577220232, -64.96605763575112746, 2.950023829846314172 ) ) ; +#12516 = CARTESIAN_POINT ( 'NONE', ( -90.05052316422180070, -64.96605763575112746, 1.375023829845842149 ) ) ; +#12517 = CIRCLE ( 'NONE', #10446, 6.124000000001836419 ) ; +#12518 = EDGE_LOOP ( 'NONE', ( #1016, #5663, #52, #8332, #6000, #7273 ) ) ; +#12519 = LINE ( 'NONE', #9538, #8871 ) ; +#12520 = VECTOR ( 'NONE', #6681, 1000.000000000000000 ) ; +#12521 = ORIENTED_EDGE ( 'NONE', *, *, #8479, .T. ) ; +#12522 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12523 = CARTESIAN_POINT ( 'NONE', ( -84.02643171818924372, -58.46605763575112746, 2.950023829846315060 ) ) ; +#12524 = EDGE_CURVE ( 'NONE', #8901, #12610, #12830, .T. ) ; +#12525 = EDGE_LOOP ( 'NONE', ( #6834, #5429, #10295, #4319 ) ) ; +#12526 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#12527 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12528 = VECTOR ( 'NONE', #9236, 1000.000000000000000 ) ; +#12529 = VECTOR ( 'NONE', #5031, 999.9999999999998863 ) ; +#12530 = CARTESIAN_POINT ( 'NONE', ( -120.8853510990436320, -72.72432753592238441, 17.74016224672767805 ) ) ; +#12531 = AXIS2_PLACEMENT_3D ( 'NONE', #7592, #438, #11438 ) ; +#12532 = ORIENTED_EDGE ( 'NONE', *, *, #6828, .T. ) ; +#12533 = AXIS2_PLACEMENT_3D ( 'NONE', #2345, #1295, #199 ) ; +#12534 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12535 = ADVANCED_FACE ( 'NONE', ( #9179 ), #10357, .T. ) ; +#12536 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, -16.25000000000000000, 3.000000000000002665 ) ) ; +#12537 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -3.002406016113880042E-17 ) ) ; +#12538 = ORIENTED_EDGE ( 'NONE', *, *, #7750, .F. ) ; +#12539 = CARTESIAN_POINT ( 'NONE', ( -63.92848181046190348, -69.96605763575112746, 3.250023829846110601 ) ) ; +#12540 = AXIS2_PLACEMENT_3D ( 'NONE', #3467, #12184, #9189 ) ; +#12541 = EDGE_CURVE ( 'NONE', #11376, #5010, #2353, .T. ) ; +#12542 = CARTESIAN_POINT ( 'NONE', ( -116.6590566500840396, -83.11472592405004889, 2.740162246727664286 ) ) ; +#12543 = VECTOR ( 'NONE', #2613, 1000.000000000000000 ) ; +#12544 = VERTEX_POINT ( 'NONE', #270 ) ; +#12545 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12546 = ADVANCED_FACE ( 'NONE', ( #10294 ), #12292, .T. ) ; +#12547 = ORIENTED_EDGE ( 'NONE', *, *, #10980, .F. ) ; +#12548 = AXIS2_PLACEMENT_3D ( 'NONE', #7033, #7163, #11133 ) ; +#12549 = LINE ( 'NONE', #6573, #6315 ) ; +#12550 = ORIENTED_EDGE ( 'NONE', *, *, #5537, .F. ) ; +#12551 = CARTESIAN_POINT ( 'NONE', ( -68.80751076803579735, -82.70440121468244854, 15.76002382984610684 ) ) ; +#12552 = VECTOR ( 'NONE', #9775, 1000.000000000000000 ) ; +#12553 = EDGE_CURVE ( 'NONE', #12409, #5532, #1299, .T. ) ; +#12554 = VECTOR ( 'NONE', #7505, 1000.000000000000000 ) ; +#12555 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 34.88298056549302828 ) ) ; +#12556 = CARTESIAN_POINT ( 'NONE', ( -64.34204886628035069, -74.93293189262458043, 1.760023829845286825 ) ) ; +#12557 = CIRCLE ( 'NONE', #12139, 1.000000000000000000 ) ; +#12558 = CARTESIAN_POINT ( 'NONE', ( -82.09256908860837143, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12559 = DIRECTION ( 'NONE', ( 0.3420201433256687129, 0.000000000000000000, 0.9396926207859083169 ) ) ; +#12560 = ADVANCED_FACE ( 'NONE', ( #6389 ), #1376, .F. ) ; +#12561 = CARTESIAN_POINT ( 'NONE', ( -91.62502850168816337, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12562 = ORIENTED_EDGE ( 'NONE', *, *, #12038, .F. ) ; +#12563 = CARTESIAN_POINT ( 'NONE', ( -104.8197176316921286, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12564 = EDGE_LOOP ( 'NONE', ( #7292, #5319, #11660, #3162 ) ) ; +#12565 = CARTESIAN_POINT ( 'NONE', ( -121.2754459101551134, -69.25895085456457423, 3.740162246727671391 ) ) ; +#12566 = EDGE_LOOP ( 'NONE', ( #11620, #584, #294, #7523 ) ) ; +#12567 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913404588, -70.04046355758174514, 2.740162246727669615 ) ) ; +#12568 = ORIENTED_EDGE ( 'NONE', *, *, #4390, .F. ) ; +#12569 = AXIS2_PLACEMENT_3D ( 'NONE', #12400, #6553, #9541 ) ; +#12570 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, 3.000000000000002665 ) ) ; +#12571 = CARTESIAN_POINT ( 'NONE', ( -103.1556016739793904, -18.94615242270661071, -0.4019237886466943688 ) ) ; +#12572 = LINE ( 'NONE', #4573, #972 ) ; +#12573 = VERTEX_POINT ( 'NONE', #4366 ) ; +#12574 = LINE ( 'NONE', #2698, #4109 ) ; +#12575 = CIRCLE ( 'NONE', #945, 1.000000000000000888 ) ; +#12576 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12577 = VERTEX_POINT ( 'NONE', #8324 ) ; +#12578 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, 17.75002382984610350 ) ) ; +#12579 = ORIENTED_EDGE ( 'NONE', *, *, #231, .T. ) ; +#12580 = CYLINDRICAL_SURFACE ( 'NONE', #6527, 2.800000000000836486 ) ; +#12581 = CARTESIAN_POINT ( 'NONE', ( -94.33771360621076951, -65.01605763575113883, 28.17516510229923554 ) ) ; +#12582 = VECTOR ( 'NONE', #6027, 1000.000000000000000 ) ; +#12583 = CARTESIAN_POINT ( 'NONE', ( -87.80318648157546590, -59.01605763575113173, 32.43997768629751732 ) ) ; +#12584 = EDGE_CURVE ( 'NONE', #6651, #10714, #9929, .T. ) ; +#12585 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12586 = FACE_OUTER_BOUND ( 'NONE', #5846, .T. ) ; +#12587 = ORIENTED_EDGE ( 'NONE', *, *, #7867, .T. ) ; +#12588 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#12589 = VERTEX_POINT ( 'NONE', #2422 ) ; +#12590 = LINE ( 'NONE', #6480, #2599 ) ; +#12591 = CARTESIAN_POINT ( 'NONE', ( -74.00565022399818815, -33.25000000000000000, 8.450023829846104562 ) ) ; +#12592 = AXIS2_PLACEMENT_3D ( 'NONE', #1584, #9581, #11659 ) ; +#12593 = VERTEX_POINT ( 'NONE', #2288 ) ; +#12594 = LINE ( 'NONE', #11371, #2343 ) ; +#12595 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -26.25000000000000355, 9.250093038286888003 ) ) ; +#12596 = CARTESIAN_POINT ( 'NONE', ( -118.4532863355744752, -82.70338415593903392, 17.74016224672646302 ) ) ; +#12597 = VERTEX_POINT ( 'NONE', #9371 ) ; +#12598 = CARTESIAN_POINT ( 'NONE', ( -94.44875287422310350, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12599 = EDGE_CURVE ( 'NONE', #5542, #3823, #459, .T. ) ; +#12600 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, -55.25000000000000711, 20.75002382984610350 ) ) ; +#12601 = PLANE ( 'NONE', #8632 ) ; +#12602 = VECTOR ( 'NONE', #3111, 1000.000000000000000 ) ; +#12603 = ORIENTED_EDGE ( 'NONE', *, *, #11138, .F. ) ; +#12604 = CYLINDRICAL_SURFACE ( 'NONE', #8318, 1.000000000000000000 ) ; +#12605 = CARTESIAN_POINT ( 'NONE', ( -116.9184648398571369, -82.88900115866019291, 2.740162246727669615 ) ) ; +#12606 = ORIENTED_EDGE ( 'NONE', *, *, #1161, .T. ) ; +#12607 = CARTESIAN_POINT ( 'NONE', ( -101.4566036840868151, -64.96605763575112746, 15.55016224672746183 ) ) ; +#12608 = EDGE_CURVE ( 'NONE', #4309, #5426, #4241, .T. ) ; +#12609 = AXIS2_PLACEMENT_3D ( 'NONE', #6617, #2584, #10589 ) ; +#12610 = VERTEX_POINT ( 'NONE', #8201 ) ; +#12611 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 13.24999999999810285, 1.000000000000000000 ) ) ; +#12612 = ORIENTED_EDGE ( 'NONE', *, *, #1344, .T. ) ; +#12613 = CARTESIAN_POINT ( 'NONE', ( -65.11630160387983324, -73.32092084107866015, 15.76002382984610684 ) ) ; +#12614 = EDGE_CURVE ( 'NONE', #11892, #461, #3280, .T. ) ; +#12615 = CARTESIAN_POINT ( 'NONE', ( -97.72099225676072365, -65.01605763575113883, 31.21596281987260824 ) ) ; +#12616 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12617 = VECTOR ( 'NONE', #6214, 1000.000000000000000 ) ; +#12618 = CARTESIAN_POINT ( 'NONE', ( -72.65560167398129465, -12.50498006704500042, 9.000000000000001776 ) ) ; +#12619 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -8.106201521881305841E-15 ) ) ; +#12620 = DIRECTION ( 'NONE', ( -0.3420201433256616075, 0.000000000000000000, 0.9396926207859108704 ) ) ; +#12621 = EDGE_LOOP ( 'NONE', ( #3346, #3933, #2297, #2231 ) ) ; +#12622 = CARTESIAN_POINT ( 'NONE', ( -88.21525270734090896, -59.01605763575113173, 39.62736889345659819 ) ) ; +#12623 = ORIENTED_EDGE ( 'NONE', *, *, #4595, .T. ) ; +#12624 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12625 = EDGE_CURVE ( 'NONE', #2955, #1686, #12173, .T. ) ; +#12626 = ORIENTED_EDGE ( 'NONE', *, *, #8303, .F. ) ; +#12627 = CARTESIAN_POINT ( 'NONE', ( -120.9728699472383653, -70.73505195488307606, 2.740162246727669615 ) ) ; +#12628 = VERTEX_POINT ( 'NONE', #10224 ) ; +#12629 = VECTOR ( 'NONE', #6839, 1000.000000000000000 ) ; +#12630 = EDGE_CURVE ( 'NONE', #11904, #11113, #1194, .T. ) ; +#12631 = ADVANCED_FACE ( 'NONE', ( #10168 ), #6133, .T. ) ; +#12632 = CARTESIAN_POINT ( 'NONE', ( -97.72099225676072365, -59.01605763575113173, 31.21596281987260824 ) ) ; +#12633 = ADVANCED_FACE ( 'NONE', ( #5154 ), #206, .T. ) ; +#12634 = EDGE_CURVE ( 'NONE', #475, #6392, #1244, .T. ) ; +#12635 = CYLINDRICAL_SURFACE ( 'NONE', #2572, 2.800000000000840039 ) ; +#12636 = CARTESIAN_POINT ( 'NONE', ( -92.82289113819189197, -64.96605763575112746, 2.950023829846314172 ) ) ; +#12637 = ORIENTED_EDGE ( 'NONE', *, *, #1240, .T. ) ; +#12638 = CARTESIAN_POINT ( 'NONE', ( -119.8416832520852040, -77.77440506515691254, 17.74016224672768161 ) ) ; +#12639 = CARTESIAN_POINT ( 'NONE', ( -101.8055172509017865, -33.25000000000000000, 9.250093038286888003 ) ) ; +#12640 = ORIENTED_EDGE ( 'NONE', *, *, #10922, .T. ) ; +#12641 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -2.026550380470326460E-15 ) ) ; +#12642 = ORIENTED_EDGE ( 'NONE', *, *, #1741, .F. ) ; +#12643 = AXIS2_PLACEMENT_3D ( 'NONE', #1456, #12130, #3418 ) ; +#12644 = CARTESIAN_POINT ( 'NONE', ( -92.60499278285990954, -65.01605763575113883, 41.86405317859909303 ) ) ; +#12645 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12646 = LINE ( 'NONE', #2648, #4871 ) ; +#12647 = CARTESIAN_POINT ( 'NONE', ( -71.65560167398128044, 3.427649870184929171, 0.7500238298461048281 ) ) ; +#12648 = CARTESIAN_POINT ( 'NONE', ( -103.8184654131951987, -58.46605763575112746, 2.950023829846314172 ) ) ; +#12649 = VERTEX_POINT ( 'NONE', #5733 ) ; +#12650 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12651 = ORIENTED_EDGE ( 'NONE', *, *, #8524, .F. ) ; +#12652 = CARTESIAN_POINT ( 'NONE', ( -86.01483718609922846, -59.01605763575113173, 39.08430362523065327 ) ) ; +#12653 = CARTESIAN_POINT ( 'NONE', ( -98.88887660066463070, -59.01605763575113173, 32.91049171141268914 ) ) ; +#12654 = ORIENTED_EDGE ( 'NONE', *, *, #10185, .T. ) ; +#12655 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12656 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#12657 = EDGE_CURVE ( 'NONE', #9267, #3057, #7612, .T. ) ; +#12658 = CARTESIAN_POINT ( 'NONE', ( -121.1910068434748666, -76.68438186601902373, 17.74016224672766384 ) ) ; +#12659 = VERTEX_POINT ( 'NONE', #7547 ) ; +#12660 = FACE_OUTER_BOUND ( 'NONE', #5050, .T. ) ; +#12661 = ADVANCED_FACE ( 'NONE', ( #1693, #4624, #3655 ), #4496, .T. ) ; +#12662 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.544631851866820033E-16, -0.000000000000000000 ) ) ; +#12663 = CARTESIAN_POINT ( 'NONE', ( -81.90604002795730310, 16.24999999999809930, 10.00000000000000000 ) ) ; +#12664 = VERTEX_POINT ( 'NONE', #2745 ) ; +#12665 = CARTESIAN_POINT ( 'NONE', ( -90.73283108516211826, -59.01605763575113173, 30.04368942404332898 ) ) ; +#12666 = CARTESIAN_POINT ( 'NONE', ( -119.8873135652348196, -77.66023911295613402, 2.740162246727678497 ) ) ; +#12667 = ORIENTED_EDGE ( 'NONE', *, *, #8330, .T. ) ; +#12668 = LINE ( 'NONE', #1624, #9604 ) ; +#12669 = EDGE_CURVE ( 'NONE', #12301, #1309, #6615, .T. ) ; +#12670 = ORIENTED_EDGE ( 'NONE', *, *, #5958, .F. ) ; +#12671 = AXIS2_PLACEMENT_3D ( 'NONE', #12618, #10485, #723 ) ; +#12672 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12673 = VERTEX_POINT ( 'NONE', #12427 ) ; +#12674 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3, + ( #7576, #8740, #11740, #6862 ), + .UNSPECIFIED., .F., .F., + ( 4, 4 ), + ( 0.8339999999999996305, 0.9333333333333329040 ), + .UNSPECIFIED. ) ; +#12675 = CARTESIAN_POINT ( 'NONE', ( -69.34269537283500995, -65.96605763575112746, 10.76002382984610151 ) ) ; +#12676 = LINE ( 'NONE', #11707, #11548 ) ; +#12677 = DIRECTION ( 'NONE', ( 0.3420201433256616075, 0.000000000000000000, -0.9396926207859108704 ) ) ; +#12678 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12679 = FACE_OUTER_BOUND ( 'NONE', #11222, .T. ) ; +#12680 = ORIENTED_EDGE ( 'NONE', *, *, #2616, .F. ) ; +#12681 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12682 = ORIENTED_EDGE ( 'NONE', *, *, #3852, .T. ) ; +#12683 = LINE ( 'NONE', #3719, #204 ) ; +#12684 = EDGE_CURVE ( 'NONE', #10869, #2290, #11590, .T. ) ; +#12685 = ORIENTED_EDGE ( 'NONE', *, *, #10954, .T. ) ; +#12686 = CARTESIAN_POINT ( 'NONE', ( 42.84439832602063092, -44.75000000000000711, 19.25002382984610705 ) ) ; +#12687 = VERTEX_POINT ( 'NONE', #11396 ) ; +#12688 = AXIS2_PLACEMENT_3D ( 'NONE', #7636, #11610, #4714 ) ; +#12689 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12691 = ORIENTED_EDGE ( 'NONE', *, *, #12614, .T. ) ; +#12690 = EDGE_CURVE ( 'NONE', #8780, #11420, #2621, .T. ) ; +#12692 = CARTESIAN_POINT ( 'NONE', ( -71.42848181046190348, -83.96605763575112746, 0.7600238298461052810 ) ) ; +#12693 = VERTEX_POINT ( 'NONE', #7419 ) ; +#12694 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#12695 = AXIS2_PLACEMENT_3D ( 'NONE', #9782, #3859, #2568 ) ; +#12696 = PLANE ( 'NONE', #12695 ) ; +#12697 = ORIENTED_EDGE ( 'NONE', *, *, #2182, .F. ) ; +#12698 = CARTESIAN_POINT ( 'NONE', ( -98.52616851986168456, -59.01605763575113173, 30.43428224033036500 ) ) ; +#12699 = EDGE_CURVE ( 'NONE', #12298, #8621, #7676, .T. ) ; +#12700 = EDGE_CURVE ( 'NONE', #11974, #356, #11391, .T. ) ; +#12701 = ORIENTED_EDGE ( 'NONE', *, *, #11247, .T. ) ; +#12702 = EDGE_CURVE ( 'NONE', #5302, #3102, #4560, .T. ) ; +#12703 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12704 = EDGE_CURVE ( 'NONE', #12480, #1475, #1765, .T. ) ; +#12705 = ORIENTED_EDGE ( 'NONE', *, *, #5598, .T. ) ; +#12706 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12707 = CIRCLE ( 'NONE', #12285, 1.000000000000000888 ) ; +#12708 = CARTESIAN_POINT ( 'NONE', ( -111.8789248401206891, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12709 = CYLINDRICAL_SURFACE ( 'NONE', #2609, 1.000000000000000000 ) ; +#12710 = EDGE_CURVE ( 'NONE', #8450, #10334, #10556, .T. ) ; +#12711 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12712 = FACE_OUTER_BOUND ( 'NONE', #11280, .T. ) ; +#12713 = ORIENTED_EDGE ( 'NONE', *, *, #7084, .F. ) ; +#12714 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12715 =( BOUNDED_CURVE ( ) B_SPLINE_CURVE ( 2, ( #10309, #9264, #3407 ), + .UNSPECIFIED., .F., .F. ) + B_SPLINE_CURVE_WITH_KNOTS ( ( 3, 3 ), + ( -6.000000001197205096E-08, 0.01815831404470579294 ), + .UNSPECIFIED. ) + CURVE ( ) GEOMETRIC_REPRESENTATION_ITEM ( ) RATIONAL_B_SPLINE_CURVE ( ( 1.000000000000000000, 0.7071067811865477948, 1.000000000000000000 ) ) + REPRESENTATION_ITEM ( '' ) ); +#12716 = ORIENTED_EDGE ( 'NONE', *, *, #9324, .T. ) ; +#12717 = CARTESIAN_POINT ( 'NONE', ( -93.30604171894361798, -59.01605763575113173, 29.63613289797468298 ) ) ; +#12718 = CARTESIAN_POINT ( 'NONE', ( -88.85266052771805789, -58.46605763575112746, 2.950023829846315948 ) ) ; +#12719 = ADVANCED_FACE ( 'NONE', ( #6581 ), #724, .T. ) ; +#12720 = ORIENTED_EDGE ( 'NONE', *, *, #5865, .T. ) ; +#12721 = FACE_OUTER_BOUND ( 'NONE', #7685, .T. ) ; +#12722 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12723 = CARTESIAN_POINT ( 'NONE', ( -117.7911471010151416, -83.43117233271492239, 16.74016224672736897 ) ) ; +#12724 = ORIENTED_EDGE ( 'NONE', *, *, #4276, .T. ) ; +#12725 = CIRCLE ( 'NONE', #2768, 6.124000000001836419 ) ; +#12726 = CARTESIAN_POINT ( 'NONE', ( -109.9284818104619177, -64.96605763575112746, 0.2500238298461061603 ) ) ; +#12727 = FACE_OUTER_BOUND ( 'NONE', #3619, .T. ) ; +#12728 = CARTESIAN_POINT ( 'NONE', ( -102.0473496577220232, -58.46605763575112746, 2.950023829846314172 ) ) ; +#12729 = VECTOR ( 'NONE', #373, 1000.000000000000000 ) ; +#12730 = ORIENTED_EDGE ( 'NONE', *, *, #4696, .T. ) ; +#12731 = LINE ( 'NONE', #11885, #10275 ) ; +#12732 = CARTESIAN_POINT ( 'NONE', ( -120.7125389326161553, -68.69604387704526971, 2.828614545040694761 ) ) ; +#12733 = ORIENTED_EDGE ( 'NONE', *, *, #1321, .F. ) ; +#12734 = FACE_OUTER_BOUND ( 'NONE', #1801, .T. ) ; +#12735 = AXIS2_PLACEMENT_3D ( 'NONE', #5520, #6430, #4604 ) ; +#12736 = AXIS2_PLACEMENT_3D ( 'NONE', #7432, #664, #11658 ) ; +#12737 = ORIENTED_EDGE ( 'NONE', *, *, #11613, .T. ) ; +#12738 = FACE_OUTER_BOUND ( 'NONE', #3922, .T. ) ; +#12739 = ORIENTED_EDGE ( 'NONE', *, *, #3242, .F. ) ; +#12740 = CARTESIAN_POINT ( 'NONE', ( -64.93816455456402537, -70.73505195488425557, 15.76002382984609618 ) ) ; +#12741 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12742 = EDGE_CURVE ( 'NONE', #4580, #4937, #12361, .T. ) ; +#12743 = AXIS2_PLACEMENT_3D ( 'NONE', #1271, #3045, #3234 ) ; +#12744 = EDGE_CURVE ( 'NONE', #923, #2532, #9099, .T. ) ; +#12745 = PLANE ( 'NONE', #8723 ) ; +#12746 = CARTESIAN_POINT ( 'NONE', ( -80.90604002795730310, 15.24999999999809930, 9.000000000000001776 ) ) ; +#12747 = LINE ( 'NONE', #4757, #8383 ) ; +#12748 = ORIENTED_EDGE ( 'NONE', *, *, #9056, .F. ) ; +#12749 = VECTOR ( 'NONE', #4138, 1000.000000000000114 ) ; +#12750 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#12751 = ORIENTED_EDGE ( 'NONE', *, *, #11529, .T. ) ; +#12752 = PLANE ( 'NONE', #1455 ) ; +#12753 = VERTEX_POINT ( 'NONE', #1632 ) ; +#12754 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12755 = AXIS2_PLACEMENT_3D ( 'NONE', #4443, #7493, #4316 ) ; +#12756 = ORIENTED_EDGE ( 'NONE', *, *, #11283, .F. ) ; +#12757 = AXIS2_PLACEMENT_3D ( 'NONE', #358, #8422, #3293 ) ; +#12758 = AXIS2_PLACEMENT_3D ( 'NONE', #11697, #1941, #11827 ) ; +#12759 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -3.002406016113880042E-17 ) ) ; +#12760 = EDGE_CURVE ( 'NONE', #6388, #12093, #9735, .T. ) ; +#12761 = ORIENTED_EDGE ( 'NONE', *, *, #1161, .F. ) ; +#12762 = CARTESIAN_POINT ( 'NONE', ( -116.9825526913416667, -58.46605763575112746, 19.25016224672767251 ) ) ; +#12763 = ORIENTED_EDGE ( 'NONE', *, *, #4525, .F. ) ; +#12764 = CARTESIAN_POINT ( 'NONE', ( -85.32421051356095631, -65.01605763575113883, 36.77632765115663460 ) ) ; +#12765 = VECTOR ( 'NONE', #2094, 1000.000000000000114 ) ; +#12766 = FACE_BOUND ( 'NONE', #10762, .T. ) ; +#12767 = ORIENTED_EDGE ( 'NONE', *, *, #2469, .T. ) ; +#12768 = DIRECTION ( 'NONE', ( 0.3420201433256693235, 0.000000000000000000, 0.9396926207859082059 ) ) ; +#12769 = AXIS2_PLACEMENT_3D ( 'NONE', #6420, #8430, #1856 ) ; +#12770 = EDGE_LOOP ( 'NONE', ( #6013, #7683, #7145, #5550 ) ) ; +#12771 = LINE ( 'NONE', #7888, #917 ) ; +#12772 = ORIENTED_EDGE ( 'NONE', *, *, #9190, .T. ) ; +#12773 = ADVANCED_FACE ( 'NONE', ( #5540 ), #8651, .F. ) ; +#12774 = CARTESIAN_POINT ( 'NONE', ( -117.2754459101550850, -65.25895085456457423, 7.740162246727670059 ) ) ; +#12775 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12776 = EDGE_CURVE ( 'NONE', #3130, #3985, #5601, .T. ) ; +#12777 = CARTESIAN_POINT ( 'NONE', ( -101.1556016739793904, 15.24999999999810285, 10.00000000000000000 ) ) ; +#12778 = LINE ( 'NONE', #4066, #5739 ) ; +#12779 = AXIS2_PLACEMENT_3D ( 'NONE', #3062, #10990, #5921 ) ; +#12780 = ORIENTED_EDGE ( 'NONE', *, *, #1688, .F. ) ; +#12781 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#12782 = ORIENTED_EDGE ( 'NONE', *, *, #8626, .F. ) ; +#12783 = CARTESIAN_POINT ( 'NONE', ( -98.84698258422444894, -58.46605763575112746, 1.375023829845842149 ) ) ; +#12784 = FACE_OUTER_BOUND ( 'NONE', #10720, .T. ) ; +#12785 = VERTEX_POINT ( 'NONE', #7806 ) ; +#12786 = CARTESIAN_POINT ( 'NONE', ( -109.6798099851200305, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12787 = CARTESIAN_POINT ( 'NONE', ( -87.06405191757912121, -64.96605763575112746, 17.12516224672793541 ) ) ; +#12788 = EDGE_CURVE ( 'NONE', #8593, #12573, #4121, .T. ) ; +#12789 = CIRCLE ( 'NONE', #11754, 1.000000000000000000 ) ; +#12790 = CARTESIAN_POINT ( 'NONE', ( -119.5059751495030440, -78.75758718894442723, 17.74016224672766384 ) ) ; +#12791 = VERTEX_POINT ( 'NONE', #2935 ) ; +#12792 = CARTESIAN_POINT ( 'NONE', ( -99.47596239126829687, -59.01605763575113173, 34.88298056549302828 ) ) ; +#12793 = EDGE_CURVE ( 'NONE', #10924, #2363, #1889, .T. ) ; +#12794 = FACE_OUTER_BOUND ( 'NONE', #7618, .T. ) ; +#12795 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12796 = EDGE_CURVE ( 'NONE', #923, #9834, #4885, .T. ) ; +#12797 = ADVANCED_FACE ( 'NONE', ( #12813 ), #7738, .F. ) ; +#12798 = VERTEX_POINT ( 'NONE', #8711 ) ; +#12799 = EDGE_CURVE ( 'NONE', #11600, #10400, #11968, .T. ) ; +#12800 = AXIS2_PLACEMENT_3D ( 'NONE', #1133, #4847, #6929 ) ; +#12801 = LINE ( 'NONE', #8834, #4876 ) ; +#12802 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#12803 = VERTEX_POINT ( 'NONE', #1958 ) ; +#12804 = CARTESIAN_POINT ( 'NONE', ( -104.0572255755881059, -14.03752847310579277, 2.447827827966799763 ) ) ; +#12805 = ORIENTED_EDGE ( 'NONE', *, *, #11823, .F. ) ; +#12806 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12807 = ORIENTED_EDGE ( 'NONE', *, *, #12868, .F. ) ; +#12808 = AXIS2_PLACEMENT_3D ( 'NONE', #2484, #3517, #4558 ) ; +#12809 = CARTESIAN_POINT ( 'NONE', ( -80.05620110771543807, -58.46605763575112746, 2.950023829846315948 ) ) ; +#12810 = AXIS2_PLACEMENT_3D ( 'NONE', #5433, #11289, #3425 ) ; +#12811 = FACE_OUTER_BOUND ( 'NONE', #3059, .T. ) ; +#12812 = CARTESIAN_POINT ( 'NONE', ( -92.95551725090179218, -65.01605763575113883, 35.75009303828688445 ) ) ; +#12813 = FACE_OUTER_BOUND ( 'NONE', #535, .T. ) ; +#12814 = CARTESIAN_POINT ( 'NONE', ( -64.06371780423782525, -70.02201165238820124, 15.27979551934086722 ) ) ; +#12815 = CIRCLE ( 'NONE', #7614, 2.800000000000843592 ) ; +#12816 = ORIENTED_EDGE ( 'NONE', *, *, #9269, .F. ) ; +#12817 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, 0.000000000000000000 ) ) ; +#12818 = ORIENTED_EDGE ( 'NONE', *, *, #2254, .T. ) ; +#12819 = VERTEX_POINT ( 'NONE', #11840 ) ; +#12820 = CARTESIAN_POINT ( 'NONE', ( -69.25197785172183274, -83.11472592405186788, 15.76002382984610684 ) ) ; +#12821 = ORIENTED_EDGE ( 'NONE', *, *, #4932, .T. ) ; +#12822 = EDGE_CURVE ( 'NONE', #3392, #6700, #8680, .T. ) ; +#12823 = VECTOR ( 'NONE', #12042, 1000.000000000000000 ) ; +#12824 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12825 = VECTOR ( 'NONE', #12585, 1000.000000000000000 ) ; +#12826 = AXIS2_PLACEMENT_3D ( 'NONE', #2898, #9974, #10886 ) ; +#12827 = ORIENTED_EDGE ( 'NONE', *, *, #7336, .T. ) ; +#12828 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12829 = ORIENTED_EDGE ( 'NONE', *, *, #9338, .T. ) ; +#12830 = LINE ( 'NONE', #7172, #7416 ) ; +#12831 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12832 = ORIENTED_EDGE ( 'NONE', *, *, #1105, .T. ) ; +#12833 = LINE ( 'NONE', #867, #6198 ) ; +#12834 = ORGANIZATION ( '未', '未', '' ) ; +#12835 = VERTEX_POINT ( 'NONE', #2022 ) ; +#12836 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12837 = VERTEX_POINT ( 'NONE', #12746 ) ; +#12838 = EDGE_CURVE ( 'NONE', #9529, #3351, #7645, .T. ) ; +#12839 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#12840 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#12841 = CARTESIAN_POINT ( 'NONE', ( -106.0175802681958572, -64.96605763575112746, 2.950023829846315060 ) ) ; +#12842 = DIRECTION ( 'NONE', ( 0.9396926207859109814, 0.000000000000000000, -0.3420201433256616630 ) ) ; +#12843 = ORIENTED_EDGE ( 'NONE', *, *, #9110, .F. ) ; +#12844 = DIRECTION ( 'NONE', ( 0.9396926207859109814, -0.000000000000000000, 0.3420201433256616630 ) ) ; +#12845 = EDGE_CURVE ( 'NONE', #5936, #971, #5924, .T. ) ; +#12846 = EDGE_LOOP ( 'NONE', ( #3883, #10, #12163, #5184 ) ) ; +#12847 = LINE ( 'NONE', #11872, #3613 ) ; +#12848 = CARTESIAN_POINT ( 'NONE', ( -104.1556016739793904, -51.45000000000000284, 3.000000000000002665 ) ) ; +#12849 = ORIENTED_EDGE ( 'NONE', *, *, #11939, .T. ) ; +#12850 = FACE_OUTER_BOUND ( 'NONE', #2206, .T. ) ; +#12851 = CARTESIAN_POINT ( 'NONE', ( -88.85266052771805789, -58.46605763575112746, 2.950023829846315948 ) ) ; +#12852 = ADVANCED_FACE ( 'NONE', ( #6779 ), #3904, .T. ) ; +#12853 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#12854 = ORIENTED_EDGE ( 'NONE', *, *, #11934, .F. ) ; +#12855 = CARTESIAN_POINT ( 'NONE', ( -120.9825526913416667, -84.96605763575112746, 17.74016224672767095 ) ) ; +#12856 = CARTESIAN_POINT ( 'NONE', ( -67.63371018741277396, -81.22632021046081263, 0.7600238298461027275 ) ) ; +#12857 = LINE ( 'NONE', #10069, #12582 ) ; +#12858 = ORIENTED_EDGE ( 'NONE', *, *, #3490, .F. ) ; +#12859 = ADVANCED_FACE ( 'NONE', ( #6964 ), #7869, .F. ) ; +#12860 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#12861 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#12862 = ORIENTED_EDGE ( 'NONE', *, *, #636, .F. ) ; +#12863 = CARTESIAN_POINT ( 'NONE', ( -103.3281835245451674, -15.33170607768067661, 3.000000000000003553 ) ) ; +#12864 = EDGE_CURVE ( 'NONE', #256, #1723, #7228, .T. ) ; +#12865 = EDGE_CURVE ( 'NONE', #11821, #1375, #2040, .T. ) ; +#12866 = EDGE_LOOP ( 'NONE', ( #10945, #850, #6769, #8946 ) ) ; +#12867 = ADVANCED_FACE ( 'NONE', ( #8848 ), #10022, .F. ) ; +#12868 = EDGE_CURVE ( 'NONE', #12798, #946, #2817, .T. ) ; +#12869 = DIRECTION ( 'NONE', ( 0.3420201433256614965, 0.000000000000000000, 0.9396926207859109814 ) ) ; +#12870 = ORIENTED_EDGE ( 'NONE', *, *, #12300, .F. ) ; +#12871 = VECTOR ( 'NONE', #657, 1000.000000000000000 ) ; +ENDSEC; +END-ISO-10303-21; diff --git a/3d/支臂.stl b/3d/支臂.stl new file mode 100644 index 0000000..516fec6 Binary files /dev/null and b/3d/支臂.stl differ diff --git a/3d/支臂_mirror.stl b/3d/支臂_mirror.stl new file mode 100644 index 0000000..28321f8 Binary files /dev/null and b/3d/支臂_mirror.stl differ diff --git a/3d/配件0.STEP b/3d/配件0.STEP new file mode 100644 index 0000000..50eb499 --- /dev/null +++ b/3d/配件0.STEP @@ -0,0 +1,1026 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (( 'STEP AP214' ), + '1' ); +FILE_NAME ('Åä¼þ.STEP', + '2026-04-23T15:25:47', + ( '' ), + ( '' ), + 'SwSTEP 2.0', + 'SolidWorks 2023', + '' ); +FILE_SCHEMA (( 'AUTOMOTIVE_DESIGN' )); +ENDSEC; + +DATA; +#1 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 6.000000000000000000 ) ) ; +#2 = ORIENTED_EDGE ( 'NONE', *, *, #55, .T. ) ; +#3 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#4 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866021, 6.000000000000000000 ) ) ; +#5 = ORIENTED_EDGE ( 'NONE', *, *, #884, .T. ) ; +#6 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#7 = EDGE_CURVE ( 'NONE', #512, #347, #486, .T. ) ; +#8 = ORIENTED_EDGE ( 'NONE', *, *, #88, .F. ) ; +#9 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#10 = LINE ( 'NONE', #306, #682 ) ; +#11 = EDGE_LOOP ( 'NONE', ( #951, #399, #939, #417 ) ) ; +#12 = EDGE_CURVE ( 'NONE', #106, #975, #574, .T. ) ; +#13 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 10.00000000000000000 ) ) ; +#14 = VECTOR ( 'NONE', #487, 1000.000000000000000 ) ; +#15 = ORIENTED_EDGE ( 'NONE', *, *, #424, .T. ) ; +#16 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 10.00000000000000000 ) ) ; +#17 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 10.00000000000000000 ) ) ; +#18 = ORIENTED_EDGE ( 'NONE', *, *, #446, .F. ) ; +#19 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 0.000000000000000000 ) ) ; +#20 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#21 = ORIENTED_EDGE ( 'NONE', *, *, #378, .F. ) ; +#22 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#23 = ORIENTED_EDGE ( 'NONE', *, *, #737, .T. ) ; +#24 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#25 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#26 = VERTEX_POINT ( 'NONE', #506 ) ; +#27 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#28 = FILL_AREA_STYLE_COLOUR ( '', #258 ) ; +#29 = ORIENTED_EDGE ( 'NONE', *, *, #192, .T. ) ; +#30 = ADVANCED_FACE ( 'NONE', ( #50 ), #437, .F. ) ; +#31 = LINE ( 'NONE', #810, #385 ) ; +#32 = VECTOR ( 'NONE', #1002, 1000.000000000000000 ) ; +#33 = LINE ( 'NONE', #741, #65 ) ; +#34 = EDGE_LOOP ( 'NONE', ( #825 ) ) ; +#35 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#36 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#37 = ORIENTED_EDGE ( 'NONE', *, *, #846, .T. ) ; +#38 = VECTOR ( 'NONE', #116, 1000.000000000000000 ) ; +#39 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 10.00000000000000000 ) ) ; +#40 = LINE ( 'NONE', #108, #99 ) ; +#41 = VERTEX_POINT ( 'NONE', #813 ) ; +#42 = PLANE ( 'NONE', #1006 ) ; +#43 = VECTOR ( 'NONE', #632, 1000.000000000000000 ) ; +#44 = FILL_AREA_STYLE ('',( #28 ) ) ; +#45 = ORIENTED_EDGE ( 'NONE', *, *, #570, .T. ) ; +#46 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '\X2\914d4ef6\X0\', ( #157, #859 ), #607 ) ; +#47 = LINE ( 'NONE', #67, #994 ) ; +#48 = FACE_OUTER_BOUND ( 'NONE', #518, .T. ) ; +#49 = ORIENTED_EDGE ( 'NONE', *, *, #415, .F. ) ; +#50 = FACE_OUTER_BOUND ( 'NONE', #822, .T. ) ; +#51 = ORIENTED_EDGE ( 'NONE', *, *, #986, .F. ) ; +#52 = CIRCLE ( 'NONE', #611, 1.250000000000001110 ) ; +#53 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397460092, 0.000000000000000000 ) ) ; +#54 = ORIENTED_EDGE ( 'NONE', *, *, #315, .F. ) ; +#55 = EDGE_CURVE ( 'NONE', #585, #433, #733, .T. ) ; +#56 = ORIENTED_EDGE ( 'NONE', *, *, #213, .T. ) ; +#57 = AXIS2_PLACEMENT_3D ( 'NONE', #371, #678, #985 ) ; +#58 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708864884, 6.000000000000000000 ) ) ; +#59 = EDGE_CURVE ( 'NONE', #742, #942, #265, .T. ) ; +#60 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708864884, 6.000000000000000000 ) ) ; +#61 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.273191542001325824E-16, 0.000000000000000000 ) ) ; +#62 = EDGE_CURVE ( 'NONE', #307, #319, #657, .T. ) ; +#63 = EDGE_CURVE ( 'NONE', #26, #659, #888, .T. ) ; +#64 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#65 = VECTOR ( 'NONE', #188, 1000.000000000000000 ) ; +#66 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 10.00000000000000000 ) ) ; +#67 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#68 = AXIS2_PLACEMENT_3D ( 'NONE', #870, #818, #559 ) ; +#69 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 6.000000000000000000 ) ) ; +#70 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#71 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#72 = PLANE ( 'NONE', #82 ) ; +#73 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 10.00000000000000000 ) ) ; +#74 = FACE_OUTER_BOUND ( 'NONE', #791, .T. ) ; +#75 = VECTOR ( 'NONE', #22, 1000.000000000000000 ) ; +#76 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#77 = ORIENTED_EDGE ( 'NONE', *, *, #151, .T. ) ; +#78 = LINE ( 'NONE', #397, #134 ) ; +#79 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#80 = EDGE_CURVE ( 'NONE', #932, #41, #965, .T. ) ; +#81 = EDGE_CURVE ( 'NONE', #827, #827, #432, .T. ) ; +#82 = AXIS2_PLACEMENT_3D ( 'NONE', #687, #304, #224 ) ; +#83 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#84 = ORIENTED_EDGE ( 'NONE', *, *, #523, .T. ) ; +#85 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#86 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 10.00000000000000000 ) ) ; +#87 = ORIENTED_EDGE ( 'NONE', *, *, #907, .T. ) ; +#88 = EDGE_CURVE ( 'NONE', #118, #617, #350, .T. ) ; +#89 = FACE_OUTER_BOUND ( 'NONE', #475, .T. ) ; +#90 = AXIS2_PLACEMENT_3D ( 'NONE', #919, #838, #478 ) ; +#91 = EDGE_LOOP ( 'NONE', ( #492 ) ) ; +#92 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 10.00000000000000000 ) ) ; +#93 = FACE_OUTER_BOUND ( 'NONE', #11, .T. ) ; +#94 = EDGE_LOOP ( 'NONE', ( #287, #804, #338, #167 ) ) ; +#95 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 10.00000000000000000 ) ) ; +#96 = AXIS2_PLACEMENT_3D ( 'NONE', #947, #878, #819 ) ; +#97 = ORIENTED_EDGE ( 'NONE', *, *, #465, .F. ) ; +#98 = FACE_OUTER_BOUND ( 'NONE', #359, .T. ) ; +#99 = VECTOR ( 'NONE', #346, 1000.000000000000000 ) ; +#100 = VERTEX_POINT ( 'NONE', #751 ) ; +#101 = PLANE ( 'NONE', #484 ) ; +#102 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#103 = ADVANCED_FACE ( 'NONE', ( #727 ), #42, .T. ) ; +#104 = ORIENTED_EDGE ( 'NONE', *, *, #483, .T. ) ; +#105 = LINE ( 'NONE', #358, #695 ) ; +#106 = VERTEX_POINT ( 'NONE', #263 ) ; +#107 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#108 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -158.5397479186052578, 10.00000000000000000 ) ) ; +#109 = ORIENTED_EDGE ( 'NONE', *, *, #779, .T. ) ; +#110 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#111 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#112 = ORIENTED_EDGE ( 'NONE', *, *, #80, .T. ) ; +#113 = LINE ( 'NONE', #802, #688 ) ; +#114 = LINE ( 'NONE', #102, #675 ) ; +#115 = ORIENTED_EDGE ( 'NONE', *, *, #159, .T. ) ; +#116 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#117 = VECTOR ( 'NONE', #121, 1000.000000000000000 ) ; +#118 = VERTEX_POINT ( 'NONE', #357 ) ; +#119 = EDGE_CURVE ( 'NONE', #227, #227, #571, .T. ) ; +#120 = LINE ( 'NONE', #864, #165 ) ; +#121 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#122 = ORIENTED_EDGE ( 'NONE', *, *, #424, .F. ) ; +#123 = DIRECTION ( 'NONE', ( -9.361563035194100268E-17, -1.000000000000000000, 0.000000000000000000 ) ) ; +#124 = CIRCLE ( 'NONE', #781, 2.000000000000001776 ) ; +#125 = ORIENTED_EDGE ( 'NONE', *, *, #278, .T. ) ; +#126 = ADVANCED_FACE ( 'NONE', ( #513 ), #973, .T. ) ; +#127 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #502 ) ; +#128 = ORIENTED_EDGE ( 'NONE', *, *, #527, .T. ) ; +#129 = ORIENTED_EDGE ( 'NONE', *, *, #708, .T. ) ; +#130 = CIRCLE ( 'NONE', #999, 1.250000000000001110 ) ; +#131 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, -150.5433968397460092, 0.000000000000000000 ) ) ; +#132 = AXIS2_PLACEMENT_3D ( 'NONE', #893, #880, #665 ) ; +#133 = EDGE_CURVE ( 'NONE', #975, #333, #499, .T. ) ; +#134 = VECTOR ( 'NONE', #697, 1000.000000000000000 ) ; +#135 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708864884, 10.00000000000000000 ) ) ; +#136 = ORIENTED_EDGE ( 'NONE', *, *, #650, .T. ) ; +#137 = ADVANCED_FACE ( 'NONE', ( #728 ), #894, .T. ) ; +#138 = CYLINDRICAL_SURFACE ( 'NONE', #577, 1.250000000000001110 ) ; +#139 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 10.00000000000000000 ) ) ; +#140 = PRODUCT_CONTEXT ( 'NONE', #711, 'mechanical' ) ; +#141 = AXIS2_PLACEMENT_3D ( 'NONE', #670, #655, #25 ) ; +#142 = CIRCLE ( 'NONE', #616, 2.000000000000001776 ) ; +#143 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, -13.00000000000000000 ) ) ; +#144 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 6.000000000000000000 ) ) ; +#145 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, -150.5433968397460092, 10.00000000000000000 ) ) ; +#146 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#147 = ADVANCED_FACE ( 'NONE', ( #949 ), #744, .T. ) ; +#148 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#149 = LINE ( 'NONE', #698, #896 ) ; +#150 = FACE_OUTER_BOUND ( 'NONE', #925, .T. ) ; +#151 = EDGE_CURVE ( 'NONE', #732, #433, #409, .T. ) ; +#152 = ORIENTED_EDGE ( 'NONE', *, *, #629, .F. ) ; +#153 = LINE ( 'NONE', #776, #43 ) ; +#154 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#155 = EDGE_CURVE ( 'NONE', #942, #882, #105, .T. ) ; +#156 = AXIS2_PLACEMENT_3D ( 'NONE', #644, #349, #431 ) ; +#157 = MANIFOLD_SOLID_BREP ( 'NONE', #830 ) ; +#158 = FACE_BOUND ( 'NONE', #588, .T. ) ; +#159 = EDGE_CURVE ( 'NONE', #645, #659, #974, .T. ) ; +#160 = EDGE_LOOP ( 'NONE', ( #97 ) ) ; +#161 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#162 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#163 = ORIENTED_EDGE ( 'NONE', *, *, #737, .F. ) ; +#164 = VECTOR ( 'NONE', #317, 1000.000000000000000 ) ; +#165 = VECTOR ( 'NONE', #171, 1000.000000000000000 ) ; +#166 = FACE_OUTER_BOUND ( 'NONE', #605, .T. ) ; +#167 = ORIENTED_EDGE ( 'NONE', *, *, #235, .F. ) ; +#168 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#169 = FACE_OUTER_BOUND ( 'NONE', #673, .T. ) ; +#170 = ORIENTED_EDGE ( 'NONE', *, *, #1005, .F. ) ; +#171 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#172 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708864884, 6.000000000000000000 ) ) ; +#173 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#174 = VERTEX_POINT ( 'NONE', #178 ) ; +#175 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#176 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 0.000000000000000000 ) ) ; +#177 = ORIENTED_EDGE ( 'NONE', *, *, #990, .T. ) ; +#178 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#179 = AXIS2_PLACEMENT_3D ( 'NONE', #139, #305, #383 ) ; +#180 = EDGE_LOOP ( 'NONE', ( #653 ) ) ; +#181 = FACE_OUTER_BOUND ( 'NONE', #228, .T. ) ; +#182 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#183 = ORIENTED_EDGE ( 'NONE', *, *, #159, .F. ) ; +#184 = DIRECTION ( 'NONE', ( 1.000000000000000000, -9.361563035194100268E-17, 0.000000000000000000 ) ) ; +#185 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 10.00000000000000000 ) ) ; +#186 = VERTEX_POINT ( 'NONE', #264 ) ; +#187 = FACE_OUTER_BOUND ( 'NONE', #666, .T. ) ; +#188 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#189 = ORIENTED_EDGE ( 'NONE', *, *, #12, .T. ) ; +#190 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708866021, 0.000000000000000000 ) ) ; +#191 = LINE ( 'NONE', #500, #75 ) ; +#192 = EDGE_CURVE ( 'NONE', #723, #517, #191, .T. ) ; +#193 = ORIENTED_EDGE ( 'NONE', *, *, #269, .F. ) ; +#194 = ADVANCED_FACE ( 'NONE', ( #334 ), #575, .F. ) ; +#195 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#196 = PLANE ( 'NONE', #981 ) ; +#197 = EDGE_LOOP ( 'NONE', ( #855 ) ) ; +#198 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742549963, 10.00000000000000000 ) ) ; +#199 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#200 = ADVANCED_FACE ( 'NONE', ( #98, #169 ), #621, .F. ) ; +#201 = AXIS2_PLACEMENT_3D ( 'NONE', #866, #463, #714 ) ; +#202 = ORIENTED_EDGE ( 'NONE', *, *, #465, .T. ) ; +#203 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #416 ) ; +#204 = ORIENTED_EDGE ( 'NONE', *, *, #707, .F. ) ; +#205 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#206 = CIRCLE ( 'NONE', #766, 2.000000000000001776 ) ; +#207 = VERTEX_POINT ( 'NONE', #854 ) ; +#208 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #711 ) ; +#209 = ORIENTED_EDGE ( 'NONE', *, *, #869, .F. ) ; +#210 = EDGE_CURVE ( 'NONE', #712, #820, #615, .T. ) ; +#211 = PRESENTATION_LAYER_ASSIGNMENT ( '', '', ( #241 ) ) ; +#212 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 0.000000000000000000 ) ) ; +#213 = EDGE_CURVE ( 'NONE', #956, #820, #469, .T. ) ; +#214 = VECTOR ( 'NONE', #348, 1000.000000000000000 ) ; +#215 = VECTOR ( 'NONE', #788, 1000.000000000000000 ) ; +#216 = FACE_OUTER_BOUND ( 'NONE', #299, .T. ) ; +#217 = LINE ( 'NONE', #917, #223 ) ; +#218 = AXIS2_PLACEMENT_3D ( 'NONE', #143, #456, #710 ) ; +#219 = ORIENTED_EDGE ( 'NONE', *, *, #708, .F. ) ; +#220 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 0.000000000000000000 ) ) ; +#221 = LINE ( 'NONE', #1001, #535 ) ; +#222 = ORIENTED_EDGE ( 'NONE', *, *, #119, .F. ) ; +#223 = VECTOR ( 'NONE', #64, 1000.000000000000000 ) ; +#224 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#225 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800626106, 18.96120903081405018, 10.00000000000000000 ) ) ; +#226 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#227 = VERTEX_POINT ( 'NONE', #131 ) ; +#228 = EDGE_LOOP ( 'NONE', ( #580, #785, #547, #2 ) ) ; +#229 = ADVANCED_FACE ( 'NONE', ( #562 ), #473, .T. ) ; +#230 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#231 = ORIENTED_EDGE ( 'NONE', *, *, #522, .F. ) ; +#232 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#233 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708864884, 10.00000000000000000 ) ) ; +#234 = LINE ( 'NONE', #1, #753 ) ; +#235 = EDGE_CURVE ( 'NONE', #942, #645, #772, .T. ) ; +#236 = VERTEX_POINT ( 'NONE', #937 ) ; +#237 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#238 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 6.000000000000000000 ) ) ; +#239 = ORIENTED_EDGE ( 'NONE', *, *, #550, .T. ) ; +#240 = ADVANCED_FACE ( 'NONE', ( #74 ), #398, .T. ) ; +#241 = STYLED_ITEM ( 'NONE', ( #422 ), #157 ) ; +#242 = FACE_BOUND ( 'NONE', #341, .T. ) ; +#243 = AXIS2_PLACEMENT_3D ( 'NONE', #337, #496, #361 ) ; +#244 = ORIENTED_EDGE ( 'NONE', *, *, #389, .T. ) ; +#245 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 21.45295591860524453, 10.00000000000000000 ) ) ; +#246 = LINE ( 'NONE', #922, #534 ) ; +#247 = ORIENTED_EDGE ( 'NONE', *, *, #938, .T. ) ; +#248 = FACE_OUTER_BOUND ( 'NONE', #596, .T. ) ; +#249 = ORIENTED_EDGE ( 'NONE', *, *, #758, .T. ) ; +#250 = LINE ( 'NONE', #73, #394 ) ; +#251 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 6.000000000000000000 ) ) ; +#252 = EDGE_LOOP ( 'NONE', ( #15, #45, #429, #676, #115, #1007, #482, #628, #193, #420, #136, #244, #23, #722, #219, #551 ) ) ; +#253 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#254 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800626106, 18.96120903081405018, 0.000000000000000000 ) ) ; +#255 = ORIENTED_EDGE ( 'NONE', *, *, #62, .F. ) ; +#256 = SURFACE_SIDE_STYLE ('',( #507 ) ) ; +#257 = ORIENTED_EDGE ( 'NONE', *, *, #869, .T. ) ; +#258 = COLOUR_RGB ( '',0.7921568627450980005, 0.8196078431372548767, 0.9333333333333333481 ) ; +#259 = LINE ( 'NONE', #39, #823 ) ; +#260 = EDGE_CURVE ( 'NONE', #948, #645, #10, .T. ) ; +#261 = FACE_BOUND ( 'NONE', #160, .T. ) ; +#262 = VERTEX_POINT ( 'NONE', #329 ) ; +#263 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 0.000000000000000000 ) ) ; +#264 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708864884, 0.000000000000000000 ) ) ; +#265 = CIRCLE ( 'NONE', #740, 2.000000000000001776 ) ; +#266 = ORIENTED_EDGE ( 'NONE', *, *, #446, .T. ) ; +#267 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#268 = AXIS2_PLACEMENT_3D ( 'NONE', #936, #926, #542 ) ; +#269 = EDGE_CURVE ( 'NONE', #787, #585, #246, .T. ) ; +#270 = EDGE_CURVE ( 'NONE', #26, #319, #149, .T. ) ; +#271 = LINE ( 'NONE', #254, #377 ) ; +#272 = ORIENTED_EDGE ( 'NONE', *, *, #662, .F. ) ; +#273 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 0.000000000000000000 ) ) ; +#274 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#275 = PRODUCT ( '\X2\914d4ef6\X0\', '\X2\914d4ef6\X0\', '', ( #140 ) ) ; +#276 = ORIENTED_EDGE ( 'NONE', *, *, #415, .T. ) ; +#277 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#278 = EDGE_CURVE ( 'NONE', #441, #879, #453, .T. ) ; +#279 = FACE_OUTER_BOUND ( 'NONE', #505, .T. ) ; +#280 = ORIENTED_EDGE ( 'NONE', *, *, #270, .T. ) ; +#281 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#282 = EDGE_LOOP ( 'NONE', ( #189, #997, #84, #795 ) ) ; +#283 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.8312337827360068, 0.000000000000000000 ) ) ; +#284 = ORIENTED_EDGE ( 'NONE', *, *, #887, .T. ) ; +#285 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 6.000000000000000000 ) ) ; +#286 = CIRCLE ( 'NONE', #141, 1.250000000000001110 ) ; +#287 = ORIENTED_EDGE ( 'NONE', *, *, #155, .T. ) ; +#288 = AXIS2_PLACEMENT_3D ( 'NONE', #135, #379, #767 ) ; +#289 = VERTEX_POINT ( 'NONE', #251 ) ; +#290 = EDGE_CURVE ( 'NONE', #441, #207, #633, .T. ) ; +#291 = VERTEX_POINT ( 'NONE', #370 ) ; +#292 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#293 = VECTOR ( 'NONE', #226, 1000.000000000000000 ) ; +#294 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 10.00000000000000000 ) ) ; +#295 = EDGE_CURVE ( 'NONE', #207, #236, #326, .T. ) ; +#296 = VECTOR ( 'NONE', #395, 1000.000000000000000 ) ; +#297 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, -13.00000000000000000 ) ) ; +#298 = CIRCLE ( 'NONE', #68, 2.000000000000001776 ) ; +#299 = EDGE_LOOP ( 'NONE', ( #889 ) ) ; +#300 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#301 = ADVANCED_FACE ( 'NONE', ( #849 ), #627, .T. ) ; +#302 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#303 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#304 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#305 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#306 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#307 = VERTEX_POINT ( 'NONE', #794 ) ; +#308 = CIRCLE ( 'NONE', #874, 1.250000000000001110 ) ; +#309 = PLANE ( 'NONE', #364 ) ; +#310 = ORIENTED_EDGE ( 'NONE', *, *, #650, .F. ) ; +#311 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 6.000000000000000000 ) ) ; +#312 = PLANE ( 'NONE', #934 ) ; +#313 = ADVANCED_FACE ( 'NONE', ( #93 ), #312, .T. ) ; +#314 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120907361390096, 10.00000000000000000 ) ) ; +#315 = EDGE_CURVE ( 'NONE', #592, #186, #944, .T. ) ; +#316 = ORIENTED_EDGE ( 'NONE', *, *, #155, .F. ) ; +#317 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#318 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#319 = VERTEX_POINT ( 'NONE', #4 ) ; +#320 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 0.000000000000000000 ) ) ; +#321 = VERTEX_POINT ( 'NONE', #238 ) ; +#322 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#323 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#324 = ORIENTED_EDGE ( 'NONE', *, *, #692, .T. ) ; +#325 = CARTESIAN_POINT ( 'NONE', ( -36.54339599999999422, -158.5397479186052578, 10.00000000000000000 ) ) ; +#326 = CIRCLE ( 'NONE', #635, 126.6268659918020063 ) ; +#327 = EDGE_LOOP ( 'NONE', ( #686, #664, #335, #863 ) ) ; +#328 = PLANE ( 'NONE', #992 ) ; +#329 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120903081405018, 0.000000000000000000 ) ) ; +#330 = ORIENTED_EDGE ( 'NONE', *, *, #553, .T. ) ; +#331 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#332 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#333 = VERTEX_POINT ( 'NONE', #549 ) ; +#334 = FACE_OUTER_BOUND ( 'NONE', #754, .T. ) ; +#335 = ORIENTED_EDGE ( 'NONE', *, *, #295, .T. ) ; +#336 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#337 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#338 = ORIENTED_EDGE ( 'NONE', *, *, #260, .T. ) ; +#339 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#340 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#341 = EDGE_LOOP ( 'NONE', ( #410 ) ) ; +#342 = EDGE_CURVE ( 'NONE', #592, #975, #406, .T. ) ; +#343 = AXIS2_PLACEMENT_3D ( 'NONE', #493, #340, #651 ) ; +#344 = EDGE_CURVE ( 'NONE', #756, #756, #286, .T. ) ; +#345 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#346 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#347 = VERTEX_POINT ( 'NONE', #412 ) ; +#348 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#349 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#350 = CIRCLE ( 'NONE', #875, 126.6268659918020063 ) ; +#351 = EDGE_LOOP ( 'NONE', ( #209, #886, #316, #567 ) ) ; +#352 = ADVANCED_FACE ( 'NONE', ( #955 ), #584, .F. ) ; +#353 = FACE_OUTER_BOUND ( 'NONE', #180, .T. ) ; +#354 = VECTOR ( 'NONE', #561, 1000.000000000000000 ) ; +#355 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#356 = EDGE_LOOP ( 'NONE', ( #801, #128, #152, #631 ) ) ; +#357 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 21.45295591860524809, 10.00000000000000000 ) ) ; +#358 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#359 = EDGE_LOOP ( 'NONE', ( #202 ) ) ; +#360 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#361 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#362 = ORIENTED_EDGE ( 'NONE', *, *, #290, .F. ) ; +#363 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#364 = AXIS2_PLACEMENT_3D ( 'NONE', #536, #146, #1004 ) ; +#365 = ORIENTED_EDGE ( 'NONE', *, *, #498, .F. ) ; +#366 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#367 = ORIENTED_EDGE ( 'NONE', *, *, #738, .T. ) ; +#368 = EDGE_LOOP ( 'NONE', ( #54, #799, #401, #310 ) ) ; +#369 = CIRCLE ( 'NONE', #57, 1.250000000000001110 ) ; +#370 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#371 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, 10.00000000000000000 ) ) ; +#372 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 0.000000000000000000 ) ) ; +#373 = ADVANCED_FACE ( 'NONE', ( #511 ), #196, .T. ) ; +#374 = ORIENTED_EDGE ( 'NONE', *, *, #815, .T. ) ; +#375 = EDGE_CURVE ( 'NONE', #262, #879, #271, .T. ) ; +#376 = FACE_OUTER_BOUND ( 'NONE', #609, .T. ) ; +#377 = VECTOR ( 'NONE', #182, 1000.000000000000000 ) ; +#378 = EDGE_CURVE ( 'NONE', #704, #576, #642, .T. ) ; +#379 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#380 = VECTOR ( 'NONE', #331, 1000.000000000000000 ) ; +#381 = ORIENTED_EDGE ( 'NONE', *, *, #701, .F. ) ; +#382 = LINE ( 'NONE', #933, #832 ) ; +#383 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#384 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#385 = VECTOR ( 'NONE', #797, 1000.000000000000000 ) ; +#386 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#387 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#388 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, -13.00000000000000000 ) ) ; +#389 = EDGE_CURVE ( 'NONE', #106, #471, #803, .T. ) ; +#390 = FACE_OUTER_BOUND ( 'NONE', #671, .T. ) ; +#391 = ORIENTED_EDGE ( 'NONE', *, *, #192, .F. ) ; +#392 = LINE ( 'NONE', #848, #354 ) ; +#393 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 0.000000000000000000 ) ) ; +#394 = VECTOR ( 'NONE', #387, 1000.000000000000000 ) ; +#395 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#396 = ORIENTED_EDGE ( 'NONE', *, *, #707, .T. ) ; +#397 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#398 = PLANE ( 'NONE', #546 ) ; +#399 = ORIENTED_EDGE ( 'NONE', *, *, #545, .F. ) ; +#400 = PLANE ( 'NONE', #519 ) ; +#401 = ORIENTED_EDGE ( 'NONE', *, *, #12, .F. ) ; +#402 = FACE_OUTER_BOUND ( 'NONE', #625, .T. ) ; +#403 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#404 = ORIENTED_EDGE ( 'NONE', *, *, #295, .F. ) ; +#405 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120903081405018, 10.00000000000000000 ) ) ; +#406 = CIRCLE ( 'NONE', #761, 2.000000000000001776 ) ; +#407 = VECTOR ( 'NONE', #614, 1000.000000000000000 ) ; +#408 = ORIENTED_EDGE ( 'NONE', *, *, #210, .T. ) ; +#409 = LINE ( 'NONE', #958, #828 ) ; +#410 = ORIENTED_EDGE ( 'NONE', *, *, #119, .T. ) ; +#411 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 10.00000000000000000 ) ) ; +#412 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 6.000000000000000000 ) ) ; +#413 = ORIENTED_EDGE ( 'NONE', *, *, #342, .F. ) ; +#414 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 16.74444178273600059, 0.000000000000000000 ) ) ; +#415 = EDGE_CURVE ( 'NONE', #617, #879, #566, .T. ) ; +#416 = APPLICATION_CONTEXT ( 'automotive_design' ) ; +#417 = ORIENTED_EDGE ( 'NONE', *, *, #680, .F. ) ; +#418 = LINE ( 'NONE', #495, #915 ) ; +#419 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -148.0433967708866021, 10.00000000000000000 ) ) ; +#420 = ORIENTED_EDGE ( 'NONE', *, *, #986, .T. ) ; +#421 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#422 = PRESENTATION_STYLE_ASSIGNMENT (( #658 ) ) ; +#423 = ORIENTED_EDGE ( 'NONE', *, *, #595, .T. ) ; +#424 = EDGE_CURVE ( 'NONE', #932, #901, #435, .T. ) ; +#425 = VECTOR ( 'NONE', #777, 1000.000000000000000 ) ; +#426 = CYLINDRICAL_SURFACE ( 'NONE', #476, 2.000000000000001776 ) ; +#427 = ADVANCED_FACE ( 'NONE', ( #48 ), #731, .F. ) ; +#428 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#429 = ORIENTED_EDGE ( 'NONE', *, *, #59, .T. ) ; +#430 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, 0.000000000000000000 ) ) ; +#431 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#432 = CIRCLE ( 'NONE', #525, 1.250000000000001110 ) ; +#433 = VERTEX_POINT ( 'NONE', #176 ) ; +#434 = AXIS2_PLACEMENT_3D ( 'NONE', #930, #85, #237 ) ; +#435 = LINE ( 'NONE', #491, #683 ) ; +#436 = ORIENTED_EDGE ( 'NONE', *, *, #938, .F. ) ; +#437 = CYLINDRICAL_SURFACE ( 'NONE', #856, 126.6268659918020063 ) ; +#438 = ORIENTED_EDGE ( 'NONE', *, *, #451, .T. ) ; +#439 = ORIENTED_EDGE ( 'NONE', *, *, #962, .F. ) ; +#440 = AXIS2_PLACEMENT_3D ( 'NONE', #890, #267, #578 ) ; +#441 = VERTEX_POINT ( 'NONE', #798 ) ; +#442 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974599941, 0.000000000000000000 ) ) ; +#443 = EDGE_CURVE ( 'NONE', #100, #576, #33, .T. ) ; +#444 = CIRCLE ( 'NONE', #897, 126.6268659918020063 ) ; +#445 = VECTOR ( 'NONE', #900, 1000.000000000000000 ) ; +#446 = EDGE_CURVE ( 'NONE', #726, #558, #40, .T. ) ; +#447 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361384766, 10.00000000000000000 ) ) ; +#448 = ADVANCED_FACE ( 'NONE', ( #279 ), #977, .T. ) ; +#449 = ORIENTED_EDGE ( 'NONE', *, *, #699, .T. ) ; +#450 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 21.45295591860524453, 0.000000000000000000 ) ) ; +#451 = EDGE_CURVE ( 'NONE', #948, #307, #114, .T. ) ; +#452 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#453 = CIRCLE ( 'NONE', #201, 126.6268659918020063 ) ; +#454 = LINE ( 'NONE', #384, #516 ) ; +#455 = VECTOR ( 'NONE', #302, 1000.000000000000000 ) ; +#456 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#457 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -158.5397479186052578, 10.00000000000000000 ) ) ; +#458 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#459 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #274, 'distance_accuracy_value', 'NONE'); +#460 = PLANE ( 'NONE', #90 ) ; +#461 = ADVANCED_FACE ( 'NONE', ( #663, #647, #891, #261, #612 ), #836, .T. ) ; +#462 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 0.000000000000000000 ) ) ; +#463 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#464 = ORIENTED_EDGE ( 'NONE', *, *, #550, .F. ) ; +#465 = EDGE_CURVE ( 'NONE', #984, #984, #308, .T. ) ; +#466 = LINE ( 'NONE', #618, #668 ) ; +#467 = ORIENTED_EDGE ( 'NONE', *, *, #81, .F. ) ; +#468 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 0.000000000000000000 ) ) ; +#469 = LINE ( 'NONE', #403, #32 ) ; +#470 = LINE ( 'NONE', #314, #296 ) ; +#471 = VERTEX_POINT ( 'NONE', #212 ) ; +#472 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#473 = PLANE ( 'NONE', #735 ) ; +#474 = AXIS2_PLACEMENT_3D ( 'NONE', #771, #472, #161 ) ; +#475 = EDGE_LOOP ( 'NONE', ( #782, #729, #983, #112 ) ) ; +#476 = AXIS2_PLACEMENT_3D ( 'NONE', #95, #24, #721 ) ; +#477 = ADVANCED_FACE ( 'NONE', ( #376 ), #759, .T. ) ; +#478 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#479 = ORIENTED_EDGE ( 'NONE', *, *, #968, .T. ) ; +#480 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#481 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#482 = ORIENTED_EDGE ( 'NONE', *, *, #699, .F. ) ; +#483 = EDGE_CURVE ( 'NONE', #347, #174, #681, .T. ) ; +#484 = AXIS2_PLACEMENT_3D ( 'NONE', #961, #940, #569 ) ; +#485 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#486 = LINE ( 'NONE', #793, #960 ) ; +#487 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#488 = ORIENTED_EDGE ( 'NONE', *, *, #213, .F. ) ; +#489 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#490 = CIRCLE ( 'NONE', #839, 1.250000000000001110 ) ; +#491 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 0.000000000000000000 ) ) ; +#492 = ORIENTED_EDGE ( 'NONE', *, *, #911, .F. ) ; +#493 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 10.00000000000000000 ) ) ; +#494 = ORIENTED_EDGE ( 'NONE', *, *, #1005, .T. ) ; +#495 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 10.00000000000000000 ) ) ; +#496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#497 = ORIENTED_EDGE ( 'NONE', *, *, #443, .F. ) ; +#498 = EDGE_CURVE ( 'NONE', #291, #291, #490, .T. ) ; +#499 = LINE ( 'NONE', #967, #515 ) ; +#500 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 21.45295591860524453, 10.00000000000000000 ) ) ; +#501 = ORIENTED_EDGE ( 'NONE', *, *, #691, .T. ) ; +#502 = PRODUCT_DEFINITION ( 'æœ', '', #910, #709 ) ; +#503 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 0.000000000000000000 ) ) ; +#504 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#505 = EDGE_LOOP ( 'NONE', ( #594, #959, #945, #972 ) ) ; +#506 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866021, 0.000000000000000000 ) ) ; +#507 = SURFACE_STYLE_FILL_AREA ( #44 ) ; +#508 = ORIENTED_EDGE ( 'NONE', *, *, #911, .T. ) ; +#509 = PLANE ( 'NONE', #529 ) ; +#510 = VECTOR ( 'NONE', #332, 1000.000000000000000 ) ; +#511 = FACE_OUTER_BOUND ( 'NONE', #282, .T. ) ; +#512 = VERTEX_POINT ( 'NONE', #452 ) ; +#513 = FACE_OUTER_BOUND ( 'NONE', #816, .T. ) ; +#514 = ORIENTED_EDGE ( 'NONE', *, *, #758, .F. ) ; +#515 = VECTOR ( 'NONE', #36, 1000.000000000000000 ) ; +#516 = VECTOR ( 'NONE', #458, 1000.000000000000000 ) ; +#517 = VERTEX_POINT ( 'NONE', #450 ) ; +#518 = EDGE_LOOP ( 'NONE', ( #439, #170, #717, #902, #531, #488, #563, #914, #413, #895, #935, #812, #978, #255, #752, #272 ) ) ; +#519 = AXIS2_PLACEMENT_3D ( 'NONE', #851, #6, #544 ) ; +#520 = ORIENTED_EDGE ( 'NONE', *, *, #523, .F. ) ; +#521 = VECTOR ( 'NONE', #806, 1000.000000000000000 ) ; +#522 = EDGE_CURVE ( 'NONE', #558, #576, #444, .T. ) ; +#523 = EDGE_CURVE ( 'NONE', #333, #471, #217, .T. ) ; +#524 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#525 = AXIS2_PLACEMENT_3D ( 'NONE', #430, #586, #743 ) ; +#526 = VECTOR ( 'NONE', #943, 1000.000000000000000 ) ; +#527 = EDGE_CURVE ( 'NONE', #696, #321, #762, .T. ) ; +#528 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#529 = AXIS2_PLACEMENT_3D ( 'NONE', #13, #277, #953 ) ; +#530 = FACE_OUTER_BOUND ( 'NONE', #892, .T. ) ; +#531 = ORIENTED_EDGE ( 'NONE', *, *, #601, .F. ) ; +#532 = FACE_BOUND ( 'NONE', #899, .T. ) ; +#533 = LINE ( 'NONE', #372, #796 ) ; +#534 = VECTOR ( 'NONE', #784, 1000.000000000000000 ) ; +#535 = VECTOR ( 'NONE', #537, 1000.000000000000000 ) ; +#536 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#537 = DIRECTION ( 'NONE', ( 9.361563035194100268E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#538 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#539 = LINE ( 'NONE', #283, #941 ) ; +#540 = LINE ( 'NONE', #610, #858 ) ; +#541 = ORIENTED_EDGE ( 'NONE', *, *, #375, .T. ) ; +#542 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#543 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#544 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#545 = EDGE_CURVE ( 'NONE', #929, #207, #831, .T. ) ; +#546 = AXIS2_PLACEMENT_3D ( 'NONE', #17, #1009, #318 ) ; +#547 = ORIENTED_EDGE ( 'NONE', *, *, #952, .F. ) ; +#548 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#549 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#550 = EDGE_CURVE ( 'NONE', #969, #617, #996, .T. ) ; +#551 = ORIENTED_EDGE ( 'NONE', *, *, #80, .F. ) ; +#552 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#553 = EDGE_CURVE ( 'NONE', #726, #517, #221, .T. ) ; +#554 = ORIENTED_EDGE ( 'NONE', *, *, #344, .T. ) ; +#555 = LINE ( 'NONE', #626, #215 ) ; +#556 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#557 = CIRCLE ( 'NONE', #268, 126.6268659918020063 ) ; +#558 = VERTEX_POINT ( 'NONE', #842 ) ; +#559 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#560 = EDGE_LOOP ( 'NONE', ( #479, #755, #808, #231, #109, #573, #239, #8 ) ) ; +#561 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#562 = FACE_OUTER_BOUND ( 'NONE', #94, .T. ) ; +#563 = ORIENTED_EDGE ( 'NONE', *, *, #692, .F. ) ; +#564 = AXIS2_PLACEMENT_3D ( 'NONE', #630, #774, #76 ) ; +#565 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#566 = LINE ( 'NONE', #971, #510 ) ; +#567 = ORIENTED_EDGE ( 'NONE', *, *, #59, .F. ) ; +#568 = ORIENTED_EDGE ( 'NONE', *, *, #987, .T. ) ; +#569 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#570 = EDGE_CURVE ( 'NONE', #901, #742, #533, .T. ) ; +#571 = CIRCLE ( 'NONE', #132, 1.250000000000001110 ) ; +#572 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708866021, 10.00000000000000000 ) ) ; +#573 = ORIENTED_EDGE ( 'NONE', *, *, #835, .T. ) ; +#574 = LINE ( 'NONE', #957, #214 ) ; +#575 = CYLINDRICAL_SURFACE ( 'NONE', #652, 126.6268659918020063 ) ; +#576 = VERTEX_POINT ( 'NONE', #684 ) ; +#577 = AXIS2_PLACEMENT_3D ( 'NONE', #297, #608, #232 ) ; +#578 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#579 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#580 = ORIENTED_EDGE ( 'NONE', *, *, #151, .F. ) ; +#581 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#582 = EDGE_LOOP ( 'NONE', ( #520, #324, #367, #163 ) ) ; +#583 = CYLINDRICAL_SURFACE ( 'NONE', #440, 1.250000000000001110 ) ; +#584 = CYLINDRICAL_SURFACE ( 'NONE', #96, 126.6268659918020063 ) ; +#585 = VERTEX_POINT ( 'NONE', #462 ) ; +#586 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#587 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#588 = EDGE_LOOP ( 'NONE', ( #508 ) ) ; +#589 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#590 = AXIS2_PLACEMENT_3D ( 'NONE', #639, #173, #481 ) ; +#591 = AXIS2_PLACEMENT_3D ( 'NONE', #294, #599, #602 ) ; +#592 = VERTEX_POINT ( 'NONE', #60 ) ; +#593 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#594 = ORIENTED_EDGE ( 'NONE', *, *, #887, .F. ) ; +#595 = EDGE_CURVE ( 'NONE', #677, #677, #369, .T. ) ; +#596 = EDGE_LOOP ( 'NONE', ( #21, #177, #396, #773 ) ) ; +#597 = ADVANCED_FACE ( 'NONE', ( #530 ), #988, .T. ) ; +#598 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#599 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#600 = AXIS2_PLACEMENT_3D ( 'NONE', #388, #323, #931 ) ; +#601 = EDGE_CURVE ( 'NONE', #820, #512, #142, .T. ) ; +#602 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#603 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'part', '', ( #275 ) ) ; +#604 = VECTOR ( 'NONE', #205, 1000.000000000000000 ) ; +#605 = EDGE_LOOP ( 'NONE', ( #404, #362, #125, #852, #514, #619, #847, #204 ) ) ; +#606 = CIRCLE ( 'NONE', #703, 2.000000000000001776 ) ; +#607 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #998 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #898, #1003, #303 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#608 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#609 = EDGE_LOOP ( 'NONE', ( #280, #568, #77, #449 ) ) ; +#610 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#611 = AXIS2_PLACEMENT_3D ( 'NONE', #489, #641, #716 ) ; +#612 = FACE_BOUND ( 'NONE', #745, .T. ) ; +#613 = FACE_OUTER_BOUND ( 'NONE', #648, .T. ) ; +#614 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#615 = LINE ( 'NONE', #162, #293 ) ; +#616 = AXIS2_PLACEMENT_3D ( 'NONE', #908, #524, #991 ) ; +#617 = VERTEX_POINT ( 'NONE', #447 ) ; +#618 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#619 = ORIENTED_EDGE ( 'NONE', *, *, #553, .F. ) ; +#620 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#621 = CYLINDRICAL_SURFACE ( 'NONE', #600, 1.250000000000001110 ) ; +#622 = ADVANCED_FACE ( 'NONE', ( #216, #834 ), #138, .F. ) ; +#623 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 10.00000000000000000 ) ) ; +#624 = EDGE_CURVE ( 'NONE', #732, #696, #555, .T. ) ; +#625 = EDGE_LOOP ( 'NONE', ( #87, #104, #436, #122 ) ) ; +#626 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 6.000000000000000000 ) ) ; +#627 = CYLINDRICAL_SURFACE ( 'NONE', #590, 2.000000000000001776 ) ; +#628 = ORIENTED_EDGE ( 'NONE', *, *, #55, .F. ) ; +#629 = EDGE_CURVE ( 'NONE', #787, #321, #638, .T. ) ; +#630 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#631 = ORIENTED_EDGE ( 'NONE', *, *, #269, .T. ) ; +#632 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#633 = LINE ( 'NONE', #556, #14 ) ; +#634 = EDGE_LOOP ( 'NONE', ( #381, #266, #873, #497 ) ) ; +#635 = AXIS2_PLACEMENT_3D ( 'NONE', #393, #862, #706 ) ; +#636 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#637 = ORIENTED_EDGE ( 'NONE', *, *, #315, .T. ) ; +#638 = LINE ( 'NONE', #92, #526 ) ; +#639 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708864884, 10.00000000000000000 ) ) ; +#640 = ORIENTED_EDGE ( 'NONE', *, *, #260, .F. ) ; +#641 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#642 = LINE ( 'NONE', #504, #674 ) ; +#643 = ORIENTED_EDGE ( 'NONE', *, *, #570, .F. ) ; +#644 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -153.0433963742549963, 10.00000000000000000 ) ) ; +#645 = VERTEX_POINT ( 'NONE', #861 ) ; +#646 = FACE_OUTER_BOUND ( 'NONE', #351, .T. ) ; +#647 = FACE_BOUND ( 'NONE', #34, .T. ) ; +#648 = EDGE_LOOP ( 'NONE', ( #964, #56, #865, #37 ) ) ; +#649 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#650 = EDGE_CURVE ( 'NONE', #186, #106, #124, .T. ) ; +#651 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#652 = AXIS2_PLACEMENT_3D ( 'NONE', #185, #111, #814 ) ; +#653 = ORIENTED_EDGE ( 'NONE', *, *, #344, .F. ) ; +#654 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800626106, 18.96120903081405018, 0.000000000000000000 ) ) ; +#655 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#656 = EDGE_LOOP ( 'NONE', ( #49, #464, #720, #541 ) ) ; +#657 = LINE ( 'NONE', #285, #445 ) ; +#658 = SURFACE_STYLE_USAGE ( .BOTH. , #256 ) ; +#659 = VERTEX_POINT ( 'NONE', #468 ) ; +#660 = CIRCLE ( 'NONE', #746, 126.6268659918020063 ) ; +#661 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#662 = EDGE_CURVE ( 'NONE', #882, #948, #392, .T. ) ; +#663 = FACE_OUTER_BOUND ( 'NONE', #560, .T. ) ; +#664 = ORIENTED_EDGE ( 'NONE', *, *, #545, .T. ) ; +#665 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#666 = EDGE_LOOP ( 'NONE', ( #5 ) ) ; +#667 = VERTEX_POINT ( 'NONE', #768 ) ; +#668 = VECTOR ( 'NONE', #175, 1000.000000000000000 ) ; +#669 = EDGE_CURVE ( 'NONE', #929, #704, #966, .T. ) ; +#670 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, 0.000000000000000000 ) ) ; +#671 = EDGE_LOOP ( 'NONE', ( #222 ) ) ; +#672 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#673 = EDGE_LOOP ( 'NONE', ( #467 ) ) ; +#674 = VECTOR ( 'NONE', #428, 1000.000000000000000 ) ; +#675 = VECTOR ( 'NONE', #20, 1000.000000000000000 ) ; +#676 = ORIENTED_EDGE ( 'NONE', *, *, #235, .T. ) ; +#677 = VERTEX_POINT ( 'NONE', #145 ) ; +#678 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#679 = ADVANCED_FACE ( 'NONE', ( #402 ), #328, .T. ) ; +#680 = EDGE_CURVE ( 'NONE', #441, #118, #153, .T. ) ; +#681 = LINE ( 'NONE', #144, #920 ) ; +#682 = VECTOR ( 'NONE', #538, 1000.000000000000000 ) ; +#683 = VECTOR ( 'NONE', #871, 1000.000000000000000 ) ; +#684 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 10.00000000000000000 ) ) ; +#685 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#686 = ORIENTED_EDGE ( 'NONE', *, *, #669, .F. ) ; +#687 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.8312337827360068, 10.00000000000000000 ) ) ; +#688 = VECTOR ( 'NONE', #107, 1000.000000000000000 ) ; +#689 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 6.000000000000000000 ) ) ; +#690 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#691 = EDGE_CURVE ( 'NONE', #512, #41, #250, .T. ) ; +#692 = EDGE_CURVE ( 'NONE', #333, #956, #78, .T. ) ; +#693 = VERTEX_POINT ( 'NONE', #713 ) ; +#694 = CYLINDRICAL_SURFACE ( 'NONE', #218, 1.250000000000001110 ) ; +#695 = VECTOR ( 'NONE', #199, 1000.000000000000000 ) ; +#696 = VERTEX_POINT ( 'NONE', #311 ) ; +#697 = DIRECTION ( 'NONE', ( -2.618450504386014950E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#698 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866021, 10.00000000000000000 ) ) ; +#699 = EDGE_CURVE ( 'NONE', #433, #26, #606, .T. ) ; +#700 = AXIS2_PLACEMENT_3D ( 'NONE', #281, #184, #123 ) ; +#701 = EDGE_CURVE ( 'NONE', #726, #100, #557, .T. ) ; +#702 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -158.5397479186052578, 0.000000000000000000 ) ) ; +#703 = AXIS2_PLACEMENT_3D ( 'NONE', #783, #9, #620 ) ; +#704 = VERTEX_POINT ( 'NONE', #705 ) ; +#705 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#706 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#707 = EDGE_CURVE ( 'NONE', #236, #100, #853, .T. ) ; +#708 = EDGE_CURVE ( 'NONE', #41, #712, #909, .T. ) ; +#709 = PRODUCT_DEFINITION_CONTEXT ( 'detailed design', #416, 'design' ) ; +#710 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#711 = APPLICATION_CONTEXT ( 'automotive_design' ) ; +#712 = VERTEX_POINT ( 'NONE', #322 ) ; +#713 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#714 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#715 = ORIENTED_EDGE ( 'NONE', *, *, #88, .T. ) ; +#716 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#717 = ORIENTED_EDGE ( 'NONE', *, *, #483, .F. ) ; +#718 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#719 = DIRECTION ( 'NONE', ( -1.000000000000000000, 3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#720 = ORIENTED_EDGE ( 'NONE', *, *, #770, .T. ) ; +#721 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#722 = ORIENTED_EDGE ( 'NONE', *, *, #846, .F. ) ; +#723 = VERTEX_POINT ( 'NONE', #245 ) ; +#724 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#725 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#726 = VERTEX_POINT ( 'NONE', #702 ) ; +#727 = FACE_OUTER_BOUND ( 'NONE', #356, .T. ) ; +#728 = FACE_OUTER_BOUND ( 'NONE', #582, .T. ) ; +#729 = ORIENTED_EDGE ( 'NONE', *, *, #7, .T. ) ; +#730 = PLANE ( 'NONE', #790 ) ; +#731 = PLANE ( 'NONE', #243 ) ; +#732 = VERTEX_POINT ( 'NONE', #69 ) ; +#733 = LINE ( 'NONE', #273, #906 ) ; +#734 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#735 = AXIS2_PLACEMENT_3D ( 'NONE', #86, #79, #690 ) ; +#736 = ORIENTED_EDGE ( 'NONE', *, *, #835, .F. ) ; +#737 = EDGE_CURVE ( 'NONE', #471, #693, #382, .T. ) ; +#738 = EDGE_CURVE ( 'NONE', #956, #693, #540, .T. ) ; +#739 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#740 = AXIS2_PLACEMENT_3D ( 'NONE', #821, #421, #979 ) ; +#741 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 0.000000000000000000 ) ) ; +#742 = VERTEX_POINT ( 'NONE', #320 ) ; +#743 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#744 = CYLINDRICAL_SURFACE ( 'NONE', #343, 2.000000000000001776 ) ; +#745 = EDGE_LOOP ( 'NONE', ( #365 ) ) ; +#746 = AXIS2_PLACEMENT_3D ( 'NONE', #916, #552, #230 ) ; +#747 = ADVANCED_FACE ( 'NONE', ( #769 ), #72, .T. ) ; +#748 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#749 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -148.0433967708866021, 0.000000000000000000 ) ) ; +#750 = EDGE_LOOP ( 'NONE', ( #868, #374, #637, #51 ) ) ; +#751 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 0.000000000000000000 ) ) ; +#752 = ORIENTED_EDGE ( 'NONE', *, *, #451, .F. ) ; +#753 = VECTOR ( 'NONE', #780, 1000.000000000000000 ) ; +#754 = EDGE_LOOP ( 'NONE', ( #736, #29, #249, #872 ) ) ; +#755 = ORIENTED_EDGE ( 'NONE', *, *, #669, .T. ) ; +#756 = VERTEX_POINT ( 'NONE', #53 ) ; +#757 = AXIS2_PLACEMENT_3D ( 'NONE', #572, #963, #811 ) ; +#758 = EDGE_CURVE ( 'NONE', #517, #262, #660, .T. ) ; +#759 = CYLINDRICAL_SURFACE ( 'NONE', #288, 2.000000000000001776 ) ; +#760 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#761 = AXIS2_PLACEMENT_3D ( 'NONE', #172, #725, #885 ) ; +#762 = LINE ( 'NONE', #689, #407 ) ; +#763 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397460092, 10.00000000000000000 ) ) ; +#764 = ORIENTED_EDGE ( 'NONE', *, *, #601, .T. ) ; +#765 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#766 = AXIS2_PLACEMENT_3D ( 'NONE', #58, #360, #366 ) ; +#767 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#768 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#769 = FACE_OUTER_BOUND ( 'NONE', #750, .T. ) ; +#770 = EDGE_CURVE ( 'NONE', #969, #262, #470, .T. ) ; +#771 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#772 = LINE ( 'NONE', #843, #425 ) ; +#773 = ORIENTED_EDGE ( 'NONE', *, *, #443, .T. ) ; +#774 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#775 = EDGE_LOOP ( 'NONE', ( #826 ) ) ; +#776 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 21.45295591860524453, 10.00000000000000000 ) ) ; +#777 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#778 = ADVANCED_FACE ( 'NONE', ( #89 ), #400, .T. ) ; +#779 = EDGE_CURVE ( 'NONE', #558, #723, #924, .T. ) ; +#780 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#781 = AXIS2_PLACEMENT_3D ( 'NONE', #1008, #718, #168 ) ; +#782 = ORIENTED_EDGE ( 'NONE', *, *, #691, .F. ) ; +#783 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708864884, 0.000000000000000000 ) ) ; +#784 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#785 = ORIENTED_EDGE ( 'NONE', *, *, #624, .T. ) ; +#786 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#787 = VERTEX_POINT ( 'NONE', #220 ) ; +#788 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#789 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#790 = AXIS2_PLACEMENT_3D ( 'NONE', #654, #739, #345 ) ; +#791 = EDGE_LOOP ( 'NONE', ( #640, #438, #284, #183 ) ) ; +#792 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361384766, 0.000000000000000000 ) ) ; +#793 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#794 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 6.000000000000000000 ) ) ; +#795 = ORIENTED_EDGE ( 'NONE', *, *, #389, .F. ) ; +#796 = VECTOR ( 'NONE', #148, 1000.000000000000000 ) ; +#797 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#798 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 21.45295591860524809, 0.000000000000000000 ) ) ; +#799 = ORIENTED_EDGE ( 'NONE', *, *, #342, .T. ) ; +#800 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#801 = ORIENTED_EDGE ( 'NONE', *, *, #952, .T. ) ; +#802 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 10.00000000000000000 ) ) ; +#803 = LINE ( 'NONE', #749, #117 ) ; +#804 = ORIENTED_EDGE ( 'NONE', *, *, #662, .T. ) ; +#805 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#806 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#807 = ADVANCED_FACE ( 'NONE', ( #841 ), #845, .F. ) ; +#808 = ORIENTED_EDGE ( 'NONE', *, *, #378, .T. ) ; +#809 = ADVANCED_FACE ( 'NONE', ( #532, #242, #857, #158, #1000, #166 ), #460, .F. ) ; +#810 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 10.00000000000000000 ) ) ; +#811 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#812 = ORIENTED_EDGE ( 'NONE', *, *, #624, .F. ) ; +#813 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 0.000000000000000000 ) ) ; +#814 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#815 = EDGE_CURVE ( 'NONE', #321, #592, #234, .T. ) ; +#816 = EDGE_LOOP ( 'NONE', ( #330, #391, #860, #18 ) ) ; +#817 = VECTOR ( 'NONE', #154, 1000.000000000000000 ) ; +#818 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#819 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#820 = VERTEX_POINT ( 'NONE', #83 ) ; +#821 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 0.000000000000000000 ) ) ; +#822 = EDGE_LOOP ( 'NONE', ( #980, #833, #715, #276 ) ) ; +#823 = VECTOR ( 'NONE', #661, 1000.000000000000000 ) ; +#824 = SHAPE_DEFINITION_REPRESENTATION ( #127, #46 ) ; +#825 = ORIENTED_EDGE ( 'NONE', *, *, #884, .F. ) ; +#826 = ORIENTED_EDGE ( 'NONE', *, *, #595, .F. ) ; +#827 = VERTEX_POINT ( 'NONE', #442 ) ; +#828 = VECTOR ( 'NONE', #800, 1000.000000000000000 ) ; +#829 = ADVANCED_FACE ( 'NONE', ( #150, #390 ), #694, .F. ) ; +#830 = CLOSED_SHELL ( 'NONE', ( #240, #679, #923, #229, #597, #103, #477, #448, #850, #137, #301, #373, #747, #147, #837, #778, #30, #809, #461, #807, #313, #903, #352, #194, #126, #877, #427, #622, #200, #829, #905 ) ) ; +#831 = LINE ( 'NONE', #457, #982 ) ; +#832 = VECTOR ( 'NONE', #300, 1000.000000000000000 ) ; +#833 = ORIENTED_EDGE ( 'NONE', *, *, #680, .T. ) ; +#834 = FACE_OUTER_BOUND ( 'NONE', #91, .T. ) ; +#835 = EDGE_CURVE ( 'NONE', #723, #969, #867, .T. ) ; +#836 = PLANE ( 'NONE', #179 ) ; +#837 = ADVANCED_FACE ( 'NONE', ( #613 ), #309, .T. ) ; +#838 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#839 = AXIS2_PLACEMENT_3D ( 'NONE', #292, #912, #760 ) ; +#840 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, 10.00000000000000000 ) ) ; +#841 = FACE_OUTER_BOUND ( 'NONE', #327, .T. ) ; +#842 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -158.5397479186052578, 10.00000000000000000 ) ) ; +#843 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 0.000000000000000000 ) ) ; +#844 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974599941, 10.00000000000000000 ) ) ; +#845 = CYLINDRICAL_SURFACE ( 'NONE', #564, 126.6268659918020063 ) ; +#846 = EDGE_CURVE ( 'NONE', #712, #693, #466, .T. ) ; +#847 = ORIENTED_EDGE ( 'NONE', *, *, #701, .T. ) ; +#848 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#849 = FACE_OUTER_BOUND ( 'NONE', #368, .T. ) ; +#850 = ADVANCED_FACE ( 'NONE', ( #181 ), #509, .T. ) ; +#851 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 16.74444178273600059, 10.00000000000000000 ) ) ; +#852 = ORIENTED_EDGE ( 'NONE', *, *, #375, .F. ) ; +#853 = LINE ( 'NONE', #3, #164 ) ; +#854 = CARTESIAN_POINT ( 'NONE', ( -36.54339599999999422, -158.5397479186052578, 0.000000000000000000 ) ) ; +#855 = ORIENTED_EDGE ( 'NONE', *, *, #81, .T. ) ; +#856 = AXIS2_PLACEMENT_3D ( 'NONE', #649, #593, #363 ) ; +#857 = FACE_BOUND ( 'NONE', #197, .T. ) ; +#858 = VECTOR ( 'NONE', #786, 1000.000000000000000 ) ; +#859 = AXIS2_PLACEMENT_3D ( 'NONE', #71, #918, #589 ) ; +#860 = ORIENTED_EDGE ( 'NONE', *, *, #779, .F. ) ; +#861 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#862 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#863 = ORIENTED_EDGE ( 'NONE', *, *, #990, .F. ) ; +#864 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#865 = ORIENTED_EDGE ( 'NONE', *, *, #210, .F. ) ; +#866 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 0.000000000000000000 ) ) ; +#867 = CIRCLE ( 'NONE', #976, 126.6268659918020063 ) ; +#868 = ORIENTED_EDGE ( 'NONE', *, *, #629, .T. ) ; +#869 = EDGE_CURVE ( 'NONE', #289, #742, #31, .T. ) ; +#870 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#871 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#872 = ORIENTED_EDGE ( 'NONE', *, *, #770, .F. ) ; +#873 = ORIENTED_EDGE ( 'NONE', *, *, #522, .T. ) ; +#874 = AXIS2_PLACEMENT_3D ( 'NONE', #840, #921, #904 ) ; +#875 = AXIS2_PLACEMENT_3D ( 'NONE', #35, #110, #581 ) ; +#876 = FACE_OUTER_BOUND ( 'NONE', #656, .T. ) ; +#877 = ADVANCED_FACE ( 'NONE', ( #876 ), #730, .T. ) ; +#878 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#879 = VERTEX_POINT ( 'NONE', #792 ) ; +#880 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#881 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 0.000000000000000000 ) ) ; +#882 = VERTEX_POINT ( 'NONE', #724 ) ; +#883 = LINE ( 'NONE', #411, #380 ) ; +#884 = EDGE_CURVE ( 'NONE', #913, #913, #130, .T. ) ; +#885 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#886 = ORIENTED_EDGE ( 'NONE', *, *, #962, .T. ) ; +#887 = EDGE_CURVE ( 'NONE', #307, #659, #418, .T. ) ; +#888 = LINE ( 'NONE', #190, #604 ) ; +#889 = ORIENTED_EDGE ( 'NONE', *, *, #498, .T. ) ; +#890 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, -13.00000000000000000 ) ) ; +#891 = FACE_BOUND ( 'NONE', #775, .T. ) ; +#892 = EDGE_LOOP ( 'NONE', ( #247, #494, #257, #643 ) ) ; +#893 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, 0.000000000000000000 ) ) ; +#894 = PLANE ( 'NONE', #156 ) ; +#895 = ORIENTED_EDGE ( 'NONE', *, *, #815, .F. ) ; +#896 = VECTOR ( 'NONE', #789, 1000.000000000000000 ) ; +#897 = AXIS2_PLACEMENT_3D ( 'NONE', #66, #685, #528 ) ; +#898 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#899 = EDGE_LOOP ( 'NONE', ( #554 ) ) ; +#900 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#901 = VERTEX_POINT ( 'NONE', #503 ) ; +#902 = ORIENTED_EDGE ( 'NONE', *, *, #7, .F. ) ; +#903 = ADVANCED_FACE ( 'NONE', ( #248 ), #101, .T. ) ; +#904 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#905 = ADVANCED_FACE ( 'NONE', ( #187, #353 ), #583, .F. ) ; +#906 = VECTOR ( 'NONE', #805, 1000.000000000000000 ) ; +#907 = EDGE_CURVE ( 'NONE', #932, #347, #113, .T. ) ; +#908 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#909 = CIRCLE ( 'NONE', #434, 2.000000000000001776 ) ; +#910 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ä»', '', #275, .NOT_KNOWN. ) ; +#911 = EDGE_CURVE ( 'NONE', #667, #667, #52, .T. ) ; +#912 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#913 = VERTEX_POINT ( 'NONE', #763 ) ; +#914 = ORIENTED_EDGE ( 'NONE', *, *, #133, .F. ) ; +#915 = VECTOR ( 'NONE', #565, 1000.000000000000000 ) ; +#916 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 0.000000000000000000 ) ) ; +#917 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 10.00000000000000000 ) ) ; +#918 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#919 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#920 = VECTOR ( 'NONE', #61, 1000.000000000000000 ) ; +#921 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#922 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742549963, 0.000000000000000000 ) ) ; +#923 = ADVANCED_FACE ( 'NONE', ( #646 ), #426, .T. ) ; +#924 = LINE ( 'NONE', #386, #950 ) ; +#925 = EDGE_LOOP ( 'NONE', ( #423 ) ) ; +#926 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#927 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#928 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#929 = VERTEX_POINT ( 'NONE', #325 ) ; +#930 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 0.000000000000000000 ) ) ; +#931 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#932 = VERTEX_POINT ( 'NONE', #19 ) ; +#933 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -153.0433963742549963, 0.000000000000000000 ) ) ; +#934 = AXIS2_PLACEMENT_3D ( 'NONE', #543, #719, #927 ) ; +#935 = ORIENTED_EDGE ( 'NONE', *, *, #527, .F. ) ; +#936 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 0.000000000000000000 ) ) ; +#937 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#938 = EDGE_CURVE ( 'NONE', #901, #174, #883, .T. ) ; +#939 = ORIENTED_EDGE ( 'NONE', *, *, #968, .F. ) ; +#940 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#941 = VECTOR ( 'NONE', #748, 1000.000000000000000 ) ; +#942 = VERTEX_POINT ( 'NONE', #636 ) ; +#943 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#944 = LINE ( 'NONE', #233, #817 ) ; +#945 = ORIENTED_EDGE ( 'NONE', *, *, #270, .F. ) ; +#946 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#947 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 10.00000000000000000 ) ) ; +#948 = VERTEX_POINT ( 'NONE', #336 ) ; +#949 = FACE_OUTER_BOUND ( 'NONE', #993, .T. ) ; +#950 = VECTOR ( 'NONE', #995, 1000.000000000000000 ) ; +#951 = ORIENTED_EDGE ( 'NONE', *, *, #290, .T. ) ; +#952 = EDGE_CURVE ( 'NONE', #585, #696, #259, .T. ) ; +#953 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#954 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION ( '', ( #241 ), #989 ) ; +#955 = FACE_OUTER_BOUND ( 'NONE', #634, .T. ) ; +#956 = VERTEX_POINT ( 'NONE', #195 ) ; +#957 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 10.00000000000000000 ) ) ; +#958 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 10.00000000000000000 ) ) ; +#959 = ORIENTED_EDGE ( 'NONE', *, *, #62, .T. ) ; +#960 = VECTOR ( 'NONE', #672, 1000.000000000000000 ) ; +#961 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#962 = EDGE_CURVE ( 'NONE', #289, #882, #298, .T. ) ; +#963 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#964 = ORIENTED_EDGE ( 'NONE', *, *, #738, .F. ) ; +#965 = LINE ( 'NONE', #414, #38 ) ; +#966 = CIRCLE ( 'NONE', #474, 126.6268659918020063 ) ; +#967 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#968 = EDGE_CURVE ( 'NONE', #118, #929, #120, .T. ) ; +#969 = VERTEX_POINT ( 'NONE', #405 ) ; +#970 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, 10.00000000000000000 ) ) ; +#971 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361384766, 10.00000000000000000 ) ) ; +#972 = ORIENTED_EDGE ( 'NONE', *, *, #63, .T. ) ; +#973 = PLANE ( 'NONE', #700 ) ; +#974 = LINE ( 'NONE', #881, #521 ) ; +#975 = VERTEX_POINT ( 'NONE', #946 ) ; +#976 = AXIS2_PLACEMENT_3D ( 'NONE', #623, #928, #765 ) ; +#977 = PLANE ( 'NONE', #757 ) ; +#978 = ORIENTED_EDGE ( 'NONE', *, *, #987, .F. ) ; +#979 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#980 = ORIENTED_EDGE ( 'NONE', *, *, #278, .F. ) ; +#981 = AXIS2_PLACEMENT_3D ( 'NONE', #419, #355, #579 ) ; +#982 = VECTOR ( 'NONE', #70, 1000.000000000000000 ) ; +#983 = ORIENTED_EDGE ( 'NONE', *, *, #907, .F. ) ; +#984 = VERTEX_POINT ( 'NONE', #844 ) ; +#985 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#986 = EDGE_CURVE ( 'NONE', #787, #186, #539, .T. ) ; +#987 = EDGE_CURVE ( 'NONE', #319, #732, #206, .T. ) ; +#988 = PLANE ( 'NONE', #591 ) ; +#989 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #459 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #274, #587, #734 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#990 = EDGE_CURVE ( 'NONE', #704, #236, #47, .T. ) ; +#991 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#992 = AXIS2_PLACEMENT_3D ( 'NONE', #16, #548, #480 ) ; +#993 = EDGE_LOOP ( 'NONE', ( #408, #764, #501, #129 ) ) ; +#994 = VECTOR ( 'NONE', #598, 1000.000000000000000 ) ; +#995 = DIRECTION ( 'NONE', ( 9.361563035194100268E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#996 = LINE ( 'NONE', #225, #455 ) ; +#997 = ORIENTED_EDGE ( 'NONE', *, *, #133, .T. ) ; +#998 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #898, 'distance_accuracy_value', 'NONE'); +#999 = AXIS2_PLACEMENT_3D ( 'NONE', #970, #253, #485 ) ; +#1000 = FACE_BOUND ( 'NONE', #252, .T. ) ; +#1001 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1002 = DIRECTION ( 'NONE', ( -1.000000000000000000, -5.782411586589350736E-16, 0.000000000000000000 ) ) ; +#1003 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#1004 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1005 = EDGE_CURVE ( 'NONE', #174, #289, #454, .T. ) ; +#1006 = AXIS2_PLACEMENT_3D ( 'NONE', #198, #27, #339 ) ; +#1007 = ORIENTED_EDGE ( 'NONE', *, *, #63, .F. ) ; +#1008 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708864884, 0.000000000000000000 ) ) ; +#1009 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +ENDSEC; +END-ISO-10303-21; diff --git a/3d/配件1.STEP b/3d/配件1.STEP new file mode 100644 index 0000000..118411b --- /dev/null +++ b/3d/配件1.STEP @@ -0,0 +1,2476 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (( 'STEP AP203' ), + '1' ); +FILE_NAME ('Åä¼þ.STEP', + '2026-01-15T06:15:40', + ( '' ), + ( '' ), + 'SwSTEP 2.0', + 'SolidWorks 2023', + '' ); +FILE_SCHEMA (( 'CONFIG_CONTROL_DESIGN' )); +ENDSEC; + +DATA; +#1 = ORIENTED_EDGE ( 'NONE', *, *, #84, .F. ) ; +#2 = FACE_OUTER_BOUND ( 'NONE', #2128, .T. ) ; +#3 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '\X2\914d4ef6\X0\', ( #1810, #649 ), #334 ) ; +#4 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#5 = VECTOR ( 'NONE', #2046, 1000.000000000000000 ) ; +#6 = ORIENTED_EDGE ( 'NONE', *, *, #1906, .T. ) ; +#7 = ADVANCED_FACE ( 'NONE', ( #2 ), #1344, .T. ) ; +#8 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#9 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800037047, 2.000000000000000000 ) ) ; +#10 = AXIS2_PLACEMENT_3D ( 'NONE', #1051, #125, #1807 ) ; +#11 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433959999999729, 10.00000000000000000 ) ) ; +#12 = ORIENTED_EDGE ( 'NONE', *, *, #378, .F. ) ; +#13 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -6.543395999999981782, 0.000000000000000000 ) ) ; +#14 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#15 = ORIENTED_EDGE ( 'NONE', *, *, #491, .F. ) ; +#16 = ORIENTED_EDGE ( 'NONE', *, *, #366, .F. ) ; +#17 = AXIS2_PLACEMENT_3D ( 'NONE', #248, #1586, #2164 ) ; +#18 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#19 = EDGE_CURVE ( 'NONE', #903, #1562, #1185, .T. ) ; +#20 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#21 = ORIENTED_EDGE ( 'NONE', *, *, #925, .T. ) ; +#22 = AXIS2_PLACEMENT_3D ( 'NONE', #28, #1538, #197 ) ; +#23 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 0.000000000000000000 ) ) ; +#24 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 0.000000000000000000 ) ) ; +#25 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#26 = EDGE_LOOP ( 'NONE', ( #617 ) ) ; +#27 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974601185, 10.00000000000000000 ) ) ; +#28 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -6.543395999999981782, 10.00000000000000000 ) ) ; +#29 = ORIENTED_EDGE ( 'NONE', *, *, #1486, .F. ) ; +#30 = AXIS2_PLACEMENT_3D ( 'NONE', #813, #614, #1567 ) ; +#31 = FACE_BOUND ( 'NONE', #2404, .T. ) ; +#32 = CYLINDRICAL_SURFACE ( 'NONE', #2397, 1.000000000000000888 ) ; +#33 = ORIENTED_EDGE ( 'NONE', *, *, #50, .F. ) ; +#34 = FACE_OUTER_BOUND ( 'NONE', #986, .T. ) ; +#35 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#36 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#37 = ORIENTED_EDGE ( 'NONE', *, *, #1847, .T. ) ; +#38 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#39 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#40 = EDGE_CURVE ( 'NONE', #1716, #1462, #1492, .T. ) ; +#41 = VERTEX_POINT ( 'NONE', #225 ) ; +#42 = ORIENTED_EDGE ( 'NONE', *, *, #1729, .F. ) ; +#43 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 20.45660400000001644, 10.00000000000000000 ) ) ; +#44 = ORIENTED_EDGE ( 'NONE', *, *, #295, .T. ) ; +#45 = CIRCLE ( 'NONE', #1507, 126.6268659918020063 ) ; +#46 = FACE_OUTER_BOUND ( 'NONE', #1908, .T. ) ; +#47 = VECTOR ( 'NONE', #1052, 1000.000000000000000 ) ; +#48 = CYLINDRICAL_SURFACE ( 'NONE', #881, 1.250000000000001110 ) ; +#49 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #2235, #2201, ( #2369 ) ) ; +#50 = EDGE_CURVE ( 'NONE', #546, #546, #2160, .T. ) ; +#51 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#52 = EDGE_LOOP ( 'NONE', ( #1950 ) ) ; +#53 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#54 = AXIS2_PLACEMENT_3D ( 'NONE', #403, #1214, #590 ) ; +#55 = VERTEX_POINT ( 'NONE', #599 ) ; +#56 = ADVANCED_FACE ( 'NONE', ( #971, #578, #995, #984, #1725, #31, #429, #416, #802, #1171, #1383, #1554, #236 ), #1753, .T. ) ; +#57 = EDGE_LOOP ( 'NONE', ( #1161 ) ) ; +#58 = FACE_OUTER_BOUND ( 'NONE', #26, .T. ) ; +#59 = ORIENTED_EDGE ( 'NONE', *, *, #521, .T. ) ; +#60 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#61 = AXIS2_PLACEMENT_3D ( 'NONE', #2196, #2010, #393 ) ; +#62 = LINE ( 'NONE', #2330, #994 ) ; +#63 = EDGE_CURVE ( 'NONE', #212, #376, #2324, .T. ) ; +#64 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#65 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#66 = ADVANCED_FACE ( 'NONE', ( #484 ), #1588, .T. ) ; +#67 = CIRCLE ( 'NONE', #417, 1.000000000000000888 ) ; +#68 = EDGE_LOOP ( 'NONE', ( #490, #644, #255, #1881 ) ) ; +#69 = PLANE ( 'NONE', #1706 ) ; +#70 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #875 ) ; +#71 = PLANE ( 'NONE', #1994 ) ; +#72 = ORIENTED_EDGE ( 'NONE', *, *, #1448, .F. ) ; +#73 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -153.0433963742550816, 10.00000000000000000 ) ) ; +#74 = CIRCLE ( 'NONE', #1257, 1.250000000000001110 ) ; +#75 = LINE ( 'NONE', #1215, #357 ) ; +#76 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#77 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452101533, 0.000000000000000000 ) ) ; +#78 = ORIENTED_EDGE ( 'NONE', *, *, #1623, .T. ) ; +#79 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#80 = EDGE_CURVE ( 'NONE', #55, #505, #251, .T. ) ; +#81 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#82 = EDGE_LOOP ( 'NONE', ( #1080 ) ) ; +#83 = DIRECTION ( 'NONE', ( 3.229739708000459917E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#84 = EDGE_CURVE ( 'NONE', #2134, #1368, #1428, .T. ) ; +#85 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -130.5433959999999729, 10.00000000000000000 ) ) ; +#86 = CIRCLE ( 'NONE', #677, 0.8983043470089796534 ) ; +#87 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, -0.000000000000000000 ) ) ; +#88 = FACE_OUTER_BOUND ( 'NONE', #907, .T. ) ; +#89 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423610284, 18.85660558000371623, 10.00000000000000000 ) ) ; +#90 = AXIS2_PLACEMENT_3D ( 'NONE', #555, #1269, #1468 ) ; +#91 = ORIENTED_EDGE ( 'NONE', *, *, #667, .T. ) ; +#92 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#93 = VECTOR ( 'NONE', #2296, 1000.000000000000000 ) ; +#94 = VECTOR ( 'NONE', #603, 1000.000000000000000 ) ; +#95 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#96 = ORIENTED_EDGE ( 'NONE', *, *, #1260, .T. ) ; +#97 = EDGE_CURVE ( 'NONE', #1082, #1343, #862, .T. ) ; +#98 = CIRCLE ( 'NONE', #2349, 1.250000000000001110 ) ; +#99 = FACE_OUTER_BOUND ( 'NONE', #52, .T. ) ; +#100 = ORIENTED_EDGE ( 'NONE', *, *, #1988, .F. ) ; +#101 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#102 = PLANE ( 'NONE', #444 ) ; +#103 = LINE ( 'NONE', #271, #141 ) ; +#104 = ORIENTED_EDGE ( 'NONE', *, *, #1486, .T. ) ; +#105 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#106 = VECTOR ( 'NONE', #2388, 1000.000000000000000 ) ; +#107 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#108 = ORIENTED_EDGE ( 'NONE', *, *, #936, .T. ) ; +#109 = FACE_OUTER_BOUND ( 'NONE', #1440, .T. ) ; +#110 = VERTEX_POINT ( 'NONE', #1995 ) ; +#111 = VECTOR ( 'NONE', #2145, 1000.000000000000000 ) ; +#112 = EDGE_CURVE ( 'NONE', #151, #2268, #2344, .T. ) ; +#113 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#114 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433959999999729, 0.000000000000000000 ) ) ; +#115 = ORIENTED_EDGE ( 'NONE', *, *, #786, .F. ) ; +#116 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#117 = EDGE_CURVE ( 'NONE', #725, #1536, #656, .T. ) ; +#118 = AXIS2_PLACEMENT_3D ( 'NONE', #1892, #574, #968 ) ; +#119 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708866874, 0.000000000000000000 ) ) ; +#120 = FACE_OUTER_BOUND ( 'NONE', #1980, .T. ) ; +#121 = ORIENTED_EDGE ( 'NONE', *, *, #869, .F. ) ; +#122 = FACE_OUTER_BOUND ( 'NONE', #2107, .T. ) ; +#123 = EDGE_LOOP ( 'NONE', ( #627, #143, #854, #908 ) ) ; +#124 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#125 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#126 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#127 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#128 = EDGE_CURVE ( 'NONE', #1331, #1785, #1220, .T. ) ; +#129 = VECTOR ( 'NONE', #1025, 1000.000000000000000 ) ; +#130 = EDGE_LOOP ( 'NONE', ( #442 ) ) ; +#131 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800756404, 145.5880750226160103, 10.00000000000000000 ) ) ; +#132 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 17.45660499452101888, 10.00000000000000000 ) ) ; +#133 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433959999999729, 0.000000000000000000 ) ) ; +#134 = ADVANCED_FACE ( 'NONE', ( #1800 ), #1409, .T. ) ; +#135 = VERTEX_POINT ( 'NONE', #298 ) ; +#136 = VECTOR ( 'NONE', #267, 1000.000000000000000 ) ; +#137 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866874, 10.00000000000000000 ) ) ; +#138 = ORIENTED_EDGE ( 'NONE', *, *, #2292, .T. ) ; +#139 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -158.5433959999999729, 10.00000000000000000 ) ) ; +#140 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866874, 0.000000000000000000 ) ) ; +#141 = VECTOR ( 'NONE', #2143, 1000.000000000000000 ) ; +#142 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#143 = ORIENTED_EDGE ( 'NONE', *, *, #486, .T. ) ; +#144 = CIRCLE ( 'NONE', #1129, 0.8983045201146691028 ) ; +#145 = FACE_OUTER_BOUND ( 'NONE', #717, .T. ) ; +#146 = VERTEX_POINT ( 'NONE', #1420 ) ; +#147 = ORIENTED_EDGE ( 'NONE', *, *, #420, .T. ) ; +#148 = APPROVAL_ROLE ( '' ) ; +#149 = DIRECTION ( 'NONE', ( 3.229739708000459917E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#150 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#151 = VERTEX_POINT ( 'NONE', #1056 ) ; +#152 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#153 = ORIENTED_EDGE ( 'NONE', *, *, #1046, .F. ) ; +#154 = ADVANCED_FACE ( 'NONE', ( #274 ), #836, .T. ) ; +#155 = EDGE_LOOP ( 'NONE', ( #894 ) ) ; +#156 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#157 = CARTESIAN_POINT ( 'NONE', ( 85.45660400000002710, -148.0433967708866874, 6.000000000000000000 ) ) ; +#158 = ADVANCED_FACE ( 'NONE', ( #1814 ), #69, .T. ) ; +#159 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#160 = VERTEX_POINT ( 'NONE', #2168 ) ; +#161 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#162 = VECTOR ( 'NONE', #1953, 1000.000000000000000 ) ; +#163 = AXIS2_PLACEMENT_3D ( 'NONE', #309, #1822, #901 ) ; +#164 = EDGE_LOOP ( 'NONE', ( #1262 ) ) ; +#165 = EDGE_CURVE ( 'NONE', #2089, #2089, #323, .T. ) ; +#166 = VERTEX_POINT ( 'NONE', #847 ) ; +#167 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#168 = ADVANCED_FACE ( 'NONE', ( #1601 ), #2359, .T. ) ; +#169 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#170 = LINE ( 'NONE', #926, #964 ) ; +#171 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#172 = ORIENTED_EDGE ( 'NONE', *, *, #2327, .T. ) ; +#173 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#174 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#175 = AXIS2_PLACEMENT_3D ( 'NONE', #947, #4, #2289 ) ; +#176 = ORIENTED_EDGE ( 'NONE', *, *, #782, .F. ) ; +#177 = ORIENTED_EDGE ( 'NONE', *, *, #306, .F. ) ; +#178 = FACE_OUTER_BOUND ( 'NONE', #1181, .T. ) ; +#179 = AXIS2_PLACEMENT_3D ( 'NONE', #1011, #660, #1766 ) ; +#180 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#181 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999998447, 12.95660477088671136, 10.00000000000000000 ) ) ; +#182 = ORIENTED_EDGE ( 'NONE', *, *, #1591, .T. ) ; +#183 = CARTESIAN_POINT ( 'NONE', ( 85.45660400000002710, -153.0433963742550816, 0.000000000000000000 ) ) ; +#184 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999984447, 10.00000000000000000 ) ) ; +#185 = AXIS2_PLACEMENT_3D ( 'NONE', #320, #1251, #2204 ) ; +#186 = ORIENTED_EDGE ( 'NONE', *, *, #1192, .F. ) ; +#187 = ADVANCED_FACE ( 'NONE', ( #1210 ), #1232, .T. ) ; +#188 = VERTEX_POINT ( 'NONE', #1625 ) ; +#189 = FACE_OUTER_BOUND ( 'NONE', #1724, .T. ) ; +#190 = VERTEX_POINT ( 'NONE', #2384 ) ; +#191 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#192 = LINE ( 'NONE', #950, #289 ) ; +#193 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433959999999729, 10.00000000000000000 ) ) ; +#194 = VERTEX_POINT ( 'NONE', #1981 ) ; +#195 = EDGE_CURVE ( 'NONE', #2263, #860, #404, .T. ) ; +#196 = FACE_OUTER_BOUND ( 'NONE', #1398, .T. ) ; +#197 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#198 = ORIENTED_EDGE ( 'NONE', *, *, #2125, .F. ) ; +#199 = VERTEX_POINT ( 'NONE', #1441 ) ; +#200 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 2.000000000000000000 ) ) ; +#201 = ORIENTED_EDGE ( 'NONE', *, *, #290, .T. ) ; +#202 = FACE_OUTER_BOUND ( 'NONE', #722, .T. ) ; +#203 = CIRCLE ( 'NONE', #90, 2.000000000000001776 ) ; +#204 = VECTOR ( 'NONE', #1292, 1000.000000000000000 ) ; +#205 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#206 = AXIS2_PLACEMENT_3D ( 'NONE', #364, #2035, #2044 ) ; +#207 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#208 = ORIENTED_EDGE ( 'NONE', *, *, #608, .T. ) ; +#209 = VECTOR ( 'NONE', #1177, 1000.000000000000000 ) ; +#210 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#211 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433959999999729, 0.000000000000000000 ) ) ; +#212 = VERTEX_POINT ( 'NONE', #919 ) ; +#213 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#214 = CYLINDRICAL_SURFACE ( 'NONE', #175, 126.6268659918020063 ) ; +#215 = ORIENTED_EDGE ( 'NONE', *, *, #112, .T. ) ; +#216 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800037047, 3.000000000000000000 ) ) ; +#217 = EDGE_CURVE ( 'NONE', #1114, #1114, #1788, .T. ) ; +#218 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#219 = VECTOR ( 'NONE', #1985, 1000.000000000000000 ) ; +#220 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999998447, 12.95660477088671136, 0.000000000000000000 ) ) ; +#221 = ORIENTED_EDGE ( 'NONE', *, *, #2352, .F. ) ; +#222 = LINE ( 'NONE', #2117, #314 ) ; +#223 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433959999999729, 10.00000000000000000 ) ) ; +#224 = VERTEX_POINT ( 'NONE', #1089 ) ; +#225 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 15.95660437425511269, 0.000000000000000000 ) ) ; +#226 = LINE ( 'NONE', #959, #729 ) ; +#227 = EDGE_LOOP ( 'NONE', ( #1346, #398, #580, #2457 ) ) ; +#228 = EDGE_CURVE ( 'NONE', #284, #2378, #1158, .T. ) ; +#229 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742550816, 6.000000000000000000 ) ) ; +#230 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 0.000000000000000000 ) ) ; +#231 = EDGE_CURVE ( 'NONE', #762, #55, #640, .T. ) ; +#232 = FACE_OUTER_BOUND ( 'NONE', #2438, .T. ) ; +#233 = EDGE_LOOP ( 'NONE', ( #1013 ) ) ; +#234 = LINE ( 'NONE', #773, #254 ) ; +#235 = ORIENTED_EDGE ( 'NONE', *, *, #2165, .T. ) ; +#236 = FACE_BOUND ( 'NONE', #155, .T. ) ; +#237 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397459807, 0.000000000000000000 ) ) ; +#238 = DESIGN_CONTEXT ( 'detailed design', #875, 'design' ) ; +#239 = ORIENTED_EDGE ( 'NONE', *, *, #2028, .T. ) ; +#240 = EDGE_CURVE ( 'NONE', #1100, #1789, #2024, .T. ) ; +#241 = AXIS2_PLACEMENT_3D ( 'NONE', #1732, #180, #35 ) ; +#242 = PLANE ( 'NONE', #1315 ) ; +#243 = VECTOR ( 'NONE', #2176, 1000.000000000000000 ) ; +#244 = AXIS2_PLACEMENT_3D ( 'NONE', #408, #2294, #979 ) ; +#245 = EDGE_CURVE ( 'NONE', #2334, #2284, #203, .T. ) ; +#246 = LINE ( 'NONE', #85, #2259 ) ; +#247 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433959999999729, 10.00000000000000000 ) ) ; +#248 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999984447, 0.000000000000000000 ) ) ; +#249 = VECTOR ( 'NONE', #377, 1000.000000000000000 ) ; +#250 = ORIENTED_EDGE ( 'NONE', *, *, #1553, .F. ) ; +#251 = LINE ( 'NONE', #1241, #1730 ) ; +#252 = VECTOR ( 'NONE', #982, 1000.000000000000000 ) ; +#253 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#254 = VECTOR ( 'NONE', #991, 1000.000000000000000 ) ; +#255 = ORIENTED_EDGE ( 'NONE', *, *, #2057, .F. ) ; +#256 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -153.5433969945210038, 0.000000000000000000 ) ) ; +#257 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#258 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433959999999729, 0.000000000000000000 ) ) ; +#259 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#260 = ADVANCED_FACE ( 'NONE', ( #2230, #537 ), #1685, .F. ) ; +#261 = ADVANCED_FACE ( 'NONE', ( #145, #1826 ), #904, .F. ) ; +#262 = ORIENTED_EDGE ( 'NONE', *, *, #1300, .F. ) ; +#263 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#264 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#265 = EDGE_CURVE ( 'NONE', #2049, #2049, #604, .T. ) ; +#266 = ORIENTED_EDGE ( 'NONE', *, *, #165, .T. ) ; +#267 = DIRECTION ( 'NONE', ( -3.229739708000459917E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#268 = VECTOR ( 'NONE', #543, 1000.000000000000000 ) ; +#269 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#270 = FACE_OUTER_BOUND ( 'NONE', #602, .T. ) ; +#271 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 21.45660400000001644, 10.00000000000000000 ) ) ; +#272 = EDGE_CURVE ( 'NONE', #1128, #1132, #2105, .T. ) ; +#273 = ORIENTED_EDGE ( 'NONE', *, *, #306, .T. ) ; +#274 = FACE_OUTER_BOUND ( 'NONE', #2410, .T. ) ; +#275 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#276 = EDGE_LOOP ( 'NONE', ( #2239, #846, #21, #607, #699, #1700, #1521, #573, #307, #1237, #1540, #2290, #1460, #918, #1556, #1055 ) ) ; +#277 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#278 = ORIENTED_EDGE ( 'NONE', *, *, #2435, .F. ) ; +#279 = FACE_OUTER_BOUND ( 'NONE', #1960, .T. ) ; +#280 = AXIS2_PLACEMENT_3D ( 'NONE', #374, #1676, #2245 ) ; +#281 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736138468, 10.00000000000000000 ) ) ; +#282 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736138468, 0.000000000000000000 ) ) ; +#283 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -128.1433958398937989, 2.000000000000000000 ) ) ; +#284 = VERTEX_POINT ( 'NONE', #1656 ) ; +#285 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#286 = VECTOR ( 'NONE', #911, 1000.000000000000000 ) ; +#287 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999998447, 10.95660477088671136, 0.000000000000000000 ) ) ; +#288 = EDGE_LOOP ( 'NONE', ( #1618 ) ) ; +#289 = VECTOR ( 'NONE', #2293, 1000.000000000000000 ) ; +#290 = EDGE_CURVE ( 'NONE', #199, #2087, #2398, .T. ) ; +#291 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#292 = ORIENTED_EDGE ( 'NONE', *, *, #629, .F. ) ; +#293 = AXIS2_PLACEMENT_3D ( 'NONE', #1385, #1971, #815 ) ; +#294 = DIRECTION ( 'NONE', ( 1.000000000000000000, 1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#295 = EDGE_CURVE ( 'NONE', #594, #589, #697, .T. ) ; +#296 = LINE ( 'NONE', #1782, #1006 ) ; +#297 = EDGE_LOOP ( 'NONE', ( #312 ) ) ; +#298 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020787659, 21.45660400000001289, 0.000000000000000000 ) ) ; +#299 = CC_DESIGN_SECURITY_CLASSIFICATION ( #1370, ( #905 ) ) ; +#301 = VECTOR ( 'NONE', #504, 1000.000000000000000 ) ; +#300 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800756404, 145.5880750226160103, 0.000000000000000000 ) ) ; +#302 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433959999999729, 10.00000000000000000 ) ) ; +#303 = VERTEX_POINT ( 'NONE', #2048 ) ; +#304 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000003065, -158.5433959999999729, 10.00000000000000000 ) ) ; +#305 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #2412 ) ) ; +#306 = EDGE_CURVE ( 'NONE', #960, #1331, #2207, .T. ) ; +#307 = ORIENTED_EDGE ( 'NONE', *, *, #972, .F. ) ; +#308 = VECTOR ( 'NONE', #1638, 1000.000000000000000 ) ; +#309 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397459807, -13.00000000000000000 ) ) ; +#310 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#311 = EDGE_CURVE ( 'NONE', #544, #860, #512, .T. ) ; +#312 = ORIENTED_EDGE ( 'NONE', *, *, #50, .T. ) ; +#313 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#314 = VECTOR ( 'NONE', #1182, 1000.000000000000000 ) ; +#315 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#316 = ORIENTED_EDGE ( 'NONE', *, *, #1406, .T. ) ; +#317 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398937989, 3.000000000000000000 ) ) ; +#318 = ORIENTED_EDGE ( 'NONE', *, *, #2069, .F. ) ; +#319 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -154.5433969945210038, 10.00000000000000000 ) ) ; +#320 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -157.5433959999999729, 0.000000000000000000 ) ) ; +#321 = ORIENTED_EDGE ( 'NONE', *, *, #414, .T. ) ; +#322 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#323 = CIRCLE ( 'NONE', #527, 1.250000000000001110 ) ; +#324 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398937989, 10.00000000000000000 ) ) ; +#325 = EDGE_LOOP ( 'NONE', ( #1330, #1, #1877, #1911 ) ) ; +#326 = AXIS2_PLACEMENT_3D ( 'NONE', #1506, #1120, #551 ) ; +#327 = ORIENTED_EDGE ( 'NONE', *, *, #228, .F. ) ; +#328 = DIRECTION ( 'NONE', ( -3.229739708000459917E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#329 = VECTOR ( 'NONE', #1610, 1000.000000000000000 ) ; +#330 = PLANE ( 'NONE', #1772 ) ; +#331 = ORIENTED_EDGE ( 'NONE', *, *, #2138, .T. ) ; +#332 = EDGE_CURVE ( 'NONE', #1082, #1018, #333, .T. ) ; +#333 = LINE ( 'NONE', #2020, #1277 ) ; +#334 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #1387 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #1105, #1306, #518 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#335 = EDGE_CURVE ( 'NONE', #1018, #368, #1594, .T. ) ; +#336 = CC_DESIGN_APPROVAL ( #742, ( #905 ) ) ; +#337 = EDGE_CURVE ( 'NONE', #1093, #903, #347, .T. ) ; +#338 = ORIENTED_EDGE ( 'NONE', *, *, #852, .F. ) ; +#339 = EDGE_CURVE ( 'NONE', #1655, #2134, #920, .T. ) ; +#340 = ORIENTED_EDGE ( 'NONE', *, *, #231, .F. ) ; +#341 = DATE_AND_TIME ( #2425, #652 ) ; +#342 = LINE ( 'NONE', #157, #2266 ) ; +#343 = VECTOR ( 'NONE', #792, 1000.000000000000000 ) ; +#344 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999998447, 10.95660477088670959, 6.000000000000000000 ) ) ; +#345 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433959999999729, 10.00000000000000000 ) ) ; +#346 = ORIENTED_EDGE ( 'NONE', *, *, #2085, .T. ) ; +#347 = LINE ( 'NONE', #2411, #1986 ) ; +#348 = EDGE_CURVE ( 'NONE', #1253, #303, #2217, .T. ) ; +#349 = EDGE_CURVE ( 'NONE', #1128, #1883, #1280, .T. ) ; +#350 = ORIENTED_EDGE ( 'NONE', *, *, #1300, .T. ) ; +#351 = VERTEX_POINT ( 'NONE', #760 ) ; +#352 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#353 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#354 = LINE ( 'NONE', #1111, #1858 ) ; +#355 = EDGE_LOOP ( 'NONE', ( #766 ) ) ; +#356 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 0.000000000000000000 ) ) ; +#357 = VECTOR ( 'NONE', #2353, 1000.000000000000000 ) ; +#358 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974601185, 10.00000000000000000 ) ) ; +#359 = AXIS2_PLACEMENT_3D ( 'NONE', #1629, #1645, #2385 ) ; +#360 = ORIENTED_EDGE ( 'NONE', *, *, #1658, .F. ) ; +#361 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189960929, -8.943396160106185988, 2.000000000000000000 ) ) ; +#362 = ORIENTED_EDGE ( 'NONE', *, *, #523, .F. ) ; +#363 = AXIS2_PLACEMENT_3D ( 'NONE', #492, #2162, #468 ) ; +#364 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 17.45660499452101888, 10.00000000000000000 ) ) ; +#365 = LINE ( 'NONE', #796, #531 ) ; +#366 = EDGE_CURVE ( 'NONE', #135, #1462, #2103, .T. ) ; +#367 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800756404, 145.5880750226160103, 10.00000000000000000 ) ) ; +#368 = VERTEX_POINT ( 'NONE', #382 ) ; +#369 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -130.5433959999999729, 0.000000000000000000 ) ) ; +#370 = FACE_OUTER_BOUND ( 'NONE', #2271, .T. ) ; +#371 = VECTOR ( 'NONE', #1333, 1000.000000000000000 ) ; +#372 = ORIENTED_EDGE ( 'NONE', *, *, #1695, .T. ) ; +#373 = ORIENTED_EDGE ( 'NONE', *, *, #414, .F. ) ; +#374 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -130.5433959999999729, 10.00000000000000000 ) ) ; +#375 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#376 = VERTEX_POINT ( 'NONE', #1153 ) ; +#377 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#378 = EDGE_CURVE ( 'NONE', #303, #1931, #1139, .T. ) ; +#379 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#380 = FACE_OUTER_BOUND ( 'NONE', #957, .T. ) ; +#381 = ORIENTED_EDGE ( 'NONE', *, *, #1222, .F. ) ; +#382 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -148.0433967708866874, 0.000000000000000000 ) ) ; +#383 = EDGE_CURVE ( 'NONE', #1536, #1331, #1511, .T. ) ; +#384 = CYLINDRICAL_SURFACE ( 'NONE', #1207, 1.000000000000000888 ) ; +#385 = VECTOR ( 'NONE', #2430, 1000.000000000000000 ) ; +#386 = ORIENTED_EDGE ( 'NONE', *, *, #2371, .F. ) ; +#387 = EDGE_LOOP ( 'NONE', ( #2229, #1646, #1525, #1999 ) ) ; +#388 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736138468, 10.00000000000000000 ) ) ; +#389 = ORIENTED_EDGE ( 'NONE', *, *, #2069, .T. ) ; +#390 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433959999999729, 10.00000000000000000 ) ) ; +#391 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 0.000000000000000000 ) ) ; +#392 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 12.95660477088671136, 0.000000000000000000 ) ) ; +#393 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#394 = ORIENTED_EDGE ( 'NONE', *, *, #1478, .T. ) ; +#395 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#396 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#397 = ORIENTED_EDGE ( 'NONE', *, *, #332, .T. ) ; +#398 = ORIENTED_EDGE ( 'NONE', *, *, #1321, .T. ) ; +#399 = APPROVAL_DATE_TIME ( #1285, #1230 ) ; +#400 = VECTOR ( 'NONE', #740, 1000.000000000000000 ) ; +#401 = FACE_OUTER_BOUND ( 'NONE', #455, .T. ) ; +#402 = ORIENTED_EDGE ( 'NONE', *, *, #917, .F. ) ; +#403 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433959999999729, 10.00000000000000000 ) ) ; +#404 = CIRCLE ( 'NONE', #2342, 1.000000000000000888 ) ; +#405 = VECTOR ( 'NONE', #161, 1000.000000000000000 ) ; +#406 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#407 = VECTOR ( 'NONE', #1375, 1000.000000000000000 ) ; +#408 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000002578, -137.0867919999999742, 2.000000000000000000 ) ) ; +#409 = ORIENTED_EDGE ( 'NONE', *, *, #2313, .F. ) ; +#410 = CIRCLE ( 'NONE', #609, 0.8983045201146691028 ) ; +#411 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#412 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189960929, -8.943396160106185988, 10.00000000000000000 ) ) ; +#413 = EDGE_CURVE ( 'NONE', #1749, #1027, #953, .T. ) ; +#414 = EDGE_CURVE ( 'NONE', #2116, #577, #1168, .T. ) ; +#415 = ORIENTED_EDGE ( 'NONE', *, *, #1035, .T. ) ; +#416 = FACE_BOUND ( 'NONE', #1590, .T. ) ; +#417 = AXIS2_PLACEMENT_3D ( 'NONE', #951, #171, #1271 ) ; +#418 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#419 = ORIENTED_EDGE ( 'NONE', *, *, #272, .F. ) ; +#420 = EDGE_CURVE ( 'NONE', #1368, #1283, #1692, .T. ) ; +#421 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#422 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 10.00000000000000000 ) ) ; +#423 = VECTOR ( 'NONE', #1061, 1000.000000000000000 ) ; +#424 = FACE_BOUND ( 'NONE', #713, .T. ) ; +#425 = ORIENTED_EDGE ( 'NONE', *, *, #383, .F. ) ; +#426 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#427 = EDGE_CURVE ( 'NONE', #1436, #1469, #2249, .T. ) ; +#428 = ORIENTED_EDGE ( 'NONE', *, *, #1630, .T. ) ; +#429 = FACE_BOUND ( 'NONE', #1066, .T. ) ; +#430 = EDGE_CURVE ( 'NONE', #1785, #2082, #946, .T. ) ; +#431 = EDGE_CURVE ( 'NONE', #1903, #1903, #1497, .T. ) ; +#432 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -148.0433967708866874, 0.000000000000000000 ) ) ; +#433 = EDGE_LOOP ( 'NONE', ( #1146 ) ) ; +#434 = FACE_OUTER_BOUND ( 'NONE', #1845, .T. ) ; +#435 = FACE_OUTER_BOUND ( 'NONE', #1869, .T. ) ; +#436 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#437 = ORIENTED_EDGE ( 'NONE', *, *, #859, .T. ) ; +#438 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 17.45660499452101888, 10.00000000000000000 ) ) ; +#439 = ORIENTED_EDGE ( 'NONE', *, *, #526, .T. ) ; +#440 = ORIENTED_EDGE ( 'NONE', *, *, #1291, .T. ) ; +#441 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#442 = ORIENTED_EDGE ( 'NONE', *, *, #265, .F. ) ; +#443 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433959999999729, 10.00000000000000000 ) ) ; +#444 = AXIS2_PLACEMENT_3D ( 'NONE', #1064, #294, #2017 ) ; +#445 = LINE ( 'NONE', #1596, #2053 ) ; +#446 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#447 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#448 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974601185, 0.000000000000000000 ) ) ; +#449 = ADVANCED_FACE ( 'NONE', ( #2088 ), #799, .T. ) ; +#450 = ORIENTED_EDGE ( 'NONE', *, *, #97, .T. ) ; +#451 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#452 = CIRCLE ( 'NONE', #1520, 0.8983043470089796534 ) ; +#453 = FACE_OUTER_BOUND ( 'NONE', #780, .T. ) ; +#454 = CIRCLE ( 'NONE', #1758, 1.000000000000000888 ) ; +#455 = EDGE_LOOP ( 'NONE', ( #2247, #1894, #1864, #941 ) ) ; +#456 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#457 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433959999999729, 10.00000000000000000 ) ) ; +#458 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #2415, #1843, ( #1370 ) ) ; +#459 = EDGE_CURVE ( 'NONE', #2087, #2219, #1818, .T. ) ; +#460 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#461 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999987112, 0.000000000000000000 ) ) ; +#462 = ORIENTED_EDGE ( 'NONE', *, *, #684, .T. ) ; +#463 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#464 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#465 = ORIENTED_EDGE ( 'NONE', *, *, #2203, .T. ) ; +#466 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 20.45660400000001644, 10.00000000000000000 ) ) ; +#467 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#468 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#469 = LINE ( 'NONE', #1227, #600 ) ; +#470 = LINE ( 'NONE', #1195, #2007 ) ; +#471 = VERTEX_POINT ( 'NONE', #1978 ) ; +#472 = ORIENTED_EDGE ( 'NONE', *, *, #2051, .F. ) ; +#473 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#474 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -148.0433967708866874, 6.000000000000000000 ) ) ; +#475 = ORIENTED_EDGE ( 'NONE', *, *, #700, .T. ) ; +#476 = LINE ( 'NONE', #1446, #106 ) ; +#477 = EDGE_CURVE ( 'NONE', #41, #960, #222, .T. ) ; +#478 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423610284, 18.85660558000371623, 2.000000000000000000 ) ) ; +#479 = ORIENTED_EDGE ( 'NONE', *, *, #550, .F. ) ; +#480 = AXIS2_PLACEMENT_3D ( 'NONE', #205, #1718, #2304 ) ; +#481 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#482 = PLANE ( 'NONE', #937 ) ; +#483 = ORIENTED_EDGE ( 'NONE', *, *, #891, .T. ) ; +#484 = FACE_OUTER_BOUND ( 'NONE', #2090, .T. ) ; +#485 = ADVANCED_FACE ( 'NONE', ( #981, #196 ), #2269, .F. ) ; +#486 = EDGE_CURVE ( 'NONE', #1964, #805, #1563, .T. ) ; +#487 = PLANE ( 'NONE', #1570 ) ; +#488 = ORIENTED_EDGE ( 'NONE', *, *, #290, .F. ) ; +#489 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#490 = ORIENTED_EDGE ( 'NONE', *, *, #1745, .T. ) ; +#491 = EDGE_CURVE ( 'NONE', #41, #1536, #234, .T. ) ; +#492 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 10.00000000000000000 ) ) ; +#493 = AXIS2_PLACEMENT_3D ( 'NONE', #1431, #1059, #95 ) ; +#494 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#495 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#496 = ORIENTED_EDGE ( 'NONE', *, *, #1728, .F. ) ; +#497 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#498 = LOCAL_TIME ( 14, 15, 40.00000000000000000, #1472 ) ; +#499 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#500 = VECTOR ( 'NONE', #1509, 1000.000000000000000 ) ; +#501 = ADVANCED_FACE ( 'NONE', ( #942, #1750 ), #1526, .F. ) ; +#502 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#503 = ORIENTED_EDGE ( 'NONE', *, *, #992, .T. ) ; +#504 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#505 = VERTEX_POINT ( 'NONE', #369 ) ; +#506 = VERTEX_POINT ( 'NONE', #1482 ) ; +#507 = CALENDAR_DATE ( 2026, 15, 1 ) ; +#508 = VECTOR ( 'NONE', #2027, 1000.000000000000000 ) ; +#509 = PLANE ( 'NONE', #803 ) ; +#510 = FACE_OUTER_BOUND ( 'NONE', #288, .T. ) ; +#511 = VERTEX_POINT ( 'NONE', #1124 ) ; +#512 = LINE ( 'NONE', #1477, #2426 ) ; +#513 = AXIS2_PLACEMENT_3D ( 'NONE', #1352, #1364, #1313 ) ; +#514 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#515 = ORIENTED_EDGE ( 'NONE', *, *, #1583, .T. ) ; +#516 = PLANE ( 'NONE', #1804 ) ; +#517 = ORIENTED_EDGE ( 'NONE', *, *, #2292, .F. ) ; +#518 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#519 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#520 = LINE ( 'NONE', #2026, #2060 ) ; +#521 = EDGE_CURVE ( 'NONE', #1382, #2181, #1878, .T. ) ; +#522 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 0.000000000000000000 ) ) ; +#523 = EDGE_CURVE ( 'NONE', #1424, #2158, #689, .T. ) ; +#524 = ORIENTED_EDGE ( 'NONE', *, *, #430, .F. ) ; +#525 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#526 = EDGE_CURVE ( 'NONE', #1320, #1931, #1809, .T. ) ; +#527 = AXIS2_PLACEMENT_3D ( 'NONE', #463, #92, #105 ) ; +#528 = AXIS2_PLACEMENT_3D ( 'NONE', #356, #710, #930 ) ; +#529 = ORIENTED_EDGE ( 'NONE', *, *, #97, .F. ) ; +#530 = AXIS2_PLACEMENT_3D ( 'NONE', #949, #726, #2427 ) ; +#531 = VECTOR ( 'NONE', #1361, 1000.000000000000000 ) ; +#532 = ORIENTED_EDGE ( 'NONE', *, *, #853, .T. ) ; +#533 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#534 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#535 = LINE ( 'NONE', #1096, #308 ) ; +#536 = VERTEX_POINT ( 'NONE', #858 ) ; +#537 = FACE_OUTER_BOUND ( 'NONE', #1942, .T. ) ; +#538 = LOCAL_TIME ( 14, 15, 40.00000000000000000, #2360 ) ; +#539 = ORIENTED_EDGE ( 'NONE', *, *, #1745, .F. ) ; +#540 = AXIS2_PLACEMENT_3D ( 'NONE', #132, #720, #1255 ) ; +#541 = EDGE_LOOP ( 'NONE', ( #1502, #201, #2414, #1455 ) ) ; +#542 = FACE_OUTER_BOUND ( 'NONE', #1657, .T. ) ; +#543 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#544 = VERTEX_POINT ( 'NONE', #623 ) ; +#545 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#546 = VERTEX_POINT ( 'NONE', #585 ) ; +#547 = ORIENTED_EDGE ( 'NONE', *, *, #611, .T. ) ; +#548 = VECTOR ( 'NONE', #1932, 1000.000000000000000 ) ; +#549 = VERTEX_POINT ( 'NONE', #282 ) ; +#550 = EDGE_CURVE ( 'NONE', #1138, #2116, #1643, .T. ) ; +#551 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#552 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974601185, 0.000000000000000000 ) ) ; +#553 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#554 = ORIENTED_EDGE ( 'NONE', *, *, #700, .F. ) ; +#555 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708866874, 0.000000000000000000 ) ) ; +#556 = CIRCLE ( 'NONE', #241, 0.8983045201146760972 ) ; +#557 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#558 = VECTOR ( 'NONE', #756, 1000.000000000000000 ) ; +#559 = ORIENTED_EDGE ( 'NONE', *, *, #830, .F. ) ; +#560 = ORIENTED_EDGE ( 'NONE', *, *, #1591, .F. ) ; +#561 = EDGE_CURVE ( 'NONE', #2268, #2418, #454, .T. ) ; +#562 = LINE ( 'NONE', #432, #1244 ) ; +#563 = ORIENTED_EDGE ( 'NONE', *, *, #1448, .T. ) ; +#564 = AXIS2_PLACEMENT_3D ( 'NONE', #704, #1464, #2214 ) ; +#565 = PERSON_AND_ORGANIZATION_ROLE ( 'design_owner' ) ; +#566 = LINE ( 'NONE', #1322, #249 ) ; +#567 = EDGE_CURVE ( 'NONE', #1866, #1866, #571, .T. ) ; +#568 = AXIS2_PLACEMENT_3D ( 'NONE', #14, #2064, #774 ) ; +#569 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433959999999729, 10.00000000000000000 ) ) ; +#570 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#571 = CIRCLE ( 'NONE', #2068, 0.8983045201146691028 ) ; +#572 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#573 = ORIENTED_EDGE ( 'NONE', *, *, #2085, .F. ) ; +#574 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#575 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#576 = VECTOR ( 'NONE', #572, 1000.000000000000000 ) ; +#577 = VERTEX_POINT ( 'NONE', #461 ) ; +#578 = FACE_BOUND ( 'NONE', #1739, .T. ) ; +#579 = LINE ( 'NONE', #1555, #371 ) ; +#580 = ORIENTED_EDGE ( 'NONE', *, *, #550, .T. ) ; +#581 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#582 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#583 = VERTEX_POINT ( 'NONE', #1958 ) ; +#584 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#585 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -8.943396160106200199, 10.00000000000000000 ) ) ; +#586 = ORIENTED_EDGE ( 'NONE', *, *, #348, .F. ) ; +#587 = VERTEX_POINT ( 'NONE', #77 ) ; +#588 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433959999999729, 0.000000000000000000 ) ) ; +#589 = VERTEX_POINT ( 'NONE', #2356 ) ; +#590 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#591 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#592 = ADVANCED_FACE ( 'NONE', ( #1017 ), #2129, .F. ) ; +#593 = LINE ( 'NONE', #1377, #2218 ) ; +#594 = VERTEX_POINT ( 'NONE', #1798 ) ; +#595 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#596 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#597 = ORIENTED_EDGE ( 'NONE', *, *, #2443, .F. ) ; +#598 = EDGE_CURVE ( 'NONE', #146, #748, #296, .T. ) ; +#599 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -130.5433959999999729, 0.000000000000000000 ) ) ; +#600 = VECTOR ( 'NONE', #1868, 1000.000000000000000 ) ; +#601 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#602 = EDGE_LOOP ( 'NONE', ( #2298 ) ) ; +#603 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#604 = CIRCLE ( 'NONE', #2345, 0.8983045201146760972 ) ; +#605 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -157.5433959999999729, 10.00000000000000000 ) ) ; +#606 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#607 = ORIENTED_EDGE ( 'NONE', *, *, #637, .T. ) ; +#608 = EDGE_CURVE ( 'NONE', #1462, #1883, #103, .T. ) ; +#609 = AXIS2_PLACEMENT_3D ( 'NONE', #9, #769, #1680 ) ; +#610 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866874, 6.000000000000000000 ) ) ; +#611 = EDGE_CURVE ( 'NONE', #1631, #1382, #996, .T. ) ; +#612 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, 18.85660558000369846, 2.000000000000000000 ) ) ; +#613 = ORIENTED_EDGE ( 'NONE', *, *, #2028, .F. ) ; +#614 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#615 = VECTOR ( 'NONE', #2375, 1000.000000000000000 ) ; +#616 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 17.45660499452101888, 10.00000000000000000 ) ) ; +#617 = ORIENTED_EDGE ( 'NONE', *, *, #1291, .F. ) ; +#618 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 0.000000000000000000 ) ) ; +#619 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#620 = VECTOR ( 'NONE', #895, 1000.000000000000000 ) ; +#621 = PLANE ( 'NONE', #244 ) ; +#622 = ORIENTED_EDGE ( 'NONE', *, *, #743, .T. ) ; +#623 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#624 = ORIENTED_EDGE ( 'NONE', *, *, #1906, .F. ) ; +#625 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#626 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#627 = ORIENTED_EDGE ( 'NONE', *, *, #2240, .F. ) ; +#628 = FACE_OUTER_BOUND ( 'NONE', #1499, .T. ) ; +#629 = EDGE_CURVE ( 'NONE', #1789, #1167, #834, .T. ) ; +#630 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#631 = FACE_BOUND ( 'NONE', #1393, .T. ) ; +#632 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#633 = ORIENTED_EDGE ( 'NONE', *, *, #1862, .T. ) ; +#634 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -150.0433967708866874, 6.000000000000000000 ) ) ; +#635 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#636 = ORIENTED_EDGE ( 'NONE', *, *, #337, .T. ) ; +#637 = EDGE_CURVE ( 'NONE', #2100, #351, #470, .T. ) ; +#638 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -153.0433963742550816, 0.000000000000000000 ) ) ; +#639 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#640 = CIRCLE ( 'NONE', #2423, 1.000000000000000888 ) ; +#641 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#642 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, -13.00000000000000000 ) ) ; +#643 = VECTOR ( 'NONE', #2056, 1000.000000000000000 ) ; +#644 = ORIENTED_EDGE ( 'NONE', *, *, #1321, .F. ) ; +#645 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#646 = FACE_OUTER_BOUND ( 'NONE', #1713, .T. ) ; +#647 = EDGE_LOOP ( 'NONE', ( #327, #976, #340, #409 ) ) ; +#648 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#649 = AXIS2_PLACEMENT_3D ( 'NONE', #1284, #2042, #167 ) ; +#650 = CYLINDRICAL_SURFACE ( 'NONE', #2381, 1.000000000000000888 ) ; +#651 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#652 = LOCAL_TIME ( 14, 15, 40.00000000000000000, #156 ) ; +#653 = DIRECTION ( 'NONE', ( 1.000000000000000000, 1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#654 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, 18.85660558000369846, 10.00000000000000000 ) ) ; +#655 = EDGE_LOOP ( 'NONE', ( #483, #913, #1072, #78 ) ) ; +#656 = LINE ( 'NONE', #2374, #111 ) ; +#657 = ADVANCED_FACE ( 'NONE', ( #88, #1037 ), #1575, .F. ) ; +#658 = EDGE_CURVE ( 'NONE', #1735, #690, #1773, .T. ) ; +#659 = AXIS2_PLACEMENT_3D ( 'NONE', #2156, #1254, #1028 ) ; +#660 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#661 = ORIENTED_EDGE ( 'NONE', *, *, #1401, .T. ) ; +#662 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#663 = ORIENTED_EDGE ( 'NONE', *, *, #1517, .T. ) ; +#664 = LINE ( 'NONE', #1974, #1948 ) ; +#665 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433959999999729, 0.000000000000000000 ) ) ; +#666 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#667 = EDGE_CURVE ( 'NONE', #2119, #505, #2372, .T. ) ; +#668 = ORIENTED_EDGE ( 'NONE', *, *, #2183, .F. ) ; +#669 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 10.00000000000000000 ) ) ; +#670 = PLANE ( 'NONE', #493 ) ; +#671 = ADVANCED_FACE ( 'NONE', ( #1426 ), #482, .T. ) ; +#672 = ORIENTED_EDGE ( 'NONE', *, *, #1956, .T. ) ; +#673 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999987112, 10.00000000000000000 ) ) ; +#674 = ORIENTED_EDGE ( 'NONE', *, *, #1119, .F. ) ; +#675 = AXIS2_PLACEMENT_3D ( 'NONE', #605, #1572, #257 ) ; +#676 = PLANE ( 'NONE', #363 ) ; +#677 = AXIS2_PLACEMENT_3D ( 'NONE', #821, #1900, #64 ) ; +#678 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433959999999729, 0.000000000000000000 ) ) ; +#679 = LINE ( 'NONE', #569, #2431 ) ; +#680 = EDGE_CURVE ( 'NONE', #2082, #1142, #1992, .T. ) ; +#681 = VECTOR ( 'NONE', #328, 1000.000000000000000 ) ; +#682 = ORIENTED_EDGE ( 'NONE', *, *, #867, .T. ) ; +#683 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#684 = EDGE_CURVE ( 'NONE', #1231, #1436, #1453, .T. ) ; +#685 = LINE ( 'NONE', #2399, #2392 ) ; +#686 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#687 = EDGE_LOOP ( 'NONE', ( #1355 ) ) ; +#688 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#689 = CIRCLE ( 'NONE', #1954, 126.6268659918020063 ) ; +#690 = VERTEX_POINT ( 'NONE', #1266 ) ; +#691 = SHAPE_DEFINITION_REPRESENTATION ( #1496, #3 ) ; +#692 = LINE ( 'NONE', #1449, #1079 ) ; +#693 = VECTOR ( 'NONE', #2080, 1000.000000000000000 ) ; +#694 = FACE_OUTER_BOUND ( 'NONE', #1293, .T. ) ; +#695 = FACE_OUTER_BOUND ( 'NONE', #1634, .T. ) ; +#696 = ORIENTED_EDGE ( 'NONE', *, *, #1442, .T. ) ; +#697 = LINE ( 'NONE', #1081, #405 ) ; +#698 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#699 = ORIENTED_EDGE ( 'NONE', *, *, #732, .T. ) ; +#700 = EDGE_CURVE ( 'NONE', #2450, #2450, #74, .T. ) ; +#701 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -158.5433959999999729, 10.00000000000000000 ) ) ; +#702 = ORIENTED_EDGE ( 'NONE', *, *, #1046, .T. ) ; +#703 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ; +#704 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 2.000000000000000000 ) ) ; +#705 = CIRCLE ( 'NONE', #185, 1.000000000000000888 ) ; +#706 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#707 = ADVANCED_FACE ( 'NONE', ( #695 ), #1475, .T. ) ; +#708 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433959999999729, 10.00000000000000000 ) ) ; +#709 = ORIENTED_EDGE ( 'NONE', *, *, #1639, .T. ) ; +#710 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#711 = ORIENTED_EDGE ( 'NONE', *, *, #1303, .T. ) ; +#712 = EDGE_CURVE ( 'NONE', #589, #1562, #705, .T. ) ; +#713 = EDGE_LOOP ( 'NONE', ( #825 ) ) ; +#714 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#715 = DIRECTION ( 'NONE', ( 1.000000000000000000, -9.361563035194105199E-17, 0.000000000000000000 ) ) ; +#716 = VECTOR ( 'NONE', #1180, 1000.000000000000000 ) ; +#717 = EDGE_LOOP ( 'NONE', ( #2337 ) ) ; +#718 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#719 = AXIS2_PLACEMENT_3D ( 'NONE', #2182, #497, #116 ) ; +#720 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#721 = AXIS2_PLACEMENT_3D ( 'NONE', #2038, #2009, #322 ) ; +#722 = EDGE_LOOP ( 'NONE', ( #2131 ) ) ; +#723 = AXIS2_PLACEMENT_3D ( 'NONE', #216, #1163, #1175 ) ; +#724 = AXIS2_PLACEMENT_3D ( 'NONE', #1338, #2084, #1873 ) ; +#725 = VERTEX_POINT ( 'NONE', #886 ) ; +#726 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#727 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866874, 6.000000000000000000 ) ) ; +#728 = EDGE_CURVE ( 'NONE', #2233, #2343, #535, .T. ) ; +#729 = VECTOR ( 'NONE', #1531, 1000.000000000000000 ) ; +#730 = ORIENTED_EDGE ( 'NONE', *, *, #1505, .T. ) ; +#731 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#732 = EDGE_CURVE ( 'NONE', #351, #1727, #1824, .T. ) ; +#733 = ORIENTED_EDGE ( 'NONE', *, *, #786, .T. ) ; +#734 = CIRCLE ( 'NONE', #975, 0.8983043470089796534 ) ; +#735 = PLANE ( 'NONE', #1549 ) ; +#736 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397459807, 10.00000000000000000 ) ) ; +#737 = ORIENTED_EDGE ( 'NONE', *, *, #1982, .T. ) ; +#738 = VECTOR ( 'NONE', #861, 1000.000000000000000 ) ; +#739 = LINE ( 'NONE', #1135, #1990 ) ; +#740 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#741 = ORIENTED_EDGE ( 'NONE', *, *, #1661, .F. ) ; +#742 = APPROVAL ( #1530, '未' ) ; +#743 = EDGE_CURVE ( 'NONE', #2158, #1684, #1654, .T. ) ; +#744 = CARTESIAN_POINT ( 'NONE', ( 85.45660400000002710, -148.0433967708866874, 10.00000000000000000 ) ) ; +#745 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332521648, -150.5433968397459807, 10.00000000000000000 ) ) ; +#746 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189963771, -128.1433958398937989, 10.00000000000000000 ) ) ; +#747 = EDGE_CURVE ( 'NONE', #1480, #1631, #1287, .T. ) ; +#748 = VERTEX_POINT ( 'NONE', #344 ) ; +#749 = AXIS2_PLACEMENT_3D ( 'NONE', #2458, #811, #1917 ) ; +#750 = FACE_OUTER_BOUND ( 'NONE', #2348, .T. ) ; +#751 = ADVANCED_FACE ( 'NONE', ( #510 ), #330, .T. ) ; +#752 = LINE ( 'NONE', #388, #1430 ) ; +#753 = ORIENTED_EDGE ( 'NONE', *, *, #1661, .T. ) ; +#754 = LINE ( 'NONE', #1286, #1204 ) ; +#755 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#756 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#757 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800627350, 18.96120903081405373, 0.000000000000000000 ) ) ; +#758 = ORIENTED_EDGE ( 'NONE', *, *, #430, .T. ) ; +#759 = ADVANCED_FACE ( 'NONE', ( #1861 ), #2417, .T. ) ; +#760 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#761 = VECTOR ( 'NONE', #1808, 1000.000000000000000 ) ; +#762 = VERTEX_POINT ( 'NONE', #1834 ) ; +#763 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#764 = FACE_OUTER_BOUND ( 'NONE', #1187, .T. ) ; +#765 = LINE ( 'NONE', #43, #2321 ) ; +#766 = ORIENTED_EDGE ( 'NONE', *, *, #2183, .T. ) ; +#767 = AXIS2_PLACEMENT_3D ( 'NONE', #1794, #101, #1226 ) ; +#768 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#769 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#770 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 17.45660499452101888, 0.000000000000000000 ) ) ; +#771 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#772 = EDGE_LOOP ( 'NONE', ( #524, #1198, #425, #2033, #999, #812, #1672, #1104, #529, #2047, #318, #1334, #560, #2050, #2433, #1946 ) ) ; +#773 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 15.95660437425511269, 10.00000000000000000 ) ) ; +#774 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#775 = AXIS2_PLACEMENT_3D ( 'NONE', #300, #1627, #1457 ) ; +#776 = ORIENTED_EDGE ( 'NONE', *, *, #992, .F. ) ; +#777 = ORIENTED_EDGE ( 'NONE', *, *, #608, .F. ) ; +#778 = PERSON_AND_ORGANIZATION_ROLE ( 'design_supplier' ) ; +#779 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#780 = EDGE_LOOP ( 'NONE', ( #923, #389, #1887, #1411 ) ) ; +#781 = EDGE_CURVE ( 'NONE', #1802, #166, #2205, .T. ) ; +#782 = EDGE_CURVE ( 'NONE', #188, #2263, #1439, .T. ) ; +#783 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -129.5433959999999729, 10.00000000000000000 ) ) ; +#784 = EDGE_CURVE ( 'NONE', #1093, #194, #915, .T. ) ; +#785 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#786 = EDGE_CURVE ( 'NONE', #284, #2119, #909, .T. ) ; +#787 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#788 = ORIENTED_EDGE ( 'NONE', *, *, #1068, .T. ) ; +#789 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#790 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#791 = ORIENTED_EDGE ( 'NONE', *, *, #1956, .F. ) ; +#792 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#793 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#794 = ORIENTED_EDGE ( 'NONE', *, *, #1848, .F. ) ; +#795 = LINE ( 'NONE', #2124, #407 ) ; +#796 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -153.8312337827360068, 0.000000000000000000 ) ) ; +#797 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#798 = ORIENTED_EDGE ( 'NONE', *, *, #747, .F. ) ; +#799 = PLANE ( 'NONE', #513 ) ; +#800 = EDGE_LOOP ( 'NONE', ( #2366, #1350, #945, #488 ) ) ; +#801 = VECTOR ( 'NONE', #785, 1000.000000000000000 ) ; +#802 = FACE_BOUND ( 'NONE', #2216, .T. ) ; +#803 = AXIS2_PLACEMENT_3D ( 'NONE', #2175, #1991, #706 ) ; +#804 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#805 = VERTEX_POINT ( 'NONE', #727 ) ; +#806 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -130.5433959999999729, 10.00000000000000000 ) ) ; +#807 = AXIS2_PLACEMENT_3D ( 'NONE', #2416, #1670, #191 ) ; +#808 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -150.0433967708866874, 6.000000000000000000 ) ) ; +#809 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#810 = ORIENTED_EDGE ( 'NONE', *, *, #867, .F. ) ; +#811 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#812 = ORIENTED_EDGE ( 'NONE', *, *, #598, .F. ) ; +#813 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 10.00000000000000000 ) ) ; +#814 = AXIS2_PLACEMENT_3D ( 'NONE', #237, #1356, #2274 ) ; +#815 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#816 = EDGE_CURVE ( 'NONE', #933, #1655, #1484, .T. ) ; +#817 = ORIENTED_EDGE ( 'NONE', *, *, #1367, .T. ) ; +#818 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#819 = FACE_OUTER_BOUND ( 'NONE', #2079, .T. ) ; +#820 = VECTOR ( 'NONE', #1421, 1000.000000000000000 ) ; +#821 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106185988, 2.000000000000000000 ) ) ; +#822 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#823 = APPROVAL ( #2015, '未' ) ; +#824 = EDGE_CURVE ( 'NONE', #1987, #212, #1298, .T. ) ; +#825 = ORIENTED_EDGE ( 'NONE', *, *, #2121, .T. ) ; +#826 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#827 = VECTOR ( 'NONE', #1852, 1000.000000000000000 ) ; +#828 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#829 = ORIENTED_EDGE ( 'NONE', *, *, #265, .T. ) ; +#830 = EDGE_CURVE ( 'NONE', #505, #1213, #170, .T. ) ; +#831 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#832 = LINE ( 'NONE', #457, #162 ) ; +#833 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#834 = LINE ( 'NONE', #438, #243 ) ; +#835 = ORIENTED_EDGE ( 'NONE', *, *, #2102, .F. ) ; +#836 = PLANE ( 'NONE', #659 ) ; +#837 = FACE_OUTER_BOUND ( 'NONE', #687, .T. ) ; +#838 = ORIENTED_EDGE ( 'NONE', *, *, #1202, .F. ) ; +#839 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 0.000000000000000000 ) ) ; +#840 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#841 = AXIS2_PLACEMENT_3D ( 'NONE', #2194, #473, #451 ) ; +#842 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999984447, 10.00000000000000000 ) ) ; +#843 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#844 = VECTOR ( 'NONE', #883, 1000.000000000000000 ) ; +#845 = VECTOR ( 'NONE', #1705, 1000.000000000000000 ) ; +#846 = ORIENTED_EDGE ( 'NONE', *, *, #1202, .T. ) ; +#847 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433959999999729, 10.00000000000000000 ) ) ; +#848 = APPROVAL_STATUS ( 'not_yet_approved' ) ; +#849 = FACE_OUTER_BOUND ( 'NONE', #1984, .T. ) ; +#850 = ORIENTED_EDGE ( 'NONE', *, *, #1988, .T. ) ; +#851 = CYLINDRICAL_SURFACE ( 'NONE', #857, 0.8983043470089796534 ) ; +#852 = EDGE_CURVE ( 'NONE', #224, #1070, #679, .T. ) ; +#853 = EDGE_CURVE ( 'NONE', #1501, #1501, #2227, .T. ) ; +#854 = ORIENTED_EDGE ( 'NONE', *, *, #2177, .F. ) ; +#855 = LINE ( 'NONE', #1073, #2225 ) ; +#856 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#857 = AXIS2_PLACEMENT_3D ( 'NONE', #2172, #1023, #291 ) ; +#858 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742550816, 6.000000000000000000 ) ) ; +#859 = EDGE_CURVE ( 'NONE', #1039, #1039, #98, .T. ) ; +#860 = VERTEX_POINT ( 'NONE', #2058 ) ; +#861 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#862 = CIRCLE ( 'NONE', #2242, 2.000000000000001776 ) ; +#863 = LINE ( 'NONE', #1615, #615 ) ; +#864 = ORIENTED_EDGE ( 'NONE', *, *, #2322, .F. ) ; +#865 = LINE ( 'NONE', #1245, #423 ) ; +#866 = VERTEX_POINT ( 'NONE', #2187 ) ; +#867 = EDGE_CURVE ( 'NONE', #1132, #2158, #938, .T. ) ; +#868 = ORIENTED_EDGE ( 'NONE', *, *, #859, .F. ) ; +#869 = EDGE_CURVE ( 'NONE', #1785, #1663, #1914, .T. ) ; +#870 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#871 = EDGE_CURVE ( 'NONE', #549, #1735, #739, .T. ) ; +#872 = VECTOR ( 'NONE', #210, 1000.000000000000000 ) ; +#873 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#874 = ORIENTED_EDGE ( 'NONE', *, *, #349, .F. ) ; +#875 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ; +#876 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#877 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#878 = EDGE_LOOP ( 'NONE', ( #1689, #2185, #1699, #1112 ) ) ; +#879 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#880 = EDGE_LOOP ( 'NONE', ( #2275, #1272, #2040, #1587 ) ) ; +#881 = AXIS2_PLACEMENT_3D ( 'NONE', #1939, #269, #1746 ) ; +#882 = DATE_AND_TIME ( #1263, #1962 ) ; +#883 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#884 = VECTOR ( 'NONE', #1748, 1000.000000000000000 ) ; +#885 = CARTESIAN_POINT ( 'NONE', ( 63.45660400000002710, -156.0480010736138468, 0.000000000000000000 ) ) ; +#886 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 12.95660477088671136, 6.000000000000000000 ) ) ; +#887 = AXIS2_PLACEMENT_3D ( 'NONE', #1335, #352, #169 ) ; +#888 = EDGE_LOOP ( 'NONE', ( #428, #1703, #1850, #2358 ) ) ; +#889 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#890 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#891 = EDGE_CURVE ( 'NONE', #577, #587, #192, .T. ) ; +#892 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433959999999729, 10.00000000000000000 ) ) ; +#893 = AXIS2_PLACEMENT_3D ( 'NONE', #954, #2104, #1527 ) ; +#894 = ORIENTED_EDGE ( 'NONE', *, *, #217, .T. ) ; +#895 = DIRECTION ( 'NONE', ( -3.229739708000459917E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#896 = EDGE_CURVE ( 'NONE', #1987, #1969, #1479, .T. ) ; +#897 = AXIS2_PLACEMENT_3D ( 'NONE', #1599, #653, #873 ) ; +#898 = ORIENTED_EDGE ( 'NONE', *, *, #1560, .T. ) ; +#899 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#900 = AXIS2_PLACEMENT_3D ( 'NONE', #181, #1693, #877 ) ; +#901 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#902 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999987112, 10.00000000000000000 ) ) ; +#903 = VERTEX_POINT ( 'NONE', #1323 ) ; +#904 = CYLINDRICAL_SURFACE ( 'NONE', #2309, 0.8983045201146760972 ) ; +#905 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ä»', '', #2412, .NOT_KNOWN. ) ; +#906 = EDGE_CURVE ( 'NONE', #368, #1343, #1121, .T. ) ; +#907 = EDGE_LOOP ( 'NONE', ( #266 ) ) ; +#908 = ORIENTED_EDGE ( 'NONE', *, *, #1381, .T. ) ; +#909 = LINE ( 'NONE', #1662, #385 ) ; +#910 = VERTEX_POINT ( 'NONE', #2073 ) ; +#911 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#912 = ORIENTED_EDGE ( 'NONE', *, *, #1143, .T. ) ; +#913 = ORIENTED_EDGE ( 'NONE', *, *, #1997, .F. ) ; +#914 = DIRECTION ( 'NONE', ( -2.618450504386014950E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#915 = LINE ( 'NONE', #1844, #1020 ) ; +#916 = AXIS2_PLACEMENT_3D ( 'NONE', #1720, #1734, #2127 ) ; +#917 = EDGE_CURVE ( 'NONE', #160, #1684, #1795, .T. ) ; +#918 = ORIENTED_EDGE ( 'NONE', *, *, #526, .F. ) ; +#919 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#920 = CIRCLE ( 'NONE', #528, 1.000000000000000888 ) ; +#921 = ORIENTED_EDGE ( 'NONE', *, *, #1517, .F. ) ; +#922 = AXIS2_PLACEMENT_3D ( 'NONE', #230, #581, #978 ) ; +#923 = ORIENTED_EDGE ( 'NONE', *, *, #1384, .T. ) ; +#924 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#925 = EDGE_CURVE ( 'NONE', #1663, #2100, #1674, .T. ) ; +#926 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -130.5433959999999729, 0.000000000000000000 ) ) ; +#927 = VECTOR ( 'NONE', #2074, 1000.000000000000000 ) ; +#928 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#929 = ORIENTED_EDGE ( 'NONE', *, *, #1435, .T. ) ; +#930 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#931 = EDGE_CURVE ( 'NONE', #2030, #1018, #365, .T. ) ; +#932 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, -155.9433975800037047, 10.00000000000000000 ) ) ; +#933 = VERTEX_POINT ( 'NONE', #1309 ) ; +#934 = VERTEX_POINT ( 'NONE', #1889 ) ; +#935 = PLANE ( 'NONE', #1711 ) ; +#936 = EDGE_CURVE ( 'NONE', #1405, #1405, #410, .T. ) ; +#937 = AXIS2_PLACEMENT_3D ( 'NONE', #1968, #2332, #1239 ) ; +#938 = LINE ( 'NONE', #1165, #1281 ) ; +#939 = ADVANCED_FACE ( 'NONE', ( #2444 ), #1544, .T. ) ; +#940 = CYLINDRICAL_SURFACE ( 'NONE', #900, 2.000000000000001776 ) ; +#941 = ORIENTED_EDGE ( 'NONE', *, *, #1761, .F. ) ; +#942 = FACE_OUTER_BOUND ( 'NONE', #433, .T. ) ; +#943 = LINE ( 'NONE', #211, #1835 ) ; +#944 = ORIENTED_EDGE ( 'NONE', *, *, #1579, .T. ) ; +#945 = ORIENTED_EDGE ( 'NONE', *, *, #459, .F. ) ; +#946 = CIRCLE ( 'NONE', #2130, 2.000000000000001776 ) ; +#947 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#948 = ORIENTED_EDGE ( 'NONE', *, *, #335, .F. ) ; +#949 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 2.000000000000000000 ) ) ; +#950 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999987112, 0.000000000000000000 ) ) ; +#951 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433959999999729, 0.000000000000000000 ) ) ; +#952 = EDGE_LOOP ( 'NONE', ( #661, #198, #1675, #96 ) ) ; +#953 = LINE ( 'NONE', #426, #872 ) ; +#954 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#955 = EDGE_CURVE ( 'NONE', #903, #1735, #2109, .T. ) ; +#956 = ORIENTED_EDGE ( 'NONE', *, *, #245, .T. ) ; +#957 = EDGE_LOOP ( 'NONE', ( #1839, #1219, #850, #2209 ) ) ; +#958 = AXIS2_PLACEMENT_3D ( 'NONE', #2241, #1098, #1846 ) ; +#959 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -158.5433959999999729, 10.00000000000000000 ) ) ; +#960 = VERTEX_POINT ( 'NONE', #391 ) ; +#961 = VECTOR ( 'NONE', #1014, 1000.000000000000000 ) ; +#962 = ADVANCED_FACE ( 'NONE', ( #1899 ), #1691, .T. ) ; +#963 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#964 = VECTOR ( 'NONE', #2380, 1000.000000000000000 ) ; +#965 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#966 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#967 = ORIENTED_EDGE ( 'NONE', *, *, #240, .T. ) ; +#968 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#969 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433959999999729, 0.000000000000000000 ) ) ; +#970 = EDGE_LOOP ( 'NONE', ( #153, #1901, #1246, #1156 ) ) ; +#971 = FACE_BOUND ( 'NONE', #233, .T. ) ; +#972 = EDGE_CURVE ( 'NONE', #2030, #583, #2455, .T. ) ; +#973 = EDGE_CURVE ( 'NONE', #1229, #1229, #556, .T. ) ; +#974 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#975 = AXIS2_PLACEMENT_3D ( 'NONE', #1236, #2198, #648 ) ; +#976 = ORIENTED_EDGE ( 'NONE', *, *, #1068, .F. ) ; +#977 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#978 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#979 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#980 = ORIENTED_EDGE ( 'NONE', *, *, #2257, .T. ) ; +#981 = FACE_OUTER_BOUND ( 'NONE', #2326, .T. ) ; +#982 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#983 = EDGE_LOOP ( 'NONE', ( #1031, #810, #1649, #2301 ) ) ; +#984 = FACE_BOUND ( 'NONE', #1174, .T. ) ; +#985 = CARTESIAN_POINT ( 'NONE', ( 51.91320799999999736, 5.588871641576237309E-15, 2.000000000000000000 ) ) ; +#986 = EDGE_LOOP ( 'NONE', ( #2041 ) ) ; +#987 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 0.000000000000000000 ) ) ; +#988 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433959999999729, 0.000000000000000000 ) ) ; +#989 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#990 = ORIENTED_EDGE ( 'NONE', *, *, #784, .T. ) ; +#991 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#992 = EDGE_CURVE ( 'NONE', #194, #594, #1628, .T. ) ; +#993 = ORIENTED_EDGE ( 'NONE', *, *, #195, .T. ) ; +#994 = VECTOR ( 'NONE', #418, 1000.000000000000000 ) ; +#995 = FACE_BOUND ( 'NONE', #1569, .T. ) ; +#996 = CIRCLE ( 'NONE', #2261, 1.000000000000000888 ) ; +#997 = AXIS2_PLACEMENT_3D ( 'NONE', #2331, #207, #1391 ) ; +#998 = FACE_OUTER_BOUND ( 'NONE', #878, .T. ) ; +#999 = ORIENTED_EDGE ( 'NONE', *, *, #1955, .F. ) ; +#1000 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, -0.000000000000000000 ) ) ; +#1001 = VECTOR ( 'NONE', #456, 1000.000000000000000 ) ; +#1002 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1003 = EDGE_CURVE ( 'NONE', #1070, #549, #45, .T. ) ; +#1004 = PLANE ( 'NONE', #1433 ) ; +#1005 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#1006 = VECTOR ( 'NONE', #1621, 1000.000000000000000 ) ; +#1007 = ORIENTED_EDGE ( 'NONE', *, *, #2121, .F. ) ; +#1008 = EDGE_CURVE ( 'NONE', #2418, #1802, #832, .T. ) ; +#1009 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1010 = CIRCLE ( 'NONE', #814, 1.250000000000001110 ) ; +#1011 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397459807, 10.00000000000000000 ) ) ; +#1012 = EDGE_CURVE ( 'NONE', #1783, #1783, #1546, .T. ) ; +#1013 = ORIENTED_EDGE ( 'NONE', *, *, #1336, .F. ) ; +#1014 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1015 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -150.0433967708866874, 0.000000000000000000 ) ) ; +#1016 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1017 = FACE_OUTER_BOUND ( 'NONE', #1813, .T. ) ; +#1018 = VERTEX_POINT ( 'NONE', #1015 ) ; +#1019 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1020 = VECTOR ( 'NONE', #150, 1000.000000000000000 ) ; +#1021 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1022 = ORIENTED_EDGE ( 'NONE', *, *, #431, .F. ) ; +#1023 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1024 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 10.00000000000000000 ) ) ; +#1025 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1026 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1027 = VERTEX_POINT ( 'NONE', #1770 ) ; +#1028 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1029 = EDGE_CURVE ( 'NONE', #1320, #748, #75, .T. ) ; +#1030 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1031 = ORIENTED_EDGE ( 'NONE', *, *, #743, .F. ) ; +#1032 = AXIS2_PLACEMENT_3D ( 'NONE', #842, #126, #1425 ) ; +#1033 = LINE ( 'NONE', #1259, #219 ) ; +#1034 = ORIENTED_EDGE ( 'NONE', *, *, #2351, .T. ) ; +#1035 = EDGE_CURVE ( 'NONE', #910, #376, #1780, .T. ) ; +#1036 = LINE ( 'NONE', #1620, #1199 ) ; +#1037 = FACE_OUTER_BOUND ( 'NONE', #1234, .T. ) ; +#1038 = CIRCLE ( 'NONE', #2387, 1.250000000000001110 ) ; +#1039 = VERTEX_POINT ( 'NONE', #1763 ) ; +#1040 = AXIS2_PLACEMENT_3D ( 'NONE', #1534, #591, #1148 ) ; +#1041 = ORIENTED_EDGE ( 'NONE', *, *, #891, .F. ) ; +#1042 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1043 = CARTESIAN_POINT ( 'NONE', ( 85.45660400000002710, -148.0433967708866874, 6.000000000000000000 ) ) ; +#1044 = ORIENTED_EDGE ( 'NONE', *, *, #1119, .T. ) ; +#1045 = ADVANCED_FACE ( 'NONE', ( #435 ), #1584, .F. ) ; +#1046 = EDGE_CURVE ( 'NONE', #1712, #690, #1559, .T. ) ; +#1047 = CIRCLE ( 'NONE', #2436, 0.8983043470089796534 ) ; +#1048 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#1049 = ADVANCED_FACE ( 'NONE', ( #1966, #2126 ), #48, .F. ) ; +#1050 = ORIENTED_EDGE ( 'NONE', *, *, #629, .T. ) ; +#1051 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708866874, 10.00000000000000000 ) ) ; +#1052 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1053 = CIRCLE ( 'NONE', #540, 1.000000000000000888 ) ; +#1054 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#1055 = ORIENTED_EDGE ( 'NONE', *, *, #1797, .F. ) ; +#1056 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#1057 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1058 = AXIS2_PLACEMENT_3D ( 'NONE', #1369, #2120, #763 ) ; +#1059 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1060 = EDGE_LOOP ( 'NONE', ( #2019, #1034, #1304, #346 ) ) ; +#1061 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1062 = ORIENTED_EDGE ( 'NONE', *, *, #1008, .T. ) ; +#1063 = FACE_OUTER_BOUND ( 'NONE', #1196, .T. ) ; +#1064 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1065 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433959999999729, 10.00000000000000000 ) ) ; +#1066 = EDGE_LOOP ( 'NONE', ( #33 ) ) ; +#1067 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1068 = EDGE_CURVE ( 'NONE', #55, #284, #246, .T. ) ; +#1069 = PLANE ( 'NONE', #2142 ) ; +#1070 = VERTEX_POINT ( 'NONE', #988 ) ; +#1071 = FACE_OUTER_BOUND ( 'NONE', #2003, .T. ) ; +#1072 = ORIENTED_EDGE ( 'NONE', *, *, #728, .F. ) ; +#1073 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1074 = CIRCLE ( 'NONE', #1395, 2.000000000000001776 ) ; +#1075 = LINE ( 'NONE', #1833, #761 ) ; +#1076 = DIRECTION ( 'NONE', ( 9.361563035194105199E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1077 = EDGE_CURVE ( 'NONE', #1213, #2087, #445, .T. ) ; +#1078 = ADVANCED_FACE ( 'NONE', ( #819 ), #650, .T. ) ; +#1079 = VECTOR ( 'NONE', #899, 1000.000000000000000 ) ; +#1080 = ORIENTED_EDGE ( 'NONE', *, *, #2203, .F. ) ; +#1081 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -157.5433959999999729, 10.00000000000000000 ) ) ; +#1082 = VERTEX_POINT ( 'NONE', #808 ) ; +#1083 = ORIENTED_EDGE ( 'NONE', *, *, #228, .T. ) ; +#1084 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#1085 = VECTOR ( 'NONE', #575, 1000.000000000000000 ) ; +#1086 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1087 = LOCAL_TIME ( 14, 15, 40.00000000000000000, #1084 ) ; +#1088 = ORIENTED_EDGE ( 'NONE', *, *, #2138, .F. ) ; +#1089 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1090 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1091 = EDGE_LOOP ( 'NONE', ( #1764, #292, #2383, #1491 ) ) ; +#1092 = VECTOR ( 'NONE', #645, 1000.000000000000000 ) ; +#1093 = VERTEX_POINT ( 'NONE', #1757 ) ; +#1094 = CALENDAR_DATE ( 2026, 15, 1 ) ; +#1095 = CYLINDRICAL_SURFACE ( 'NONE', #206, 1.000000000000000888 ) ; +#1096 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999987112, 10.00000000000000000 ) ) ; +#1097 = ORIENTED_EDGE ( 'NONE', *, *, #165, .F. ) ; +#1098 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1099 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866874, 0.000000000000000000 ) ) ; +#1100 = VERTEX_POINT ( 'NONE', #2139 ) ; +#1101 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #1651, #2222, ( #905 ) ) ; +#1102 = EDGE_CURVE ( 'NONE', #146, #1931, #62, .T. ) ; +#1103 = PLANE ( 'NONE', #280 ) ; +#1104 = ORIENTED_EDGE ( 'NONE', *, *, #2052, .F. ) ; +#1105 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#1106 = PERSON_AND_ORGANIZATION_ROLE ( 'classification_officer' ) ; +#1107 = CYLINDRICAL_SURFACE ( 'NONE', #887, 0.8983043470089796534 ) ; +#1108 = ADVANCED_FACE ( 'NONE', ( #1885 ), #2312, .T. ) ; +#1109 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1110 = AXIS2_PLACEMENT_3D ( 'NONE', #1465, #870, #2370 ) ; +#1111 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1112 = ORIENTED_EDGE ( 'NONE', *, *, #1117, .F. ) ; +#1113 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 17.45660499452101888, 0.000000000000000000 ) ) ; +#1114 = VERTEX_POINT ( 'NONE', #412 ) ; +#1115 = AXIS2_PLACEMENT_3D ( 'NONE', #390, #1851, #1147 ) ; +#1116 = ORIENTED_EDGE ( 'NONE', *, *, #2102, .T. ) ; +#1117 = EDGE_CURVE ( 'NONE', #1712, #549, #752, .T. ) ; +#1118 = ORIENTED_EDGE ( 'NONE', *, *, #1630, .F. ) ; +#1119 = EDGE_CURVE ( 'NONE', #1418, #1418, #1940, .T. ) ; +#1120 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1121 = LINE ( 'NONE', #1523, #845 ) ; +#1122 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1123 = ORIENTED_EDGE ( 'NONE', *, *, #1912, .F. ) ; +#1124 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1125 = PERSON ( '未', '未', '未', ('未'), ('未'), ('未') ) ; +#1126 = CYLINDRICAL_SURFACE ( 'NONE', #1840, 1.000000000000000888 ) ; +#1127 = EDGE_LOOP ( 'NONE', ( #829 ) ) ; +#1128 = VERTEX_POINT ( 'NONE', #2070 ) ; +#1129 = AXIS2_PLACEMENT_3D ( 'NONE', #2184, #1963, #1200 ) ; +#1130 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1131 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1132 = VERTEX_POINT ( 'NONE', #1503 ) ; +#1133 = FACE_OUTER_BOUND ( 'NONE', #1282, .T. ) ; +#1134 = VECTOR ( 'NONE', #1086, 1000.000000000000000 ) ; +#1135 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736138468, 0.000000000000000000 ) ) ; +#1136 = ADVANCED_FACE ( 'NONE', ( #189 ), #2300, .T. ) ; +#1137 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1138 = VERTEX_POINT ( 'NONE', #1924 ) ; +#1139 = LINE ( 'NONE', #183, #1791 ) ; +#1140 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1141 = VERTEX_POINT ( 'NONE', #1178 ) ; +#1142 = VERTEX_POINT ( 'NONE', #1345 ) ; +#1143 = EDGE_CURVE ( 'NONE', #1562, #194, #226, .T. ) ; +#1144 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 20.45660400000001644, 0.000000000000000000 ) ) ; +#1145 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1146 = ORIENTED_EDGE ( 'NONE', *, *, #2443, .T. ) ; +#1147 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1148 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1149 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 20.45660400000001644, 10.00000000000000000 ) ) ; +#1150 = ORIENTED_EDGE ( 'NONE', *, *, #1592, .F. ) ; +#1151 = ADVANCED_FACE ( 'NONE', ( #998 ), #214, .F. ) ; +#1152 = CIRCLE ( 'NONE', #2421, 0.8983043470089796534 ) ; +#1153 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1154 = ADVANCED_FACE ( 'NONE', ( #1702 ), #2093, .T. ) ; +#1155 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423614547, -155.9433975800037047, 2.000000000000000000 ) ) ; +#1156 = ORIENTED_EDGE ( 'NONE', *, *, #658, .T. ) ; +#1157 = ORIENTED_EDGE ( 'NONE', *, *, #2246, .F. ) ; +#1158 = CIRCLE ( 'NONE', #958, 1.000000000000000888 ) ; +#1159 = APPROVAL_ROLE ( '' ) ; +#1160 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1161 = ORIENTED_EDGE ( 'NONE', *, *, #1250, .T. ) ; +#1162 = AXIS2_PLACEMENT_3D ( 'NONE', #1821, #2189, #149 ) ; +#1163 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1164 = AXIS2_PLACEMENT_3D ( 'NONE', #552, #755, #1495 ) ; +#1165 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800627350, 18.96120903081405373, 10.00000000000000000 ) ) ; +#1166 = FACE_OUTER_BOUND ( 'NONE', #2144, .T. ) ; +#1167 = VERTEX_POINT ( 'NONE', #616 ) ; +#1168 = LINE ( 'NONE', #13, #548 ) ; +#1169 = PLANE ( 'NONE', #1319 ) ; +#1170 = ORIENTED_EDGE ( 'NONE', *, *, #339, .T. ) ; +#1171 = FACE_BOUND ( 'NONE', #1859, .T. ) ; +#1172 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1173 = CIRCLE ( 'NONE', #2362, 1.000000000000000888 ) ; +#1174 = EDGE_LOOP ( 'NONE', ( #1097 ) ) ; +#1175 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1176 = EDGE_CURVE ( 'NONE', #2288, #1716, #765, .T. ) ; +#1177 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1178 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332521648, -150.5433968397459807, 0.000000000000000000 ) ) ; +#1179 = AXIS2_PLACEMENT_3D ( 'NONE', #1895, #1935, #213 ) ; +#1180 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1181 = EDGE_LOOP ( 'NONE', ( #440 ) ) ; +#1182 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1183 = VERTEX_POINT ( 'NONE', #746 ) ; +#1184 = EDGE_LOOP ( 'NONE', ( #2013 ) ) ; +#1185 = LINE ( 'NONE', #2272, #343 ) ; +#1186 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398937989, 2.000000000000000000 ) ) ; +#1187 = EDGE_LOOP ( 'NONE', ( #1379, #338, #331, #1363 ) ) ; +#1188 = ADVANCED_FACE ( 'NONE', ( #401 ), #32, .T. ) ; +#1189 = CYLINDRICAL_SURFACE ( 'NONE', #723, 0.8983045201146691028 ) ; +#1190 = EDGE_CURVE ( 'NONE', #471, #471, #1010, .T. ) ; +#1191 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736138468, 10.00000000000000000 ) ) ; +#1192 = EDGE_CURVE ( 'NONE', #2116, #190, #579, .T. ) ; +#1193 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020787659, 21.45660400000001289, 10.00000000000000000 ) ) ; +#1194 = ORIENTED_EDGE ( 'NONE', *, *, #349, .T. ) ; +#1195 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 0.000000000000000000 ) ) ; +#1196 = EDGE_LOOP ( 'NONE', ( #1299, #1447, #177, #1576 ) ) ; +#1197 = AXIS2_PLACEMENT_3D ( 'NONE', #1172, #1160, #1754 ) ; +#1198 = ORIENTED_EDGE ( 'NONE', *, *, #128, .F. ) ; +#1199 = VECTOR ( 'NONE', #1248, 1000.000000000000000 ) ; +#1200 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1201 = ORIENTED_EDGE ( 'NONE', *, *, #2257, .F. ) ; +#1202 = EDGE_CURVE ( 'NONE', #960, #1663, #1910, .T. ) ; +#1203 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1204 = VECTOR ( 'NONE', #963, 1000.000000000000000 ) ; +#1205 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1206 = LINE ( 'NONE', #809, #1979 ) ; +#1207 = AXIS2_PLACEMENT_3D ( 'NONE', #1710, #39, #2286 ) ; +#1208 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 10.95660477088671136, 0.000000000000000000 ) ) ; +#1209 = ORIENTED_EDGE ( 'NONE', *, *, #561, .F. ) ; +#1210 = FACE_OUTER_BOUND ( 'NONE', #227, .T. ) ; +#1211 = CIRCLE ( 'NONE', #2199, 1.000000000000000888 ) ; +#1212 = PLANE ( 'NONE', #1252 ) ; +#1213 = VERTEX_POINT ( 'NONE', #1145 ) ; +#1214 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1215 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999998447, 10.95660477088671136, 10.00000000000000000 ) ) ; +#1216 = FACE_OUTER_BOUND ( 'NONE', #1419, .T. ) ; +#1217 = CARTESIAN_POINT ( 'NONE', ( 63.45660400000002710, -156.0480010736138468, 0.000000000000000000 ) ) ; +#1218 = ADVANCED_FACE ( 'NONE', ( #1371 ), #1896, .F. ) ; +#1219 = ORIENTED_EDGE ( 'NONE', *, *, #1955, .T. ) ; +#1220 = LINE ( 'NONE', #1970, #738 ) ; +#1221 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1222 = EDGE_CURVE ( 'NONE', #368, #303, #562, .T. ) ; +#1223 = EDGE_LOOP ( 'NONE', ( #2212 ) ) ; +#1224 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1225 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1226 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1227 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#1228 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1229 = VERTEX_POINT ( 'NONE', #89 ) ; +#1230 = APPROVAL ( #848, '未' ) ; +#1231 = VERTEX_POINT ( 'NONE', #588 ) ; +#1232 = CYLINDRICAL_SURFACE ( 'NONE', #719, 1.000000000000000888 ) ; +#1233 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1234 = EDGE_LOOP ( 'NONE', ( #868 ) ) ; +#1235 = CIRCLE ( 'NONE', #1032, 1.000000000000000888 ) ; +#1236 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890862592, -128.1433958398937989, 2.000000000000000000 ) ) ; +#1237 = ORIENTED_EDGE ( 'NONE', *, *, #931, .T. ) ; +#1238 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999998447, 18.96120907361388319, 10.00000000000000000 ) ) ; +#1239 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1240 = ORIENTED_EDGE ( 'NONE', *, *, #427, .F. ) ; +#1241 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231106154, -130.5433959999999729, 0.000000000000000000 ) ) ; +#1242 = CYLINDRICAL_SURFACE ( 'NONE', #293, 0.8983045201146691028 ) ; +#1243 = ORIENTED_EDGE ( 'NONE', *, *, #1008, .F. ) ; +#1244 = VECTOR ( 'NONE', #779, 1000.000000000000000 ) ; +#1245 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452101533, 0.000000000000000000 ) ) ; +#1246 = ORIENTED_EDGE ( 'NONE', *, *, #871, .T. ) ; +#1247 = LINE ( 'NONE', #2004, #844 ) ; +#1248 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1249 = APPROVAL_PERSON_ORGANIZATION ( #519, #823, #148 ) ; +#1250 = EDGE_CURVE ( 'NONE', #1551, #1551, #1047, .T. ) ; +#1251 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1252 = AXIS2_PLACEMENT_3D ( 'NONE', #1603, #635, #1233 ) ; +#1253 = VERTEX_POINT ( 'NONE', #1043 ) ; +#1254 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1255 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1256 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742550816, 10.00000000000000000 ) ) ; +#1257 = AXIS2_PLACEMENT_3D ( 'NONE', #2018, #2215, #1276 ) ; +#1258 = ORIENTED_EDGE ( 'NONE', *, *, #611, .F. ) ; +#1259 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 21.45660400000001644, 10.00000000000000000 ) ) ; +#1260 = EDGE_CURVE ( 'NONE', #1581, #1607, #2169, .T. ) ; +#1261 = ADVANCED_FACE ( 'NONE', ( #646 ), #670, .T. ) ; +#1262 = ORIENTED_EDGE ( 'NONE', *, *, #1686, .F. ) ; +#1263 = CALENDAR_DATE ( 2026, 15, 1 ) ; +#1264 = LINE ( 'NONE', #319, #47 ) ; +#1265 = AXIS2_PLACEMENT_3D ( 'NONE', #1328, #38, #2307 ) ; +#1266 = CARTESIAN_POINT ( 'NONE', ( 63.45660400000002710, -156.0480010736138468, 10.00000000000000000 ) ) ; +#1267 = ADVANCED_FACE ( 'NONE', ( #837, #58 ), #1242, .F. ) ; +#1268 = ORIENTED_EDGE ( 'NONE', *, *, #2322, .T. ) ; +#1269 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1270 = ADVANCED_FACE ( 'NONE', ( #2336 ), #71, .F. ) ; +#1271 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1272 = ORIENTED_EDGE ( 'NONE', *, *, #2125, .T. ) ; +#1273 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1274 = EDGE_LOOP ( 'NONE', ( #138, #37, #967, #1050 ) ) ; +#1275 = AXIS2_PLACEMENT_3D ( 'NONE', #1113, #731, #1664 ) ; +#1276 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1277 = VECTOR ( 'NONE', #173, 1000.000000000000000 ) ; +#1278 = CIRCLE ( 'NONE', #2106, 1.000000000000000888 ) ; +#1279 = ORIENTED_EDGE ( 'NONE', *, *, #824, .F. ) ; +#1280 = LINE ( 'NONE', #1736, #2223 ) ; +#1281 = VECTOR ( 'NONE', #2265, 1000.000000000000000 ) ; +#1282 = EDGE_LOOP ( 'NONE', ( #1831, #2323, #741, #1243 ) ) ; +#1283 = VERTEX_POINT ( 'NONE', #828 ) ; +#1284 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1285 = DATE_AND_TIME ( #507, #538 ) ; +#1286 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 12.95660477088671136, 10.00000000000000000 ) ) ; +#1287 = LINE ( 'NONE', #159, #1688 ) ; +#1288 = AXIS2_PLACEMENT_3D ( 'NONE', #1412, #688, #1423 ) ; +#1289 = ORIENTED_EDGE ( 'NONE', *, *, #680, .T. ) ; +#1290 = ADVANCED_FACE ( 'NONE', ( #453 ), #1212, .T. ) ; +#1291 = EDGE_CURVE ( 'NONE', #2308, #2308, #144, .T. ) ; +#1292 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1293 = EDGE_LOOP ( 'NONE', ( #273, #1825, #2311, #838 ) ) ; +#1294 = AXIS2_PLACEMENT_3D ( 'NONE', #1577, #1776, #1765 ) ; +#1295 = ADVANCED_FACE ( 'NONE', ( #2325 ), #1396, .F. ) ; +#1296 = EDGE_LOOP ( 'NONE', ( #1305, #2192, #1317, #439 ) ) ; +#1297 = LINE ( 'NONE', #2072, #1636 ) ; +#1298 = LINE ( 'NONE', #2045, #2029 ) ; +#1299 = ORIENTED_EDGE ( 'NONE', *, *, #491, .T. ) ; +#1300 = EDGE_CURVE ( 'NONE', #1424, #160, #1983, .T. ) ; +#1301 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1302 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1303 = EDGE_CURVE ( 'NONE', #1283, #1655, #2133, .T. ) ; +#1304 = ORIENTED_EDGE ( 'NONE', *, *, #1384, .F. ) ; +#1305 = ORIENTED_EDGE ( 'NONE', *, *, #1102, .F. ) ; +#1306 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#1307 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1308 = VECTOR ( 'NONE', #630, 1000.000000000000000 ) ; +#1309 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1310 = VECTOR ( 'NONE', #797, 1000.000000000000000 ) ; +#1311 = CYLINDRICAL_SURFACE ( 'NONE', #1647, 126.6268659918020063 ) ; +#1312 = EDGE_LOOP ( 'NONE', ( #215, #2295, #613, #1542 ) ) ; +#1313 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1314 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1315 = AXIS2_PLACEMENT_3D ( 'NONE', #1389, #1000, #831 ) ; +#1316 = ORIENTED_EDGE ( 'NONE', *, *, #917, .T. ) ; +#1317 = ORIENTED_EDGE ( 'NONE', *, *, #1029, .F. ) ; +#1318 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231106154, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1319 = AXIS2_PLACEMENT_3D ( 'NONE', #1919, #557, #1737 ) ; +#1320 = VERTEX_POINT ( 'NONE', #287 ) ; +#1321 = EDGE_CURVE ( 'NONE', #2364, #1138, #1787, .T. ) ; +#1322 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452101533, 10.00000000000000000 ) ) ; +#1323 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020793343, -158.5433959999999729, 0.000000000000000000 ) ) ; +#1324 = AXIS2_PLACEMENT_3D ( 'NONE', #1715, #2122, #20 ) ; +#1325 = ADVANCED_FACE ( 'NONE', ( #849 ), #487, .F. ) ; +#1326 = LINE ( 'NONE', #2061, #1959 ) ; +#1327 = ORIENTED_EDGE ( 'NONE', *, *, #80, .T. ) ; +#1328 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332521648, -150.5433968397459807, -13.00000000000000000 ) ) ; +#1329 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -153.0433963742550816, 6.000000000000000000 ) ) ; +#1330 = ORIENTED_EDGE ( 'NONE', *, *, #1912, .T. ) ; +#1331 = VERTEX_POINT ( 'NONE', #264 ) ; +#1332 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 6.000000000000000000 ) ) ; +#1333 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1334 = ORIENTED_EDGE ( 'NONE', *, *, #2351, .F. ) ; +#1335 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106185988, 3.000000000000000000 ) ) ; +#1336 = EDGE_CURVE ( 'NONE', #1751, #1751, #1870, .T. ) ; +#1337 = AXIS2_PLACEMENT_3D ( 'NONE', #1065, #127, #1109 ) ; +#1338 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1339 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736138468, 0.000000000000000000 ) ) ; +#1340 = ORIENTED_EDGE ( 'NONE', *, *, #1797, .T. ) ; +#1341 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1342 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435082345, -155.9433975800037047, 10.00000000000000000 ) ) ; +#1343 = VERTEX_POINT ( 'NONE', #474 ) ; +#1344 = CYLINDRICAL_SURFACE ( 'NONE', #1058, 2.000000000000001776 ) ; +#1345 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1346 = ORIENTED_EDGE ( 'NONE', *, *, #1728, .T. ) ; +#1347 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1348 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742550816, 0.000000000000000000 ) ) ; +#1349 = FACE_OUTER_BOUND ( 'NONE', #2452, .T. ) ; +#1350 = ORIENTED_EDGE ( 'NONE', *, *, #1744, .F. ) ; +#1351 = CIRCLE ( 'NONE', #1943, 1.000000000000000888 ) ; +#1352 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 10.00000000000000000 ) ) ; +#1353 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -129.5433959999999729, 10.00000000000000000 ) ) ; +#1354 = ORIENTED_EDGE ( 'NONE', *, *, #781, .T. ) ; +#1355 = ORIENTED_EDGE ( 'NONE', *, *, #1012, .T. ) ; +#1356 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1357 = EDGE_CURVE ( 'NONE', #2386, #1082, #2157, .T. ) ; +#1358 = AXIS2_PLACEMENT_3D ( 'NONE', #131, #1854, #2254 ) ; +#1359 = ORIENTED_EDGE ( 'NONE', *, *, #2211, .F. ) ; +#1360 = LINE ( 'NONE', #1571, #136 ) ; +#1361 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1362 = FACE_BOUND ( 'NONE', #1934, .T. ) ; +#1363 = ORIENTED_EDGE ( 'NONE', *, *, #684, .F. ) ; +#1364 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1365 = AXIS2_PLACEMENT_3D ( 'NONE', #200, #974, #1131 ) ; +#1366 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #124, #778, ( #905 ) ) ; +#1367 = EDGE_CURVE ( 'NONE', #160, #1480, #863, .T. ) ; +#1368 = VERTEX_POINT ( 'NONE', #1021 ) ; +#1369 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 10.00000000000000000 ) ) ; +#1370 = SECURITY_CLASSIFICATION ( '', '', #2213 ) ; +#1371 = FACE_OUTER_BOUND ( 'NONE', #325, .T. ) ; +#1372 = VECTOR ( 'NONE', #277, 1000.000000000000000 ) ; +#1373 = EDGE_LOOP ( 'NONE', ( #1258, #798, #835, #2094 ) ) ; +#1374 = ADVANCED_FACE ( 'NONE', ( #1777 ), #1589, .F. ) ; +#1375 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1376 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1377 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999987112, 10.00000000000000000 ) ) ; +#1378 = AXIS2_PLACEMENT_3D ( 'NONE', #1671, #2226, #310 ) ; +#1379 = ORIENTED_EDGE ( 'NONE', *, *, #2400, .F. ) ; +#1380 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800037047, 10.00000000000000000 ) ) ; +#1381 = EDGE_CURVE ( 'NONE', #2284, #1727, #1326, .T. ) ; +#1382 = VERTEX_POINT ( 'NONE', #553 ) ; +#1383 = FACE_BOUND ( 'NONE', #164, .T. ) ; +#1384 = EDGE_CURVE ( 'NONE', #583, #536, #2251, .T. ) ; +#1385 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 3.000000000000000000 ) ) ; +#1386 = AXIS2_PLACEMENT_3D ( 'NONE', #27, #1550, #789 ) ; +#1387 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #1105, 'distance_accuracy_value', 'NONE'); +#1388 = ORIENTED_EDGE ( 'NONE', *, *, #1190, .T. ) ; +#1389 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452101533, 10.00000000000000000 ) ) ; +#1390 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1391 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1392 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1393 = EDGE_LOOP ( 'NONE', ( #437 ) ) ; +#1394 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -150.0433967708866874, 10.00000000000000000 ) ) ; +#1395 = AXIS2_PLACEMENT_3D ( 'NONE', #220, #833, #446 ) ; +#1396 = PLANE ( 'NONE', #2278 ) ; +#1397 = AXIS2_PLACEMENT_3D ( 'NONE', #1456, #2449, #1067 ) ; +#1398 = EDGE_LOOP ( 'NONE', ( #1007 ) ) ; +#1399 = LINE ( 'NONE', #2149, #1372 ) ; +#1400 = CIRCLE ( 'NONE', #326, 2.000000000000001776 ) ; +#1401 = EDGE_CURVE ( 'NONE', #1607, #933, #1498, .T. ) ; +#1402 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1403 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -158.5433959999999729, 0.000000000000000000 ) ) ; +#1404 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1405 = VERTEX_POINT ( 'NONE', #2154 ) ; +#1406 = EDGE_CURVE ( 'NONE', #224, #1712, #2316, .T. ) ; +#1407 = VECTOR ( 'NONE', #1026, 1000.000000000000000 ) ; +#1408 = ORIENTED_EDGE ( 'NONE', *, *, #747, .T. ) ; +#1409 = CYLINDRICAL_SURFACE ( 'NONE', #1611, 2.000000000000001776 ) ; +#1410 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999984447, 0.000000000000000000 ) ) ; +#1411 = ORIENTED_EDGE ( 'NONE', *, *, #972, .T. ) ; +#1412 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -153.8312337827360068, 10.00000000000000000 ) ) ; +#1413 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1414 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1415 = ADVANCED_FACE ( 'NONE', ( #120 ), #1311, .F. ) ; +#1416 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1417 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1418 = VERTEX_POINT ( 'NONE', #2166 ) ; +#1419 = EDGE_LOOP ( 'NONE', ( #2123 ) ) ; +#1420 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088671136, 6.000000000000000000 ) ) ; +#1421 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1422 = ORIENTED_EDGE ( 'NONE', *, *, #459, .T. ) ; +#1423 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1424 = VERTEX_POINT ( 'NONE', #1122 ) ; +#1425 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1426 = FACE_OUTER_BOUND ( 'NONE', #983, .T. ) ; +#1427 = ORIENTED_EDGE ( 'NONE', *, *, #2140, .T. ) ; +#1428 = LINE ( 'NONE', #79, #2367 ) ; +#1429 = ADVANCED_FACE ( 'NONE', ( #380 ), #940, .T. ) ; +#1430 = VECTOR ( 'NONE', #375, 1000.000000000000000 ) ; +#1431 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 16.74444178273601480, 10.00000000000000000 ) ) ; +#1432 = ORIENTED_EDGE ( 'NONE', *, *, #925, .F. ) ; +#1433 = AXIS2_PLACEMENT_3D ( 'NONE', #966, #1915, #989 ) ; +#1434 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1435 = EDGE_CURVE ( 'NONE', #376, #1749, #2447, .T. ) ; +#1436 = VERTEX_POINT ( 'NONE', #892 ) ; +#1437 = VECTOR ( 'NONE', #1704, 1000.000000000000000 ) ; +#1438 = LINE ( 'NONE', #678, #1632 ) ; +#1439 = LINE ( 'NONE', #142, #1134 ) ; +#1440 = EDGE_LOOP ( 'NONE', ( #794, #44, #980, #1687 ) ) ; +#1441 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1442 = EDGE_CURVE ( 'NONE', #1755, #199, #1211, .T. ) ; +#1443 = PLANE ( 'NONE', #359 ) ; +#1444 = ORIENTED_EDGE ( 'NONE', *, *, #853, .F. ) ; +#1445 = AXIS2_PLACEMENT_3D ( 'NONE', #985, #1726, #804 ) ; +#1446 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866874, 10.00000000000000000 ) ) ; +#1447 = ORIENTED_EDGE ( 'NONE', *, *, #383, .T. ) ; +#1448 = EDGE_CURVE ( 'NONE', #1937, #1231, #67, .T. ) ; +#1449 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1450 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890862592, -128.1433958398937989, 10.00000000000000000 ) ) ; +#1451 = APPROVAL_PERSON_ORGANIZATION ( #533, #742, #1159 ) ; +#1452 = ADVANCED_FACE ( 'NONE', ( #1458 ), #1069, .T. ) ; +#1453 = LINE ( 'NONE', #708, #508 ) ; +#1454 = AXIS2_PLACEMENT_3D ( 'NONE', #2267, #502, #582 ) ; +#1455 = ORIENTED_EDGE ( 'NONE', *, *, #1982, .F. ) ; +#1456 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 3.000000000000000000 ) ) ; +#1457 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#1458 = FACE_OUTER_BOUND ( 'NONE', #970, .T. ) ; +#1459 = AXIS2_PLACEMENT_3D ( 'NONE', #902, #715, #1076 ) ; +#1460 = ORIENTED_EDGE ( 'NONE', *, *, #378, .T. ) ; +#1461 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.229739708000459917E-16, 0.000000000000000000 ) ) ; +#1462 = VERTEX_POINT ( 'NONE', #1827 ) ; +#1463 = CALENDAR_DATE ( 2026, 15, 1 ) ; +#1464 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1465 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 10.00000000000000000 ) ) ; +#1466 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1467 = ORIENTED_EDGE ( 'NONE', *, *, #217, .F. ) ; +#1468 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1469 = VERTEX_POINT ( 'NONE', #193 ) ; +#1470 = CIRCLE ( 'NONE', #997, 2.000000000000001776 ) ; +#1471 = EDGE_LOOP ( 'NONE', ( #532 ) ) ; +#1472 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#1473 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866874, 6.000000000000000000 ) ) ; +#1474 = EDGE_CURVE ( 'NONE', #110, #1684, #1707, .T. ) ; +#1475 = PLANE ( 'NONE', #1378 ) ; +#1476 = ORIENTED_EDGE ( 'NONE', *, *, #427, .T. ) ; +#1477 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1478 = EDGE_CURVE ( 'NONE', #1469, #1937, #1682, .T. ) ; +#1479 = CIRCLE ( 'NONE', #1909, 1.000000000000000888 ) ; +#1480 = VERTEX_POINT ( 'NONE', #771 ) ; +#1481 = ORIENTED_EDGE ( 'NONE', *, *, #272, .T. ) ; +#1482 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423614547, -155.9433975800037047, 10.00000000000000000 ) ) ; +#1483 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1484 = LINE ( 'NONE', #2238, #268 ) ; +#1485 = ADVANCED_FACE ( 'NONE', ( #1524 ), #1443, .T. ) ; +#1486 = EDGE_CURVE ( 'NONE', #1027, #188, #1351, .T. ) ; +#1487 = AXIS2_PLACEMENT_3D ( 'NONE', #304, #1273, #1434 ) ; +#1488 = EDGE_LOOP ( 'NONE', ( #1044 ) ) ; +#1489 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435078082, 18.85660558000371623, 3.000000000000000000 ) ) ; +#1490 = PLANE ( 'NONE', #22 ) ; +#1491 = ORIENTED_EDGE ( 'NONE', *, *, #1176, .F. ) ; +#1492 = CIRCLE ( 'NONE', #1926, 1.000000000000000888 ) ; +#1493 = ORIENTED_EDGE ( 'NONE', *, *, #195, .F. ) ; +#1494 = FACE_OUTER_BOUND ( 'NONE', #2396, .T. ) ; +#1495 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1496 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #2369 ) ; +#1497 = CIRCLE ( 'NONE', #1386, 1.250000000000001110 ) ; +#1498 = LINE ( 'NONE', #133, #927 ) ; +#1499 = EDGE_LOOP ( 'NONE', ( #2220, #2319, #2376, #1793 ) ) ; +#1500 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -129.5433959999999729, 0.000000000000000000 ) ) ; +#1501 = VERTEX_POINT ( 'NONE', #448 ) ; +#1502 = ORIENTED_EDGE ( 'NONE', *, *, #2435, .T. ) ; +#1503 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999998447, 18.96120903081405373, 10.00000000000000000 ) ) ; +#1504 = ORIENTED_EDGE ( 'NONE', *, *, #1357, .T. ) ; +#1505 = EDGE_CURVE ( 'NONE', #1142, #1964, #2208, .T. ) ; +#1506 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999998447, 12.95660477088671136, 6.000000000000000000 ) ) ; +#1507 = AXIS2_PLACEMENT_3D ( 'NONE', #2150, #619, #840 ) ; +#1508 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#1509 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1510 = ORIENTED_EDGE ( 'NONE', *, *, #1367, .F. ) ; +#1511 = LINE ( 'NONE', #1902, #2454 ) ; +#1512 = LINE ( 'NONE', #1140, #1085 ) ; +#1513 = VECTOR ( 'NONE', #2224, 1000.000000000000000 ) ; +#1514 = ORIENTED_EDGE ( 'NONE', *, *, #712, .F. ) ; +#1515 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435082345, -155.9433975800037047, 2.000000000000000000 ) ) ; +#1516 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #2034, #703, ( #2369 ) ) ; +#1517 = EDGE_CURVE ( 'NONE', #544, #1749, #354, .T. ) ; +#1518 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1519 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1520 = AXIS2_PLACEMENT_3D ( 'NONE', #324, #1090, #1057 ) ; +#1521 = ORIENTED_EDGE ( 'NONE', *, *, #245, .F. ) ; +#1522 = FACE_OUTER_BOUND ( 'NONE', #2155, .T. ) ; +#1523 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -148.0433967708866874, 10.00000000000000000 ) ) ; +#1524 = FACE_OUTER_BOUND ( 'NONE', #387, .T. ) ; +#1525 = ORIENTED_EDGE ( 'NONE', *, *, #824, .T. ) ; +#1526 = CYLINDRICAL_SURFACE ( 'NONE', #2273, 0.8983045201146760972 ) ; +#1527 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1528 = ORIENTED_EDGE ( 'NONE', *, *, #1176, .T. ) ; +#1529 = ORIENTED_EDGE ( 'NONE', *, *, #2240, .T. ) ; +#1530 = APPROVAL_STATUS ( 'not_yet_approved' ) ; +#1531 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1532 = ORIENTED_EDGE ( 'NONE', *, *, #906, .T. ) ; +#1533 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999984447, 0.000000000000000000 ) ) ; +#1534 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800766352, -282.6748670226160129, 0.000000000000000000 ) ) ; +#1535 = LINE ( 'NONE', #36, #1310 ) ; +#1536 = VERTEX_POINT ( 'NONE', #1771 ) ; +#1537 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#1538 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1539 = ORIENTED_EDGE ( 'NONE', *, *, #1658, .T. ) ; +#1540 = ORIENTED_EDGE ( 'NONE', *, *, #335, .T. ) ; +#1541 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1542 = ORIENTED_EDGE ( 'NONE', *, *, #1761, .T. ) ; +#1543 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1544 = PLANE ( 'NONE', #724 ) ; +#1545 = ADVANCED_FACE ( 'NONE', ( #1362, #424, #1759, #631, #2305, #1166 ), #1004, .F. ) ; +#1546 = CIRCLE ( 'NONE', #2178, 0.8983045201146691028 ) ; +#1547 = LINE ( 'NONE', #1193, #2262 ) ; +#1548 = ORIENTED_EDGE ( 'NONE', *, *, #1435, .F. ) ; +#1549 = AXIS2_PLACEMENT_3D ( 'NONE', #1130, #1884, #1518 ) ; +#1550 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1551 = VERTEX_POINT ( 'NONE', #283 ) ; +#1552 = EDGE_LOOP ( 'NONE', ( #1708, #182, #898, #956 ) ) ; +#1553 = EDGE_CURVE ( 'NONE', #1666, #1666, #86, .T. ) ; +#1554 = FACE_BOUND ( 'NONE', #1223, .T. ) ; +#1555 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999984447, 10.00000000000000000 ) ) ; +#1556 = ORIENTED_EDGE ( 'NONE', *, *, #1565, .F. ) ; +#1557 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#1558 = LINE ( 'NONE', #229, #1832 ) ; +#1559 = LINE ( 'NONE', #1191, #1308 ) ; +#1560 = EDGE_CURVE ( 'NONE', #934, #2334, #2141, .T. ) ; +#1561 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1562 = VERTEX_POINT ( 'NONE', #1403 ) ; +#1563 = LINE ( 'NONE', #610, #2333 ) ; +#1564 = VECTOR ( 'NONE', #2363, 1000.000000000000000 ) ; +#1565 = EDGE_CURVE ( 'NONE', #1799, #1320, #1074, .T. ) ; +#1566 = ORIENTED_EDGE ( 'NONE', *, *, #567, .T. ) ; +#1567 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1568 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#1569 = EDGE_LOOP ( 'NONE', ( #1022 ) ) ; +#1570 = AXIS2_PLACEMENT_3D ( 'NONE', #1801, #1998, #1030 ) ; +#1571 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1572 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1573 = LINE ( 'NONE', #2099, #716 ) ; +#1574 = AXIS2_PLACEMENT_3D ( 'NONE', #642, #1228, #259 ) ; +#1575 = CYLINDRICAL_SURFACE ( 'NONE', #1574, 1.250000000000001110 ) ; +#1576 = ORIENTED_EDGE ( 'NONE', *, *, #477, .F. ) ; +#1577 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -157.5433959999999729, 10.00000000000000000 ) ) ; +#1578 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#1579 = EDGE_CURVE ( 'NONE', #190, #2233, #1573, .T. ) ; +#1580 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 21.45660400000001644, 10.00000000000000000 ) ) ; +#1581 = VERTEX_POINT ( 'NONE', #247 ) ; +#1582 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1583 = EDGE_CURVE ( 'NONE', #1716, #1789, #2115, .T. ) ; +#1584 = PLANE ( 'NONE', #1747 ) ; +#1585 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#1586 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1587 = ORIENTED_EDGE ( 'NONE', *, *, #1303, .F. ) ; +#1588 = CYLINDRICAL_SURFACE ( 'NONE', #1294, 1.000000000000000888 ) ; +#1589 = CYLINDRICAL_SURFACE ( 'NONE', #1454, 126.6268659918020063 ) ; +#1590 = EDGE_LOOP ( 'NONE', ( #1566 ) ) ; +#1591 = EDGE_CURVE ( 'NONE', #805, #934, #1470, .T. ) ; +#1592 = EDGE_CURVE ( 'NONE', #2181, #188, #1206, .T. ) ; +#1593 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1594 = CIRCLE ( 'NONE', #721, 2.000000000000001776 ) ; +#1595 = VECTOR ( 'NONE', #1582, 1000.000000000000000 ) ; +#1596 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1597 = AXIS2_PLACEMENT_3D ( 'NONE', #24, #379, #2281 ) ; +#1598 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1599 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1600 = ORIENTED_EDGE ( 'NONE', *, *, #19, .F. ) ; +#1601 = FACE_OUTER_BOUND ( 'NONE', #123, .T. ) ; +#1602 = APPROVAL_ROLE ( '' ) ; +#1603 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742550816, 10.00000000000000000 ) ) ; +#1604 = ORIENTED_EDGE ( 'NONE', *, *, #906, .F. ) ; +#1605 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1606 = AXIS2_PLACEMENT_3D ( 'NONE', #701, #1461, #83 ) ; +#1607 = VERTEX_POINT ( 'NONE', #258 ) ; +#1608 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1609 = PLANE ( 'NONE', #1110 ) ; +#1610 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1611 = AXIS2_PLACEMENT_3D ( 'NONE', #1394, #1009, #1613 ) ; +#1612 = ORIENTED_EDGE ( 'NONE', *, *, #295, .F. ) ; +#1613 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1614 = ADVANCED_FACE ( 'NONE', ( #232 ), #2151, .T. ) ; +#1615 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1616 = ORIENTED_EDGE ( 'NONE', *, *, #1077, .T. ) ; +#1617 = PLANE ( 'NONE', #1606 ) ; +#1618 = ORIENTED_EDGE ( 'NONE', *, *, #936, .F. ) ; +#1619 = FACE_OUTER_BOUND ( 'NONE', #1552, .T. ) ; +#1620 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1621 = DIRECTION ( 'NONE', ( -1.000000000000000000, -5.782411586589351722E-16, 0.000000000000000000 ) ) ; +#1622 = ADVANCED_FACE ( 'NONE', ( #2318 ), #621, .T. ) ; +#1623 = EDGE_CURVE ( 'NONE', #2233, #577, #593, .T. ) ; +#1624 = ORIENTED_EDGE ( 'NONE', *, *, #830, .T. ) ; +#1625 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 0.000000000000000000 ) ) ; +#1626 = ADVANCED_FACE ( 'NONE', ( #1349 ), #2340, .T. ) ; +#1627 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1628 = CIRCLE ( 'NONE', #675, 1.000000000000000888 ) ; +#1629 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1630 = EDGE_CURVE ( 'NONE', #1093, #690, #2382, .T. ) ; +#1631 = VERTEX_POINT ( 'NONE', #25 ) ; +#1632 = VECTOR ( 'NONE', #2190, 1000.000000000000000 ) ; +#1633 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1634 = EDGE_LOOP ( 'NONE', ( #2437 ) ) ; +#1635 = APPROVAL_DATE_TIME ( #882, #823 ) ; +#1636 = VECTOR ( 'NONE', #924, 1000.000000000000000 ) ; +#1637 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 20.45660400000001644, 0.000000000000000000 ) ) ; +#1638 = DIRECTION ( 'NONE', ( 9.361563035194105199E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1639 = EDGE_CURVE ( 'NONE', #860, #1027, #1535, .T. ) ; +#1640 = CIRCLE ( 'NONE', #568, 1.000000000000000888 ) ; +#1641 = ORIENTED_EDGE ( 'NONE', *, *, #413, .F. ) ; +#1642 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106185988, 10.00000000000000000 ) ) ; +#1643 = CIRCLE ( 'NONE', #17, 1.000000000000000888 ) ; +#1644 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452101533, 10.00000000000000000 ) ) ; +#1645 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1646 = ORIENTED_EDGE ( 'NONE', *, *, #1696, .T. ) ; +#1647 = AXIS2_PLACEMENT_3D ( 'NONE', #367, #1876, #2283 ) ; +#1648 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#1649 = ORIENTED_EDGE ( 'NONE', *, *, #1729, .T. ) ; +#1650 = VERTEX_POINT ( 'NONE', #2014 ) ; +#1651 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#1652 = FACE_OUTER_BOUND ( 'NONE', #1488, .T. ) ; +#1653 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1654 = LINE ( 'NONE', #2191, #827 ) ; +#1655 = VERTEX_POINT ( 'NONE', #436 ) ; +#1656 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1657 = EDGE_LOOP ( 'NONE', ( #586, #1897, #1665, #12 ) ) ; +#1658 = EDGE_CURVE ( 'NONE', #1128, #135, #1547, .T. ) ; +#1659 = ORIENTED_EDGE ( 'NONE', *, *, #339, .F. ) ; +#1660 = ADVANCED_FACE ( 'NONE', ( #1976 ), #102, .F. ) ; +#1661 = EDGE_CURVE ( 'NONE', #1802, #1581, #1036, .T. ) ; +#1662 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231106154, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1663 = VERTEX_POINT ( 'NONE', #2163 ) ; +#1664 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1665 = ORIENTED_EDGE ( 'NONE', *, *, #1102, .T. ) ; +#1666 = VERTEX_POINT ( 'NONE', #361 ) ; +#1667 = ADVANCED_FACE ( 'NONE', ( #1781 ), #1609, .T. ) ; +#1668 = AXIS2_PLACEMENT_3D ( 'NONE', #1585, #1016, #1561 ) ; +#1669 = ORIENTED_EDGE ( 'NONE', *, *, #2051, .T. ) ; +#1670 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1671 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -137.0867919999999742, 2.000000000000000000 ) ) ; +#1672 = ORIENTED_EDGE ( 'NONE', *, *, #2021, .F. ) ; +#1673 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1674 = CIRCLE ( 'NONE', #922, 2.000000000000001776 ) ; +#1675 = ORIENTED_EDGE ( 'NONE', *, *, #1879, .F. ) ; +#1676 = DIRECTION ( 'NONE', ( 1.000000000000000000, 5.242475914186690410E-16, 0.000000000000000000 ) ) ; +#1677 = ORIENTED_EDGE ( 'NONE', *, *, #366, .T. ) ; +#1678 = VECTOR ( 'NONE', #2347, 1000.000000000000000 ) ; +#1679 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1680 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1681 = PLANE ( 'NONE', #2118 ) ; +#1682 = LINE ( 'NONE', #11, #400 ) ; +#1683 = CIRCLE ( 'NONE', #2237, 0.8983045201146760972 ) ; +#1684 = VERTEX_POINT ( 'NONE', #2379 ) ; +#1685 = CYLINDRICAL_SURFACE ( 'NONE', #1397, 0.8983043470089796534 ) ; +#1686 = EDGE_CURVE ( 'NONE', #1183, #1183, #1152, .T. ) ; +#1687 = ORIENTED_EDGE ( 'NONE', *, *, #1744, .T. ) ; +#1688 = VECTOR ( 'NONE', #2395, 1000.000000000000000 ) ; +#1689 = ORIENTED_EDGE ( 'NONE', *, *, #1406, .F. ) ; +#1690 = LINE ( 'NONE', #1679, #1513 ) ; +#1691 = CYLINDRICAL_SURFACE ( 'NONE', #480, 1.000000000000000888 ) ; +#1692 = CIRCLE ( 'NONE', #1933, 1.000000000000000888 ) ; +#1693 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1694 = ORIENTED_EDGE ( 'NONE', *, *, #40, .F. ) ; +#1695 = EDGE_CURVE ( 'NONE', #1937, #2134, #1967, .T. ) ; +#1696 = EDGE_CURVE ( 'NONE', #910, #1987, #2394, .T. ) ; +#1697 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.273191542001326810E-16, 0.000000000000000000 ) ) ; +#1698 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433959999999729, 0.000000000000000000 ) ) ; +#1699 = ORIENTED_EDGE ( 'NONE', *, *, #1003, .T. ) ; +#1700 = ORIENTED_EDGE ( 'NONE', *, *, #1381, .F. ) ; +#1701 = EDGE_CURVE ( 'NONE', #166, #2268, #1438, .T. ) ; +#1702 = FACE_OUTER_BOUND ( 'NONE', #2037, .T. ) ; +#1703 = ORIENTED_EDGE ( 'NONE', *, *, #658, .F. ) ; +#1704 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1705 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1706 = AXIS2_PLACEMENT_3D ( 'NONE', #669, #263, #1019 ) ; +#1707 = LINE ( 'NONE', #757, #2054 ) ; +#1708 = ORIENTED_EDGE ( 'NONE', *, *, #2177, .T. ) ; +#1709 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1710 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1711 = AXIS2_PLACEMENT_3D ( 'NONE', #8, #534, #714 ) ; +#1712 = VERTEX_POINT ( 'NONE', #281 ) ; +#1713 = EDGE_LOOP ( 'NONE', ( #100, #2171, #15, #1340 ) ) ; +#1714 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#1715 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1716 = VERTEX_POINT ( 'NONE', #1637 ) ; +#1717 = LINE ( 'NONE', #23, #1792 ) ; +#1718 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1719 = ADVANCED_FACE ( 'NONE', ( #1796 ), #2355, .T. ) ; +#1720 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800766352, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1721 = EDGE_LOOP ( 'NONE', ( #682, #362, #1669, #547, #672, #993, #1972, #624, #1279, #1867, #239, #1856, #753, #1921, #633, #1947, #1123, #1240, #1088, #316, #702, #1118, #990, #503, #1993, #696, #278, #2390, #115, #1083, #1806, #496, #944, #2032, #235, #517, #1157, #1359, #874, #1481 ) ) ; +#1722 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1723 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1724 = EDGE_LOOP ( 'NONE', ( #2310, #788, #733, #91 ) ) ; +#1725 = FACE_OUTER_BOUND ( 'NONE', #1721, .T. ) ; +#1726 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1727 = VERTEX_POINT ( 'NONE', #140 ) ; +#1728 = EDGE_CURVE ( 'NONE', #190, #2364, #1235, .T. ) ; +#1729 = EDGE_CURVE ( 'NONE', #1132, #110, #2202, .T. ) ; +#1730 = VECTOR ( 'NONE', #876, 1000.000000000000000 ) ; +#1731 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#1732 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435078082, 18.85660558000371623, 10.00000000000000000 ) ) ; +#1733 = ADVANCED_FACE ( 'NONE', ( #1216, #270 ), #2005, .F. ) ; +#1734 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1735 = VERTEX_POINT ( 'NONE', #885 ) ; +#1736 = CARTESIAN_POINT ( 'NONE', ( 25.95660399999999157, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1737 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1738 = ORIENTED_EDGE ( 'NONE', *, *, #332, .F. ) ; +#1739 = EDGE_LOOP ( 'NONE', ( #554 ) ) ; +#1740 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1741 = ORIENTED_EDGE ( 'NONE', *, *, #1579, .F. ) ; +#1742 = ADVANCED_FACE ( 'NONE', ( #694 ), #509, .T. ) ; +#1743 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1744 = EDGE_CURVE ( 'NONE', #2219, #1755, #1264, .T. ) ; +#1745 = EDGE_CURVE ( 'NONE', #762, #1138, #1075, .T. ) ; +#1746 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1747 = AXIS2_PLACEMENT_3D ( 'NONE', #2339, #639, #1390 ) ; +#1748 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1749 = VERTEX_POINT ( 'NONE', #651 ) ; +#1750 = FACE_OUTER_BOUND ( 'NONE', #130, .T. ) ; +#1751 = VERTEX_POINT ( 'NONE', #736 ) ; +#1752 = ORIENTED_EDGE ( 'NONE', *, *, #1812, .T. ) ; +#1753 = PLANE ( 'NONE', #30 ) ; +#1754 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1755 = VERTEX_POINT ( 'NONE', #1416 ) ; +#1756 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1757 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020793343, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1758 = AXIS2_PLACEMENT_3D ( 'NONE', #114, #2152, #1392 ) ; +#1759 = FACE_BOUND ( 'NONE', #1471, .T. ) ; +#1760 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1761 = EDGE_CURVE ( 'NONE', #1969, #151, #469, .T. ) ; +#1762 = VECTOR ( 'NONE', #253, 1000.000000000000000 ) ; +#1763 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#1764 = ORIENTED_EDGE ( 'NONE', *, *, #2246, .T. ) ; +#1765 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1766 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1767 = ADVANCED_FACE ( 'NONE', ( #750 ), #1103, .T. ) ; +#1768 = EDGE_LOOP ( 'NONE', ( #1738, #450, #1604, #948 ) ) ; +#1769 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332521648, -150.5433968397459807, 0.000000000000000000 ) ) ; +#1770 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1771 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 15.95660437425511269, 6.000000000000000000 ) ) ; +#1772 = AXIS2_PLACEMENT_3D ( 'NONE', #2006, #495, #1466 ) ; +#1773 = LINE ( 'NONE', #1217, #2409 ) ; +#1774 = ADVANCED_FACE ( 'NONE', ( #764 ), #735, .F. ) ; +#1775 = ORIENTED_EDGE ( 'NONE', *, *, #1623, .F. ) ; +#1776 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1777 = FACE_OUTER_BOUND ( 'NONE', #888, .T. ) ; +#1778 = ORIENTED_EDGE ( 'NONE', *, *, #1639, .F. ) ; +#1779 = PLANE ( 'NONE', #1288 ) ; +#1780 = LINE ( 'NONE', #1402, #1857 ) ; +#1781 = FACE_OUTER_BOUND ( 'NONE', #1060, .T. ) ; +#1782 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088671136, 6.000000000000000000 ) ) ; +#1783 = VERTEX_POINT ( 'NONE', #654 ) ; +#1784 = AXIS2_PLACEMENT_3D ( 'NONE', #2407, #87, #494 ) ; +#1785 = VERTEX_POINT ( 'NONE', #1332 ) ; +#1786 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1787 = LINE ( 'NONE', #1410, #1762 ) ; +#1788 = CIRCLE ( 'NONE', #2098, 0.8983043470089796534 ) ; +#1789 = VERTEX_POINT ( 'NONE', #770 ) ; +#1790 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 16.45660499452101888, 10.00000000000000000 ) ) ; +#1791 = VECTOR ( 'NONE', #2285, 1000.000000000000000 ) ; +#1792 = VECTOR ( 'NONE', #1203, 1000.000000000000000 ) ; +#1793 = ORIENTED_EDGE ( 'NONE', *, *, #1847, .F. ) ; +#1794 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#1795 = CIRCLE ( 'NONE', #1597, 126.6268659918020063 ) ; +#1796 = FACE_OUTER_BOUND ( 'NONE', #1296, .T. ) ; +#1797 = EDGE_CURVE ( 'NONE', #41, #1799, #2432, .T. ) ; +#1798 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -157.5433959999999729, 10.00000000000000000 ) ) ; +#1799 = VERTEX_POINT ( 'NONE', #392 ) ; +#1800 = FACE_OUTER_BOUND ( 'NONE', #1768, .T. ) ; +#1801 = CARTESIAN_POINT ( 'NONE', ( 25.95660399999999157, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1802 = VERTEX_POINT ( 'NONE', #345 ) ; +#1803 = FACE_OUTER_BOUND ( 'NONE', #1184, .T. ) ; +#1804 = AXIS2_PLACEMENT_3D ( 'NONE', #489, #1648, #1224 ) ; +#1805 = ADVANCED_FACE ( 'NONE', ( #2368 ), #2016, .F. ) ; +#1806 = ORIENTED_EDGE ( 'NONE', *, *, #2057, .T. ) ; +#1807 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1808 = DIRECTION ( 'NONE', ( -3.229739708000459917E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1809 = LINE ( 'NONE', #1208, #329 ) ; +#1810 = MANIFOLD_SOLID_BREP ( 'Çгý-À­Éì2', #2039 ) ; +#1811 = VECTOR ( 'NONE', #2132, 1000.000000000000000 ) ; +#1812 = EDGE_CURVE ( 'NONE', #1142, #351, #664, .T. ) ; +#1813 = EDGE_LOOP ( 'NONE', ( #791, #59, #2167, #2062 ) ) ; +#1814 = FACE_OUTER_BOUND ( 'NONE', #2108, .T. ) ; +#1815 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1816 = ORIENTED_EDGE ( 'NONE', *, *, #2400, .T. ) ; +#1817 = FACE_OUTER_BOUND ( 'NONE', #2413, .T. ) ; +#1818 = CIRCLE ( 'NONE', #749, 1.000000000000000888 ) ; +#1819 = ADVANCED_FACE ( 'NONE', ( #1063 ), #676, .T. ) ; +#1820 = ORIENTED_EDGE ( 'NONE', *, *, #240, .F. ) ; +#1821 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1822 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1823 = ADVANCED_FACE ( 'NONE', ( #279 ), #2174, .F. ) ; +#1824 = LINE ( 'NONE', #522, #1886 ) ; +#1825 = ORIENTED_EDGE ( 'NONE', *, *, #128, .T. ) ; +#1826 = FACE_OUTER_BOUND ( 'NONE', #355, .T. ) ; +#1827 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 21.45660400000001644, 0.000000000000000000 ) ) ; +#1828 = ORIENTED_EDGE ( 'NONE', *, *, #2211, .T. ) ; +#1829 = VECTOR ( 'NONE', #460, 1000.000000000000000 ) ; +#1830 = LINE ( 'NONE', #1973, #620 ) ; +#1831 = ORIENTED_EDGE ( 'NONE', *, *, #2352, .T. ) ; +#1832 = VECTOR ( 'NONE', #421, 1000.000000000000000 ) ; +#1833 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -158.5433959999999729, 0.000000000000000000 ) ) ; +#1834 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -129.5433959999999729, 0.000000000000000000 ) ) ; +#1835 = VECTOR ( 'NONE', #1723, 1000.000000000000000 ) ; +#1836 = ORIENTED_EDGE ( 'NONE', *, *, #40, .T. ) ; +#1837 = ADVANCED_FACE ( 'NONE', ( #1619 ), #1989, .T. ) ; +#1838 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1839 = ORIENTED_EDGE ( 'NONE', *, *, #1029, .T. ) ; +#1840 = AXIS2_PLACEMENT_3D ( 'NONE', #223, #790, #174 ) ; +#1841 = EDGE_CURVE ( 'NONE', #2119, #2314, #855, .T. ) ; +#1842 = ORIENTED_EDGE ( 'NONE', *, *, #2280, .F. ) ; +#1843 = DATE_TIME_ROLE ( 'classification_date' ) ; +#1844 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000003065, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1845 = EDGE_LOOP ( 'NONE', ( #108 ) ) ; +#1846 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1847 = EDGE_CURVE ( 'NONE', #2256, #1100, #1247, .T. ) ; +#1848 = EDGE_CURVE ( 'NONE', #594, #1755, #2393, .T. ) ; +#1849 = EDGE_LOOP ( 'NONE', ( #2258, #730, #1529, #2439 ) ) ; +#1850 = ORIENTED_EDGE ( 'NONE', *, *, #955, .F. ) ; +#1851 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1852 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1853 = ORIENTED_EDGE ( 'NONE', *, *, #2405, .T. ) ; +#1854 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1855 = LINE ( 'NONE', #2195, #2442 ) ; +#1856 = ORIENTED_EDGE ( 'NONE', *, *, #781, .F. ) ; +#1857 = VECTOR ( 'NONE', #2317, 1000.000000000000000 ) ; +#1858 = VECTOR ( 'NONE', #606, 1000.000000000000000 ) ; +#1859 = EDGE_LOOP ( 'NONE', ( #597 ) ) ; +#1860 = LINE ( 'NONE', #1483, #1437 ) ; +#1861 = FACE_OUTER_BOUND ( 'NONE', #655, .T. ) ; +#1862 = EDGE_CURVE ( 'NONE', #511, #1283, #692, .T. ) ; +#1863 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 0.000000000000000000 ) ) ; +#1864 = ORIENTED_EDGE ( 'NONE', *, *, #2405, .F. ) ; +#1865 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 10.00000000000000000 ) ) ; +#1866 = VERTEX_POINT ( 'NONE', #932 ) ; +#1867 = ORIENTED_EDGE ( 'NONE', *, *, #896, .T. ) ; +#1868 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1869 = EDGE_LOOP ( 'NONE', ( #817, #1408, #472, #350 ) ) ; +#1870 = CIRCLE ( 'NONE', #179, 1.250000000000001110 ) ; +#1871 = PLANE ( 'NONE', #807 ) ; +#1872 = ADVANCED_FACE ( 'NONE', ( #1652 ), #2406, .T. ) ; +#1873 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1874 = APPROVAL_PERSON_ORGANIZATION ( #1578, #1230, #1602 ) ; +#1875 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1876 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1877 = ORIENTED_EDGE ( 'NONE', *, *, #1695, .F. ) ; +#1878 = LINE ( 'NONE', #1054, #1407 ) ; +#1879 = EDGE_CURVE ( 'NONE', #1581, #511, #520, .T. ) ; +#1880 = FACE_OUTER_BOUND ( 'NONE', #2055, .T. ) ; +#1881 = ORIENTED_EDGE ( 'NONE', *, *, #2313, .T. ) ; +#1882 = ADVANCED_FACE ( 'NONE', ( #542 ), #1871, .T. ) ; +#1883 = VERTEX_POINT ( 'NONE', #1888 ) ; +#1884 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1885 = FACE_OUTER_BOUND ( 'NONE', #541, .T. ) ; +#1886 = VECTOR ( 'NONE', #2408, 1000.000000000000000 ) ; +#1887 = ORIENTED_EDGE ( 'NONE', *, *, #2140, .F. ) ; +#1888 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 21.45660400000001644, 10.00000000000000000 ) ) ; +#1889 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708866874, 6.000000000000000000 ) ) ; +#1890 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1891 = ORIENTED_EDGE ( 'NONE', *, *, #63, .F. ) ; +#1892 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433959999999729, 10.00000000000000000 ) ) ; +#1893 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1894 = ORIENTED_EDGE ( 'NONE', *, *, #1696, .F. ) ; +#1895 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 10.00000000000000000 ) ) ; +#1896 = PLANE ( 'NONE', #1324 ) ; +#1897 = ORIENTED_EDGE ( 'NONE', *, *, #2021, .T. ) ; +#1898 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433959999999729, 0.000000000000000000 ) ) ; +#1899 = FACE_OUTER_BOUND ( 'NONE', #1373, .T. ) ; +#1900 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1901 = ORIENTED_EDGE ( 'NONE', *, *, #1117, .T. ) ; +#1902 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 15.95660437425511269, 6.000000000000000000 ) ) ; +#1903 = VERTEX_POINT ( 'NONE', #358 ) ; +#1904 = VECTOR ( 'NONE', #525, 1000.000000000000000 ) ; +#1905 = ADVANCED_FACE ( 'NONE', ( #178 ), #2248, .T. ) ; +#1906 = EDGE_CURVE ( 'NONE', #212, #544, #1297, .T. ) ; +#1907 = ORIENTED_EDGE ( 'NONE', *, *, #112, .F. ) ; +#1908 = EDGE_LOOP ( 'NONE', ( #1476, #394, #563, #462 ) ) ; +#1909 = AXIS2_PLACEMENT_3D ( 'NONE', #218, #1928, #2114 ) ; +#1910 = LINE ( 'NONE', #2110, #693 ) ; +#1911 = ORIENTED_EDGE ( 'NONE', *, *, #1478, .F. ) ; +#1912 = EDGE_CURVE ( 'NONE', #1469, #1368, #1860, .T. ) ; +#1913 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1914 = LINE ( 'NONE', #422, #209 ) ; +#1915 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1916 = ORIENTED_EDGE ( 'NONE', *, *, #637, .F. ) ; +#1917 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1918 = ORGANIZATION ( '未', '未', '' ) ; +#1919 = CARTESIAN_POINT ( 'NONE', ( 51.91320799999999736, 5.588871641576237309E-15, 2.000000000000000000 ) ) ; +#1920 = ORIENTED_EDGE ( 'NONE', *, *, #2052, .T. ) ; +#1921 = ORIENTED_EDGE ( 'NONE', *, *, #1879, .T. ) ; +#1922 = ADVANCED_FACE ( 'NONE', ( #2236 ), #1095, .T. ) ; +#1923 = ADVANCED_FACE ( 'NONE', ( #1522 ), #935, .T. ) ; +#1924 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999984447, 0.000000000000000000 ) ) ; +#1925 = ORIENTED_EDGE ( 'NONE', *, *, #523, .T. ) ; +#1926 = AXIS2_PLACEMENT_3D ( 'NONE', #1144, #2092, #2299 ) ; +#1927 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1928 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1929 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -148.0433967708866874, 10.00000000000000000 ) ) ; +#1930 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 21.45660400000001644, 0.000000000000000000 ) ) ; +#1931 = VERTEX_POINT ( 'NONE', #2279 ) ; +#1932 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1933 = AXIS2_PLACEMENT_3D ( 'NONE', #595, #53, #395 ) ; +#1934 = EDGE_LOOP ( 'NONE', ( #1388 ) ) ; +#1935 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1936 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1937 = VERTEX_POINT ( 'NONE', #1898 ) ; +#1938 = LINE ( 'NONE', #2315, #2146 ) ; +#1939 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974601185, -13.00000000000000000 ) ) ; +#1940 = CIRCLE ( 'NONE', #1365, 0.8983043470089796534 ) ; +#1941 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708866874, 10.00000000000000000 ) ) ; +#1942 = EDGE_LOOP ( 'NONE', ( #674 ) ) ; +#1943 = AXIS2_PLACEMENT_3D ( 'NONE', #1863, #315, #2401 ) ; +#1944 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1945 = ADVANCED_FACE ( 'NONE', ( #1494, #202 ), #1107, .F. ) ; +#1946 = ORIENTED_EDGE ( 'NONE', *, *, #680, .F. ) ; +#1947 = ORIENTED_EDGE ( 'NONE', *, *, #420, .F. ) ; +#1948 = VECTOR ( 'NONE', #1414, 1000.000000000000000 ) ; +#1949 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1950 = ORIENTED_EDGE ( 'NONE', *, *, #2327, .F. ) ; +#1951 = LINE ( 'NONE', #443, #961 ) ; +#1952 = CIRCLE ( 'NONE', #2153, 0.8983045201146760972 ) ; +#1953 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1954 = AXIS2_PLACEMENT_3D ( 'NONE', #2341, #1417, #447 ) ; +#1955 = EDGE_CURVE ( 'NONE', #748, #725, #1400, .T. ) ; +#1956 = EDGE_CURVE ( 'NONE', #1382, #2263, #1690, .T. ) ; +#1957 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1958 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742550816, 0.000000000000000000 ) ) ; +#1959 = VECTOR ( 'NONE', #1890, 1000.000000000000000 ) ; +#1960 = EDGE_LOOP ( 'NONE', ( #622, #402, #262, #1925 ) ) ; +#1961 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1962 = LOCAL_TIME ( 14, 15, 40.00000000000000000, #18 ) ; +#1963 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1964 = VERTEX_POINT ( 'NONE', #1473 ) ; +#1965 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1966 = FACE_OUTER_BOUND ( 'NONE', #2075, .T. ) ; +#1967 = LINE ( 'NONE', #665, #129 ) ; +#1968 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800627350, 18.96120903081405373, 0.000000000000000000 ) ) ; +#1969 = VERTEX_POINT ( 'NONE', #768 ) ; +#1970 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#1971 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1972 = ORIENTED_EDGE ( 'NONE', *, *, #311, .F. ) ; +#1973 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -158.5433959999999729, 0.000000000000000000 ) ) ; +#1974 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#1975 = VERTEX_POINT ( 'NONE', #478 ) ; +#1976 = FACE_OUTER_BOUND ( 'NONE', #1312, .T. ) ; +#1977 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -130.5433959999999729, 10.00000000000000000 ) ) ; +#1978 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397459807, 0.000000000000000000 ) ) ; +#1979 = VECTOR ( 'NONE', #1957, 1000.000000000000000 ) ; +#1980 = EDGE_LOOP ( 'NONE', ( #419, #1539, #1268, #42 ) ) ; +#1981 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -158.5433959999999729, 10.00000000000000000 ) ) ; +#1982 = EDGE_CURVE ( 'NONE', #2314, #1213, #2453, .T. ) ; +#1983 = LINE ( 'NONE', #1221, #820 ) ; +#1984 = EDGE_LOOP ( 'NONE', ( #16, #360, #1194, #777 ) ) ; +#1985 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1986 = VECTOR ( 'NONE', #1673, 1000.000000000000000 ) ; +#1987 = VERTEX_POINT ( 'NONE', #2264 ) ; +#1988 = EDGE_CURVE ( 'NONE', #725, #1799, #754, .T. ) ; +#1989 = CYLINDRICAL_SURFACE ( 'NONE', #10, 2.000000000000001776 ) ; +#1990 = VECTOR ( 'NONE', #2250, 1000.000000000000000 ) ; +#1991 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1992 = LINE ( 'NONE', #1404, #2329 ) ; +#1993 = ORIENTED_EDGE ( 'NONE', *, *, #1848, .T. ) ; +#1994 = AXIS2_PLACEMENT_3D ( 'NONE', #1580, #1568, #1949 ) ; +#1995 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999998447, 18.96120903081405373, 0.000000000000000000 ) ) ; +#1996 = CARTESIAN_POINT ( 'NONE', ( 88.45660400000002710, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1997 = EDGE_CURVE ( 'NONE', #2343, #587, #566, .T. ) ; +#1998 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, -0.000000000000000000 ) ) ; +#1999 = ORIENTED_EDGE ( 'NONE', *, *, #63, .T. ) ; +#2000 = FACE_OUTER_BOUND ( 'NONE', #82, .T. ) ; +#2001 = ADVANCED_FACE ( 'NONE', ( #1133 ), #2083, .T. ) ; +#2002 = CIRCLE ( 'NONE', #775, 126.6268659918020063 ) ; +#2003 = EDGE_LOOP ( 'NONE', ( #1548, #1891, #6, #663 ) ) ; +#2004 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 16.45660499452101888, 0.000000000000000000 ) ) ; +#2005 = CYLINDRICAL_SURFACE ( 'NONE', #163, 1.250000000000001110 ) ; +#2006 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -137.0867919999999742, 2.000000000000000000 ) ) ; +#2007 = VECTOR ( 'NONE', #1944, 1000.000000000000000 ) ; +#2008 = ORIENTED_EDGE ( 'NONE', *, *, #1401, .F. ) ; +#2009 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2010 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2011 = ORIENTED_EDGE ( 'NONE', *, *, #2371, .T. ) ; +#2012 = LINE ( 'NONE', #137, #301 ) ; +#2013 = ORIENTED_EDGE ( 'NONE', *, *, #1686, .T. ) ; +#2014 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -128.1433958398937989, 10.00000000000000000 ) ) ; +#2015 = APPROVAL_STATUS ( 'not_yet_approved' ) ; +#2016 = PLANE ( 'NONE', #1162 ) ; +#2017 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2018 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332521648, -150.5433968397459807, 10.00000000000000000 ) ) ; +#2019 = ORIENTED_EDGE ( 'NONE', *, *, #1560, .F. ) ; +#2020 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -150.0433967708866874, 10.00000000000000000 ) ) ; +#2021 = EDGE_CURVE ( 'NONE', #1253, #146, #342, .T. ) ; +#2022 = ORIENTED_EDGE ( 'NONE', *, *, #19, .T. ) ; +#2023 = CYLINDRICAL_SURFACE ( 'NONE', #2354, 0.8983043470089796534 ) ; +#2024 = CIRCLE ( 'NONE', #1275, 1.000000000000000888 ) ; +#2025 = EDGE_LOOP ( 'NONE', ( #321, #1775, #1741, #186 ) ) ; +#2026 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433959999999729, 10.00000000000000000 ) ) ; +#2027 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2028 = EDGE_CURVE ( 'NONE', #1969, #166, #2302, .T. ) ; +#2029 = VECTOR ( 'NONE', #353, 1000.000000000000000 ) ; +#2030 = VERTEX_POINT ( 'NONE', #638 ) ; +#2031 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -153.5433969945210038, 0.000000000000000000 ) ) ; +#2032 = ORIENTED_EDGE ( 'NONE', *, *, #728, .T. ) ; +#2033 = ORIENTED_EDGE ( 'NONE', *, *, #117, .F. ) ; +#2034 = PERSON_AND_ORGANIZATION ( #1125, #1918 ) ; +#2035 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2036 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2037 = EDGE_LOOP ( 'NONE', ( #250 ) ) ; +#2038 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -150.0433967708866874, 0.000000000000000000 ) ) ; +#2039 = CLOSED_SHELL ( 'NONE', ( #449, #1819, #7, #158, #1742, #1290, #1837, #168, #1667, #1882, #134, #2282, #2231, #1429, #1719, #1261, #1660, #1823, #1545, #56, #592, #1267, #260, #1872, #1905, #1188, #1614, #962, #1045, #1923, #2253, #1485, #1151, #1218, #2091, #2170, #707, #751, #2357, #1078, #2043, #1774, #2445, #939, #2001, #1452, #1805, #1374, #2276, #501, #2179, #154, #1622, #2101, #2446, #66, #2277, #1108, #1767, #1136, #1415, #1270, #261, #1945, #1154, #2389, #187, #1922, #1626, #1325, #2136, #759, #2429, #671, #1295, #657, #1049, #485, #1733 ) ) ; +#2040 = ORIENTED_EDGE ( 'NONE', *, *, #816, .T. ) ; +#2041 = ORIENTED_EDGE ( 'NONE', *, *, #567, .F. ) ; +#2042 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2043 = ADVANCED_FACE ( 'NONE', ( #46 ), #2137, .T. ) ; +#2044 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2045 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2046 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2047 = ORIENTED_EDGE ( 'NONE', *, *, #1357, .F. ) ; +#2048 = CARTESIAN_POINT ( 'NONE', ( 85.45660400000002710, -148.0433967708866874, 0.000000000000000000 ) ) ; +#2049 = VERTEX_POINT ( 'NONE', #1155 ) ; +#2050 = ORIENTED_EDGE ( 'NONE', *, *, #486, .F. ) ; +#2051 = EDGE_CURVE ( 'NONE', #1424, #1631, #2112, .T. ) ; +#2052 = EDGE_CURVE ( 'NONE', #1343, #1253, #795, .T. ) ; +#2053 = VECTOR ( 'NONE', #1205, 1000.000000000000000 ) ; +#2054 = VECTOR ( 'NONE', #698, 1000.000000000000000 ) ; +#2055 = EDGE_LOOP ( 'NONE', ( #668 ) ) ; +#2056 = DIRECTION ( 'NONE', ( -0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2057 = EDGE_CURVE ( 'NONE', #2378, #2364, #1360, .T. ) ; +#2058 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#2059 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 16.74444178273601480, 0.000000000000000000 ) ) ; +#2060 = VECTOR ( 'NONE', #2441, 1000.000000000000000 ) ; +#2061 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708866874, 0.000000000000000000 ) ) ; +#2062 = ORIENTED_EDGE ( 'NONE', *, *, #782, .T. ) ; +#2063 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2064 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2065 = VECTOR ( 'NONE', #1893, 1000.000000000000000 ) ; +#2066 = ORIENTED_EDGE ( 'NONE', *, *, #84, .T. ) ; +#2067 = ORIENTED_EDGE ( 'NONE', *, *, #348, .T. ) ; +#2068 = AXIS2_PLACEMENT_3D ( 'NONE', #1380, #65, #632 ) ; +#2069 = EDGE_CURVE ( 'NONE', #536, #2386, #1558, .T. ) ; +#2070 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020787659, 21.45660400000001289, 10.00000000000000000 ) ) ; +#2071 = ORIENTED_EDGE ( 'NONE', *, *, #311, .T. ) ; +#2072 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2073 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#2074 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2075 = EDGE_LOOP ( 'NONE', ( #2078 ) ) ; +#2076 = CARTESIAN_POINT ( 'NONE', ( 25.95660399999999157, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2077 = FACE_OUTER_BOUND ( 'NONE', #880, .T. ) ; +#2078 = ORIENTED_EDGE ( 'NONE', *, *, #431, .T. ) ; +#2079 = EDGE_LOOP ( 'NONE', ( #147, #711, #1170, #2066 ) ) ; +#2080 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2081 = VECTOR ( 'NONE', #666, 1000.000000000000000 ) ; +#2082 = VERTEX_POINT ( 'NONE', #1543 ) ; +#2083 = PLANE ( 'NONE', #1115 ) ; +#2084 = DIRECTION ( 'NONE', ( -1.000000000000000000, 3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#2085 = EDGE_CURVE ( 'NONE', #583, #2334, #1717, .T. ) ; +#2086 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2087 = VERTEX_POINT ( 'NONE', #256 ) ; +#2088 = FACE_OUTER_BOUND ( 'NONE', #1849, .T. ) ; +#2089 = VERTEX_POINT ( 'NONE', #396 ) ; +#2090 = EDGE_LOOP ( 'NONE', ( #776, #2206, #1514, #1612 ) ) ; +#2091 = ADVANCED_FACE ( 'NONE', ( #34, #434 ), #1189, .F. ) ; +#2092 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2093 = PLANE ( 'NONE', #1445 ) ; +#2094 = ORIENTED_EDGE ( 'NONE', *, *, #521, .F. ) ; +#2095 = CYLINDRICAL_SURFACE ( 'NONE', #2346, 1.000000000000000888 ) ; +#2096 = AXIS2_PLACEMENT_3D ( 'NONE', #1149, #641, #787 ) ; +#2097 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2098 = AXIS2_PLACEMENT_3D ( 'NONE', #1642, #1838, #2434 ) ; +#2099 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -6.543395999999981782, 10.00000000000000000 ) ) ; +#2100 = VERTEX_POINT ( 'NONE', #1731 ) ; +#2101 = ADVANCED_FACE ( 'NONE', ( #2328 ), #2095, .T. ) ; +#2102 = EDGE_CURVE ( 'NONE', #2181, #1480, #1278, .T. ) ; +#2103 = LINE ( 'NONE', #2076, #93 ) ; +#2104 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2105 = CIRCLE ( 'NONE', #1358, 126.6268659918020063 ) ; +#2106 = AXIS2_PLACEMENT_3D ( 'NONE', #987, #1347, #1743 ) ; +#2107 = EDGE_LOOP ( 'NONE', ( #1427, #1504, #397, #2287 ) ) ; +#2108 = EDGE_LOOP ( 'NONE', ( #2011, #1289, #1752, #1916 ) ) ; +#2109 = CIRCLE ( 'NONE', #1040, 126.6268659918020063 ) ; +#2110 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 0.000000000000000000 ) ) ; +#2111 = ORIENTED_EDGE ( 'NONE', *, *, #1003, .F. ) ; +#2112 = LINE ( 'NONE', #1965, #94 ) ; +#2113 = AXIS2_PLACEMENT_3D ( 'NONE', #1318, #2260, #601 ) ; +#2114 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2115 = LINE ( 'NONE', #1930, #2303 ) ; +#2116 = VERTEX_POINT ( 'NONE', #1533 ) ; +#2117 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 0.000000000000000000 ) ) ; +#2118 = AXIS2_PLACEMENT_3D ( 'NONE', #1929, #1875, #570 ) ; +#2119 = VERTEX_POINT ( 'NONE', #806 ) ; +#2120 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2121 = EDGE_CURVE ( 'NONE', #1141, #1141, #1038, .T. ) ; +#2122 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#2123 = ORIENTED_EDGE ( 'NONE', *, *, #1336, .T. ) ; +#2124 = CARTESIAN_POINT ( 'NONE', ( 82.45660400000002710, -148.0433967708866874, 6.000000000000000000 ) ) ; +#2125 = EDGE_CURVE ( 'NONE', #511, #933, #1938, .T. ) ; +#2126 = FACE_OUTER_BOUND ( 'NONE', #2422, .T. ) ; +#2127 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2128 = EDGE_LOOP ( 'NONE', ( #121, #758, #386, #1432 ) ) ; +#2129 = PLANE ( 'NONE', #897 ) ; +#2130 = AXIS2_PLACEMENT_3D ( 'NONE', #1537, #1722, #1341 ) ; +#2131 = ORIENTED_EDGE ( 'NONE', *, *, #1553, .T. ) ; +#2132 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2133 = LINE ( 'NONE', #441, #1678 ) ; +#2134 = VERTEX_POINT ( 'NONE', #618 ) ; +#2135 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #1714, #1106, ( #1370 ) ) ; +#2136 = ADVANCED_FACE ( 'NONE', ( #628 ), #242, .T. ) ; +#2137 = CYLINDRICAL_SURFACE ( 'NONE', #54, 1.000000000000000888 ) ; +#2138 = EDGE_CURVE ( 'NONE', #224, #1436, #1951, .T. ) ; +#2139 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999998447, 16.45660499452101888, 0.000000000000000000 ) ) ; +#2140 = EDGE_CURVE ( 'NONE', #2030, #2386, #2291, .T. ) ; +#2141 = LINE ( 'NONE', #1941, #884 ) ; +#2142 = AXIS2_PLACEMENT_3D ( 'NONE', #1339, #2086, #928 ) ; +#2143 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2144 = EDGE_LOOP ( 'NONE', ( #1316, #2200, #864, #1677, #1694, #515, #1820, #1842, #1041, #373, #479, #539, #2197, #1327, #1624, #1616, #1422, #1201, #2373, #1600, #2244, #2188, #2111, #1816, #72, #372, #1659, #2451, #2008, #221, #1209, #1907, #1853, #415, #929, #2232, #104, #1150, #1116, #1510 ) ) ; +#2145 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2146 = VECTOR ( 'NONE', #60, 1000.000000000000000 ) ; +#2147 = CARTESIAN_POINT ( 'NONE', ( 80.45660400000002710, -153.0433963742550816, 6.000000000000000000 ) ) ; +#2148 = ORIENTED_EDGE ( 'NONE', *, *, #1012, .F. ) ; +#2149 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452101533, 10.00000000000000000 ) ) ; +#2150 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 0.000000000000000000 ) ) ; +#2151 = CYLINDRICAL_SURFACE ( 'NONE', #1668, 1.000000000000000888 ) ; +#2152 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2153 = AXIS2_PLACEMENT_3D ( 'NONE', #1342, #1302, #1314 ) ; +#2154 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, -155.9433975800037047, 2.000000000000000000 ) ) ; +#2155 = EDGE_LOOP ( 'NONE', ( #2071, #709, #1641, #921 ) ) ; +#2156 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000002578, -137.0867919999999742, 2.000000000000000000 ) ) ; +#2157 = LINE ( 'NONE', #2147, #2193 ) ; +#2158 = VERTEX_POINT ( 'NONE', #2338 ) ; +#2159 = FACE_OUTER_BOUND ( 'NONE', #57, .T. ) ; +#2160 = CIRCLE ( 'NONE', #1179, 0.8983043470089796534 ) ; +#2161 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2162 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2163 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 0.000000000000000000 ) ) ; +#2164 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2165 = EDGE_CURVE ( 'NONE', #2343, #2256, #1399, .T. ) ; +#2166 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -8.943396160106200199, 2.000000000000000000 ) ) ; +#2167 = ORIENTED_EDGE ( 'NONE', *, *, #1592, .T. ) ; +#2168 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2169 = LINE ( 'NONE', #302, #1564 ) ; +#2170 = ADVANCED_FACE ( 'NONE', ( #99, #2159 ), #2023, .F. ) ; +#2171 = ORIENTED_EDGE ( 'NONE', *, *, #117, .T. ) ; +#2172 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890862592, -128.1433958398937989, 3.000000000000000000 ) ) ; +#2173 = ORIENTED_EDGE ( 'NONE', *, *, #784, .F. ) ; +#2174 = CYLINDRICAL_SURFACE ( 'NONE', #767, 126.6268659918020063 ) ; +#2175 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 10.00000000000000000 ) ) ; +#2176 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2177 = EDGE_CURVE ( 'NONE', #2284, #805, #2012, .T. ) ; +#2178 = AXIS2_PLACEMENT_3D ( 'NONE', #1024, #1376, #1413 ) ; +#2179 = ADVANCED_FACE ( 'NONE', ( #1803, #2000 ), #851, .F. ) ; +#2180 = VECTOR ( 'NONE', #113, 1000.000000000000000 ) ; +#2181 = VERTEX_POINT ( 'NONE', #839 ) ; +#2182 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999984447, 10.00000000000000000 ) ) ; +#2183 = EDGE_CURVE ( 'NONE', #1975, #1975, #1683, .T. ) ; +#2184 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 2.000000000000000000 ) ) ; +#2185 = ORIENTED_EDGE ( 'NONE', *, *, #852, .T. ) ; +#2186 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -154.5433969945210038, 0.000000000000000000 ) ) ; +#2187 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189963771, -128.1433958398937989, 2.000000000000000000 ) ) ; +#2188 = ORIENTED_EDGE ( 'NONE', *, *, #871, .F. ) ; +#2189 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.229739708000459917E-16, 0.000000000000000000 ) ) ; +#2190 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2191 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361387253, 10.00000000000000000 ) ) ; +#2192 = ORIENTED_EDGE ( 'NONE', *, *, #598, .T. ) ; +#2193 = VECTOR ( 'NONE', #107, 1000.000000000000000 ) ; +#2194 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708866874, 10.00000000000000000 ) ) ; +#2195 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -129.5433959999999729, 0.000000000000000000 ) ) ; +#2196 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#2197 = ORIENTED_EDGE ( 'NONE', *, *, #231, .T. ) ; +#2198 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2199 = AXIS2_PLACEMENT_3D ( 'NONE', #2456, #686, #1137 ) ; +#2200 = ORIENTED_EDGE ( 'NONE', *, *, #1474, .F. ) ; +#2201 = DATE_TIME_ROLE ( 'creation_date' ) ; +#2202 = LINE ( 'NONE', #1238, #2180 ) ; +#2203 = EDGE_CURVE ( 'NONE', #866, #866, #734, .T. ) ; +#2204 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2205 = CIRCLE ( 'NONE', #1337, 1.000000000000000888 ) ; +#2206 = ORIENTED_EDGE ( 'NONE', *, *, #1143, .F. ) ; +#2207 = LINE ( 'NONE', #1865, #204 ) ; +#2208 = LINE ( 'NONE', #514, #5 ) ; +#2209 = ORIENTED_EDGE ( 'NONE', *, *, #1565, .T. ) ; +#2210 = PLANE ( 'NONE', #1487 ) ; +#2211 = EDGE_CURVE ( 'NONE', #1883, #2288, #1173, .T. ) ; +#2212 = ORIENTED_EDGE ( 'NONE', *, *, #973, .T. ) ; +#2213 = SECURITY_CLASSIFICATION_LEVEL ( 'unclassified' ) ; +#2214 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2215 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2216 = EDGE_LOOP ( 'NONE', ( #172 ) ) ; +#2217 = LINE ( 'NONE', #744, #1904 ) ; +#2218 = VECTOR ( 'NONE', #76, 1000.000000000000000 ) ; +#2219 = VERTEX_POINT ( 'NONE', #2186 ) ; +#2220 = ORIENTED_EDGE ( 'NONE', *, *, #2165, .F. ) ; +#2221 = MECHANICAL_CONTEXT ( 'NONE', #2228, 'mechanical' ) ; +#2222 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ; +#2223 = VECTOR ( 'NONE', #411, 1000.000000000000000 ) ; +#2224 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2225 = VECTOR ( 'NONE', #1608, 1000.000000000000000 ) ; +#2226 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2227 = CIRCLE ( 'NONE', #1164, 1.250000000000001110 ) ; +#2228 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ; +#2229 = ORIENTED_EDGE ( 'NONE', *, *, #1035, .F. ) ; +#2230 = FACE_OUTER_BOUND ( 'NONE', #297, .T. ) ; +#2231 = ADVANCED_FACE ( 'NONE', ( #122 ), #1779, .T. ) ; +#2232 = ORIENTED_EDGE ( 'NONE', *, *, #413, .T. ) ; +#2233 = VERTEX_POINT ( 'NONE', #673 ) ; +#2234 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #2228 ) ; +#2235 = DATE_AND_TIME ( #1463, #498 ) ; +#2236 = FACE_OUTER_BOUND ( 'NONE', #1274, .T. ) ; +#2237 = AXIS2_PLACEMENT_3D ( 'NONE', #2365, #2350, #1605 ) ; +#2238 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#2239 = ORIENTED_EDGE ( 'NONE', *, *, #477, .T. ) ; +#2240 = EDGE_CURVE ( 'NONE', #1964, #1727, #476, .T. ) ; +#2241 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -129.5433959999999729, 10.00000000000000000 ) ) ; +#2242 = AXIS2_PLACEMENT_3D ( 'NONE', #634, #1961, #1786 ) ; +#2243 = FACE_OUTER_BOUND ( 'NONE', #800, .T. ) ; +#2244 = ORIENTED_EDGE ( 'NONE', *, *, #955, .T. ) ; +#2245 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2246 = EDGE_CURVE ( 'NONE', #2288, #1167, #1033, .T. ) ; +#2247 = ORIENTED_EDGE ( 'NONE', *, *, #896, .F. ) ; +#2248 = PLANE ( 'NONE', #530 ) ; +#2249 = CIRCLE ( 'NONE', #118, 1.000000000000000888 ) ; +#2250 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2251 = LINE ( 'NONE', #1256, #500 ) ; +#2252 = ORIENTED_EDGE ( 'NONE', *, *, #667, .F. ) ; +#2253 = ADVANCED_FACE ( 'NONE', ( #1071 ), #516, .T. ) ; +#2254 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#2255 = LINE ( 'NONE', #969, #252 ) ; +#2256 = VERTEX_POINT ( 'NONE', #1790 ) ; +#2257 = EDGE_CURVE ( 'NONE', #589, #2219, #1830, .T. ) ; +#2258 = ORIENTED_EDGE ( 'NONE', *, *, #1812, .F. ) ; +#2259 = VECTOR ( 'NONE', #1002, 1000.000000000000000 ) ; +#2260 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2261 = AXIS2_PLACEMENT_3D ( 'NONE', #1005, #1760, #822 ) ; +#2262 = VECTOR ( 'NONE', #856, 1000.000000000000000 ) ; +#2263 = VERTEX_POINT ( 'NONE', #1048 ) ; +#2264 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2265 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#2266 = VECTOR ( 'NONE', #914, 1000.000000000000000 ) ; +#2267 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800766352, -282.6748670226160129, 10.00000000000000000 ) ) ; +#2268 = VERTEX_POINT ( 'NONE', #2403 ) ; +#2269 = CYLINDRICAL_SURFACE ( 'NONE', #1265, 1.250000000000001110 ) ; +#2270 = LINE ( 'NONE', #596, #2065 ) ; +#2271 = EDGE_LOOP ( 'NONE', ( #1354, #2424, #2402, #1062 ) ) ; +#2272 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000003065, -158.5433959999999729, 0.000000000000000000 ) ) ; +#2273 = AXIS2_PLACEMENT_3D ( 'NONE', #2320, #584, #2063 ) ; +#2274 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2275 = ORIENTED_EDGE ( 'NONE', *, *, #1862, .F. ) ; +#2276 = ADVANCED_FACE ( 'NONE', ( #109 ), #1617, .F. ) ; +#2277 = ADVANCED_FACE ( 'NONE', ( #2377 ), #2210, .F. ) ; +#2278 = AXIS2_PLACEMENT_3D ( 'NONE', #626, #464, #275 ) ; +#2279 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088671136, 0.000000000000000000 ) ) ; +#2280 = EDGE_CURVE ( 'NONE', #587, #1100, #865, .T. ) ; +#2281 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2282 = ADVANCED_FACE ( 'NONE', ( #1817 ), #1681, .T. ) ; +#2283 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#2284 = VERTEX_POINT ( 'NONE', #1099 ) ; +#2285 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2286 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2287 = ORIENTED_EDGE ( 'NONE', *, *, #931, .F. ) ; +#2288 = VERTEX_POINT ( 'NONE', #2420 ) ; +#2289 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2290 = ORIENTED_EDGE ( 'NONE', *, *, #1222, .T. ) ; +#2291 = LINE ( 'NONE', #73, #1595 ) ; +#2292 = EDGE_CURVE ( 'NONE', #1167, #2256, #1053, .T. ) ; +#2293 = DIRECTION ( 'NONE', ( 9.361563035194105199E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2294 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2295 = ORIENTED_EDGE ( 'NONE', *, *, #1701, .F. ) ; +#2296 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2297 = PLANE ( 'NONE', #893 ) ; +#2298 = ORIENTED_EDGE ( 'NONE', *, *, #1190, .F. ) ; +#2299 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2300 = PLANE ( 'NONE', #2113 ) ; +#2301 = ORIENTED_EDGE ( 'NONE', *, *, #1474, .T. ) ; +#2302 = LINE ( 'NONE', #818, #1001 ) ; +#2303 = VECTOR ( 'NONE', #51, 1000.000000000000000 ) ; +#2304 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2305 = FACE_BOUND ( 'NONE', #276, .T. ) ; +#2306 = ORIENTED_EDGE ( 'NONE', *, *, #1841, .T. ) ; +#2307 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2308 = VERTEX_POINT ( 'NONE', #612 ) ; +#2309 = AXIS2_PLACEMENT_3D ( 'NONE', #1489, #1301, #313 ) ; +#2310 = ORIENTED_EDGE ( 'NONE', *, *, #80, .F. ) ; +#2311 = ORIENTED_EDGE ( 'NONE', *, *, #869, .T. ) ; +#2312 = PLANE ( 'NONE', #1197 ) ; +#2313 = EDGE_CURVE ( 'NONE', #2378, #762, #1855, .T. ) ; +#2314 = VERTEX_POINT ( 'NONE', #1996 ) ; +#2315 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2316 = CIRCLE ( 'NONE', #61, 126.6268659918020063 ) ; +#2317 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2318 = FACE_OUTER_BOUND ( 'NONE', #1127, .T. ) ; +#2319 = ORIENTED_EDGE ( 'NONE', *, *, #1997, .T. ) ; +#2320 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435082345, -155.9433975800037047, 3.000000000000000000 ) ) ; +#2321 = VECTOR ( 'NONE', #1519, 1000.000000000000000 ) ; +#2322 = EDGE_CURVE ( 'NONE', #135, #110, #2002, .T. ) ; +#2323 = ORIENTED_EDGE ( 'NONE', *, *, #1260, .F. ) ; +#2324 = LINE ( 'NONE', #625, #1811 ) ; +#2325 = FACE_OUTER_BOUND ( 'NONE', #772, .T. ) ; +#2326 = EDGE_LOOP ( 'NONE', ( #475 ) ) ; +#2327 = EDGE_CURVE ( 'NONE', #1650, #1650, #452, .T. ) ; +#2328 = FACE_OUTER_BOUND ( 'NONE', #647, .T. ) ; +#2329 = VECTOR ( 'NONE', #2036, 1000.000000000000000 ) ; +#2330 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088671136, 10.00000000000000000 ) ) ; +#2331 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708866874, 6.000000000000000000 ) ) ; +#2332 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2333 = VECTOR ( 'NONE', #1709, 1000.000000000000000 ) ; +#2334 = VERTEX_POINT ( 'NONE', #119 ) ; +#2335 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2336 = FACE_OUTER_BOUND ( 'NONE', #1091, .T. ) ; +#2337 = ORIENTED_EDGE ( 'NONE', *, *, #973, .F. ) ; +#2338 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361387253, 10.00000000000000000 ) ) ; +#2339 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2340 = CYLINDRICAL_SURFACE ( 'NONE', #2096, 1.000000000000000888 ) ; +#2341 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#2342 = AXIS2_PLACEMENT_3D ( 'NONE', #285, #1042, #683 ) ; +#2343 = VERTEX_POINT ( 'NONE', #1644 ) ; +#2344 = LINE ( 'NONE', #826, #1092 ) ; +#2345 = AXIS2_PLACEMENT_3D ( 'NONE', #1515, #152, #889 ) ; +#2346 = AXIS2_PLACEMENT_3D ( 'NONE', #783, #977, #1927 ) ; +#2347 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2348 = EDGE_LOOP ( 'NONE', ( #559, #2252, #2306, #737 ) ) ; +#2349 = AXIS2_PLACEMENT_3D ( 'NONE', #1508, #2097, #406 ) ; +#2350 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2351 = EDGE_CURVE ( 'NONE', #934, #536, #685, .T. ) ; +#2352 = EDGE_CURVE ( 'NONE', #2418, #1607, #2255, .T. ) ; +#2353 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2354 = AXIS2_PLACEMENT_3D ( 'NONE', #317, #879, #1593 ) ; +#2355 = PLANE ( 'NONE', #1784 ) ; +#2356 = CARTESIAN_POINT ( 'NONE', ( 100.9566040000000271, -157.5433959999999729, 0.000000000000000000 ) ) ; +#2357 = ADVANCED_FACE ( 'NONE', ( #370 ), #1126, .T. ) ; +#2358 = ORIENTED_EDGE ( 'NONE', *, *, #337, .F. ) ; +#2359 = PLANE ( 'NONE', #841 ) ; +#2360 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 8, 0, .AHEAD. ) ; +#2361 = CC_DESIGN_APPROVAL ( #823, ( #1370 ) ) ; +#2362 = AXIS2_PLACEMENT_3D ( 'NONE', #466, #662, #1633 ) ; +#2363 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2364 = VERTEX_POINT ( 'NONE', #184 ) ; +#2365 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435078082, 18.85660558000371623, 2.000000000000000000 ) ) ; +#2366 = ORIENTED_EDGE ( 'NONE', *, *, #1442, .F. ) ; +#2367 = VECTOR ( 'NONE', #2335, 1000.000000000000000 ) ; +#2368 = FACE_OUTER_BOUND ( 'NONE', #68, .T. ) ; +#2369 = PRODUCT_DEFINITION ( 'æœ', '', #905, #238 ) ; +#2370 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2371 = EDGE_CURVE ( 'NONE', #2100, #2082, #2270, .T. ) ; +#2372 = LINE ( 'NONE', #1977, #2081 ) ; +#2373 = ORIENTED_EDGE ( 'NONE', *, *, #712, .T. ) ; +#2374 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 12.95660477088671136, 6.000000000000000000 ) ) ; +#2375 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2376 = ORIENTED_EDGE ( 'NONE', *, *, #2280, .T. ) ; +#2377 = FACE_OUTER_BOUND ( 'NONE', #2448, .T. ) ; +#2378 = VERTEX_POINT ( 'NONE', #1353 ) ; +#2379 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361387253, 0.000000000000000000 ) ) ; +#2380 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2381 = AXIS2_PLACEMENT_3D ( 'NONE', #2161, #467, #1225 ) ; +#2382 = CIRCLE ( 'NONE', #916, 126.6268659918020063 ) ; +#2383 = ORIENTED_EDGE ( 'NONE', *, *, #1583, .F. ) ; +#2384 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999984447, 10.00000000000000000 ) ) ; +#2385 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2386 = VERTEX_POINT ( 'NONE', #1329 ) ; +#2387 = AXIS2_PLACEMENT_3D ( 'NONE', #1769, #1756, #1913 ) ; +#2388 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2389 = ADVANCED_FACE ( 'NONE', ( #1880 ), #1169, .T. ) ; +#2390 = ORIENTED_EDGE ( 'NONE', *, *, #1841, .F. ) ; +#2391 = APPROVAL_DATE_TIME ( #341, #742 ) ; +#2392 = VECTOR ( 'NONE', #499, 1000.000000000000000 ) ; +#2393 = LINE ( 'NONE', #139, #681 ) ; +#2394 = LINE ( 'NONE', #481, #1829 ) ; +#2395 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2396 = EDGE_LOOP ( 'NONE', ( #1467 ) ) ; +#2397 = AXIS2_PLACEMENT_3D ( 'NONE', #1541, #793, #1740 ) ; +#2398 = LINE ( 'NONE', #2031, #286 ) ; +#2399 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708866874, 6.000000000000000000 ) ) ; +#2400 = EDGE_CURVE ( 'NONE', #1070, #1231, #943, .T. ) ; +#2401 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2402 = ORIENTED_EDGE ( 'NONE', *, *, #561, .T. ) ; +#2403 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433959999999729, 0.000000000000000000 ) ) ; +#2404 = EDGE_LOOP ( 'NONE', ( #2148 ) ) ; +#2405 = EDGE_CURVE ( 'NONE', #151, #910, #1640, .T. ) ; +#2406 = PLANE ( 'NONE', #564 ) ; +#2407 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999998447, 10.95660477088671136, 10.00000000000000000 ) ) ; +#2408 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2409 = VECTOR ( 'NONE', #843, 1000.000000000000000 ) ; +#2410 = EDGE_LOOP ( 'NONE', ( #465 ) ) ; +#2411 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020793343, -158.5433959999999729, 10.00000000000000000 ) ) ; +#2412 = PRODUCT ( '\X2\914d4ef6\X0\', '\X2\914d4ef6\X0\', '', ( #2221 ) ) ; +#2413 = EDGE_LOOP ( 'NONE', ( #1532, #1920, #2067, #381 ) ) ; +#2414 = ORIENTED_EDGE ( 'NONE', *, *, #1077, .F. ) ; +#2415 = DATE_AND_TIME ( #1094, #1087 ) ; +#2416 = CARTESIAN_POINT ( 'NONE', ( 85.45660400000002710, -153.0433963742550816, 10.00000000000000000 ) ) ; +#2417 = PLANE ( 'NONE', #1459 ) ; +#2418 = VERTEX_POINT ( 'NONE', #1698 ) ; +#2419 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2420 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999845, 20.45660400000001644, 10.00000000000000000 ) ) ; +#2421 = AXIS2_PLACEMENT_3D ( 'NONE', #1450, #1598, #1653 ) ; +#2422 = EDGE_LOOP ( 'NONE', ( #1444 ) ) ; +#2423 = AXIS2_PLACEMENT_3D ( 'NONE', #1500, #718, #545 ) ; +#2424 = ORIENTED_EDGE ( 'NONE', *, *, #1701, .T. ) ; +#2425 = CALENDAR_DATE ( 2026, 15, 1 ) ; +#2426 = VECTOR ( 'NONE', #2419, 1000.000000000000000 ) ; +#2427 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2428 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #1557, #565, ( #2412 ) ) ; +#2429 = ADVANCED_FACE ( 'NONE', ( #2459 ), #1490, .T. ) ; +#2430 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2431 = VECTOR ( 'NONE', #965, 1000.000000000000000 ) ; +#2432 = LINE ( 'NONE', #2059, #558 ) ; +#2433 = ORIENTED_EDGE ( 'NONE', *, *, #1505, .F. ) ; +#2434 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2435 = EDGE_CURVE ( 'NONE', #2314, #199, #1512, .T. ) ; +#2436 = AXIS2_PLACEMENT_3D ( 'NONE', #1186, #1936, #81 ) ; +#2437 = ORIENTED_EDGE ( 'NONE', *, *, #1250, .F. ) ; +#2438 = EDGE_LOOP ( 'NONE', ( #1493, #176, #29, #1778 ) ) ; +#2439 = ORIENTED_EDGE ( 'NONE', *, *, #732, .F. ) ; +#2440 = CC_DESIGN_APPROVAL ( #1230, ( #2369 ) ) ; +#2441 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2442 = VECTOR ( 'NONE', #890, 1000.000000000000000 ) ; +#2443 = EDGE_CURVE ( 'NONE', #506, #506, #1952, .T. ) ; +#2444 = FACE_OUTER_BOUND ( 'NONE', #952, .T. ) ; +#2445 = ADVANCED_FACE ( 'NONE', ( #2077 ), #2297, .T. ) ; +#2446 = ADVANCED_FACE ( 'NONE', ( #2243 ), #384, .T. ) ; +#2447 = LINE ( 'NONE', #1815, #576 ) ; +#2448 = EDGE_LOOP ( 'NONE', ( #2022, #912, #2173, #636 ) ) ; +#2449 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2450 = VERTEX_POINT ( 'NONE', #745 ) ; +#2451 = ORIENTED_EDGE ( 'NONE', *, *, #816, .F. ) ; +#2452 = EDGE_LOOP ( 'NONE', ( #1828, #1528, #1836, #208 ) ) ; +#2453 = LINE ( 'NONE', #1307, #643 ) ; +#2454 = VECTOR ( 'NONE', #1697, 1000.000000000000000 ) ; +#2455 = LINE ( 'NONE', #1348, #801 ) ; +#2456 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2457 = ORIENTED_EDGE ( 'NONE', *, *, #1192, .T. ) ; +#2458 = CARTESIAN_POINT ( 'NONE', ( 99.95660400000002710, -154.5433969945210038, 0.000000000000000000 ) ) ; +#2459 = FACE_OUTER_BOUND ( 'NONE', #2025, .T. ) ; +ENDSEC; +END-ISO-10303-21; diff --git a/3d/配件1.STL b/3d/配件1.STL new file mode 100644 index 0000000..a8c1ce6 Binary files /dev/null and b/3d/配件1.STL differ diff --git a/3d/配件2.STEP b/3d/配件2.STEP new file mode 100644 index 0000000..6c751b6 --- /dev/null +++ b/3d/配件2.STEP @@ -0,0 +1,2698 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (( 'STEP AP214' ), + '1' ); +FILE_NAME ('aÅä¼þ1.STEP', + '2026-01-15T09:13:22', + ( '' ), + ( '' ), + 'SwSTEP 2.0', + 'SolidWorks 2023', + '' ); +FILE_SCHEMA (( 'AUTOMOTIVE_DESIGN' )); +ENDSEC; + +DATA; +#1 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2 = ORIENTED_EDGE ( 'NONE', *, *, #1832, .T. ) ; +#3 = PLANE ( 'NONE', #2652 ) ; +#4 = LINE ( 'NONE', #2448, #117 ) ; +#5 = ORIENTED_EDGE ( 'NONE', *, *, #1801, .F. ) ; +#6 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#7 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#8 = AXIS2_PLACEMENT_3D ( 'NONE', #2400, #2229, #337 ) ; +#9 = ORIENTED_EDGE ( 'NONE', *, *, #1960, .T. ) ; +#10 = EDGE_CURVE ( 'NONE', #306, #756, #1726, .T. ) ; +#11 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361384766, 10.00000000000000000 ) ) ; +#12 = AXIS2_PLACEMENT_3D ( 'NONE', #1245, #1467, #2286 ) ; +#13 = ADVANCED_FACE ( 'NONE', ( #1341 ), #932, .T. ) ; +#14 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 0.000000000000000000 ) ) ; +#15 = VECTOR ( 'NONE', #619, 1000.000000000000000 ) ; +#16 = VERTEX_POINT ( 'NONE', #1539 ) ; +#17 = AXIS2_PLACEMENT_3D ( 'NONE', #1360, #1337, #2167 ) ; +#18 = VECTOR ( 'NONE', #1395, 1000.000000000000000 ) ; +#19 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#20 = ORIENTED_EDGE ( 'NONE', *, *, #207, .F. ) ; +#21 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 17.45660499452100112, 0.000000000000000000 ) ) ; +#22 = VERTEX_POINT ( 'NONE', #527 ) ; +#23 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#24 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#25 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#26 = EDGE_LOOP ( 'NONE', ( #967 ) ) ; +#27 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#28 = ORIENTED_EDGE ( 'NONE', *, *, #1146, .T. ) ; +#29 = ORIENTED_EDGE ( 'NONE', *, *, #2297, .F. ) ; +#30 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -6.543395999999999546, 10.00000000000000000 ) ) ; +#31 = VECTOR ( 'NONE', #2472, 1000.000000000000000 ) ; +#32 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#33 = AXIS2_PLACEMENT_3D ( 'NONE', #584, #2438, #1201 ) ; +#34 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#35 = ORIENTED_EDGE ( 'NONE', *, *, #409, .F. ) ; +#36 = EDGE_CURVE ( 'NONE', #756, #534, #783, .T. ) ; +#37 = EDGE_CURVE ( 'NONE', #1912, #1519, #1927, .T. ) ; +#38 = VERTEX_POINT ( 'NONE', #2293 ) ; +#39 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#40 = ADVANCED_FACE ( 'NONE', ( #2088 ), #1833, .T. ) ; +#41 = ORIENTED_EDGE ( 'NONE', *, *, #1960, .F. ) ; +#42 = VECTOR ( 'NONE', #2550, 1000.000000000000000 ) ; +#43 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433960000000013, 0.000000000000000000 ) ) ; +#44 = AXIS2_PLACEMENT_3D ( 'NONE', #1279, #2318, #295 ) ; +#45 = FACE_OUTER_BOUND ( 'NONE', #1587, .T. ) ; +#46 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#47 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#48 = VERTEX_POINT ( 'NONE', #821 ) ; +#49 = VERTEX_POINT ( 'NONE', #2234 ) ; +#50 = VECTOR ( 'NONE', #2669, 1000.000000000000000 ) ; +#51 = EDGE_CURVE ( 'NONE', #1289, #1367, #1031, .T. ) ; +#52 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, 10.00000000000000000 ) ) ; +#53 = EDGE_LOOP ( 'NONE', ( #2670 ) ) ; +#54 = VECTOR ( 'NONE', #2665, 1000.000000000000000 ) ; +#55 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #1477 ) ; +#56 = ORIENTED_EDGE ( 'NONE', *, *, #2479, .F. ) ; +#57 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#58 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#59 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -28.54339599999993027, 10.00000000000000000 ) ) ; +#60 = ORIENTED_EDGE ( 'NONE', *, *, #2671, .T. ) ; +#61 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#62 = LINE ( 'NONE', #1712, #1592 ) ; +#63 = EDGE_LOOP ( 'NONE', ( #1949 ) ) ; +#64 = ORIENTED_EDGE ( 'NONE', *, *, #437, .F. ) ; +#65 = ORIENTED_EDGE ( 'NONE', *, *, #194, .F. ) ; +#66 = EDGE_CURVE ( 'NONE', #1924, #2246, #815, .T. ) ; +#67 = EDGE_CURVE ( 'NONE', #881, #825, #1626, .T. ) ; +#68 = ADVANCED_FACE ( 'NONE', ( #994 ), #1866, .T. ) ; +#69 = LINE ( 'NONE', #669, #360 ) ; +#70 = CYLINDRICAL_SURFACE ( 'NONE', #1376, 0.8983043470089796534 ) ; +#71 = CIRCLE ( 'NONE', #1152, 1.250000000000001110 ) ; +#72 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#73 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#74 = ORIENTED_EDGE ( 'NONE', *, *, #2642, .F. ) ; +#75 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#76 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#77 = CIRCLE ( 'NONE', #771, 0.8983043470089796534 ) ; +#78 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#79 = ORIENTED_EDGE ( 'NONE', *, *, #1486, .F. ) ; +#80 = EDGE_LOOP ( 'NONE', ( #1480 ) ) ; +#81 = ORIENTED_EDGE ( 'NONE', *, *, #291, .T. ) ; +#82 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 6.000000000000000000 ) ) ; +#83 = VERTEX_POINT ( 'NONE', #414 ) ; +#84 = EDGE_CURVE ( 'NONE', #1984, #2546, #1009, .T. ) ; +#85 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#86 = AXIS2_PLACEMENT_3D ( 'NONE', #1585, #2183, #347 ) ; +#87 = EDGE_CURVE ( 'NONE', #268, #2334, #4, .T. ) ; +#88 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -128.1433958398938273, 10.00000000000000000 ) ) ; +#89 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 2.000000000000000000 ) ) ; +#90 = CIRCLE ( 'NONE', #1659, 1.000000000000000888 ) ; +#91 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, -137.0867920000000026, 2.000000000000000000 ) ) ; +#92 = ORIENTED_EDGE ( 'NONE', *, *, #1215, .F. ) ; +#93 = ORIENTED_EDGE ( 'NONE', *, *, #515, .T. ) ; +#94 = AXIS2_PLACEMENT_3D ( 'NONE', #610, #850, #1004 ) ; +#95 = ORIENTED_EDGE ( 'NONE', *, *, #1454, .F. ) ; +#96 = AXIS2_PLACEMENT_3D ( 'NONE', #1731, #860, #1695 ) ; +#97 = LINE ( 'NONE', #1371, #1789 ) ; +#98 = VECTOR ( 'NONE', #143, 1000.000000000000000 ) ; +#99 = ORIENTED_EDGE ( 'NONE', *, *, #1839, .F. ) ; +#100 = VERTEX_POINT ( 'NONE', #2026 ) ; +#101 = FACE_OUTER_BOUND ( 'NONE', #2173, .T. ) ; +#102 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#103 = PLANE ( 'NONE', #682 ) ; +#104 = EDGE_CURVE ( 'NONE', #2651, #1057, #575, .T. ) ; +#105 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#106 = LINE ( 'NONE', #2184, #2050 ) ; +#107 = EDGE_LOOP ( 'NONE', ( #690, #257, #1252, #2518 ) ) ; +#108 = ORIENTED_EDGE ( 'NONE', *, *, #2197, .T. ) ; +#109 = LINE ( 'NONE', #2188, #2484 ) ; +#110 = ORIENTED_EDGE ( 'NONE', *, *, #1278, .T. ) ; +#111 = ORIENTED_EDGE ( 'NONE', *, *, #1089, .T. ) ; +#112 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, -13.00000000000000000 ) ) ; +#113 = DIRECTION ( 'NONE', ( 1.000000000000000000, 5.242475914186690410E-16, 0.000000000000000000 ) ) ; +#114 = AXIS2_PLACEMENT_3D ( 'NONE', #687, #1750, #1535 ) ; +#115 = FACE_OUTER_BOUND ( 'NONE', #2103, .T. ) ; +#116 = EDGE_CURVE ( 'NONE', #83, #1028, #199, .T. ) ; +#117 = VECTOR ( 'NONE', #2041, 1000.000000000000000 ) ; +#118 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#119 = ORIENTED_EDGE ( 'NONE', *, *, #1932, .F. ) ; +#120 = ADVANCED_FACE ( 'NONE', ( #1209 ), #1191, .F. ) ; +#121 = AXIS2_PLACEMENT_3D ( 'NONE', #2319, #47, #1505 ) ; +#122 = PLANE ( 'NONE', #2559 ) ; +#123 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#124 = ORIENTED_EDGE ( 'NONE', *, *, #608, .T. ) ; +#125 = PLANE ( 'NONE', #2013 ) ; +#126 = ORIENTED_EDGE ( 'NONE', *, *, #2032, .T. ) ; +#127 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 26.00000000000001066 ) ) ; +#128 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#129 = LINE ( 'NONE', #957, #348 ) ; +#130 = CIRCLE ( 'NONE', #2475, 1.000000000000000888 ) ; +#131 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#132 = ORIENTED_EDGE ( 'NONE', *, *, #321, .F. ) ; +#133 = EDGE_CURVE ( 'NONE', #1259, #2586, #600, .T. ) ; +#134 = AXIS2_PLACEMENT_3D ( 'NONE', #2311, #1648, #2064 ) ; +#135 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 2.000000000000000000 ) ) ; +#136 = FACE_BOUND ( 'NONE', #1238, .T. ) ; +#137 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433959999997455, 10.00000000000000000 ) ) ; +#138 = LINE ( 'NONE', #908, #1748 ) ; +#139 = ORIENTED_EDGE ( 'NONE', *, *, #1439, .F. ) ; +#140 = VECTOR ( 'NONE', #732, 1000.000000000000000 ) ; +#141 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742549963, 0.000000000000000000 ) ) ; +#142 = EDGE_LOOP ( 'NONE', ( #2513, #2381, #2626, #275 ) ) ; +#143 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#144 = AXIS2_PLACEMENT_3D ( 'NONE', #252, #1071, #874 ) ; +#145 = AXIS2_PLACEMENT_3D ( 'NONE', #2401, #1352, #2613 ) ; +#146 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#147 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 6.000000000000000000 ) ) ; +#148 = VECTOR ( 'NONE', #925, 1000.000000000000000 ) ; +#149 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#150 = ORIENTED_EDGE ( 'NONE', *, *, #2161, .T. ) ; +#151 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#152 = LINE ( 'NONE', #2629, #2033 ) ; +#153 = ORIENTED_EDGE ( 'NONE', *, *, #464, .T. ) ; +#154 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800035057, 3.000000000000000000 ) ) ; +#155 = LINE ( 'NONE', #1828, #251 ) ; +#156 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#157 = ORIENTED_EDGE ( 'NONE', *, *, #2481, .F. ) ; +#158 = EDGE_CURVE ( 'NONE', #1159, #1783, #465, .T. ) ; +#159 = EDGE_CURVE ( 'NONE', #959, #2185, #628, .T. ) ; +#160 = EDGE_CURVE ( 'NONE', #1226, #2158, #1843, .T. ) ; +#161 = CYLINDRICAL_SURFACE ( 'NONE', #555, 0.8983043470089796534 ) ; +#162 = ORIENTED_EDGE ( 'NONE', *, *, #116, .F. ) ; +#163 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#164 = ADVANCED_FACE ( 'NONE', ( #804 ), #1637, .T. ) ; +#165 = DIRECTION ( 'NONE', ( -5.242475914186690410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#166 = ORIENTED_EDGE ( 'NONE', *, *, #2268, .F. ) ; +#167 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433960000000013, 0.000000000000000000 ) ) ; +#168 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#169 = ORIENTED_EDGE ( 'NONE', *, *, #853, .F. ) ; +#170 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 26.00000000000001066 ) ) ; +#171 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 10.00000000000000000 ) ) ; +#172 = FACE_BOUND ( 'NONE', #904, .T. ) ; +#173 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -153.0433963742549963, 0.000000000000000000 ) ) ; +#174 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#175 = VECTOR ( 'NONE', #102, 1000.000000000000000 ) ; +#176 = ORIENTED_EDGE ( 'NONE', *, *, #2498, .F. ) ; +#177 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, -13.00000000000000000 ) ) ; +#178 = ADVANCED_FACE ( 'NONE', ( #1446 ), #2287, .T. ) ; +#179 = LINE ( 'NONE', #204, #1872 ) ; +#180 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#181 = VECTOR ( 'NONE', #328, 1000.000000000000000 ) ; +#182 = ORIENTED_EDGE ( 'NONE', *, *, #265, .T. ) ; +#183 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#184 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#185 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435078082, -108.5433959999999303, 26.00000000000001066 ) ) ; +#186 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, -155.9433975800035057, 10.00000000000000000 ) ) ; +#187 = ORIENTED_EDGE ( 'NONE', *, *, #1763, .F. ) ; +#188 = LINE ( 'NONE', #1253, #2135 ) ; +#189 = AXIS2_PLACEMENT_3D ( 'NONE', #2231, #1188, #1777 ) ; +#190 = EDGE_CURVE ( 'NONE', #1793, #2572, #827, .T. ) ; +#191 = AXIS2_PLACEMENT_3D ( 'NONE', #1858, #999, #2680 ) ; +#192 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 20.45660399999999868, 0.000000000000000000 ) ) ; +#193 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#194 = EDGE_CURVE ( 'NONE', #1183, #2661, #152, .T. ) ; +#195 = EDGE_CURVE ( 'NONE', #2546, #1890, #1690, .T. ) ; +#196 = ORIENTED_EDGE ( 'NONE', *, *, #87, .F. ) ; +#197 = PRODUCT ( 'a\X2\914d4ef6\X0\1', 'a\X2\914d4ef6\X0\1', '', ( #1094 ) ) ; +#198 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#199 = LINE ( 'NONE', #1809, #1552 ) ; +#200 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#201 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 0.000000000000000000 ) ) ; +#202 = ORIENTED_EDGE ( 'NONE', *, *, #2213, .F. ) ; +#203 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#204 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#205 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#206 = EDGE_LOOP ( 'NONE', ( #2476, #2353, #2085, #1315 ) ) ; +#207 = EDGE_CURVE ( 'NONE', #49, #649, #373, .T. ) ; +#208 = LINE ( 'NONE', #222, #571 ) ; +#209 = DIRECTION ( 'NONE', ( 1.000000000000000000, -9.361563035194100268E-17, 0.000000000000000000 ) ) ; +#210 = AXIS2_PLACEMENT_3D ( 'NONE', #699, #2300, #2095 ) ; +#211 = ORIENTED_EDGE ( 'NONE', *, *, #2409, .F. ) ; +#212 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#213 = VERTEX_POINT ( 'NONE', #818 ) ; +#214 = ADVANCED_FACE ( 'NONE', ( #2631 ), #2248, .T. ) ; +#215 = ORIENTED_EDGE ( 'NONE', *, *, #2053, .F. ) ; +#216 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#217 = AXIS2_PLACEMENT_3D ( 'NONE', #1334, #533, #1357 ) ; +#218 = VECTOR ( 'NONE', #986, 1000.000000000000000 ) ; +#219 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#220 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, -155.9433975800035057, 3.000000000000000000 ) ) ; +#221 = ORIENTED_EDGE ( 'NONE', *, *, #2461, .F. ) ; +#222 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 21.45660400000000223, 10.00000000000000000 ) ) ; +#223 = ORIENTED_EDGE ( 'NONE', *, *, #895, .F. ) ; +#224 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#225 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397460092, 0.000000000000000000 ) ) ; +#226 = ORIENTED_EDGE ( 'NONE', *, *, #749, .T. ) ; +#227 = LINE ( 'NONE', #1059, #1013 ) ; +#228 = CIRCLE ( 'NONE', #442, 1.000000000000000888 ) ; +#229 = FACE_OUTER_BOUND ( 'NONE', #1257, .T. ) ; +#230 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 0.000000000000000000 ) ) ; +#231 = AXIS2_PLACEMENT_3D ( 'NONE', #2538, #2086, #23 ) ; +#232 = ORIENTED_EDGE ( 'NONE', *, *, #2645, .T. ) ; +#233 = VECTOR ( 'NONE', #1391, 1000.000000000000000 ) ; +#234 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 0.000000000000000000 ) ) ; +#235 = ORIENTED_EDGE ( 'NONE', *, *, #467, .F. ) ; +#236 = VERTEX_POINT ( 'NONE', #1275 ) ; +#237 = VERTEX_POINT ( 'NONE', #1370 ) ; +#238 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, 10.00000000000000000 ) ) ; +#239 = EDGE_CURVE ( 'NONE', #672, #1700, #155, .T. ) ; +#240 = EDGE_CURVE ( 'NONE', #2592, #2150, #1629, .T. ) ; +#241 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#242 = EDGE_CURVE ( 'NONE', #1593, #984, #577, .T. ) ; +#243 = LINE ( 'NONE', #296, #942 ) ; +#244 = EDGE_LOOP ( 'NONE', ( #1063, #2077, #919, #1754 ) ) ; +#245 = ORIENTED_EDGE ( 'NONE', *, *, #304, .T. ) ; +#246 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#247 = ORIENTED_EDGE ( 'NONE', *, *, #133, .T. ) ; +#248 = ORIENTED_EDGE ( 'NONE', *, *, #1313, .F. ) ; +#249 = FACE_OUTER_BOUND ( 'NONE', #563, .T. ) ; +#250 = CYLINDRICAL_SURFACE ( 'NONE', #2564, 2.000000000000001776 ) ; +#251 = VECTOR ( 'NONE', #2404, 1000.000000000000000 ) ; +#252 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#253 = ADVANCED_FACE ( 'NONE', ( #590 ), #542, .F. ) ; +#254 = VECTOR ( 'NONE', #697, 1000.000000000000000 ) ; +#255 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#256 = ORIENTED_EDGE ( 'NONE', *, *, #2268, .T. ) ; +#257 = ORIENTED_EDGE ( 'NONE', *, *, #1001, .T. ) ; +#258 = PLANE ( 'NONE', #1106 ) ; +#259 = EDGE_LOOP ( 'NONE', ( #1055, #65, #99, #2320 ) ) ; +#260 = ORIENTED_EDGE ( 'NONE', *, *, #468, .T. ) ; +#261 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#262 = VECTOR ( 'NONE', #1574, 1000.000000000000000 ) ; +#263 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#264 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#265 = EDGE_CURVE ( 'NONE', #534, #779, #626, .T. ) ; +#266 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#267 = ORIENTED_EDGE ( 'NONE', *, *, #158, .F. ) ; +#268 = VERTEX_POINT ( 'NONE', #996 ) ; +#269 = FACE_OUTER_BOUND ( 'NONE', #2285, .T. ) ; +#270 = AXIS2_PLACEMENT_3D ( 'NONE', #1553, #950, #2419 ) ; +#271 = EDGE_CURVE ( 'NONE', #1233, #1091, #1420, .T. ) ; +#272 = ADVANCED_FACE ( 'NONE', ( #1386 ), #357, .T. ) ; +#273 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -157.5433960000000013, 10.00000000000000000 ) ) ; +#274 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#275 = ORIENTED_EDGE ( 'NONE', *, *, #116, .T. ) ; +#276 = CIRCLE ( 'NONE', #2656, 1.250000000000001110 ) ; +#277 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#278 = ORIENTED_EDGE ( 'NONE', *, *, #239, .T. ) ; +#279 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433959999997455, 0.000000000000000000 ) ) ; +#280 = FACE_OUTER_BOUND ( 'NONE', #1005, .T. ) ; +#281 = LINE ( 'NONE', #1529, #1389 ) ; +#282 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#283 = VERTEX_POINT ( 'NONE', #949 ) ; +#284 = PLANE ( 'NONE', #1464 ) ; +#285 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#286 = ORIENTED_EDGE ( 'NONE', *, *, #637, .T. ) ; +#287 = VERTEX_POINT ( 'NONE', #137 ) ; +#288 = EDGE_CURVE ( 'NONE', #945, #49, #1609, .T. ) ; +#289 = EDGE_LOOP ( 'NONE', ( #169, #260, #64, #832 ) ) ; +#290 = PLANE ( 'NONE', #1227 ) ; +#291 = EDGE_CURVE ( 'NONE', #825, #2470, #1404, .T. ) ; +#292 = EDGE_LOOP ( 'NONE', ( #653 ) ) ; +#293 = ORIENTED_EDGE ( 'NONE', *, *, #2588, .T. ) ; +#294 = CIRCLE ( 'NONE', #1284, 1.000000000000000888 ) ; +#295 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#296 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 0.000000000000000000 ) ) ; +#297 = ORIENTED_EDGE ( 'NONE', *, *, #436, .F. ) ; +#298 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#299 = AXIS2_PLACEMENT_3D ( 'NONE', #2399, #1616, #2168 ) ; +#300 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#301 = ORIENTED_EDGE ( 'NONE', *, *, #2377, .F. ) ; +#302 = ORIENTED_EDGE ( 'NONE', *, *, #1896, .F. ) ; +#303 = EDGE_LOOP ( 'NONE', ( #2639 ) ) ; +#304 = EDGE_CURVE ( 'NONE', #1037, #2308, #1569, .T. ) ; +#305 = PLANE ( 'NONE', #1707 ) ; +#306 = VERTEX_POINT ( 'NONE', #1758 ) ; +#307 = EDGE_CURVE ( 'NONE', #2500, #579, #1785, .T. ) ; +#308 = FACE_OUTER_BOUND ( 'NONE', #343, .T. ) ; +#309 = LINE ( 'NONE', #1349, #556 ) ; +#310 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#311 = CIRCLE ( 'NONE', #739, 0.8983043470089796534 ) ; +#312 = LINE ( 'NONE', #1509, #2200 ) ; +#313 = ORIENTED_EDGE ( 'NONE', *, *, #1991, .F. ) ; +#314 = EDGE_LOOP ( 'NONE', ( #856 ) ) ; +#315 = CIRCLE ( 'NONE', #2310, 2.000000000000001776 ) ; +#316 = AXIS2_PLACEMENT_3D ( 'NONE', #2466, #607, #1931 ) ; +#317 = LINE ( 'NONE', #1942, #446 ) ; +#318 = ORIENTED_EDGE ( 'NONE', *, *, #1001, .F. ) ; +#319 = ORIENTED_EDGE ( 'NONE', *, *, #1961, .F. ) ; +#320 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#321 = EDGE_CURVE ( 'NONE', #1793, #1271, #969, .T. ) ; +#322 = ADVANCED_FACE ( 'NONE', ( #761 ), #125, .F. ) ; +#323 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#324 = FACE_BOUND ( 'NONE', #852, .T. ) ; +#325 = ADVANCED_FACE ( 'NONE', ( #2224, #1182 ), #161, .F. ) ; +#326 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#327 = ORIENTED_EDGE ( 'NONE', *, *, #684, .T. ) ; +#328 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#329 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#330 = FACE_OUTER_BOUND ( 'NONE', #494, .T. ) ; +#331 = ORIENTED_EDGE ( 'NONE', *, *, #2327, .T. ) ; +#332 = ORIENTED_EDGE ( 'NONE', *, *, #1516, .F. ) ; +#333 = CYLINDRICAL_SURFACE ( 'NONE', #583, 0.8983043470089796534 ) ; +#334 = FACE_OUTER_BOUND ( 'NONE', #1967, .T. ) ; +#335 = CIRCLE ( 'NONE', #210, 1.000000000000000888 ) ; +#336 = EDGE_CURVE ( 'NONE', #1073, #2107, #1302, .T. ) ; +#337 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#338 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#339 = ORIENTED_EDGE ( 'NONE', *, *, #1714, .F. ) ; +#340 = DIRECTION ( 'NONE', ( 1.734723475976807094E-16, 1.000000000000000000, -0.000000000000000000 ) ) ; +#341 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#342 = FACE_OUTER_BOUND ( 'NONE', #1716, .T. ) ; +#343 = EDGE_LOOP ( 'NONE', ( #1903 ) ) ; +#344 = EDGE_LOOP ( 'NONE', ( #247, #2512, #698, #319 ) ) ; +#345 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 6.000000000000000000 ) ) ; +#346 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 17.45660499452100112, 10.00000000000000000 ) ) ; +#347 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#348 = VECTOR ( 'NONE', #585, 1000.000000000000000 ) ; +#349 = LINE ( 'NONE', #539, #18 ) ; +#350 = ORIENTED_EDGE ( 'NONE', *, *, #1312, .T. ) ; +#351 = ADVANCED_FACE ( 'NONE', ( #249 ), #1730, .F. ) ; +#352 = EDGE_CURVE ( 'NONE', #1704, #2296, #1905, .T. ) ; +#353 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, 0.000000000000000000 ) ) ; +#354 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.734723475976807587E-16, 0.000000000000000000 ) ) ; +#355 = ORIENTED_EDGE ( 'NONE', *, *, #929, .T. ) ; +#356 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#357 = PLANE ( 'NONE', #972 ) ; +#358 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423611705, 18.85660558000369846, 10.00000000000000000 ) ) ; +#359 = ORIENTED_EDGE ( 'NONE', *, *, #885, .F. ) ; +#360 = VECTOR ( 'NONE', #2549, 1000.000000000000000 ) ; +#361 = ORIENTED_EDGE ( 'NONE', *, *, #680, .F. ) ; +#362 = CYLINDRICAL_SURFACE ( 'NONE', #17, 1.000000000000000888 ) ; +#363 = AXIS2_PLACEMENT_3D ( 'NONE', #2019, #910, #2397 ) ; +#364 = VECTOR ( 'NONE', #149, 1000.000000000000000 ) ; +#365 = PLANE ( 'NONE', #33 ) ; +#366 = ORIENTED_EDGE ( 'NONE', *, *, #787, .T. ) ; +#367 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -154.5433969945210038, 10.00000000000000000 ) ) ; +#368 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#369 = ORIENTED_EDGE ( 'NONE', *, *, #719, .T. ) ; +#370 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#371 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 0.000000000000000000 ) ) ; +#372 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#373 = LINE ( 'NONE', #173, #1899 ) ; +#374 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#375 = ORIENTED_EDGE ( 'NONE', *, *, #2284, .F. ) ; +#376 = ORIENTED_EDGE ( 'NONE', *, *, #1486, .T. ) ; +#377 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#378 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 10.00000000000000000 ) ) ; +#379 = SURFACE_STYLE_USAGE ( .BOTH. , #1873 ) ; +#380 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#381 = EDGE_LOOP ( 'NONE', ( #1594 ) ) ; +#382 = VECTOR ( 'NONE', #1676, 1000.000000000000000 ) ; +#383 = LINE ( 'NONE', #1825, #2223 ) ; +#384 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#385 = ORIENTED_EDGE ( 'NONE', *, *, #67, .T. ) ; +#386 = LINE ( 'NONE', #1995, #548 ) ; +#387 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#388 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189960929, -128.1433958398938273, 2.000000000000000000 ) ) ; +#389 = CIRCLE ( 'NONE', #1483, 0.8983045201146691028 ) ; +#390 = ORIENTED_EDGE ( 'NONE', *, *, #2645, .F. ) ; +#391 = ADVANCED_FACE ( 'NONE', ( #859 ), #668, .T. ) ; +#392 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 0.000000000000000000 ) ) ; +#393 = ADVANCED_FACE ( 'NONE', ( #1331 ), #103, .T. ) ; +#394 = ADVANCED_FACE ( 'NONE', ( #280, #2591 ), #70, .F. ) ; +#395 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#396 = PLANE ( 'NONE', #1612 ) ; +#397 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#398 = VECTOR ( 'NONE', #2004, 1000.000000000000000 ) ; +#399 = ORIENTED_EDGE ( 'NONE', *, *, #2676, .F. ) ; +#400 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#401 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#402 = LINE ( 'NONE', #2473, #1813 ) ; +#403 = CIRCLE ( 'NONE', #12, 0.8983043470089796534 ) ; +#404 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#405 = EDGE_LOOP ( 'NONE', ( #2608, #2039, #1604, #223 ) ) ; +#406 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#407 = CIRCLE ( 'NONE', #1920, 0.8983043470089796534 ) ; +#408 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 0.000000000000000000 ) ) ; +#409 = EDGE_CURVE ( 'NONE', #1855, #1855, #2206, .T. ) ; +#410 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -108.5433959999997455, 10.00000000000000000 ) ) ; +#411 = EDGE_LOOP ( 'NONE', ( #2177, #778, #1917, #359 ) ) ; +#412 = EDGE_CURVE ( 'NONE', #2592, #1778, #2189, .T. ) ; +#413 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#414 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#415 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435078082, -108.5433959999999303, 10.00000000000000888 ) ) ; +#416 = VERTEX_POINT ( 'NONE', #1421 ) ; +#417 = ORIENTED_EDGE ( 'NONE', *, *, #1454, .T. ) ; +#418 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#419 = LINE ( 'NONE', #408, #1521 ) ; +#420 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -129.5433960000000013, 10.00000000000000000 ) ) ; +#421 = ORIENTED_EDGE ( 'NONE', *, *, #195, .T. ) ; +#422 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -157.5433960000000013, 0.000000000000000000 ) ) ; +#423 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#424 = VECTOR ( 'NONE', #1739, 1000.000000000000000 ) ; +#425 = ORIENTED_EDGE ( 'NONE', *, *, #1313, .T. ) ; +#426 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#427 = EDGE_LOOP ( 'NONE', ( #2331, #1323, #1642, #1849 ) ) ; +#428 = LINE ( 'NONE', #1024, #796 ) ; +#429 = CIRCLE ( 'NONE', #1336, 0.8983043470089796534 ) ; +#430 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#431 = FACE_OUTER_BOUND ( 'NONE', #434, .T. ) ; +#432 = EDGE_LOOP ( 'NONE', ( #1032 ) ) ; +#433 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, -158.5433960000000013, 10.00000000000000000 ) ) ; +#434 = EDGE_LOOP ( 'NONE', ( #905, #2119, #998, #1990 ) ) ; +#435 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#436 = EDGE_CURVE ( 'NONE', #287, #2351, #2138, .T. ) ; +#437 = EDGE_CURVE ( 'NONE', #237, #100, #693, .T. ) ; +#438 = VECTOR ( 'NONE', #1240, 1000.000000000000000 ) ; +#439 = ORIENTED_EDGE ( 'NONE', *, *, #684, .F. ) ; +#440 = FACE_OUTER_BOUND ( 'NONE', #107, .T. ) ; +#441 = EDGE_CURVE ( 'NONE', #2215, #2303, #1430, .T. ) ; +#442 = AXIS2_PLACEMENT_3D ( 'NONE', #2203, #2646, #151 ) ; +#443 = AXIS2_PLACEMENT_3D ( 'NONE', #728, #338, #1989 ) ; +#444 = CYLINDRICAL_SURFACE ( 'NONE', #1738, 126.6268659918020063 ) ; +#445 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#446 = VECTOR ( 'NONE', #2379, 1000.000000000000000 ) ; +#447 = ORIENTED_EDGE ( 'NONE', *, *, #2607, .F. ) ; +#448 = ORIENTED_EDGE ( 'NONE', *, *, #1763, .T. ) ; +#449 = AXIS2_PLACEMENT_3D ( 'NONE', #2594, #203, #1214 ) ; +#450 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -130.5433960000000013, 10.00000000000000000 ) ) ; +#451 = ORIENTED_EDGE ( 'NONE', *, *, #1231, .F. ) ; +#452 = ORIENTED_EDGE ( 'NONE', *, *, #963, .T. ) ; +#453 = EDGE_CURVE ( 'NONE', #794, #794, #2385, .T. ) ; +#454 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#455 = CYLINDRICAL_SURFACE ( 'NONE', #2005, 1.000000000000000888 ) ; +#456 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000004842, -158.5433960000000013, 0.000000000000000000 ) ) ; +#457 = ORIENTED_EDGE ( 'NONE', *, *, #10, .F. ) ; +#458 = EDGE_LOOP ( 'NONE', ( #702, #864, #2365, #2453 ) ) ; +#459 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#460 = ORIENTED_EDGE ( 'NONE', *, *, #1107, .F. ) ; +#461 = ORIENTED_EDGE ( 'NONE', *, *, #1517, .F. ) ; +#462 = VECTOR ( 'NONE', #1520, 1000.000000000000000 ) ; +#463 = PLANE ( 'NONE', #231 ) ; +#464 = EDGE_CURVE ( 'NONE', #1978, #1198, #1696, .T. ) ; +#465 = CIRCLE ( 'NONE', #939, 1.000000000000000888 ) ; +#466 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999999546, 0.000000000000000000 ) ) ; +#467 = EDGE_CURVE ( 'NONE', #522, #2303, #2514, .T. ) ; +#468 = EDGE_CURVE ( 'NONE', #2593, #100, #1576, .T. ) ; +#469 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#470 = ORIENTED_EDGE ( 'NONE', *, *, #436, .T. ) ; +#471 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 10.00000000000000000 ) ) ; +#472 = VERTEX_POINT ( 'NONE', #526 ) ; +#473 = CYLINDRICAL_SURFACE ( 'NONE', #2155, 1.000000000000000888 ) ; +#474 = EDGE_LOOP ( 'NONE', ( #1742, #327, #461, #748 ) ) ; +#475 = ORIENTED_EDGE ( 'NONE', *, *, #2081, .T. ) ; +#476 = EDGE_LOOP ( 'NONE', ( #1802, #1326, #2321, #1617 ) ) ; +#477 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#478 = FACE_OUTER_BOUND ( 'NONE', #2523, .T. ) ; +#479 = AXIS2_PLACEMENT_3D ( 'NONE', #91, #2374, #500 ) ; +#480 = LINE ( 'NONE', #73, #1557 ) ; +#481 = ORIENTED_EDGE ( 'NONE', *, *, #2480, .T. ) ; +#482 = EDGE_CURVE ( 'NONE', #981, #981, #1216, .T. ) ; +#483 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#484 = VECTOR ( 'NONE', #1435, 1000.000000000000000 ) ; +#485 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#486 = EDGE_CURVE ( 'NONE', #1198, #2215, #349, .T. ) ; +#487 = ORIENTED_EDGE ( 'NONE', *, *, #1800, .F. ) ; +#488 = ORIENTED_EDGE ( 'NONE', *, *, #66, .F. ) ; +#489 = AXIS2_PLACEMENT_3D ( 'NONE', #2338, #85, #1115 ) ; +#490 = CIRCLE ( 'NONE', #1882, 1.250000000000001110 ) ; +#491 = ORIENTED_EDGE ( 'NONE', *, *, #2444, .F. ) ; +#492 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#493 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#494 = EDGE_LOOP ( 'NONE', ( #1283, #1623, #1540, #1918 ) ) ; +#495 = VECTOR ( 'NONE', #2620, 1000.000000000000000 ) ; +#496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#497 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#498 = EDGE_LOOP ( 'NONE', ( #1554 ) ) ; +#499 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#500 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#501 = ORIENTED_EDGE ( 'NONE', *, *, #194, .T. ) ; +#502 = EDGE_LOOP ( 'NONE', ( #2323 ) ) ; +#503 = ORIENTED_EDGE ( 'NONE', *, *, #802, .T. ) ; +#504 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#505 = ORIENTED_EDGE ( 'NONE', *, *, #2162, .F. ) ; +#506 = CIRCLE ( 'NONE', #2030, 1.000000000000000888 ) ; +#507 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#508 = VECTOR ( 'NONE', #2014, 1000.000000000000000 ) ; +#509 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708864884, 10.00000000000000000 ) ) ; +#510 = CYLINDRICAL_SURFACE ( 'NONE', #1697, 0.8983045201146691028 ) ; +#511 = AXIS2_PLACEMENT_3D ( 'NONE', #725, #1559, #1788 ) ; +#512 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, -137.0867920000000026, 2.000000000000000000 ) ) ; +#513 = ORIENTED_EDGE ( 'NONE', *, *, #606, .T. ) ; +#514 = ORIENTED_EDGE ( 'NONE', *, *, #1453, .F. ) ; +#515 = EDGE_CURVE ( 'NONE', #705, #1928, #2352, .T. ) ; +#516 = EDGE_CURVE ( 'NONE', #2246, #1497, #1180, .T. ) ; +#517 = LINE ( 'NONE', #532, #1880 ) ; +#518 = EDGE_LOOP ( 'NONE', ( #1166 ) ) ; +#519 = AXIS2_PLACEMENT_3D ( 'NONE', #353, #743, #2202 ) ; +#520 = AXIS2_PLACEMENT_3D ( 'NONE', #2494, #2089, #219 ) ; +#521 = EDGE_CURVE ( 'NONE', #1414, #1139, #2584, .T. ) ; +#522 = VERTEX_POINT ( 'NONE', #2413 ) ; +#523 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#524 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#525 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#526 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866021, 6.000000000000000000 ) ) ; +#527 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433960000000013, 0.000000000000000000 ) ) ; +#528 = EDGE_LOOP ( 'NONE', ( #361, #1148, #421, #2491 ) ) ; +#529 = AXIS2_PLACEMENT_3D ( 'NONE', #2076, #193, #1673 ) ; +#530 = FACE_OUTER_BOUND ( 'NONE', #2644, .T. ) ; +#531 = CIRCLE ( 'NONE', #191, 1.000000000000000888 ) ; +#532 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#533 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#534 = VERTEX_POINT ( 'NONE', #2625 ) ; +#535 = ORIENTED_EDGE ( 'NONE', *, *, #1126, .T. ) ; +#536 = LINE ( 'NONE', #2226, #2486 ) ; +#537 = FACE_OUTER_BOUND ( 'NONE', #1409, .T. ) ; +#538 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#539 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800626106, 18.96120903081405018, 10.00000000000000000 ) ) ; +#540 = ORIENTED_EDGE ( 'NONE', *, *, #1453, .T. ) ; +#541 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#542 = PLANE ( 'NONE', #1796 ) ; +#543 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#544 = VERTEX_POINT ( 'NONE', #586 ) ; +#545 = ORIENTED_EDGE ( 'NONE', *, *, #1538, .T. ) ; +#546 = FACE_OUTER_BOUND ( 'NONE', #292, .T. ) ; +#547 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.273191542001325824E-16, 0.000000000000000000 ) ) ; +#548 = VECTOR ( 'NONE', #2042, 1000.000000000000000 ) ; +#549 = EDGE_CURVE ( 'NONE', #1551, #1113, #1823, .T. ) ; +#550 = LINE ( 'NONE', #1380, #2123 ) ; +#551 = EDGE_CURVE ( 'NONE', #2199, #83, #741, .T. ) ; +#552 = EDGE_CURVE ( 'NONE', #2451, #2451, #490, .T. ) ; +#553 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#554 = ORIENTED_EDGE ( 'NONE', *, *, #2326, .F. ) ; +#555 = AXIS2_PLACEMENT_3D ( 'NONE', #1555, #936, #983 ) ; +#556 = VECTOR ( 'NONE', #547, 1000.000000000000000 ) ; +#557 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361384766, 10.00000000000000000 ) ) ; +#558 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#559 = FACE_BOUND ( 'NONE', #1563, .T. ) ; +#560 = VERTEX_POINT ( 'NONE', #358 ) ; +#561 = ORIENTED_EDGE ( 'NONE', *, *, #1491, .F. ) ; +#562 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#563 = EDGE_LOOP ( 'NONE', ( #935, #545, #2, #1104 ) ) ; +#564 = LINE ( 'NONE', #1128, #1268 ) ; +#565 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#566 = FACE_OUTER_BOUND ( 'NONE', #2225, .T. ) ; +#567 = CIRCLE ( 'NONE', #2087, 126.6268659918020063 ) ; +#568 = ADVANCED_FACE ( 'NONE', ( #755 ), #931, .T. ) ; +#569 = FACE_OUTER_BOUND ( 'NONE', #427, .T. ) ; +#570 = EDGE_LOOP ( 'NONE', ( #2369 ) ) ; +#571 = VECTOR ( 'NONE', #246, 1000.000000000000000 ) ; +#572 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#573 = ADVANCED_FACE ( 'NONE', ( #569 ), #1158, .T. ) ; +#574 = FACE_OUTER_BOUND ( 'NONE', #244, .T. ) ; +#575 = LINE ( 'NONE', #371, #31 ) ; +#576 = FACE_BOUND ( 'NONE', #498, .T. ) ; +#577 = LINE ( 'NONE', #1178, #508 ) ; +#578 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, 18.85660558000369846, 2.000000000000000000 ) ) ; +#579 = VERTEX_POINT ( 'NONE', #975 ) ; +#580 = VECTOR ( 'NONE', #1110, 1000.000000000000000 ) ; +#581 = ORIENTED_EDGE ( 'NONE', *, *, #271, .F. ) ; +#582 = LINE ( 'NONE', #2267, #2658 ) ; +#583 = AXIS2_PLACEMENT_3D ( 'NONE', #1155, #1375, #2370 ) ; +#584 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 2.000000000000000000 ) ) ; +#585 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#586 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866021, 0.000000000000000000 ) ) ; +#587 = ORIENTED_EDGE ( 'NONE', *, *, #1534, .T. ) ; +#588 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#589 = PLANE ( 'NONE', #2627 ) ; +#590 = FACE_OUTER_BOUND ( 'NONE', #976, .T. ) ; +#591 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435081189, -108.5433959999997455, 0.000000000000000000 ) ) ; +#592 = ORIENTED_EDGE ( 'NONE', *, *, #853, .T. ) ; +#593 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361384766, 0.000000000000000000 ) ) ; +#594 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#595 = AXIS2_PLACEMENT_3D ( 'NONE', #1470, #426, #1310 ) ; +#596 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#597 = EDGE_LOOP ( 'NONE', ( #2092 ) ) ; +#598 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#599 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#600 = LINE ( 'NONE', #2647, #2373 ) ; +#601 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#602 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 0.000000000000000000 ) ) ; +#603 = VECTOR ( 'NONE', #2556, 1000.000000000000000 ) ; +#604 = EDGE_LOOP ( 'NONE', ( #366, #256, #581, #124 ) ) ; +#605 = ADVANCED_FACE ( 'NONE', ( #1586 ), #2198, .T. ) ; +#606 = EDGE_CURVE ( 'NONE', #2510, #2334, #106, .T. ) ; +#607 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#608 = EDGE_CURVE ( 'NONE', #1233, #1316, #2387, .T. ) ; +#609 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#610 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#611 = VECTOR ( 'NONE', #2281, 1000.000000000000000 ) ; +#612 = VERTEX_POINT ( 'NONE', #769 ) ; +#613 = PLANE ( 'NONE', #2307 ) ; +#614 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#615 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#616 = AXIS2_PLACEMENT_3D ( 'NONE', #1400, #2662, #1842 ) ; +#617 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, -150.5433968397460092, 0.000000000000000000 ) ) ; +#618 = ORIENTED_EDGE ( 'NONE', *, *, #968, .F. ) ; +#619 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#620 = ADVANCED_FACE ( 'NONE', ( #944 ), #1603, .F. ) ; +#621 = VECTOR ( 'NONE', #418, 1000.000000000000000 ) ; +#622 = CIRCLE ( 'NONE', #449, 0.8983043470089796534 ) ; +#623 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#624 = PLANE ( 'NONE', #1489 ) ; +#625 = ORIENTED_EDGE ( 'NONE', *, *, #835, .F. ) ; +#626 = CIRCLE ( 'NONE', #2142, 2.000000000000001776 ) ; +#627 = LINE ( 'NONE', #234, #1169 ) ; +#628 = LINE ( 'NONE', #1416, #2583 ) ; +#629 = EDGE_LOOP ( 'NONE', ( #1946, #2315, #1864, #126 ) ) ; +#630 = LINE ( 'NONE', #1045, #1979 ) ; +#631 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -128.1433958398938273, 10.00000000000000000 ) ) ; +#632 = ORIENTED_EDGE ( 'NONE', *, *, #882, .T. ) ; +#633 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#634 = LINE ( 'NONE', #1053, #1165 ) ; +#635 = LINE ( 'NONE', #1634, #2520 ) ; +#636 = EDGE_CURVE ( 'NONE', #1778, #1353, #2023, .T. ) ; +#637 = EDGE_CURVE ( 'NONE', #1186, #1593, #1620, .T. ) ; +#638 = ORIENTED_EDGE ( 'NONE', *, *, #666, .T. ) ; +#639 = PLANE ( 'NONE', #1743 ) ; +#640 = EDGE_CURVE ( 'NONE', #1011, #1011, #1954, .T. ) ; +#641 = AXIS2_PLACEMENT_3D ( 'NONE', #273, #918, #1340 ) ; +#642 = VERTEX_POINT ( 'NONE', #840 ) ; +#643 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#644 = EDGE_LOOP ( 'NONE', ( #293, #1320, #132, #2666 ) ) ; +#645 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 0.000000000000000000 ) ) ; +#646 = VECTOR ( 'NONE', #1545, 1000.000000000000000 ) ; +#647 = FACE_OUTER_BOUND ( 'NONE', #344, .T. ) ; +#648 = LINE ( 'NONE', #410, #1902 ) ; +#649 = VERTEX_POINT ( 'NONE', #812 ) ; +#650 = ORIENTED_EDGE ( 'NONE', *, *, #2083, .T. ) ; +#651 = ADVANCED_FACE ( 'NONE', ( #1255, #800 ), #2062, .F. ) ; +#652 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#653 = ORIENTED_EDGE ( 'NONE', *, *, #836, .F. ) ; +#654 = ORIENTED_EDGE ( 'NONE', *, *, #1280, .T. ) ; +#655 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999999546, 10.00000000000000000 ) ) ; +#656 = DIRECTION ( 'NONE', ( 1.734723475976807587E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#657 = VECTOR ( 'NONE', #784, 1000.000000000000000 ) ; +#658 = VECTOR ( 'NONE', #2282, 1000.000000000000000 ) ; +#659 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 0.000000000000000000 ) ) ; +#660 = FACE_OUTER_BOUND ( 'NONE', #1755, .T. ) ; +#661 = ORIENTED_EDGE ( 'NONE', *, *, #195, .F. ) ; +#662 = ORIENTED_EDGE ( 'NONE', *, *, #837, .T. ) ; +#663 = FACE_OUTER_BOUND ( 'NONE', #63, .T. ) ; +#664 = ORIENTED_EDGE ( 'NONE', *, *, #2251, .F. ) ; +#665 = VERTEX_POINT ( 'NONE', #25 ) ; +#666 = EDGE_CURVE ( 'NONE', #2308, #1496, #1889, .T. ) ; +#667 = EDGE_CURVE ( 'NONE', #2222, #1611, #635, .T. ) ; +#668 = CYLINDRICAL_SURFACE ( 'NONE', #1861, 1.000000000000000888 ) ; +#669 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#670 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#671 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000004842, -158.5433960000000013, 10.00000000000000000 ) ) ; +#672 = VERTEX_POINT ( 'NONE', #420 ) ; +#673 = VERTEX_POINT ( 'NONE', #1040 ) ; +#674 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#675 = ORIENTED_EDGE ( 'NONE', *, *, #159, .T. ) ; +#676 = VERTEX_POINT ( 'NONE', #2314 ) ; +#677 = ORIENTED_EDGE ( 'NONE', *, *, #1547, .F. ) ; +#678 = AXIS2_PLACEMENT_3D ( 'NONE', #1937, #1120, #1134 ) ; +#679 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#680 = EDGE_CURVE ( 'NONE', #1984, #283, #1242, .T. ) ; +#681 = EDGE_CURVE ( 'NONE', #2563, #1512, #2469, .T. ) ; +#682 = AXIS2_PLACEMENT_3D ( 'NONE', #471, #75, #2127 ) ; +#683 = LINE ( 'NONE', #1098, #785 ) ; +#684 = EDGE_CURVE ( 'NONE', #2509, #1111, #315, .T. ) ; +#685 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#686 = ORIENTED_EDGE ( 'NONE', *, *, #1215, .T. ) ; +#687 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 21.45660400000000223, 10.00000000000000000 ) ) ; +#688 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#689 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#690 = ORIENTED_EDGE ( 'NONE', *, *, #1886, .T. ) ; +#691 = ORIENTED_EDGE ( 'NONE', *, *, #1602, .F. ) ; +#692 = LINE ( 'NONE', #30, #2181 ) ; +#693 = LINE ( 'NONE', #598, #2170 ) ; +#694 = ORIENTED_EDGE ( 'NONE', *, *, #1173, .F. ) ; +#695 = FACE_OUTER_BOUND ( 'NONE', #2533, .T. ) ; +#696 = CIRCLE ( 'NONE', #1443, 1.000000000000000888 ) ; +#697 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#698 = ORIENTED_EDGE ( 'NONE', *, *, #291, .F. ) ; +#699 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 0.000000000000000000 ) ) ; +#700 = AXIS2_PLACEMENT_3D ( 'NONE', #1706, #2136, #656 ) ; +#701 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#702 = ORIENTED_EDGE ( 'NONE', *, *, #1639, .T. ) ; +#703 = EDGE_LOOP ( 'NONE', ( #1972 ) ) ; +#704 = AXIS2_PLACEMENT_3D ( 'NONE', #1907, #1305, #2139 ) ; +#705 = VERTEX_POINT ( 'NONE', #1027 ) ; +#706 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#707 = PLANE ( 'NONE', #1958 ) ; +#708 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398938273, 3.000000000000000000 ) ) ; +#709 = ORIENTED_EDGE ( 'NONE', *, *, #2676, .T. ) ; +#710 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#711 = PLANE ( 'NONE', #992 ) ; +#712 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 20.45660399999999868, 10.00000000000000000 ) ) ; +#713 = EDGE_CURVE ( 'NONE', #2661, #2351, #1863, .T. ) ; +#714 = ADVANCED_FACE ( 'NONE', ( #431 ), #1646, .F. ) ; +#715 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#716 = EDGE_LOOP ( 'NONE', ( #2010, #1044, #2148, #1943 ) ) ; +#717 = EDGE_LOOP ( 'NONE', ( #2388, #2165, #2018, #742 ) ) ; +#718 = ORIENTED_EDGE ( 'NONE', *, *, #745, .T. ) ; +#719 = EDGE_CURVE ( 'NONE', #1593, #2605, #2090, .T. ) ; +#720 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#721 = EDGE_LOOP ( 'NONE', ( #1867 ) ) ; +#722 = ORIENTED_EDGE ( 'NONE', *, *, #549, .F. ) ; +#723 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#724 = VECTOR ( 'NONE', #978, 1000.000000000000000 ) ; +#725 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 26.00000000000001066 ) ) ; +#726 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#727 = CIRCLE ( 'NONE', #2467, 1.250000000000001110 ) ; +#728 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 17.45660499452100112, 10.00000000000000000 ) ) ; +#729 = EDGE_LOOP ( 'NONE', ( #376, #1095, #1983, #1042 ) ) ; +#730 = ORIENTED_EDGE ( 'NONE', *, *, #719, .F. ) ; +#731 = ADVANCED_FACE ( 'NONE', ( #2483 ), #624, .F. ) ; +#732 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#733 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#734 = EDGE_LOOP ( 'NONE', ( #888, #762, #286, #369 ) ) ; +#735 = VECTOR ( 'NONE', #2624, 1000.000000000000000 ) ; +#736 = ORIENTED_EDGE ( 'NONE', *, *, #885, .T. ) ; +#737 = LINE ( 'NONE', #1142, #98 ) ; +#738 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#739 = AXIS2_PLACEMENT_3D ( 'NONE', #1891, #1661, #1675 ) ; +#740 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 20.45660399999999868, 10.00000000000000000 ) ) ; +#741 = LINE ( 'NONE', #131, #2007 ) ; +#742 = ORIENTED_EDGE ( 'NONE', *, *, #1822, .F. ) ; +#743 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#744 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#745 = EDGE_CURVE ( 'NONE', #1353, #2150, #1455, .T. ) ; +#746 = AXIS2_PLACEMENT_3D ( 'NONE', #2503, #477, #1049 ) ; +#747 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#748 = ORIENTED_EDGE ( 'NONE', *, *, #947, .F. ) ; +#749 = EDGE_CURVE ( 'NONE', #287, #673, #648, .T. ) ; +#750 = EDGE_CURVE ( 'NONE', #213, #213, #1247, .T. ) ; +#751 = VERTEX_POINT ( 'NONE', #1848 ) ; +#752 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#753 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#754 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#755 = FACE_OUTER_BOUND ( 'NONE', #570, .T. ) ; +#756 = VERTEX_POINT ( 'NONE', #1874 ) ; +#757 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -130.5433960000000013, 0.000000000000000000 ) ) ; +#758 = FACE_BOUND ( 'NONE', #891, .T. ) ; +#759 = LINE ( 'NONE', #1580, #580 ) ; +#760 = ORIENTED_EDGE ( 'NONE', *, *, #2587, .T. ) ; +#761 = FACE_OUTER_BOUND ( 'NONE', #2634, .T. ) ; +#762 = ORIENTED_EDGE ( 'NONE', *, *, #2640, .T. ) ; +#763 = FACE_OUTER_BOUND ( 'NONE', #80, .T. ) ; +#764 = EDGE_CURVE ( 'NONE', #1194, #1194, #2036, .T. ) ; +#765 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#766 = AXIS2_PLACEMENT_3D ( 'NONE', #154, #1827, #2277 ) ; +#767 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -148.0433967708866021, 0.000000000000000000 ) ) ; +#768 = EDGE_CURVE ( 'NONE', #16, #237, #1773, .T. ) ; +#769 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#770 = ORIENTED_EDGE ( 'NONE', *, *, #482, .T. ) ; +#771 = AXIS2_PLACEMENT_3D ( 'NONE', #88, #1945, #1062 ) ; +#772 = CLOSED_SHELL ( 'NONE', ( #2061, #1112, #2131, #2283, #1109, #40, #1108, #178, #1399, #1232, #1641, #605, #391, #866, #568, #2166, #1850, #1601, #1959, #1196, #965, #2011, #916, #164, #1913, #1379, #1346, #1398, #1016, #651, #1885, #120, #2507, #2537, #272, #2049, #1851, #620, #2017, #2359, #1457, #2339, #2526, #394, #1484, #322, #351, #913, #1075, #1260, #2412, #1328, #2126, #1621, #1751, #1051, #325, #1817, #714, #1565, #1838, #1684, #1732, #2195, #13, #573, #68, #2602, #943, #1599, #2361, #2218, #2395, #1988, #1034, #1689, #1200, #214, #393, #1992, #253, #1036, #731, #2445, #1975, #1144, #2582 ) ) ; +#773 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999974908, 0.000000000000000000 ) ) ; +#774 = DIRECTION ( 'NONE', ( -1.734723475976807094E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#775 = FACE_OUTER_BOUND ( 'NONE', #1898, .T. ) ; +#776 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708864884, 0.000000000000000000 ) ) ; +#777 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -158.5433960000000013, 0.000000000000000000 ) ) ; +#778 = ORIENTED_EDGE ( 'NONE', *, *, #190, .F. ) ; +#779 = VERTEX_POINT ( 'NONE', #1085 ) ; +#780 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#781 = FACE_OUTER_BOUND ( 'NONE', #2141, .T. ) ; +#782 = EDGE_CURVE ( 'NONE', #1448, #1448, #77, .T. ) ; +#783 = LINE ( 'NONE', #1298, #2606 ) ; +#784 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#785 = VECTOR ( 'NONE', #496, 1000.000000000000000 ) ; +#786 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 10.00000000000000000 ) ) ; +#787 = EDGE_CURVE ( 'NONE', #1316, #2621, #1281, .T. ) ; +#788 = ORIENTED_EDGE ( 'NONE', *, *, #2377, .T. ) ; +#789 = AXIS2_PLACEMENT_3D ( 'NONE', #814, #1901, #1431 ) ; +#790 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#791 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 20.45660399999999868, 10.00000000000000000 ) ) ; +#792 = LINE ( 'NONE', #1010, #1330 ) ; +#793 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#794 = VERTEX_POINT ( 'NONE', #2677 ) ; +#795 = ORIENTED_EDGE ( 'NONE', *, *, #84, .F. ) ; +#796 = VECTOR ( 'NONE', #377, 1000.000000000000000 ) ; +#797 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#798 = VECTOR ( 'NONE', #2122, 1000.000000000000000 ) ; +#799 = PRESENTATION_STYLE_ASSIGNMENT (( #379 ) ) ; +#800 = FACE_OUTER_BOUND ( 'NONE', #1524, .T. ) ; +#801 = ORIENTED_EDGE ( 'NONE', *, *, #867, .F. ) ; +#802 = EDGE_CURVE ( 'NONE', #945, #2593, #1531, .T. ) ; +#803 = LINE ( 'NONE', #1007, #956 ) ; +#804 = FACE_OUTER_BOUND ( 'NONE', #2114, .T. ) ; +#805 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#806 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#807 = EDGE_CURVE ( 'NONE', #2199, #926, #1099, .T. ) ; +#808 = EDGE_LOOP ( 'NONE', ( #1814, #920, #1870, #1189 ) ) ; +#809 = FACE_OUTER_BOUND ( 'NONE', #1543, .T. ) ; +#810 = FACE_OUTER_BOUND ( 'NONE', #808, .T. ) ; +#811 = CIRCLE ( 'NONE', #987, 0.8983045201146760972 ) ; +#812 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#813 = ORIENTED_EDGE ( 'NONE', *, *, #1686, .F. ) ; +#814 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -129.5433960000000013, 10.00000000000000000 ) ) ; +#815 = LINE ( 'NONE', #1401, #1203 ) ; +#816 = EDGE_CURVE ( 'NONE', #1113, #2414, #1722, .T. ) ; +#817 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 0.000000000000000000 ) ) ; +#818 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423611705, -155.9433975800035057, 10.00000000000000000 ) ) ; +#819 = ORIENTED_EDGE ( 'NONE', *, *, #2252, .F. ) ; +#820 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708866021, 10.00000000000000000 ) ) ; +#821 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#822 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.229739708000460410E-16, 0.000000000000000000 ) ) ; +#823 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#824 = AXIS2_PLACEMENT_3D ( 'NONE', #167, #105, #2612 ) ; +#825 = VERTEX_POINT ( 'NONE', #497 ) ; +#826 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#827 = LINE ( 'NONE', #1662, #857 ) ; +#828 = ORIENTED_EDGE ( 'NONE', *, *, #2446, .F. ) ; +#829 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#830 = AXIS2_PLACEMENT_3D ( 'NONE', #1149, #1808, #1175 ) ; +#831 = LINE ( 'NONE', #201, #484 ) ; +#832 = ORIENTED_EDGE ( 'NONE', *, *, #835, .T. ) ; +#833 = LINE ( 'NONE', #1451, #2439 ) ; +#834 = AXIS2_PLACEMENT_3D ( 'NONE', #1423, #216, #1847 ) ; +#835 = EDGE_CURVE ( 'NONE', #237, #649, #887, .T. ) ; +#836 = EDGE_CURVE ( 'NONE', #1651, #1651, #429, .T. ) ; +#837 = EDGE_CURVE ( 'NONE', #924, #2592, #1114, .T. ) ; +#838 = AXIS2_PLACEMENT_3D ( 'NONE', #1595, #507, #1973 ) ; +#839 = VECTOR ( 'NONE', #2442, 1000.000000000000000 ) ; +#840 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#841 = ORIENTED_EDGE ( 'NONE', *, *, #1839, .T. ) ; +#842 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433960000000013, 10.00000000000000000 ) ) ; +#843 = ORIENTED_EDGE ( 'NONE', *, *, #1856, .F. ) ; +#844 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#845 = VERTEX_POINT ( 'NONE', #631 ) ; +#846 = ORIENTED_EDGE ( 'NONE', *, *, #304, .F. ) ; +#847 = FACE_OUTER_BOUND ( 'NONE', #458, .T. ) ; +#848 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#849 = EDGE_CURVE ( 'NONE', #1028, #2246, #1934, .T. ) ; +#850 = DIRECTION ( 'NONE', ( 1.000000000000000000, 1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#851 = VERTEX_POINT ( 'NONE', #1322 ) ; +#852 = EDGE_LOOP ( 'NONE', ( #2380 ) ) ; +#853 = EDGE_CURVE ( 'NONE', #2593, #649, #914, .T. ) ; +#854 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#855 = VECTOR ( 'NONE', #1638, 1000.000000000000000 ) ; +#856 = ORIENTED_EDGE ( 'NONE', *, *, #640, .T. ) ; +#857 = VECTOR ( 'NONE', #1459, 1000.000000000000000 ) ; +#858 = ORIENTED_EDGE ( 'NONE', *, *, #412, .T. ) ; +#859 = FACE_OUTER_BOUND ( 'NONE', #1830, .T. ) ; +#860 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#861 = VECTOR ( 'NONE', #2341, 1000.000000000000000 ) ; +#862 = PLANE ( 'NONE', #144 ) ; +#863 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, 0.000000000000000000 ) ) ; +#864 = ORIENTED_EDGE ( 'NONE', *, *, #2112, .T. ) ; +#865 = ORIENTED_EDGE ( 'NONE', *, *, #667, .F. ) ; +#866 = ADVANCED_FACE ( 'NONE', ( #2330 ), #711, .T. ) ; +#867 = EDGE_CURVE ( 'NONE', #959, #1226, #1072, .T. ) ; +#868 = VECTOR ( 'NONE', #958, 1000.000000000000000 ) ; +#869 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435078082, -108.5433959999999303, 0.000000000000000000 ) ) ; +#870 = EDGE_LOOP ( 'NONE', ( #2599, #1667, #1567, #162 ) ) ; +#871 = ORIENTED_EDGE ( 'NONE', *, *, #867, .T. ) ; +#872 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#873 = VECTOR ( 'NONE', #2496, 1000.000000000000000 ) ; +#874 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#875 = FACE_OUTER_BOUND ( 'NONE', #604, .T. ) ; +#876 = CIRCLE ( 'NONE', #2398, 1.250000000000001110 ) ; +#877 = ORIENTED_EDGE ( 'NONE', *, *, #2112, .F. ) ; +#878 = EDGE_LOOP ( 'NONE', ( #221 ) ) ; +#879 = LINE ( 'NONE', #1285, #1952 ) ; +#880 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 10.00000000000000000 ) ) ; +#881 = VERTEX_POINT ( 'NONE', #1518 ) ; +#882 = EDGE_CURVE ( 'NONE', #1840, #959, #480, .T. ) ; +#883 = EDGE_LOOP ( 'NONE', ( #1012, #470, #1122, #2566 ) ) ; +#884 = CYLINDRICAL_SURFACE ( 'NONE', #1267, 1.000000000000000888 ) ; +#885 = EDGE_CURVE ( 'NONE', #1528, #705, #1910, .T. ) ; +#886 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#887 = LINE ( 'NONE', #282, #2118 ) ; +#888 = ORIENTED_EDGE ( 'NONE', *, *, #1293, .T. ) ; +#889 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 6.000000000000000000 ) ) ; +#890 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120903081405018, 0.000000000000000000 ) ) ; +#891 = EDGE_LOOP ( 'NONE', ( #302, #1456, #139, #176 ) ) ; +#892 = ORIENTED_EDGE ( 'NONE', *, *, #636, .F. ) ; +#893 = ORIENTED_EDGE ( 'NONE', *, *, #482, .F. ) ; +#894 = CIRCLE ( 'NONE', #1859, 0.8983045201146691028 ) ; +#895 = EDGE_CURVE ( 'NONE', #1510, #283, #243, .T. ) ; +#896 = LINE ( 'NONE', #1883, #2228 ) ; +#897 = VECTOR ( 'NONE', #1265, 1000.000000000000000 ) ; +#898 = CIRCLE ( 'NONE', #2256, 1.000000000000000888 ) ; +#899 = FACE_OUTER_BOUND ( 'NONE', #2008, .T. ) ; +#900 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#901 = ORIENTED_EDGE ( 'NONE', *, *, #681, .F. ) ; +#902 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 10.00000000000000000 ) ) ; +#903 = FACE_OUTER_BOUND ( 'NONE', #1286, .T. ) ; +#904 = EDGE_LOOP ( 'NONE', ( #1970 ) ) ; +#905 = ORIENTED_EDGE ( 'NONE', *, *, #2452, .F. ) ; +#906 = ORIENTED_EDGE ( 'NONE', *, *, #1406, .F. ) ; +#907 = VECTOR ( 'NONE', #525, 1000.000000000000000 ) ; +#908 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -28.54339599999974908, 10.00000000000000000 ) ) ; +#909 = ORIENTED_EDGE ( 'NONE', *, *, #2197, .F. ) ; +#910 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#911 = VECTOR ( 'NONE', #2275, 1000.000000000000000 ) ; +#912 = EDGE_CURVE ( 'NONE', #2221, #2221, #727, .T. ) ; +#913 = ADVANCED_FACE ( 'NONE', ( #660 ), #1495, .T. ) ; +#914 = LINE ( 'NONE', #1735, #254 ) ; +#915 = FACE_OUTER_BOUND ( 'NONE', #729, .T. ) ; +#916 = ADVANCED_FACE ( 'NONE', ( #875 ), #1709, .F. ) ; +#917 = CIRCLE ( 'NONE', #1397, 1.000000000000000888 ) ; +#918 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#919 = ORIENTED_EDGE ( 'NONE', *, *, #2162, .T. ) ; +#920 = ORIENTED_EDGE ( 'NONE', *, *, #1801, .T. ) ; +#921 = VECTOR ( 'NONE', #971, 1000.000000000000000 ) ; +#922 = ORIENTED_EDGE ( 'NONE', *, *, #1702, .F. ) ; +#923 = LINE ( 'NONE', #1344, #140 ) ; +#924 = VERTEX_POINT ( 'NONE', #1584 ) ; +#925 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#926 = VERTEX_POINT ( 'NONE', #524 ) ; +#927 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#928 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#929 = EDGE_CURVE ( 'NONE', #1058, #2389, #2383, .T. ) ; +#930 = FACE_OUTER_BOUND ( 'NONE', #1652, .T. ) ; +#931 = PLANE ( 'NONE', #1311 ) ; +#932 = PLANE ( 'NONE', #1472 ) ; +#933 = ORIENTED_EDGE ( 'NONE', *, *, #240, .T. ) ; +#934 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#935 = ORIENTED_EDGE ( 'NONE', *, *, #837, .F. ) ; +#936 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#937 = ORIENTED_EDGE ( 'NONE', *, *, #551, .F. ) ; +#938 = CYLINDRICAL_SURFACE ( 'NONE', #1532, 1.250000000000001110 ) ; +#939 = AXIS2_PLACEMENT_3D ( 'NONE', #791, #1432, #2261 ) ; +#940 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#941 = PLANE ( 'NONE', #2428 ) ; +#942 = VECTOR ( 'NONE', #34, 1000.000000000000000 ) ; +#943 = ADVANCED_FACE ( 'NONE', ( #537 ), #1363, .T. ) ; +#944 = FACE_OUTER_BOUND ( 'NONE', #1358, .T. ) ; +#945 = VERTEX_POINT ( 'NONE', #1185 ) ; +#946 = EDGE_CURVE ( 'NONE', #1663, #1186, #1377, .T. ) ; +#947 = EDGE_CURVE ( 'NONE', #1740, #1510, #1729, .T. ) ; +#948 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999993027, 10.00000000000000888 ) ) ; +#949 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#950 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#951 = ORIENTED_EDGE ( 'NONE', *, *, #1361, .F. ) ; +#952 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION ( '', ( #2216 ), #1256 ) ; +#953 = ORIENTED_EDGE ( 'NONE', *, *, #2251, .T. ) ; +#954 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 10.00000000000000000 ) ) ; +#955 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#956 = VECTOR ( 'NONE', #2416, 1000.000000000000000 ) ; +#957 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 0.000000000000000000 ) ) ; +#958 = DIRECTION ( 'NONE', ( -1.000000000000000000, -5.782411586589350736E-16, 0.000000000000000000 ) ) ; +#959 = VERTEX_POINT ( 'NONE', #1974 ) ; +#960 = CIRCLE ( 'NONE', #96, 126.6268659918020063 ) ; +#961 = FACE_OUTER_BOUND ( 'NONE', #1272, .T. ) ; +#962 = AXIS2_PLACEMENT_3D ( 'NONE', #985, #2059, #1410 ) ; +#963 = EDGE_CURVE ( 'NONE', #2191, #612, #309, .T. ) ; +#964 = CYLINDRICAL_SURFACE ( 'NONE', #766, 0.8983045201146691028 ) ; +#965 = ADVANCED_FACE ( 'NONE', ( #2211 ), #2020, .T. ) ; +#966 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#967 = ORIENTED_EDGE ( 'NONE', *, *, #912, .F. ) ; +#968 = EDGE_CURVE ( 'NONE', #579, #2420, #898, .T. ) ; +#969 = LINE ( 'NONE', #1408, #495 ) ; +#970 = EDGE_LOOP ( 'NONE', ( #2209 ) ) ; +#971 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#972 = AXIS2_PLACEMENT_3D ( 'NONE', #980, #793, #2603 ) ; +#973 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708864884, 6.000000000000000000 ) ) ; +#974 = LINE ( 'NONE', #2169, #735 ) ; +#975 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 17.45660499452100112, 10.00000000000000000 ) ) ; +#976 = EDGE_LOOP ( 'NONE', ( #2159, #2120, #841, #2031 ) ) ; +#977 = PLANE ( 'NONE', #1784 ) ; +#978 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#979 = FACE_BOUND ( 'NONE', #2393, .T. ) ; +#980 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433960000000013, 10.00000000000000000 ) ) ; +#981 = VERTEX_POINT ( 'NONE', #1812 ) ; +#982 = ORIENTED_EDGE ( 'NONE', *, *, #1909, .F. ) ; +#983 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#984 = VERTEX_POINT ( 'NONE', #1156 ) ; +#985 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#986 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#987 = AXIS2_PLACEMENT_3D ( 'NONE', #1419, #2247, #2343 ) ; +#988 = ORIENTED_EDGE ( 'NONE', *, *, #1896, .T. ) ; +#989 = LINE ( 'NONE', #767, #262 ) ; +#990 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433960000000013, 0.000000000000000000 ) ) ; +#991 = EDGE_LOOP ( 'NONE', ( #909 ) ) ; +#992 = AXIS2_PLACEMENT_3D ( 'NONE', #2541, #2531, #1699 ) ; +#993 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#994 = FACE_OUTER_BOUND ( 'NONE', #1741, .T. ) ; +#995 = FACE_BOUND ( 'NONE', #1581, .T. ) ; +#996 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -154.5433969945210038, 0.000000000000000000 ) ) ; +#997 = LINE ( 'NONE', #1845, #54 ) ; +#998 = ORIENTED_EDGE ( 'NONE', *, *, #2255, .T. ) ; +#999 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1000 = AXIS2_PLACEMENT_3D ( 'NONE', #1383, #2217, #2201 ) ; +#1001 = EDGE_CURVE ( 'NONE', #472, #1713, #2074, .T. ) ; +#1002 = EDGE_CURVE ( 'NONE', #1111, #1984, #1573, .T. ) ; +#1003 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'part', '', ( #197 ) ) ; +#1004 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1005 = EDGE_LOOP ( 'NONE', ( #29 ) ) ; +#1006 = EDGE_CURVE ( 'NONE', #1271, #1912, #2638, .T. ) ; +#1007 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999993027, 0.000000000000000000 ) ) ; +#1008 = AXIS2_PLACEMENT_3D ( 'NONE', #786, #1204, #1366 ) ; +#1009 = LINE ( 'NONE', #423, #1981 ) ; +#1010 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1011 = VERTEX_POINT ( 'NONE', #2249 ) ; +#1012 = ORIENTED_EDGE ( 'NONE', *, *, #1439, .T. ) ; +#1013 = VECTOR ( 'NONE', #2121, 1000.000000000000000 ) ; +#1014 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435076661, -108.5433959999999303, 0.000000000000000000 ) ) ; +#1015 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 10.00000000000000000 ) ) ; +#1016 = ADVANCED_FACE ( 'NONE', ( #334, #781 ), #1804, .F. ) ; +#1017 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1018 = ORIENTED_EDGE ( 'NONE', *, *, #2452, .T. ) ; +#1019 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1020 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1021 = LINE ( 'NONE', #2648, #855 ) ; +#1022 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1023 = VERTEX_POINT ( 'NONE', #928 ) ; +#1024 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#1025 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1026 = VECTOR ( 'NONE', #2220, 1000.000000000000000 ) ; +#1027 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1028 = VERTEX_POINT ( 'NONE', #1131 ) ; +#1029 = LINE ( 'NONE', #2104, #1082 ) ; +#1030 = VECTOR ( 'NONE', #492, 1000.000000000000000 ) ; +#1031 = LINE ( 'NONE', #1853, #2274 ) ; +#1032 = ORIENTED_EDGE ( 'NONE', *, *, #750, .T. ) ; +#1033 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1034 = ADVANCED_FACE ( 'NONE', ( #1761 ), #1986, .T. ) ; +#1035 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397460092, 10.00000000000000000 ) ) ; +#1036 = ADVANCED_FACE ( 'NONE', ( #1596 ), #2580, .F. ) ; +#1037 = VERTEX_POINT ( 'NONE', #2611 ) ; +#1038 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1039 = FILL_AREA_STYLE ('',( #2242 ) ) ; +#1040 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435081189, -108.5433959999997455, 10.00000000000000888 ) ) ; +#1041 = PRESENTATION_LAYER_ASSIGNMENT ( '', '', ( #2216 ) ) ; +#1042 = ORIENTED_EDGE ( 'NONE', *, *, #1438, .F. ) ; +#1043 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1044 = ORIENTED_EDGE ( 'NONE', *, *, #2659, .F. ) ; +#1045 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 10.00000000000000000 ) ) ; +#1046 = AXIS2_PLACEMENT_3D ( 'NONE', #135, #370, #1208 ) ; +#1047 = ORIENTED_EDGE ( 'NONE', *, *, #2529, .T. ) ; +#1048 = EDGE_CURVE ( 'NONE', #1433, #2422, #2227, .T. ) ; +#1049 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1050 = CIRCLE ( 'NONE', #2273, 2.000000000000001776 ) ; +#1051 = ADVANCED_FACE ( 'NONE', ( #1392 ), #365, .T. ) ; +#1052 = VECTOR ( 'NONE', #2567, 1000.000000000000000 ) ; +#1053 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708866021, 10.00000000000000000 ) ) ; +#1054 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1055 = ORIENTED_EDGE ( 'NONE', *, *, #713, .F. ) ; +#1056 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1057 = VERTEX_POINT ( 'NONE', #2241 ) ; +#1058 = VERTEX_POINT ( 'NONE', #378 ) ; +#1059 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#1060 = EDGE_CURVE ( 'NONE', #2278, #2278, #389, .T. ) ; +#1061 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1062 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1063 = ORIENTED_EDGE ( 'NONE', *, *, #1126, .F. ) ; +#1064 = ORIENTED_EDGE ( 'NONE', *, *, #2053, .T. ) ; +#1065 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1066 = EDGE_LOOP ( 'NONE', ( #1753, #828, #1422, #488 ) ) ; +#1067 = AXIS2_PLACEMENT_3D ( 'NONE', #2236, #1579, #341 ) ; +#1068 = EDGE_LOOP ( 'NONE', ( #2250, #1153, #2434, #2532 ) ) ; +#1069 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433960000000013, 10.00000000000000000 ) ) ; +#1070 = AXIS2_PLACEMENT_3D ( 'NONE', #1219, #1230, #1923 ) ; +#1071 = DIRECTION ( 'NONE', ( -1.000000000000000000, 3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#1072 = LINE ( 'NONE', #2124, #861 ) ; +#1073 = VERTEX_POINT ( 'NONE', #1578 ) ; +#1074 = EDGE_CURVE ( 'NONE', #38, #2500, #1980, .T. ) ; +#1075 = ADVANCED_FACE ( 'NONE', ( #1588 ), #2233, .T. ) ; +#1076 = ORIENTED_EDGE ( 'NONE', *, *, #1605, .T. ) ; +#1077 = CIRCLE ( 'NONE', #1655, 1.000000000000000888 ) ; +#1078 = FACE_OUTER_BOUND ( 'NONE', #1507, .T. ) ; +#1079 = EDGE_CURVE ( 'NONE', #1630, #1630, #2091, .T. ) ; +#1080 = EDGE_LOOP ( 'NONE', ( #2427 ) ) ; +#1081 = SHAPE_DEFINITION_REPRESENTATION ( #1207, #1922 ) ; +#1082 = VECTOR ( 'NONE', #1865, 1000.000000000000000 ) ; +#1083 = LINE ( 'NONE', #1680, #1086 ) ; +#1084 = FACE_OUTER_BOUND ( 'NONE', #1263, .T. ) ; +#1085 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 0.000000000000000000 ) ) ; +#1086 = VECTOR ( 'NONE', #872, 1000.000000000000000 ) ; +#1087 = ORIENTED_EDGE ( 'NONE', *, *, #2394, .T. ) ; +#1088 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1089 = EDGE_CURVE ( 'NONE', #1057, #1479, #803, .T. ) ; +#1090 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 0.000000000000000000 ) ) ; +#1091 = VERTEX_POINT ( 'NONE', #2040 ) ; +#1092 = ORIENTED_EDGE ( 'NONE', *, *, #882, .F. ) ; +#1093 = PRODUCT_DEFINITION_CONTEXT ( 'detailed design', #2264, 'design' ) ; +#1094 = PRODUCT_CONTEXT ( 'NONE', #1477, 'mechanical' ) ; +#1095 = ORIENTED_EDGE ( 'NONE', *, *, #307, .F. ) ; +#1096 = PLANE ( 'NONE', #1624 ) ; +#1097 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433959999997455, 26.00000000000001066 ) ) ; +#1098 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1099 = LINE ( 'NONE', #2113, #646 ) ; +#1100 = ORIENTED_EDGE ( 'NONE', *, *, #467, .T. ) ; +#1101 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1102 = CYLINDRICAL_SURFACE ( 'NONE', #678, 1.000000000000000888 ) ; +#1103 = ORIENTED_EDGE ( 'NONE', *, *, #1717, .T. ) ; +#1104 = ORIENTED_EDGE ( 'NONE', *, *, #412, .F. ) ; +#1105 = ORIENTED_EDGE ( 'NONE', *, *, #265, .F. ) ; +#1106 = AXIS2_PLACEMENT_3D ( 'NONE', #512, #701, #1537 ) ; +#1107 = EDGE_CURVE ( 'NONE', #1367, #2651, #1355, .T. ) ; +#1108 = ADVANCED_FACE ( 'NONE', ( #1190 ), #1161, .T. ) ; +#1109 = ADVANCED_FACE ( 'NONE', ( #1415 ), #122, .F. ) ; +#1110 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1111 = VERTEX_POINT ( 'NONE', #1994 ) ; +#1112 = ADVANCED_FACE ( 'NONE', ( #961, #2219 ), #2390, .F. ) ; +#1113 = VERTEX_POINT ( 'NONE', #948 ) ; +#1114 = CIRCLE ( 'NONE', #1819, 126.6268659918020063 ) ; +#1115 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1116 = VECTOR ( 'NONE', #1022, 1000.000000000000000 ) ; +#1117 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1118 = ORIENTED_EDGE ( 'NONE', *, *, #637, .F. ) ; +#1119 = PLANE ( 'NONE', #114 ) ; +#1120 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1121 = ORIENTED_EDGE ( 'NONE', *, *, #764, .F. ) ; +#1122 = ORIENTED_EDGE ( 'NONE', *, *, #1888, .T. ) ; +#1123 = ORIENTED_EDGE ( 'NONE', *, *, #1965, .F. ) ; +#1124 = PLANE ( 'NONE', #1174 ) ; +#1125 = VERTEX_POINT ( 'NONE', #993 ) ; +#1126 = EDGE_CURVE ( 'NONE', #2222, #881, #2615, .T. ) ; +#1127 = ORIENTED_EDGE ( 'NONE', *, *, #10, .T. ) ; +#1128 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1129 = AXIS2_PLACEMENT_3D ( 'NONE', #599, #198, #1325 ) ; +#1130 = VECTOR ( 'NONE', #1806, 1000.000000000000000 ) ; +#1131 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1132 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1133 = CIRCLE ( 'NONE', #2348, 0.8983045201146760972 ) ; +#1134 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1135 = EDGE_LOOP ( 'NONE', ( #770 ) ) ; +#1136 = ORIENTED_EDGE ( 'NONE', *, *, #307, .T. ) ; +#1137 = AXIS2_PLACEMENT_3D ( 'NONE', #670, #2540, #32 ) ; +#1138 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1139 = VERTEX_POINT ( 'NONE', #2245 ) ; +#1140 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#1141 = ORIENTED_EDGE ( 'NONE', *, *, #2569, .T. ) ; +#1142 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1143 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1144 = ADVANCED_FACE ( 'NONE', ( #530 ), #977, .F. ) ; +#1145 = PLANE ( 'NONE', #8 ) ; +#1146 = EDGE_CURVE ( 'NONE', #1414, #2191, #383, .T. ) ; +#1147 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1148 = ORIENTED_EDGE ( 'NONE', *, *, #84, .T. ) ; +#1149 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1150 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1151 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1152 = AXIS2_PLACEMENT_3D ( 'NONE', #52, #459, #715 ) ; +#1153 = ORIENTED_EDGE ( 'NONE', *, *, #1438, .T. ) ; +#1154 = ORIENTED_EDGE ( 'NONE', *, *, #1160, .T. ) ; +#1155 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106189541, 3.000000000000000000 ) ) ; +#1156 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1157 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1158 = CYLINDRICAL_SURFACE ( 'NONE', #1008, 2.000000000000001776 ) ; +#1159 = VERTEX_POINT ( 'NONE', #1625 ) ; +#1160 = EDGE_CURVE ( 'NONE', #851, #22, #1781, .T. ) ; +#1161 = PLANE ( 'NONE', #830 ) ; +#1162 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1163 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1164 = ORIENTED_EDGE ( 'NONE', *, *, #1514, .F. ) ; +#1165 = VECTOR ( 'NONE', #2455, 1000.000000000000000 ) ; +#1166 = ORIENTED_EDGE ( 'NONE', *, *, #453, .T. ) ; +#1167 = LINE ( 'NONE', #2001, #921 ) ; +#1168 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1169 = VECTOR ( 'NONE', #1636, 1000.000000000000000 ) ; +#1170 = FACE_OUTER_BOUND ( 'NONE', #476, .T. ) ; +#1171 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -1.686265792006348885E-14, 10.00000000000000000 ) ) ; +#1172 = VERTEX_POINT ( 'NONE', #1369 ) ; +#1173 = EDGE_CURVE ( 'NONE', #1663, #1125, #228, .T. ) ; +#1174 = AXIS2_PLACEMENT_3D ( 'NONE', #2205, #1782, #966 ) ; +#1175 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1176 = ORIENTED_EDGE ( 'NONE', *, *, #2394, .F. ) ; +#1177 = FACE_BOUND ( 'NONE', #597, .T. ) ; +#1178 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1179 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1180 = CIRCLE ( 'NONE', #1536, 1.000000000000000888 ) ; +#1181 = VERTEX_POINT ( 'NONE', #2447 ) ; +#1182 = FACE_OUTER_BOUND ( 'NONE', #1635, .T. ) ; +#1183 = VERTEX_POINT ( 'NONE', #773 ) ; +#1184 = FACE_OUTER_BOUND ( 'NONE', #1135, .T. ) ; +#1185 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#1186 = VERTEX_POINT ( 'NONE', #2429 ) ; +#1187 = LINE ( 'NONE', #1776, #907 ) ; +#1188 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1189 = ORIENTED_EDGE ( 'NONE', *, *, #87, .T. ) ; +#1190 = FACE_OUTER_BOUND ( 'NONE', #411, .T. ) ; +#1191 = CYLINDRICAL_SURFACE ( 'NONE', #1426, 126.6268659918020063 ) ; +#1192 = LINE ( 'NONE', #200, #2292 ) ; +#1193 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1194 = VERTEX_POINT ( 'NONE', #2043 ) ; +#1195 = ORIENTED_EDGE ( 'NONE', *, *, #2178, .F. ) ; +#1196 = ADVANCED_FACE ( 'NONE', ( #574 ), #639, .T. ) ; +#1197 = EDGE_CURVE ( 'NONE', #1611, #672, #1301, .T. ) ; +#1198 = VERTEX_POINT ( 'NONE', #1234 ) ; +#1199 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1200 = ADVANCED_FACE ( 'NONE', ( #1852 ), #1273, .T. ) ; +#1201 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1202 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1203 = VECTOR ( 'NONE', #2673, 1000.000000000000000 ) ; +#1204 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1205 = EDGE_LOOP ( 'NONE', ( #1523, #331, #1076, #1136 ) ) ; +#1206 = VECTOR ( 'NONE', #753, 1000.000000000000000 ) ; +#1207 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #2163 ) ; +#1208 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1209 = FACE_OUTER_BOUND ( 'NONE', #1359, .T. ) ; +#1210 = EDGE_LOOP ( 'NONE', ( #691 ) ) ; +#1211 = FACE_BOUND ( 'NONE', #2614, .T. ) ; +#1212 = VERTEX_POINT ( 'NONE', #1035 ) ; +#1213 = ORIENTED_EDGE ( 'NONE', *, *, #1656, .F. ) ; +#1214 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1215 = EDGE_CURVE ( 'NONE', #1023, #1705, #696, .T. ) ; +#1216 = CIRCLE ( 'NONE', #145, 1.250000000000001110 ) ; +#1217 = AXIS2_PLACEMENT_3D ( 'NONE', #2072, #848, #609 ) ; +#1218 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1219 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 0.000000000000000000 ) ) ; +#1220 = ORIENTED_EDGE ( 'NONE', *, *, #2554, .T. ) ; +#1221 = FACE_OUTER_BOUND ( 'NONE', #1807, .T. ) ; +#1222 = AXIS2_PLACEMENT_3D ( 'NONE', #220, #2038, #823 ) ; +#1223 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1224 = FACE_BOUND ( 'NONE', #502, .T. ) ; +#1225 = LINE ( 'NONE', #2057, #1116 ) ; +#1226 = VERTEX_POINT ( 'NONE', #652 ) ; +#1227 = AXIS2_PLACEMENT_3D ( 'NONE', #1756, #123, #720 ) ; +#1228 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1229 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079057, 6.989790118988384800E-15, 10.00000000000000000 ) ) ; +#1230 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1231 = EDGE_CURVE ( 'NONE', #2107, #1159, #208, .T. ) ; +#1232 = ADVANCED_FACE ( 'NONE', ( #2260 ), #613, .F. ) ; +#1233 = VERTEX_POINT ( 'NONE', #433 ) ; +#1234 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120903081405018, 10.00000000000000000 ) ) ; +#1235 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1236 = FACE_OUTER_BOUND ( 'NONE', #1723, .T. ) ; +#1237 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 10.00000000000000000 ) ) ; +#1238 = EDGE_LOOP ( 'NONE', ( #722, #2485, #390, #1935 ) ) ; +#1239 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1240 = DIRECTION ( 'NONE', ( 1.734723475976807587E-16, 1.000000000000000000, -0.000000000000000000 ) ) ; +#1241 = VECTOR ( 'NONE', #499, 1000.000000000000000 ) ; +#1242 = LINE ( 'NONE', #2271, #873 ) ; +#1243 = ORIENTED_EDGE ( 'NONE', *, *, #1173, .T. ) ; +#1244 = EDGE_CURVE ( 'NONE', #416, #416, #311, .T. ) ; +#1245 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -128.1433958398938273, 2.000000000000000000 ) ) ; +#1246 = DIRECTION ( 'NONE', ( -9.361563035194100268E-17, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1247 = CIRCLE ( 'NONE', #2294, 0.8983045201146760972 ) ; +#1248 = ORIENTED_EDGE ( 'NONE', *, *, #2178, .T. ) ; +#1249 = CYLINDRICAL_SURFACE ( 'NONE', #1644, 1.000000000000000888 ) ; +#1250 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#1251 = EDGE_CURVE ( 'NONE', #1139, #1740, #1029, .T. ) ; +#1252 = ORIENTED_EDGE ( 'NONE', *, *, #2642, .T. ) ; +#1253 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231105869, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1254 = FACE_OUTER_BOUND ( 'NONE', #1295, .T. ) ; +#1255 = FACE_OUTER_BOUND ( 'NONE', #432, .T. ) ; +#1256 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #1368 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #2440, #594, #1633 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#1257 = EDGE_LOOP ( 'NONE', ( #1998 ) ) ; +#1258 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1259 = VERTEX_POINT ( 'NONE', #1877 ) ; +#1260 = ADVANCED_FACE ( 'NONE', ( #2298 ), #3, .T. ) ; +#1261 = CYLINDRICAL_SURFACE ( 'NONE', #2109, 126.6268659918020063 ) ; +#1262 = AXIS2_PLACEMENT_3D ( 'NONE', #842, #854, #2078 ) ; +#1263 = EDGE_LOOP ( 'NONE', ( #1335, #1674, #9, #1766 ) ) ; +#1264 = EDGE_CURVE ( 'NONE', #612, #2509, #1445, .T. ) ; +#1265 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1266 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1267 = AXIS2_PLACEMENT_3D ( 'NONE', #2108, #57, #1906 ) ; +#1268 = VECTOR ( 'NONE', #710, 1000.000000000000000 ) ; +#1269 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1270 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1271 = VERTEX_POINT ( 'NONE', #826 ) ; +#1272 = EDGE_LOOP ( 'NONE', ( #481 ) ) ; +#1273 = CYLINDRICAL_SURFACE ( 'NONE', #134, 2.000000000000001776 ) ; +#1274 = VERTEX_POINT ( 'NONE', #2487 ) ; +#1275 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, -150.5433968397460092, 10.00000000000000000 ) ) ; +#1276 = ORIENTED_EDGE ( 'NONE', *, *, #2409, .T. ) ; +#1277 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1278 = EDGE_CURVE ( 'NONE', #1125, #926, #627, .T. ) ; +#1279 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 26.00000000000001066 ) ) ; +#1280 = EDGE_CURVE ( 'NONE', #665, #1433, #2435, .T. ) ; +#1281 = LINE ( 'NONE', #456, #1597 ) ; +#1282 = ORIENTED_EDGE ( 'NONE', *, *, #2554, .F. ) ; +#1283 = ORIENTED_EDGE ( 'NONE', *, *, #1914, .T. ) ; +#1284 = AXIS2_PLACEMENT_3D ( 'NONE', #21, #2490, #829 ) ; +#1285 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1286 = EDGE_LOOP ( 'NONE', ( #425 ) ) ; +#1287 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #2264 ) ; +#1288 = AXIS2_PLACEMENT_3D ( 'NONE', #1235, #209, #1246 ) ; +#1289 = VERTEX_POINT ( 'NONE', #2054 ) ; +#1290 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708864884, 10.00000000000000000 ) ) ; +#1291 = VECTOR ( 'NONE', #1270, 1000.000000000000000 ) ; +#1292 = LINE ( 'NONE', #1061, #2386 ) ; +#1293 = EDGE_CURVE ( 'NONE', #2605, #2422, #2269, .T. ) ; +#1294 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1295 = EDGE_LOOP ( 'NONE', ( #187, #196, #332, #982 ) ) ; +#1296 = ORIENTED_EDGE ( 'NONE', *, *, #636, .T. ) ; +#1297 = LINE ( 'NONE', #1548, #1999 ) ; +#1298 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708864884, 10.00000000000000000 ) ) ; +#1299 = ORIENTED_EDGE ( 'NONE', *, *, #1605, .F. ) ; +#1300 = EDGE_LOOP ( 'NONE', ( #1533 ) ) ; +#1301 = CIRCLE ( 'NONE', #789, 1.000000000000000888 ) ; +#1302 = LINE ( 'NONE', #1719, #1030 ) ; +#1303 = PLANE ( 'NONE', #700 ) ; +#1304 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1305 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.734723475976807587E-16, 0.000000000000000000 ) ) ; +#1306 = VECTOR ( 'NONE', #2463, 1000.000000000000000 ) ; +#1307 = DIRECTION ( 'NONE', ( -2.618450504386014950E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1308 = VECTOR ( 'NONE', #886, 1000.000000000000000 ) ; +#1309 = ORIENTED_EDGE ( 'NONE', *, *, #1079, .F. ) ; +#1310 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1311 = AXIS2_PLACEMENT_3D ( 'NONE', #2006, #368, #553 ) ; +#1312 = EDGE_CURVE ( 'NONE', #1274, #2621, #90, .T. ) ; +#1313 = EDGE_CURVE ( 'NONE', #1405, #1405, #403, .T. ) ; +#1314 = FACE_OUTER_BOUND ( 'NONE', #53, .T. ) ; +#1315 = ORIENTED_EDGE ( 'NONE', *, *, #1251, .F. ) ; +#1316 = VERTEX_POINT ( 'NONE', #1688 ) ; +#1317 = VECTOR ( 'NONE', #2649, 1000.000000000000000 ) ; +#1318 = EDGE_LOOP ( 'NONE', ( #60, #215, #2000, #278 ) ) ; +#1319 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1320 = ORIENTED_EDGE ( 'NONE', *, *, #1006, .F. ) ; +#1321 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1322 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1323 = ORIENTED_EDGE ( 'NONE', *, *, #1991, .T. ) ; +#1324 = LINE ( 'NONE', #1364, #657 ) ; +#1325 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1326 = ORIENTED_EDGE ( 'NONE', *, *, #2640, .F. ) ; +#1327 = ORIENTED_EDGE ( 'NONE', *, *, #849, .T. ) ; +#1328 = ADVANCED_FACE ( 'NONE', ( #1221 ), #2458, .T. ) ; +#1329 = EDGE_LOOP ( 'NONE', ( #2046, #760, #1342, #650 ) ) ; +#1330 = VECTOR ( 'NONE', #1795, 1000.000000000000000 ) ; +#1331 = FACE_OUTER_BOUND ( 'NONE', #528, .T. ) ; +#1332 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 6.000000000000000000 ) ) ; +#1333 = EDGE_CURVE ( 'NONE', #1940, #16, #2130, .T. ) ; +#1334 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800035057, 2.000000000000000000 ) ) ; +#1335 = ORIENTED_EDGE ( 'NONE', *, *, #464, .F. ) ; +#1336 = AXIS2_PLACEMENT_3D ( 'NONE', #2140, #2101, #255 ) ; +#1337 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1338 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1339 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1340 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1341 = FACE_OUTER_BOUND ( 'NONE', #289, .T. ) ; +#1342 = ORIENTED_EDGE ( 'NONE', *, *, #2479, .T. ) ; +#1343 = VECTOR ( 'NONE', #1304, 1000.000000000000000 ) ; +#1344 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 0.000000000000000000 ) ) ; +#1345 = ORIENTED_EDGE ( 'NONE', *, *, #1160, .F. ) ; +#1346 = ADVANCED_FACE ( 'NONE', ( #1314 ), #2333, .T. ) ; +#1347 = ORIENTED_EDGE ( 'NONE', *, *, #2313, .F. ) ; +#1348 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1349 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 6.000000000000000000 ) ) ; +#1350 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1351 = VECTOR ( 'NONE', #2368, 1000.000000000000000 ) ; +#1352 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1353 = VERTEX_POINT ( 'NONE', #1752 ) ; +#1354 = ORIENTED_EDGE ( 'NONE', *, *, #1702, .T. ) ; +#1355 = LINE ( 'NONE', #1384, #1875 ) ; +#1356 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#1357 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1358 = EDGE_LOOP ( 'NONE', ( #1345, #2519, #1407, #1123 ) ) ; +#1359 = EDGE_LOOP ( 'NONE', ( #2146, #2407, #1176, #2232 ) ) ; +#1360 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#1361 = EDGE_CURVE ( 'NONE', #1414, #16, #1297, .T. ) ; +#1362 = EDGE_CURVE ( 'NONE', #1058, #522, #879, .T. ) ; +#1363 = CYLINDRICAL_SURFACE ( 'NONE', #1378, 2.000000000000001776 ) ; +#1364 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1365 = EDGE_CURVE ( 'NONE', #1233, #2150, #1834, .T. ) ; +#1366 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1367 = VERTEX_POINT ( 'NONE', #2322 ) ; +#1368 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #2440, 'distance_accuracy_value', 'NONE'); +#1369 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999974908, 10.00000000000000888 ) ) ; +#1370 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#1371 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 6.000000000000000000 ) ) ; +#1372 = AXIS2_PLACEMENT_3D ( 'NONE', #1936, #1678, #1664 ) ; +#1373 = ORIENTED_EDGE ( 'NONE', *, *, #1280, .F. ) ; +#1374 = ORIENTED_EDGE ( 'NONE', *, *, #2193, .F. ) ; +#1375 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1376 = AXIS2_PLACEMENT_3D ( 'NONE', #708, #733, #1151 ) ; +#1377 = LINE ( 'NONE', #146, #175 ) ; +#1378 = AXIS2_PLACEMENT_3D ( 'NONE', #509, #1962, #738 ) ; +#1379 = ADVANCED_FACE ( 'NONE', ( #1078 ), #473, .T. ) ; +#1380 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1381 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1382 = ORIENTED_EDGE ( 'NONE', *, *, #37, .T. ) ; +#1383 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 10.00000000000000000 ) ) ; +#1384 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 0.000000000000000000 ) ) ; +#1385 = FACE_BOUND ( 'NONE', #1080, .T. ) ; +#1386 = FACE_OUTER_BOUND ( 'NONE', #1677, .T. ) ; +#1387 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -8.943396160106200199, 2.000000000000000000 ) ) ; +#1388 = ORIENTED_EDGE ( 'NONE', *, *, #1734, .F. ) ; +#1389 = VECTOR ( 'NONE', #1708, 1000.000000000000000 ) ; +#1390 = ORIENTED_EDGE ( 'NONE', *, *, #2302, .F. ) ; +#1391 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1392 = FACE_OUTER_BOUND ( 'NONE', #970, .T. ) ; +#1393 = AXIS2_PLACEMENT_3D ( 'NONE', #1794, #744, #2628 ) ; +#1394 = FACE_BOUND ( 'NONE', #1631, .T. ) ; +#1395 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1396 = ORIENTED_EDGE ( 'NONE', *, *, #1312, .F. ) ; +#1397 = AXIS2_PLACEMENT_3D ( 'NONE', #645, #1474, #1266 ) ; +#1398 = ADVANCED_FACE ( 'NONE', ( #903 ), #258, .T. ) ; +#1399 = ADVANCED_FACE ( 'NONE', ( #1948 ), #1915, .T. ) ; +#1400 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1401 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1402 = AXIS2_PLACEMENT_3D ( 'NONE', #2423, #723, #320 ) ; +#1403 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1404 = LINE ( 'NONE', #2028, #2357 ) ; +#1405 = VERTEX_POINT ( 'NONE', #388 ) ; +#1406 = EDGE_CURVE ( 'NONE', #1091, #2510, #2460, .T. ) ; +#1407 = ORIENTED_EDGE ( 'NONE', *, *, #1932, .T. ) ; +#1408 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1409 = EDGE_LOOP ( 'NONE', ( #2679, #1746, #2186, #1105 ) ) ; +#1410 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1411 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800035057, 10.00000000000000000 ) ) ; +#1412 = LINE ( 'NONE', #2681, #611 ) ; +#1413 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1414 = VERTEX_POINT ( 'NONE', #1090 ) ; +#1415 = FACE_OUTER_BOUND ( 'NONE', #2502, .T. ) ; +#1416 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1417 = EDGE_LOOP ( 'NONE', ( #1692 ) ) ; +#1418 = EDGE_CURVE ( 'NONE', #1212, #1212, #71, .T. ) ; +#1419 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, 18.85660558000369846, 10.00000000000000000 ) ) ; +#1420 = LINE ( 'NONE', #2617, #2492 ) ; +#1421 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -8.943396160106200199, 10.00000000000000000 ) ) ; +#1422 = ORIENTED_EDGE ( 'NONE', *, *, #516, .F. ) ; +#1423 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 10.00000000000000000 ) ) ; +#1424 = AXIS2_PLACEMENT_3D ( 'NONE', #2655, #2257, #395 ) ; +#1425 = LINE ( 'NONE', #659, #2555 ) ; +#1426 = AXIS2_PLACEMENT_3D ( 'NONE', #171, #1826, #2488 ) ; +#1427 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, -155.9433975800035057, 10.00000000000000000 ) ) ; +#1428 = VERTEX_POINT ( 'NONE', #890 ) ; +#1429 = AXIS2_PLACEMENT_3D ( 'NONE', #671, #469, #940 ) ; +#1430 = LINE ( 'NONE', #557, #181 ) ; +#1431 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1432 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1433 = VERTEX_POINT ( 'NONE', #688 ) ; +#1434 = LINE ( 'NONE', #2431, #2539 ) ; +#1435 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1436 = EDGE_LOOP ( 'NONE', ( #2094, #871, #2402, #2066 ) ) ; +#1437 = PLANE ( 'NONE', #1493 ) ; +#1438 = EDGE_CURVE ( 'NONE', #1783, #38, #1522, .T. ) ; +#1439 = EDGE_CURVE ( 'NONE', #2548, #287, #62, .T. ) ; +#1440 = VECTOR ( 'NONE', #1441, 1000.000000000000000 ) ; +#1441 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1442 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1443 = AXIS2_PLACEMENT_3D ( 'NONE', #2672, #2471, #1065 ) ; +#1444 = ORIENTED_EDGE ( 'NONE', *, *, #1107, .T. ) ; +#1445 = LINE ( 'NONE', #2511, #911 ) ; +#1446 = FACE_OUTER_BOUND ( 'NONE', #644, .T. ) ; +#1447 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1448 = VERTEX_POINT ( 'NONE', #1869 ) ; +#1449 = ORIENTED_EDGE ( 'NONE', *, *, #1929, .F. ) ; +#1450 = AXIS2_PLACEMENT_3D ( 'NONE', #2405, #174, #2237 ) ; +#1451 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1452 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1453 = EDGE_CURVE ( 'NONE', #984, #1226, #2534, .T. ) ; +#1454 = EDGE_CURVE ( 'NONE', #1271, #2420, #312, .T. ) ; +#1455 = LINE ( 'NONE', #230, #2176 ) ; +#1456 = ORIENTED_EDGE ( 'NONE', *, *, #749, .F. ) ; +#1457 = ADVANCED_FACE ( 'NONE', ( #2362 ), #1102, .T. ) ; +#1458 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1459 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1460 = ORIENTED_EDGE ( 'NONE', *, *, #895, .T. ) ; +#1461 = FACE_OUTER_BOUND ( 'NONE', #405, .T. ) ; +#1462 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#1463 = DIRECTION ( 'NONE', ( -1.000000000000000000, -0.000000000000000000, -0.000000000000000000 ) ) ; +#1464 = AXIS2_PLACEMENT_3D ( 'NONE', #2067, #483, #1088 ) ; +#1465 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1466 = ORIENTED_EDGE ( 'NONE', *, *, #2213, .T. ) ; +#1467 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1468 = VECTOR ( 'NONE', #1168, 1000.000000000000000 ) ; +#1469 = ORIENTED_EDGE ( 'NONE', *, *, #453, .F. ) ; +#1470 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 10.00000000000000000 ) ) ; +#1471 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#1472 = AXIS2_PLACEMENT_3D ( 'NONE', #2561, #1765, #689 ) ; +#1473 = ORIENTED_EDGE ( 'NONE', *, *, #1264, .F. ) ; +#1474 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1475 = ORIENTED_EDGE ( 'NONE', *, *, #2480, .F. ) ; +#1476 = FACE_OUTER_BOUND ( 'NONE', #2133, .T. ) ; +#1477 = APPLICATION_CONTEXT ( 'automotive_design' ) ; +#1478 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1479 = VERTEX_POINT ( 'NONE', #869 ) ; +#1480 = ORIENTED_EDGE ( 'NONE', *, *, #1418, .T. ) ; +#1481 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1482 = ORIENTED_EDGE ( 'NONE', *, *, #549, .T. ) ; +#1483 = AXIS2_PLACEMENT_3D ( 'NONE', #1411, #1606, #558 ) ; +#1484 = ADVANCED_FACE ( 'NONE', ( #2521, #663 ), #964, .F. ) ; +#1485 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1486 = EDGE_CURVE ( 'NONE', #1783, #579, #792, .T. ) ; +#1487 = EDGE_CURVE ( 'NONE', #673, #2661, #386, .T. ) ; +#1488 = ORIENTED_EDGE ( 'NONE', *, *, #352, .F. ) ; +#1489 = AXIS2_PLACEMENT_3D ( 'NONE', #2051, #596, #2508 ) ; +#1490 = LINE ( 'NONE', #1527, #2610 ) ; +#1491 = EDGE_CURVE ( 'NONE', #1551, #1479, #2012, .T. ) ; +#1492 = AXIS2_PLACEMENT_3D ( 'NONE', #177, #1632, #2070 ) ; +#1493 = AXIS2_PLACEMENT_3D ( 'NONE', #820, #1228, #406 ) ; +#1494 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1495 = PLANE ( 'NONE', #121 ) ; +#1496 = VERTEX_POINT ( 'NONE', #817 ) ; +#1497 = VERTEX_POINT ( 'NONE', #2235 ) ; +#1498 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 10.00000000000000000 ) ) ; +#1499 = ORIENTED_EDGE ( 'NONE', *, *, #352, .T. ) ; +#1500 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1501 = ORIENTED_EDGE ( 'NONE', *, *, #2316, .T. ) ; +#1502 = EDGE_CURVE ( 'NONE', #1978, #1073, #1844, .T. ) ; +#1503 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1504 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800626106, 18.96120903081405018, 0.000000000000000000 ) ) ; +#1505 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1506 = ORIENTED_EDGE ( 'NONE', *, *, #713, .T. ) ; +#1507 = EDGE_LOOP ( 'NONE', ( #2116, #865, #1759, #1968 ) ) ; +#1508 = VECTOR ( 'NONE', #2675, 1000.000000000000000 ) ; +#1509 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1510 = VERTEX_POINT ( 'NONE', #2417 ) ; +#1511 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #1471, 'distance_accuracy_value', 'NONE'); +#1512 = VERTEX_POINT ( 'NONE', #2027 ) ; +#1513 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1514 = EDGE_CURVE ( 'NONE', #1978, #1159, #1192, .T. ) ; +#1515 = PLANE ( 'NONE', #1668 ) ; +#1516 = EDGE_CURVE ( 'NONE', #2470, #268, #1767, .T. ) ; +#1517 = EDGE_CURVE ( 'NONE', #1510, #1111, #402, .T. ) ; +#1518 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1519 = VERTEX_POINT ( 'NONE', #1589 ) ; +#1520 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1521 = VECTOR ( 'NONE', #2060, 1000.000000000000000 ) ; +#1522 = LINE ( 'NONE', #2344, #2071 ) ; +#1523 = ORIENTED_EDGE ( 'NONE', *, *, #968, .T. ) ; +#1524 = EDGE_LOOP ( 'NONE', ( #1121 ) ) ; +#1525 = VERTEX_POINT ( 'NONE', #601 ) ; +#1526 = AXIS2_PLACEMENT_3D ( 'NONE', #1926, #2560, #1703 ) ; +#1527 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1528 = VERTEX_POINT ( 'NONE', #356 ) ; +#1529 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1530 = VECTOR ( 'NONE', #1038, 1000.000000000000000 ) ; +#1531 = LINE ( 'NONE', #1749, #2506 ) ; +#1532 = AXIS2_PLACEMENT_3D ( 'NONE', #112, #752, #2609 ) ; +#1533 = ORIENTED_EDGE ( 'NONE', *, *, #782, .F. ) ; +#1534 = EDGE_CURVE ( 'NONE', #1113, #1057, #1021, .T. ) ; +#1535 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1536 = AXIS2_PLACEMENT_3D ( 'NONE', #1622, #2643, #2426 ) ; +#1537 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1538 = EDGE_CURVE ( 'NONE', #924, #851, #1854, .T. ) ; +#1539 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 0.000000000000000000 ) ) ; +#1540 = ORIENTED_EDGE ( 'NONE', *, *, #2313, .T. ) ; +#1541 = ORIENTED_EDGE ( 'NONE', *, *, #1800, .T. ) ; +#1542 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1543 = EDGE_LOOP ( 'NONE', ( #35 ) ) ; +#1544 = FACE_OUTER_BOUND ( 'NONE', #314, .T. ) ; +#1545 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1546 = FACE_OUTER_BOUND ( 'NONE', #1824, .T. ) ; +#1547 = EDGE_CURVE ( 'NONE', #2414, #2651, #1434, .T. ) ; +#1548 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 16.74444178273600059, 0.000000000000000000 ) ) ; +#1549 = ORIENTED_EDGE ( 'NONE', *, *, #666, .F. ) ; +#1550 = EDGE_LOOP ( 'NONE', ( #1347, #2157, #1727, #460 ) ) ; +#1551 = VERTEX_POINT ( 'NONE', #415 ) ; +#1552 = VECTOR ( 'NONE', #2065, 1000.000000000000000 ) ; +#1553 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708864884, 6.000000000000000000 ) ) ; +#1554 = ORIENTED_EDGE ( 'NONE', *, *, #2316, .F. ) ; +#1555 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 3.000000000000000000 ) ) ; +#1556 = VERTEX_POINT ( 'NONE', #2263 ) ; +#1557 = VECTOR ( 'NONE', #2355, 1000.000000000000000 ) ; +#1558 = PLANE ( 'NONE', #1627 ) ; +#1559 = DIRECTION ( 'NONE', ( -1.000000000000000000, 8.673617379884037937E-17, 0.000000000000000000 ) ) ; +#1560 = FACE_BOUND ( 'NONE', #1878, .T. ) ; +#1561 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#1562 = ORIENTED_EDGE ( 'NONE', *, *, #1514, .T. ) ; +#1563 = EDGE_LOOP ( 'NONE', ( #1956 ) ) ; +#1564 = CIRCLE ( 'NONE', #1993, 126.6268659918020063 ) ; +#1565 = ADVANCED_FACE ( 'NONE', ( #136, #758, #2449, #559, #2630, #1224, #1385, #1177, #172, #576, #995, #979, #1211, #1810, #775 ), #589, .T. ) ; +#1566 = PLANE ( 'NONE', #1450 ) ; +#1567 = ORIENTED_EDGE ( 'NONE', *, *, #849, .F. ) ; +#1568 = EDGE_CURVE ( 'NONE', #560, #560, #811, .T. ) ; +#1569 = LINE ( 'NONE', #141, #148 ) ; +#1570 = ORIENTED_EDGE ( 'NONE', *, *, #787, .F. ) ; +#1571 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1572 = VECTOR ( 'NONE', #180, 1000.000000000000000 ) ; +#1573 = LINE ( 'NONE', #323, #1468 ) ; +#1574 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1575 = VECTOR ( 'NONE', #806, 1000.000000000000000 ) ; +#1576 = LINE ( 'NONE', #2243, #868 ) ; +#1577 = ORIENTED_EDGE ( 'NONE', *, *, #1251, .T. ) ; +#1578 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1579 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1580 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1581 = EDGE_LOOP ( 'NONE', ( #1876 ) ) ; +#1582 = ORIENTED_EDGE ( 'NONE', *, *, #552, .T. ) ; +#1583 = FACE_OUTER_BOUND ( 'NONE', #1066, .T. ) ; +#1584 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1585 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 2.000000000000000000 ) ) ; +#1586 = FACE_OUTER_BOUND ( 'NONE', #1205, .T. ) ; +#1587 = EDGE_LOOP ( 'NONE', ( #1482, #587, #111, #561 ) ) ; +#1588 = FACE_OUTER_BOUND ( 'NONE', #142, .T. ) ; +#1589 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1590 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 26.00000000000001066 ) ) ; +#1591 = LINE ( 'NONE', #2391, #1351 ) ; +#1592 = VECTOR ( 'NONE', #1966, 1000.000000000000000 ) ; +#1593 = VERTEX_POINT ( 'NONE', #2080 ) ; +#1594 = ORIENTED_EDGE ( 'NONE', *, *, #2461, .T. ) ; +#1595 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -129.5433960000000013, 0.000000000000000000 ) ) ; +#1596 = FACE_OUTER_BOUND ( 'NONE', #883, .T. ) ; +#1597 = VECTOR ( 'NONE', #1294, 1000.000000000000000 ) ; +#1598 = AXIS2_PLACEMENT_3D ( 'NONE', #1500, #277, #1485 ) ; +#1599 = ADVANCED_FACE ( 'NONE', ( #1546 ), #284, .T. ) ; +#1600 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1601 = ADVANCED_FACE ( 'NONE', ( #915 ), #1119, .F. ) ; +#1602 = EDGE_CURVE ( 'NONE', #2632, #2632, #894, .T. ) ; +#1603 = PLANE ( 'NONE', #189 ) ; +#1604 = ORIENTED_EDGE ( 'NONE', *, *, #680, .T. ) ; +#1605 = EDGE_CURVE ( 'NONE', #1519, #2500, #294, .T. ) ; +#1606 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1607 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1608 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1609 = LINE ( 'NONE', #1996, #1317 ) ; +#1610 = LINE ( 'NONE', #2265, #1665 ) ; +#1611 = VERTEX_POINT ( 'NONE', #1101 ) ; +#1612 = AXIS2_PLACEMENT_3D ( 'NONE', #623, #1218, #1202 ) ; +#1613 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1614 = EDGE_LOOP ( 'NONE', ( #2244, #1577, #2436, #1460, #1141, #487, #554, #1549, #846, #1047, #182, #2547, #2179, #625, #2190, #951 ) ) ; +#1615 = FACE_OUTER_BOUND ( 'NONE', #2052, .T. ) ; +#1616 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1617 = ORIENTED_EDGE ( 'NONE', *, *, #2678, .T. ) ; +#1618 = VECTOR ( 'NONE', #78, 1000.000000000000000 ) ; +#1619 = LINE ( 'NONE', #1350, #398 ) ; +#1620 = CIRCLE ( 'NONE', #2392, 1.000000000000000888 ) ; +#1621 = ADVANCED_FACE ( 'NONE', ( #269 ), #1737, .T. ) ; +#1622 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 0.000000000000000000 ) ) ; +#1623 = ORIENTED_EDGE ( 'NONE', *, *, #1491, .T. ) ; +#1624 = AXIS2_PLACEMENT_3D ( 'NONE', #454, #1513, #1277 ) ; +#1625 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1626 = LINE ( 'NONE', #2430, #724 ) ; +#1627 = AXIS2_PLACEMENT_3D ( 'NONE', #1803, #2180, #1774 ) ; +#1628 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -154.5433969945210038, 0.000000000000000000 ) ) ; +#1629 = LINE ( 'NONE', #1811, #1769 ) ; +#1630 = VERTEX_POINT ( 'NONE', #1387 ) ; +#1631 = EDGE_LOOP ( 'NONE', ( #1647 ) ) ; +#1632 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1633 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#1634 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1635 = EDGE_LOOP ( 'NONE', ( #1309 ) ) ; +#1636 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1637 = CYLINDRICAL_SURFACE ( 'NONE', #2465, 1.000000000000000888 ) ; +#1638 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1639 = EDGE_CURVE ( 'NONE', #522, #1181, #1879, .T. ) ; +#1640 = LINE ( 'NONE', #2068, #1306 ) ; +#1641 = ADVANCED_FACE ( 'NONE', ( #2501 ), #1249, .T. ) ; +#1642 = ORIENTED_EDGE ( 'NONE', *, *, #1333, .T. ) ; +#1643 = PLANE ( 'NONE', #316 ) ; +#1644 = AXIS2_PLACEMENT_3D ( 'NONE', #712, #2558, #76 ) ; +#1645 = FACE_OUTER_BOUND ( 'NONE', #381, .T. ) ; +#1646 = PLANE ( 'NONE', #94 ) ; +#1647 = ORIENTED_EDGE ( 'NONE', *, *, #2553, .T. ) ; +#1648 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1649 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1650 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1651 = VERTEX_POINT ( 'NONE', #2474 ) ; +#1652 = EDGE_LOOP ( 'NONE', ( #1501 ) ) ; +#1653 = EDGE_CURVE ( 'NONE', #48, #1924, #506, .T. ) ; +#1654 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1655 = AXIS2_PLACEMENT_3D ( 'NONE', #192, #430, #1025 ) ; +#1656 = EDGE_CURVE ( 'NONE', #2308, #1786, #2154, .T. ) ; +#1657 = PLANE ( 'NONE', #1780 ) ; +#1658 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1659 = AXIS2_PLACEMENT_3D ( 'NONE', #422, #2499, #400 ) ; +#1660 = ORIENTED_EDGE ( 'NONE', *, *, #521, .F. ) ; +#1661 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1662 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1663 = VERTEX_POINT ( 'NONE', #224 ) ; +#1664 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1665 = VECTOR ( 'NONE', #7, 1000.000000000000000 ) ; +#1666 = LINE ( 'NONE', #404, #1862 ) ; +#1667 = ORIENTED_EDGE ( 'NONE', *, *, #66, .T. ) ; +#1668 = AXIS2_PLACEMENT_3D ( 'NONE', #1895, #1321, #72 ) ; +#1669 = AXIS2_PLACEMENT_3D ( 'NONE', #1381, #326, #118 ) ; +#1670 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1671 = LINE ( 'NONE', #1229, #438 ) ; +#1672 = VECTOR ( 'NONE', #1613, 1000.000000000000000 ) ; +#1673 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1674 = ORIENTED_EDGE ( 'NONE', *, *, #1502, .T. ) ; +#1675 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1676 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1677 = EDGE_LOOP ( 'NONE', ( #1685, #1390, #491, #730 ) ) ; +#1678 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1679 = VERTEX_POINT ( 'NONE', #435 ) ; +#1680 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1681 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1682 = VECTOR ( 'NONE', #844, 1000.000000000000000 ) ; +#1683 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433959999997455, 0.000000000000000000 ) ) ; +#1684 = ADVANCED_FACE ( 'NONE', ( #1236 ), #1261, .F. ) ; +#1685 = ORIENTED_EDGE ( 'NONE', *, *, #242, .T. ) ; +#1686 = EDGE_CURVE ( 'NONE', #1139, #612, #630, .T. ) ; +#1687 = ORIENTED_EDGE ( 'NONE', *, *, #2032, .F. ) ; +#1688 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1689 = ADVANCED_FACE ( 'NONE', ( #1461 ), #2289, .T. ) ; +#1690 = LINE ( 'NONE', #880, #382 ) ; +#1691 = AXIS2_PLACEMENT_3D ( 'NONE', #973, #2182, #1818 ) ; +#1692 = ORIENTED_EDGE ( 'NONE', *, *, #1244, .T. ) ; +#1693 = ORIENTED_EDGE ( 'NONE', *, *, #1768, .T. ) ; +#1694 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1695 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1696 = CIRCLE ( 'NONE', #1000, 126.6268659918020063 ) ; +#1697 = AXIS2_PLACEMENT_3D ( 'NONE', #2641, #310, #1132 ) ; +#1698 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1699 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1700 = VERTEX_POINT ( 'NONE', #1947 ) ; +#1701 = ORIENTED_EDGE ( 'NONE', *, *, #836, .T. ) ; +#1702 = EDGE_CURVE ( 'NONE', #1512, #1181, #335, .T. ) ; +#1703 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1704 = VERTEX_POINT ( 'NONE', #1925 ) ; +#1705 = VERTEX_POINT ( 'NONE', #61 ) ; +#1706 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999993027, 26.00000000000001066 ) ) ; +#1707 = AXIS2_PLACEMENT_3D ( 'NONE', #1356, #2149, #504 ) ; +#1708 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1709 = PLANE ( 'NONE', #1429 ) ; +#1710 = ORIENTED_EDGE ( 'NONE', *, *, #1502, .F. ) ; +#1711 = EDGE_LOOP ( 'NONE', ( #28, #452, #813, #1660 ) ) ; +#1712 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, 3.928575928488393779E-15, 10.00000000000000000 ) ) ; +#1713 = VERTEX_POINT ( 'NONE', #889 ) ; +#1714 = EDGE_CURVE ( 'NONE', #1705, #1525, #1724, .T. ) ; +#1715 = VERTEX_POINT ( 'NONE', #225 ) ; +#1716 = EDGE_LOOP ( 'NONE', ( #2105, #858, #1296, #718 ) ) ; +#1717 = EDGE_CURVE ( 'NONE', #672, #1928, #1324, .T. ) ; +#1718 = EDGE_CURVE ( 'NONE', #1058, #2215, #1564, .T. ) ; +#1719 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1720 = FACE_OUTER_BOUND ( 'NONE', #1951, .T. ) ; +#1721 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1722 = LINE ( 'NONE', #59, #603 ) ; +#1723 = EDGE_LOOP ( 'NONE', ( #2578, #235, #2272, #1757 ) ) ; +#1724 = LINE ( 'NONE', #2358, #1241 ) ; +#1725 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1726 = LINE ( 'NONE', #2021, #2635 ) ; +#1727 = ORIENTED_EDGE ( 'NONE', *, *, #104, .F. ) ; +#1728 = ORIENTED_EDGE ( 'NONE', *, *, #37, .F. ) ; +#1729 = CIRCLE ( 'NONE', #1941, 2.000000000000001776 ) ; +#1730 = CYLINDRICAL_SURFACE ( 'NONE', #2073, 126.6268659918020063 ) ; +#1731 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 0.000000000000000000 ) ) ; +#1732 = ADVANCED_FACE ( 'NONE', ( #1170 ), #941, .F. ) ; +#1733 = PLANE ( 'NONE', #1137 ) ; +#1734 = EDGE_CURVE ( 'NONE', #1125, #665, #550, .T. ) ; +#1735 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#1736 = ORIENTED_EDGE ( 'NONE', *, *, #1965, .T. ) ; +#1737 = CYLINDRICAL_SURFACE ( 'NONE', #1372, 1.000000000000000888 ) ; +#1738 = AXIS2_PLACEMENT_3D ( 'NONE', #1921, #58, #241 ) ; +#1739 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1740 = VERTEX_POINT ( 'NONE', #2212 ) ; +#1741 = EDGE_LOOP ( 'NONE', ( #1248, #1127, #2363, #2342 ) ) ; +#1742 = ORIENTED_EDGE ( 'NONE', *, *, #1884, .F. ) ; +#1743 = AXIS2_PLACEMENT_3D ( 'NONE', #450, #1481, #1258 ) ; +#1744 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1745 = FACE_OUTER_BOUND ( 'NONE', #1318, .T. ) ; +#1746 = ORIENTED_EDGE ( 'NONE', *, *, #2481, .T. ) ; +#1747 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1748 = VECTOR ( 'NONE', #1150, 1000.000000000000000 ) ; +#1749 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 6.000000000000000000 ) ) ; +#1750 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#1751 = ADVANCED_FACE ( 'NONE', ( #115 ), #1976, .T. ) ; +#1752 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 0.000000000000000000 ) ) ; +#1753 = ORIENTED_EDGE ( 'NONE', *, *, #1653, .F. ) ; +#1754 = ORIENTED_EDGE ( 'NONE', *, *, #2659, .T. ) ; +#1755 = EDGE_LOOP ( 'NONE', ( #2406, #2324, #1466, #2128 ) ) ; +#1756 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435076661, -108.5433959999999303, 26.00000000000001066 ) ) ; +#1757 = ORIENTED_EDGE ( 'NONE', *, *, #1718, .T. ) ; +#1758 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 6.000000000000000000 ) ) ; +#1759 = ORIENTED_EDGE ( 'NONE', *, *, #2081, .F. ) ; +#1760 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1761 = FACE_OUTER_BOUND ( 'NONE', #206, .T. ) ; +#1762 = FACE_BOUND ( 'NONE', #1550, .T. ) ; +#1763 = EDGE_CURVE ( 'NONE', #2334, #2586, #130, .T. ) ; +#1764 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1765 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1766 = ORIENTED_EDGE ( 'NONE', *, *, #2366, .F. ) ; +#1767 = CIRCLE ( 'NONE', #2674, 1.000000000000000888 ) ; +#1768 = EDGE_CURVE ( 'NONE', #926, #1028, #1619, .T. ) ; +#1769 = VECTOR ( 'NONE', #2450, 1000.000000000000000 ) ; +#1770 = DIRECTION ( 'NONE', ( 9.361563035194100268E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1771 = EDGE_LOOP ( 'NONE', ( #2134, #1710, #1562, #451 ) ) ; +#1772 = ORIENTED_EDGE ( 'NONE', *, *, #288, .F. ) ; +#1773 = CIRCLE ( 'NONE', #1070, 2.000000000000001776 ) ; +#1774 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1775 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1776 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708866021, 0.000000000000000000 ) ) ; +#1777 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1778 = VERTEX_POINT ( 'NONE', #538 ) ; +#1779 = EDGE_CURVE ( 'NONE', #1704, #22, #1908, .T. ) ; +#1780 = AXIS2_PLACEMENT_3D ( 'NONE', #2270, #822, #1452 ) ; +#1781 = LINE ( 'NONE', #2009, #2600 ) ; +#1782 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.229739708000460410E-16, 0.000000000000000000 ) ) ; +#1783 = VERTEX_POINT ( 'NONE', #740 ) ; +#1784 = AXIS2_PLACEMENT_3D ( 'NONE', #170, #354, #2403 ) ; +#1785 = LINE ( 'NONE', #2421, #1672 ) ; +#1786 = VERTEX_POINT ( 'NONE', #147 ) ; +#1787 = LINE ( 'NONE', #927, #2350 ) ; +#1788 = DIRECTION ( 'NONE', ( -8.673617379884037937E-17, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1789 = VECTOR ( 'NONE', #543, 1000.000000000000000 ) ; +#1790 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1791 = VECTOR ( 'NONE', #156, 1000.000000000000000 ) ; +#1792 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1793 = VERTEX_POINT ( 'NONE', #2411 ) ; +#1794 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, -13.00000000000000000 ) ) ; +#1795 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1796 = AXIS2_PLACEMENT_3D ( 'NONE', #1590, #1797, #2418 ) ; +#1797 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1798 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -137.0867920000000026, 2.000000000000000000 ) ) ; +#1799 = ORIENTED_EDGE ( 'NONE', *, *, #1487, .T. ) ; +#1800 = EDGE_CURVE ( 'NONE', #544, #1890, #1187, .T. ) ; +#1801 = EDGE_CURVE ( 'NONE', #2510, #1274, #974, .T. ) ; +#1802 = ORIENTED_EDGE ( 'NONE', *, *, #946, .T. ) ; +#1803 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 16.74444178273600059, 10.00000000000000000 ) ) ; +#1804 = CYLINDRICAL_SURFACE ( 'NONE', #299, 0.8983043470089796534 ) ; +#1805 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1806 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1807 = EDGE_LOOP ( 'NONE', ( #664, #877, #922, #901 ) ) ; +#1808 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1809 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1810 = FACE_BOUND ( 'NONE', #303, .T. ) ; +#1811 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#1812 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974599941, 10.00000000000000000 ) ) ; +#1813 = VECTOR ( 'NONE', #615, 1000.000000000000000 ) ; +#1814 = ORIENTED_EDGE ( 'NONE', *, *, #606, .F. ) ; +#1815 = ORIENTED_EDGE ( 'NONE', *, *, #516, .T. ) ; +#1816 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1817 = ADVANCED_FACE ( 'NONE', ( #930, #1987 ), #510, .F. ) ; +#1818 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1819 = AXIS2_PLACEMENT_3D ( 'NONE', #1117, #685, #2568 ) ; +#1820 = ORIENTED_EDGE ( 'NONE', *, *, #2111, .T. ) ; +#1821 = FACE_BOUND ( 'NONE', #518, .T. ) ; +#1822 = EDGE_CURVE ( 'NONE', #779, #49, #989, .T. ) ; +#1823 = LINE ( 'NONE', #1171, #839 ) ; +#1824 = EDGE_LOOP ( 'NONE', ( #1772, #503, #592, #20 ) ) ; +#1825 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 10.00000000000000000 ) ) ; +#1826 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1827 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1828 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -129.5433960000000013, 0.000000000000000000 ) ) ; +#1829 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433960000000013, 0.000000000000000000 ) ) ; +#1830 = EDGE_LOOP ( 'NONE', ( #93, #1064, #1276, #736 ) ) ; +#1831 = LINE ( 'NONE', #1014, #1841 ) ; +#1832 = EDGE_CURVE ( 'NONE', #851, #1778, #2340, .T. ) ; +#1833 = PLANE ( 'NONE', #1424 ) ; +#1834 = CIRCLE ( 'NONE', #1526, 126.6268659918020063 ) ; +#1835 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1836 = VECTOR ( 'NONE', #168, 1000.000000000000000 ) ; +#1837 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#1838 = ADVANCED_FACE ( 'NONE', ( #1762, #2581, #2425, #1560, #1821, #324, #1394, #566 ), #1145, .F. ) ; +#1839 = EDGE_CURVE ( 'NONE', #751, #1183, #129, .T. ) ; +#1840 = VERTEX_POINT ( 'NONE', #24 ) ; +#1841 = VECTOR ( 'NONE', #1463, 1000.000000000000000 ) ; +#1842 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1843 = LINE ( 'NONE', #614, #2115 ) ; +#1844 = LINE ( 'NONE', #2664, #1026 ) ; +#1845 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1846 = ORIENTED_EDGE ( 'NONE', *, *, #1534, .F. ) ; +#1847 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1848 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 0.000000000000000000 ) ) ; +#1849 = ORIENTED_EDGE ( 'NONE', *, *, #768, .T. ) ; +#1850 = ADVANCED_FACE ( 'NONE', ( #229, #1645 ), #2668, .F. ) ; +#1851 = ADVANCED_FACE ( 'NONE', ( #2468 ), #396, .T. ) ; +#1852 = FACE_OUTER_BOUND ( 'NONE', #474, .T. ) ; +#1853 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435076661, -108.5433959999999303, 26.00000000000001066 ) ) ; +#1854 = LINE ( 'NONE', #2462, #2415 ) ; +#1855 = VERTEX_POINT ( 'NONE', #2650 ) ; +#1856 = EDGE_CURVE ( 'NONE', #38, #2107, #1077, .T. ) ; +#1857 = ORIENTED_EDGE ( 'NONE', *, *, #1832, .F. ) ; +#1858 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1859 = AXIS2_PLACEMENT_3D ( 'NONE', #89, #6, #2543 ) ; +#1860 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1861 = AXIS2_PLACEMENT_3D ( 'NONE', #655, #1694, #261 ) ; +#1862 = VECTOR ( 'NONE', #2433, 1000.000000000000000 ) ; +#1863 = LINE ( 'NONE', #1683, #1572 ) ; +#1864 = ORIENTED_EDGE ( 'NONE', *, *, #2366, .T. ) ; +#1865 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1866 = PLANE ( 'NONE', #2253 ) ; +#1867 = ORIENTED_EDGE ( 'NONE', *, *, #1060, .F. ) ; +#1868 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1869 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189960929, -128.1433958398938273, 10.00000000000000000 ) ) ; +#1870 = ORIENTED_EDGE ( 'NONE', *, *, #1929, .T. ) ; +#1871 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1872 = VECTOR ( 'NONE', #1860, 1000.000000000000000 ) ; +#1873 = SURFACE_SIDE_STYLE ('',( #2657 ) ) ; +#1874 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708864884, 6.000000000000000000 ) ) ; +#1875 = VECTOR ( 'NONE', #340, 1000.000000000000000 ) ; +#1876 = ORIENTED_EDGE ( 'NONE', *, *, #2144, .F. ) ; +#1877 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1878 = EDGE_LOOP ( 'NONE', ( #1582 ) ) ; +#1879 = LINE ( 'NONE', #2570, #1682 ) ; +#1880 = VECTOR ( 'NONE', #1770, 1000.000000000000000 ) ; +#1881 = VERTEX_POINT ( 'NONE', #2106 ) ; +#1882 = AXIS2_PLACEMENT_3D ( 'NONE', #1561, #1413, #380 ) ; +#1883 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120907361390096, 10.00000000000000000 ) ) ; +#1884 = EDGE_CURVE ( 'NONE', #2509, #1740, #2482, .T. ) ; +#1885 = ADVANCED_FACE ( 'NONE', ( #810 ), #1657, .F. ) ; +#1886 = EDGE_CURVE ( 'NONE', #544, #472, #634, .T. ) ; +#1887 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708866021, 0.000000000000000000 ) ) ; +#1888 = EDGE_CURVE ( 'NONE', #2351, #751, #419, .T. ) ; +#1889 = LINE ( 'NONE', #14, #658 ) ; +#1890 = VERTEX_POINT ( 'NONE', #1887 ) ; +#1891 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 10.00000000000000000 ) ) ; +#1892 = ORIENTED_EDGE ( 'NONE', *, *, #816, .T. ) ; +#1893 = ORIENTED_EDGE ( 'NONE', *, *, #133, .F. ) ; +#1894 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1895 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742549963, 10.00000000000000000 ) ) ; +#1896 = EDGE_CURVE ( 'NONE', #673, #1172, #1671, .T. ) ; +#1897 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1898 = EDGE_LOOP ( 'NONE', ( #2364, #2336, #355, #953, #1018, #2125, #447, #937, #202, #654, #2063, #2238, #2279, #632, #675, #375, #339, #92, #119, #662, #933, #2464, #2574, #2443, #513, #448, #1893, #1374, #505, #2312, #1103, #2557, #2585, #1904, #417, #618, #79, #267, #1164, #153 ) ) ; +#1899 = VECTOR ( 'NONE', #2432, 1000.000000000000000 ) ; +#1900 = ORIENTED_EDGE ( 'NONE', *, *, #2588, .F. ) ; +#1901 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1902 = VECTOR ( 'NONE', #1837, 1000.000000000000000 ) ; +#1903 = ORIENTED_EDGE ( 'NONE', *, *, #2553, .F. ) ; +#1904 = ORIENTED_EDGE ( 'NONE', *, *, #321, .T. ) ; +#1905 = LINE ( 'NONE', #43, #897 ) ; +#1906 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1907 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999974908, 26.00000000000001066 ) ) ; +#1908 = CIRCLE ( 'NONE', #824, 1.000000000000000888 ) ; +#1909 = EDGE_CURVE ( 'NONE', #2586, #2470, #179, .T. ) ; +#1910 = LINE ( 'NONE', #2152, #1291 ) ; +#1911 = EDGE_LOOP ( 'NONE', ( #108 ) ) ; +#1912 = VERTEX_POINT ( 'NONE', #1835 ) ; +#1913 = ADVANCED_FACE ( 'NONE', ( #1254 ), #2048, .T. ) ; +#1914 = EDGE_CURVE ( 'NONE', #1289, #1551, #1412, .T. ) ; +#1915 = PLANE ( 'NONE', #2504 ) ; +#1916 = MANIFOLD_SOLID_BREP ( 'NONE', #772 ) ; +#1917 = ORIENTED_EDGE ( 'NONE', *, *, #2360, .F. ) ; +#1918 = ORIENTED_EDGE ( 'NONE', *, *, #51, .F. ) ; +#1919 = FACE_OUTER_BOUND ( 'NONE', #1329, .T. ) ; +#1920 = AXIS2_PLACEMENT_3D ( 'NONE', #2454, #633, #1654 ) ; +#1921 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 10.00000000000000000 ) ) ; +#1922 = ADVANCED_BREP_SHAPE_REPRESENTATION ( 'a\X2\914d4ef6\X0\1', ( #1916, #1598 ), #2075 ) ; +#1923 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1924 = VERTEX_POINT ( 'NONE', #1269 ) ; +#1925 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433960000000013, 0.000000000000000000 ) ) ; +#1926 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1927 = LINE ( 'NONE', #2345, #2522 ) ; +#1928 = VERTEX_POINT ( 'NONE', #2305 ) ; +#1929 = EDGE_CURVE ( 'NONE', #1274, #268, #1425, .T. ) ; +#1930 = ORIENTED_EDGE ( 'NONE', *, *, #2671, .F. ) ; +#1931 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1932 = EDGE_CURVE ( 'NONE', #924, #1023, #281, .T. ) ; +#1933 = PLANE ( 'NONE', #44 ) ; +#1934 = LINE ( 'NONE', #2371, #2160 ) ; +#1935 = ORIENTED_EDGE ( 'NONE', *, *, #816, .F. ) ; +#1936 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1937 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433960000000013, 10.00000000000000000 ) ) ; +#1938 = ORIENTED_EDGE ( 'NONE', *, *, #104, .T. ) ; +#1939 = ORIENTED_EDGE ( 'NONE', *, *, #1779, .T. ) ; +#1940 = VERTEX_POINT ( 'NONE', #264 ) ; +#1941 = AXIS2_PLACEMENT_3D ( 'NONE', #2410, #565, #1338 ) ; +#1942 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999974908, 26.00000000000001066 ) ) ; +#1943 = ORIENTED_EDGE ( 'NONE', *, *, #1961, .T. ) ; +#1944 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1945 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1946 = ORIENTED_EDGE ( 'NONE', *, *, #441, .F. ) ; +#1947 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -129.5433960000000013, 0.000000000000000000 ) ) ; +#1948 = FACE_OUTER_BOUND ( 'NONE', #1950, .T. ) ; +#1949 = ORIENTED_EDGE ( 'NONE', *, *, #409, .T. ) ; +#1950 = EDGE_LOOP ( 'NONE', ( #95, #2332, #1382, #2356 ) ) ; +#1951 = EDGE_LOOP ( 'NONE', ( #74, #1820, #1213, #638 ) ) ; +#1952 = VECTOR ( 'NONE', #2156, 1000.000000000000000 ) ; +#1953 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1954 = CIRCLE ( 'NONE', #529, 0.8983043470089796534 ) ; +#1955 = ORIENTED_EDGE ( 'NONE', *, *, #802, .F. ) ; +#1956 = ORIENTED_EDGE ( 'NONE', *, *, #1568, .T. ) ; +#1957 = LINE ( 'NONE', #127, #233 ) ; +#1958 = AXIS2_PLACEMENT_3D ( 'NONE', #1798, #1542, #2590 ) ; +#1959 = ADVANCED_FACE ( 'NONE', ( #1084 ), #444, .F. ) ; +#1960 = EDGE_CURVE ( 'NONE', #1073, #1428, #567, .T. ) ; +#1961 = EDGE_CURVE ( 'NONE', #1259, #825, #683, .T. ) ; +#1962 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1963 = VECTOR ( 'NONE', #1571, 1000.000000000000000 ) ; +#1964 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1965 = EDGE_CURVE ( 'NONE', #22, #1023, #1292, .T. ) ; +#1966 = DIRECTION ( 'NONE', ( -8.673617379884037937E-17, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1967 = EDGE_LOOP ( 'NONE', ( #2069 ) ) ; +#1968 = ORIENTED_EDGE ( 'NONE', *, *, #239, .F. ) ; +#1969 = FACE_OUTER_BOUND ( 'NONE', #717, .T. ) ; +#1970 = ORIENTED_EDGE ( 'NONE', *, *, #1244, .F. ) ; +#1971 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1972 = ORIENTED_EDGE ( 'NONE', *, *, #2144, .T. ) ; +#1973 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1974 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1975 = ADVANCED_FACE ( 'NONE', ( #2530 ), #1933, .F. ) ; +#1976 = PLANE ( 'NONE', #86 ) ; +#1977 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 0.000000000000000000 ) ) ; +#1978 = VERTEX_POINT ( 'NONE', #1721 ) ; +#1979 = VECTOR ( 'NONE', #2143, 1000.000000000000000 ) ; +#1980 = LINE ( 'NONE', #2601, #2129 ) ; +#1981 = VECTOR ( 'NONE', #1607, 1000.000000000000000 ) ; +#1982 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079057, -28.54339599999974908, 10.00000000000000888 ) ) ; +#1983 = ORIENTED_EDGE ( 'NONE', *, *, #1074, .F. ) ; +#1984 = VERTEX_POINT ( 'NONE', #1944 ) ; +#1985 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 6.000000000000000000 ) ) ; +#1986 = PLANE ( 'NONE', #2633 ) ; +#1987 = FACE_OUTER_BOUND ( 'NONE', #1210, .T. ) ; +#1988 = ADVANCED_FACE ( 'NONE', ( #899 ), #1515, .T. ) ; +#1989 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1990 = ORIENTED_EDGE ( 'NONE', *, *, #2446, .T. ) ; +#1991 = EDGE_CURVE ( 'NONE', #100, #1940, #2098, .T. ) ; +#1992 = ADVANCED_FACE ( 'NONE', ( #478 ), #2505, .F. ) ; +#1993 = AXIS2_PLACEMENT_3D ( 'NONE', #2022, #1964, #1790 ) ; +#1994 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1995 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435081189, -108.5433959999997455, 26.00000000000001066 ) ) ; +#1996 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 10.00000000000000000 ) ) ; +#1997 = FACE_OUTER_BOUND ( 'NONE', #991, .T. ) ; +#1998 = ORIENTED_EDGE ( 'NONE', *, *, #1568, .F. ) ; +#1999 = VECTOR ( 'NONE', #2545, 1000.000000000000000 ) ; +#2000 = ORIENTED_EDGE ( 'NONE', *, *, #1717, .F. ) ; +#2001 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2002 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 10.00000000000000000 ) ) ; +#2003 = CIRCLE ( 'NONE', #834, 0.8983045201146691028 ) ; +#2004 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2005 = AXIS2_PLACEMENT_3D ( 'NONE', #2551, #2151, #1681 ) ; +#2006 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, 5.588871641576239675E-15, 2.000000000000000000 ) ) ; +#2007 = VECTOR ( 'NONE', #1147, 1000.000000000000000 ) ; +#2008 = EDGE_LOOP ( 'NONE', ( #2536, #150, #1195, #245 ) ) ; +#2009 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 0.000000000000000000 ) ) ; +#2010 = ORIENTED_EDGE ( 'NONE', *, *, #67, .F. ) ; +#2011 = ADVANCED_FACE ( 'NONE', ( #647 ), #1733, .T. ) ; +#2012 = LINE ( 'NONE', #185, #1508 ) ; +#2013 = AXIS2_PLACEMENT_3D ( 'NONE', #562, #1140, #1971 ) ; +#2014 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2015 = LINE ( 'NONE', #1829, #1575 ) ; +#2016 = ORIENTED_EDGE ( 'NONE', *, *, #1487, .F. ) ; +#2017 = ADVANCED_FACE ( 'NONE', ( #695 ), #455, .T. ) ; +#2018 = ORIENTED_EDGE ( 'NONE', *, *, #288, .T. ) ; +#2019 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#2020 = PLANE ( 'NONE', #2378 ) ; +#2021 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 6.000000000000000000 ) ) ; +#2022 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#2023 = LINE ( 'NONE', #2598, #1836 ) ; +#2024 = ORIENTED_EDGE ( 'NONE', *, *, #51, .T. ) ; +#2025 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2026 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#2027 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 0.000000000000000000 ) ) ; +#2028 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#2029 = LINE ( 'NONE', #1237, #1791 ) ; +#2030 = AXIS2_PLACEMENT_3D ( 'NONE', #212, #2372, #643 ) ; +#2031 = ORIENTED_EDGE ( 'NONE', *, *, #2495, .F. ) ; +#2032 = EDGE_CURVE ( 'NONE', #1428, #2303, #2110, .T. ) ; +#2033 = VECTOR ( 'NONE', #774, 1000.000000000000000 ) ; +#2034 = ORIENTED_EDGE ( 'NONE', *, *, #2302, .T. ) ; +#2035 = CYLINDRICAL_SURFACE ( 'NONE', #1492, 1.250000000000001110 ) ; +#2036 = CIRCLE ( 'NONE', #2544, 0.8983045201146760972 ) ; +#2037 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2038 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2039 = ORIENTED_EDGE ( 'NONE', *, *, #1002, .T. ) ; +#2040 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2041 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2042 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2043 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423611705, -155.9433975800035057, 2.000000000000000000 ) ) ; +#2044 = AXIS2_PLACEMENT_3D ( 'NONE', #2375, #1698, #1792 ) ; +#2045 = COLOUR_RGB ( '',0.7921568627450980005, 0.8196078431372548767, 0.9333333333333333481 ) ; +#2046 = ORIENTED_EDGE ( 'NONE', *, *, #2284, .T. ) ; +#2047 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708864884, 0.000000000000000000 ) ) ; +#2048 = CYLINDRICAL_SURFACE ( 'NONE', #520, 1.000000000000000888 ) ; +#2049 = ADVANCED_FACE ( 'NONE', ( #1476 ), #862, .T. ) ; +#2050 = VECTOR ( 'NONE', #1764, 1000.000000000000000 ) ; +#2051 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433959999997455, 26.00000000000001066 ) ) ; +#2052 = EDGE_LOOP ( 'NONE', ( #2299 ) ) ; +#2053 = EDGE_CURVE ( 'NONE', #1928, #1556, #2328, .T. ) ; +#2054 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435076661, -108.5433959999999303, 10.00000000000000000 ) ) ; +#2055 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2056 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 10.00000000000000000 ) ) ; +#2057 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2058 = ORIENTED_EDGE ( 'NONE', *, *, #2161, .F. ) ; +#2059 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2060 = DIRECTION ( 'NONE', ( 8.673617379884035472E-17, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2061 = ADVANCED_FACE ( 'NONE', ( #763, #308 ), #2192, .F. ) ; +#2062 = CYLINDRICAL_SURFACE ( 'NONE', #1222, 0.8983045201146760972 ) ; +#2063 = ORIENTED_EDGE ( 'NONE', *, *, #1048, .T. ) ; +#2064 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2065 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2066 = ORIENTED_EDGE ( 'NONE', *, *, #2587, .F. ) ; +#2067 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -153.0433963742549963, 10.00000000000000000 ) ) ; +#2068 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -1.599529618207508530E-14, 10.00000000000000000 ) ) ; +#2069 = ORIENTED_EDGE ( 'NONE', *, *, #782, .T. ) ; +#2070 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2071 = VECTOR ( 'NONE', #285, 1000.000000000000000 ) ; +#2072 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, 18.85660558000369846, 3.000000000000000000 ) ) ; +#2073 = AXIS2_PLACEMENT_3D ( 'NONE', #1744, #706, #2367 ) ; +#2074 = CIRCLE ( 'NONE', #1691, 2.000000000000001776 ) ; +#2075 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #1511 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #1471, #1462, #2301 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#2076 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106189541, 2.000000000000000000 ) ) ; +#2077 = ORIENTED_EDGE ( 'NONE', *, *, #667, .T. ) ; +#2078 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2079 = ORIENTED_EDGE ( 'NONE', *, *, #1361, .T. ) ; +#2080 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#2081 = EDGE_CURVE ( 'NONE', #1700, #2222, #2230, .T. ) ; +#2082 = CARTESIAN_POINT ( 'NONE', ( 93.80830018423611705, 18.85660558000369846, 2.000000000000000000 ) ) ; +#2083 = EDGE_CURVE ( 'NONE', #2296, #1525, #564, .T. ) ; +#2084 = EDGE_CURVE ( 'NONE', #2548, #751, #1957, .T. ) ; +#2085 = ORIENTED_EDGE ( 'NONE', *, *, #1884, .T. ) ; +#2086 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2087 = AXIS2_PLACEMENT_3D ( 'NONE', #2516, #2100, #2354 ) ; +#2088 = FACE_OUTER_BOUND ( 'NONE', #629, .T. ) ; +#2089 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2090 = LINE ( 'NONE', #1, #2654 ) ; +#2091 = CIRCLE ( 'NONE', #1046, 0.8983043470089796534 ) ; +#2092 = ORIENTED_EDGE ( 'NONE', *, *, #1060, .T. ) ; +#2093 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2094 = ORIENTED_EDGE ( 'NONE', *, *, #159, .F. ) ; +#2095 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2096 = CIRCLE ( 'NONE', #746, 1.000000000000000888 ) ; +#2097 = ORIENTED_EDGE ( 'NONE', *, *, #963, .F. ) ; +#2098 = CIRCLE ( 'NONE', #489, 2.000000000000001776 ) ; +#2099 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2100 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2101 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2102 = ORIENTED_EDGE ( 'NONE', *, *, #1886, .F. ) ; +#2103 = EDGE_LOOP ( 'NONE', ( #2457 ) ) ; +#2104 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 0.000000000000000000 ) ) ; +#2105 = ORIENTED_EDGE ( 'NONE', *, *, #240, .F. ) ; +#2106 = CARTESIAN_POINT ( 'NONE', ( -41.89509216189961904, -128.1433958398938273, 2.000000000000000000 ) ) ; +#2107 = VERTEX_POINT ( 'NONE', #1348 ) ; +#2108 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2109 = AXIS2_PLACEMENT_3D ( 'NONE', #298, #1033, #1868 ) ; +#2110 = LINE ( 'NONE', #1504, #1308 ) ; +#2111 = EDGE_CURVE ( 'NONE', #1713, #1786, #536, .T. ) ; +#2112 = EDGE_CURVE ( 'NONE', #1181, #2389, #1787, .T. ) ; +#2113 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2114 = EDGE_LOOP ( 'NONE', ( #906, #166, #1396, #5 ) ) ; +#2115 = VECTOR ( 'NONE', #2663, 1000.000000000000000 ) ; +#2116 = ORIENTED_EDGE ( 'NONE', *, *, #1197, .F. ) ; +#2117 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2118 = VECTOR ( 'NONE', #1897, 1000.000000000000000 ) ; +#2119 = ORIENTED_EDGE ( 'NONE', *, *, #681, .T. ) ; +#2120 = ORIENTED_EDGE ( 'NONE', *, *, #2084, .T. ) ; +#2121 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2122 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2123 = VECTOR ( 'NONE', #726, 1000.000000000000000 ) ; +#2124 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2125 = ORIENTED_EDGE ( 'NONE', *, *, #1653, .T. ) ; +#2126 = ADVANCED_FACE ( 'NONE', ( #1583 ), #362, .T. ) ; +#2127 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2128 = ORIENTED_EDGE ( 'NONE', *, *, #807, .T. ) ; +#2129 = VECTOR ( 'NONE', #2025, 1000.000000000000000 ) ; +#2130 = LINE ( 'NONE', #1498, #1618 ) ; +#2131 = ADVANCED_FACE ( 'NONE', ( #1184, #101 ), #938, .F. ) ; +#2132 = ORIENTED_EDGE ( 'NONE', *, *, #2495, .T. ) ; +#2133 = EDGE_LOOP ( 'NONE', ( #540, #801, #1092, #2034 ) ) ; +#2134 = ORIENTED_EDGE ( 'NONE', *, *, #336, .F. ) ; +#2135 = VECTOR ( 'NONE', #163, 1000.000000000000000 ) ; +#2136 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.734723475976807587E-16, 0.000000000000000000 ) ) ; +#2137 = CIRCLE ( 'NONE', #962, 1.000000000000000888 ) ; +#2138 = LINE ( 'NONE', #1097, #42 ) ; +#2139 = DIRECTION ( 'NONE', ( 1.734723475976807587E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2140 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106189541, 10.00000000000000000 ) ) ; +#2141 = EDGE_LOOP ( 'NONE', ( #248 ) ) ; +#2142 = AXIS2_PLACEMENT_3D ( 'NONE', #776, #1193, #2204 ) ; +#2143 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2144 = EDGE_CURVE ( 'NONE', #2335, #2335, #2441, .T. ) ; +#2145 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2146 = ORIENTED_EDGE ( 'NONE', *, *, #1365, .T. ) ; +#2147 = ORIENTED_EDGE ( 'NONE', *, *, #2255, .F. ) ; +#2148 = ORIENTED_EDGE ( 'NONE', *, *, #2193, .T. ) ; +#2149 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2150 = VERTEX_POINT ( 'NONE', #2408 ) ; +#2151 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2152 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2153 = ORIENTED_EDGE ( 'NONE', *, *, #468, .F. ) ; +#2154 = LINE ( 'NONE', #902, #462 ) ; +#2155 = AXIS2_PLACEMENT_3D ( 'NONE', #2171, #2145, #2117 ) ; +#2156 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2157 = ORIENTED_EDGE ( 'NONE', *, *, #1089, .F. ) ; +#2158 = VERTEX_POINT ( 'NONE', #1747 ) ; +#2159 = ORIENTED_EDGE ( 'NONE', *, *, #2498, .T. ) ; +#2160 = VECTOR ( 'NONE', #900, 1000.000000000000000 ) ; +#2161 = EDGE_CURVE ( 'NONE', #1786, #306, #2622, .T. ) ; +#2162 = EDGE_CURVE ( 'NONE', #1611, #1679, #737, .T. ) ; +#2163 = PRODUCT_DEFINITION ( 'æœ', '', #2208, #1093 ) ; +#2164 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2165 = ORIENTED_EDGE ( 'NONE', *, *, #2252, .T. ) ; +#2166 = ADVANCED_FACE ( 'NONE', ( #546, #1544 ), #333, .F. ) ; +#2167 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2168 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2169 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -157.5433960000000013, 10.00000000000000000 ) ) ; +#2170 = VECTOR ( 'NONE', #572, 1000.000000000000000 ) ; +#2171 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -129.5433960000000013, 10.00000000000000000 ) ) ; +#2172 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2173 = EDGE_LOOP ( 'NONE', ( #1469 ) ) ; +#2174 = AXIS2_PLACEMENT_3D ( 'NONE', #1458, #1056, #27 ) ; +#2175 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#2176 = VECTOR ( 'NONE', #1442, 1000.000000000000000 ) ; +#2177 = ORIENTED_EDGE ( 'NONE', *, *, #2329, .T. ) ; +#2178 = EDGE_CURVE ( 'NONE', #1037, #306, #2210, .T. ) ; +#2179 = ORIENTED_EDGE ( 'NONE', *, *, #207, .T. ) ; +#2180 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2181 = VECTOR ( 'NONE', #2317, 1000.000000000000000 ) ; +#2182 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2183 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2184 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2185 = VERTEX_POINT ( 'NONE', #1760 ) ; +#2186 = ORIENTED_EDGE ( 'NONE', *, *, #2552, .F. ) ; +#2187 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2188 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708866021, 10.00000000000000000 ) ) ; +#2189 = LINE ( 'NONE', #2576, #1343 ) ; +#2190 = ORIENTED_EDGE ( 'NONE', *, *, #768, .F. ) ; +#2191 = VERTEX_POINT ( 'NONE', #345 ) ; +#2192 = CYLINDRICAL_SURFACE ( 'NONE', #1402, 1.250000000000001110 ) ; +#2193 = EDGE_CURVE ( 'NONE', #1679, #1259, #1167, .T. ) ; +#2194 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#2195 = ADVANCED_FACE ( 'NONE', ( #2579 ), #1558, .T. ) ; +#2196 = DIRECTION ( 'NONE', ( 1.000000000000000000, 1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#2197 = EDGE_CURVE ( 'NONE', #1881, #1881, #622, .T. ) ; +#2198 = CYLINDRICAL_SURFACE ( 'NONE', #443, 1.000000000000000888 ) ; +#2199 = VERTEX_POINT ( 'NONE', #1670 ) ; +#2200 = VECTOR ( 'NONE', #485, 1000.000000000000000 ) ; +#2201 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#2202 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2203 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2204 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2205 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2206 = CIRCLE ( 'NONE', #217, 0.8983045201146691028 ) ; +#2207 = EDGE_LOOP ( 'NONE', ( #1892, #2309, #1938, #1846 ) ) ; +#2208 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ä»', '', #197, .NOT_KNOWN. ) ; +#2209 = ORIENTED_EDGE ( 'NONE', *, *, #1079, .T. ) ; +#2210 = LINE ( 'NONE', #954, #1963 ) ; +#2211 = FACE_OUTER_BOUND ( 'NONE', #716, .T. ) ; +#2212 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 0.000000000000000000 ) ) ; +#2213 = EDGE_CURVE ( 'NONE', #665, #2199, #582, .T. ) ; +#2214 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2215 = VERTEX_POINT ( 'NONE', #11 ) ; +#2216 = STYLED_ITEM ( 'NONE', ( #799 ), #1916 ) ; +#2217 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2218 = ADVANCED_FACE ( 'NONE', ( #2437 ), #1437, .T. ) ; +#2219 = FACE_OUTER_BOUND ( 'NONE', #26, .T. ) ; +#2220 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2221 = VERTEX_POINT ( 'NONE', #617 ) ; +#2222 = VERTEX_POINT ( 'NONE', #2477 ) ; +#2223 = VECTOR ( 'NONE', #329, 1000.000000000000000 ) ; +#2224 = FACE_OUTER_BOUND ( 'NONE', #1417, .T. ) ; +#2225 = EDGE_LOOP ( 'NONE', ( #1100, #1687, #41, #2396, #843, #2266, #1299, #1728, #1900, #2290, #211, #1930, #475, #535, #385, #81, #2262, #1449, #350, #1570, #1087, #892, #1857, #1154, #2347, #1499, #56, #2577, #514, #2489, #1118, #2619, #1243, #110, #1693, #1327, #1815, #2147, #1354, #2562 ) ) ; +#2226 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708864884, 6.000000000000000000 ) ) ; +#2227 = LINE ( 'NONE', #2623, #1206 ) ; +#2228 = VECTOR ( 'NONE', #679, 1000.000000000000000 ) ; +#2229 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2230 = CIRCLE ( 'NONE', #838, 1.000000000000000888 ) ; +#2231 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2232 = ORIENTED_EDGE ( 'NONE', *, *, #608, .F. ) ; +#2233 = PLANE ( 'NONE', #616 ) ; +#2234 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708866021, 0.000000000000000000 ) ) ; +#2235 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 0.000000000000000000 ) ) ; +#2236 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 10.00000000000000000 ) ) ; +#2237 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2238 = ORIENTED_EDGE ( 'NONE', *, *, #1293, .F. ) ; +#2239 = ORIENTED_EDGE ( 'NONE', *, *, #1333, .F. ) ; +#2240 = LINE ( 'NONE', #1199, #15 ) ; +#2241 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999993027, 0.000000000000000000 ) ) ; +#2242 = FILL_AREA_STYLE_COLOUR ( '', #2045 ) ; +#2243 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#2244 = ORIENTED_EDGE ( 'NONE', *, *, #521, .T. ) ; +#2245 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 0.000000000000000000 ) ) ; +#2246 = VERTEX_POINT ( 'NONE', #2637 ) ; +#2247 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2248 = PLANE ( 'NONE', #1067 ) ; +#2249 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189960929, -8.943396160106189541, 2.000000000000000000 ) ) ; +#2250 = ORIENTED_EDGE ( 'NONE', *, *, #158, .T. ) ; +#2251 = EDGE_CURVE ( 'NONE', #2389, #2563, #2137, .T. ) ; +#2252 = EDGE_CURVE ( 'NONE', #642, #945, #428, .T. ) ; +#2253 = AXIS2_PLACEMENT_3D ( 'NONE', #2276, #184, #384 ) ; +#2254 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 0.000000000000000000 ) ) ; +#2255 = EDGE_CURVE ( 'NONE', #1512, #1497, #833, .T. ) ; +#2256 = AXIS2_PLACEMENT_3D ( 'NONE', #346, #765, #955 ) ; +#2257 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2258 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2259 = ORIENTED_EDGE ( 'NONE', *, *, #1146, .F. ) ; +#2260 = FACE_OUTER_BOUND ( 'NONE', #1771, .T. ) ; +#2261 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2262 = ORIENTED_EDGE ( 'NONE', *, *, #1516, .T. ) ; +#2263 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2264 = APPLICATION_CONTEXT ( 'automotive_design' ) ; +#2265 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2266 = ORIENTED_EDGE ( 'NONE', *, *, #1074, .T. ) ; +#2267 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2268 = EDGE_CURVE ( 'NONE', #2621, #1091, #2240, .T. ) ; +#2269 = CIRCLE ( 'NONE', #1262, 1.000000000000000888 ) ; +#2270 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2271 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#2272 = ORIENTED_EDGE ( 'NONE', *, *, #1362, .F. ) ; +#2273 = AXIS2_PLACEMENT_3D ( 'NONE', #2047, #1871, #2653 ) ; +#2274 = VECTOR ( 'NONE', #401, 1000.000000000000000 ) ; +#2275 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2276 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.8312337827360068, 10.00000000000000000 ) ) ; +#2277 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2278 = VERTEX_POINT ( 'NONE', #186 ) ; +#2279 = ORIENTED_EDGE ( 'NONE', *, *, #2444, .T. ) ; +#2280 = LINE ( 'NONE', #1239, #621 ) ; +#2281 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#2282 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2283 = ADVANCED_FACE ( 'NONE', ( #2493, #1615 ), #2035, .F. ) ; +#2284 = EDGE_CURVE ( 'NONE', #1525, #2185, #531, .T. ) ; +#2285 = EDGE_LOOP ( 'NONE', ( #1373, #1388, #694, #2527 ) ) ; +#2286 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2287 = PLANE ( 'NONE', #1288 ) ; +#2288 = EDGE_LOOP ( 'NONE', ( #2239, #709, #2259, #2079 ) ) ; +#2289 = PLANE ( 'NONE', #595 ) ; +#2290 = ORIENTED_EDGE ( 'NONE', *, *, #2329, .F. ) ; +#2291 = LINE ( 'NONE', #797, #1530 ) ; +#2292 = VECTOR ( 'NONE', #2616, 1000.000000000000000 ) ; +#2293 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 20.45660399999999868, 0.000000000000000000 ) ) ; +#2294 = AXIS2_PLACEMENT_3D ( 'NONE', #1427, #1478, #2306 ) ; +#2295 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#2296 = VERTEX_POINT ( 'NONE', #2254 ) ; +#2297 = EDGE_CURVE ( 'NONE', #845, #845, #407, .T. ) ; +#2298 = FACE_OUTER_BOUND ( 'NONE', #870, .T. ) ; +#2299 = ORIENTED_EDGE ( 'NONE', *, *, #552, .F. ) ; +#2300 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2301 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#2302 = EDGE_CURVE ( 'NONE', #1840, #984, #2280, .T. ) ; +#2303 = VERTEX_POINT ( 'NONE', #593 ) ; +#2304 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#2305 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999999546, 10.00000000000000000 ) ) ; +#2306 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2307 = AXIS2_PLACEMENT_3D ( 'NONE', #1043, #413, #19 ) ; +#2308 = VERTEX_POINT ( 'NONE', #392 ) ; +#2309 = ORIENTED_EDGE ( 'NONE', *, *, #1547, .T. ) ; +#2310 = AXIS2_PLACEMENT_3D ( 'NONE', #2295, #445, #205 ) ; +#2311 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 10.00000000000000000 ) ) ; +#2312 = ORIENTED_EDGE ( 'NONE', *, *, #1197, .T. ) ; +#2313 = EDGE_CURVE ( 'NONE', #1479, #1367, #1831, .T. ) ; +#2314 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, 18.85660558000369846, 10.00000000000000000 ) ) ; +#2315 = ORIENTED_EDGE ( 'NONE', *, *, #486, .F. ) ; +#2316 = EDGE_CURVE ( 'NONE', #676, #676, #2003, .T. ) ; +#2317 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2318 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2319 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2320 = ORIENTED_EDGE ( 'NONE', *, *, #1888, .F. ) ; +#2321 = ORIENTED_EDGE ( 'NONE', *, *, #1048, .F. ) ; +#2322 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435076661, -108.5433959999999303, 0.000000000000000000 ) ) ; +#2323 = ORIENTED_EDGE ( 'NONE', *, *, #750, .F. ) ; +#2324 = ORIENTED_EDGE ( 'NONE', *, *, #1734, .T. ) ; +#2325 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2326 = EDGE_CURVE ( 'NONE', #1496, #544, #1050, .T. ) ; +#2327 = EDGE_CURVE ( 'NONE', #2420, #1519, #2291, .T. ) ; +#2328 = LINE ( 'NONE', #466, #798 ) ; +#2329 = EDGE_CURVE ( 'NONE', #1528, #2572, #188, .T. ) ; +#2330 = FACE_OUTER_BOUND ( 'NONE', #878, .T. ) ; +#2331 = ORIENTED_EDGE ( 'NONE', *, *, #437, .T. ) ; +#2332 = ORIENTED_EDGE ( 'NONE', *, *, #1006, .T. ) ; +#2333 = PLANE ( 'NONE', #479 ) ; +#2334 = VERTEX_POINT ( 'NONE', #2667 ) ; +#2335 = VERTEX_POINT ( 'NONE', #1250 ) ; +#2336 = ORIENTED_EDGE ( 'NONE', *, *, #1718, .F. ) ; +#2337 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 10.00000000000000888 ) ) ; +#2338 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#2339 = ADVANCED_FACE ( 'NONE', ( #809 ), #1643, .T. ) ; +#2340 = CIRCLE ( 'NONE', #2597, 126.6268659918020063 ) ; +#2341 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2342 = ORIENTED_EDGE ( 'NONE', *, *, #2529, .F. ) ; +#2343 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2344 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 20.45660399999999868, 10.00000000000000000 ) ) ; +#2345 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#2346 = ORIENTED_EDGE ( 'NONE', *, *, #2111, .F. ) ; +#2347 = ORIENTED_EDGE ( 'NONE', *, *, #1779, .F. ) ; +#2348 = AXIS2_PLACEMENT_3D ( 'NONE', #2349, #2325, #2099 ) ; +#2349 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, 18.85660558000369846, 2.000000000000000000 ) ) ; +#2350 = VECTOR ( 'NONE', #2382, 1000.000000000000000 ) ; +#2351 = VERTEX_POINT ( 'NONE', #279 ) ; +#2352 = CIRCLE ( 'NONE', #1669, 1.000000000000000888 ) ; +#2353 = ORIENTED_EDGE ( 'NONE', *, *, #1264, .T. ) ; +#2354 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#2355 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2356 = ORIENTED_EDGE ( 'NONE', *, *, #2327, .F. ) ; +#2357 = VECTOR ( 'NONE', #387, 1000.000000000000000 ) ; +#2358 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2359 = ADVANCED_FACE ( 'NONE', ( #1919 ), #884, .T. ) ; +#2360 = EDGE_CURVE ( 'NONE', #705, #1793, #692, .T. ) ; +#2361 = ADVANCED_FACE ( 'NONE', ( #1720 ), #463, .T. ) ; +#2362 = FACE_OUTER_BOUND ( 'NONE', #734, .T. ) ; +#2363 = ORIENTED_EDGE ( 'NONE', *, *, #36, .T. ) ; +#2364 = ORIENTED_EDGE ( 'NONE', *, *, #486, .T. ) ; +#2365 = ORIENTED_EDGE ( 'NONE', *, *, #929, .F. ) ; +#2366 = EDGE_CURVE ( 'NONE', #1198, #1428, #896, .T. ) ; +#2367 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2368 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2369 = ORIENTED_EDGE ( 'NONE', *, *, #640, .F. ) ; +#2370 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2371 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#2372 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2373 = VECTOR ( 'NONE', #1649, 1000.000000000000000 ) ; +#2374 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2375 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 0.000000000000000000 ) ) ; +#2376 = EDGE_LOOP ( 'NONE', ( #226, #1799, #1506, #297 ) ) ; +#2377 = EDGE_CURVE ( 'NONE', #1705, #1704, #227, .T. ) ; +#2378 = AXIS2_PLACEMENT_3D ( 'NONE', #1143, #113, #165 ) ; +#2379 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2380 = ORIENTED_EDGE ( 'NONE', *, *, #912, .T. ) ; +#2381 = ORIENTED_EDGE ( 'NONE', *, *, #807, .F. ) ; +#2382 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2383 = LINE ( 'NONE', #1775, #218 ) ; +#2384 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 0.000000000000000000 ) ) ; +#2385 = CIRCLE ( 'NONE', #519, 1.250000000000001110 ) ; +#2386 = VECTOR ( 'NONE', #46, 1000.000000000000000 ) ; +#2387 = LINE ( 'NONE', #2214, #1130 ) ; +#2388 = ORIENTED_EDGE ( 'NONE', *, *, #2552, .T. ) ; +#2389 = VERTEX_POINT ( 'NONE', #1503 ) ; +#2390 = CYLINDRICAL_SURFACE ( 'NONE', #1393, 1.250000000000001110 ) ; +#2391 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.8312337827360068, 0.000000000000000000 ) ) ; +#2392 = AXIS2_PLACEMENT_3D ( 'NONE', #990, #1054, #1465 ) ; +#2393 = EDGE_LOOP ( 'NONE', ( #893 ) ) ; +#2394 = EDGE_CURVE ( 'NONE', #1316, #1353, #960, .T. ) ; +#2395 = ADVANCED_FACE ( 'NONE', ( #440 ), #250, .T. ) ; +#2396 = ORIENTED_EDGE ( 'NONE', *, *, #336, .T. ) ; +#2397 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2398 = AXIS2_PLACEMENT_3D ( 'NONE', #2618, #1319, #1953 ) ; +#2399 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -128.1433958398938273, 3.000000000000000000 ) ) ; +#2400 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2401 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, 10.00000000000000000 ) ) ; +#2402 = ORIENTED_EDGE ( 'NONE', *, *, #160, .T. ) ; +#2403 = DIRECTION ( 'NONE', ( -1.734723475976807587E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2404 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2405 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -148.0433967708866021, 10.00000000000000000 ) ) ; +#2406 = ORIENTED_EDGE ( 'NONE', *, *, #1278, .F. ) ; +#2407 = ORIENTED_EDGE ( 'NONE', *, *, #745, .F. ) ; +#2408 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 10.00000000000000000 ) ) ; +#2409 = EDGE_CURVE ( 'NONE', #1556, #1528, #2096, .T. ) ; +#2410 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 0.000000000000000000 ) ) ; +#2411 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2412 = ADVANCED_FACE ( 'NONE', ( #847 ), #1096, .F. ) ; +#2413 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2414 = VERTEX_POINT ( 'NONE', #2337 ) ; +#2415 = VECTOR ( 'NONE', #1650, 1000.000000000000000 ) ; +#2416 = DIRECTION ( 'NONE', ( -1.734723475976807094E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2417 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#2418 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2419 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2420 = VERTEX_POINT ( 'NONE', #2304 ) ; +#2421 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 17.45660499452100112, 10.00000000000000000 ) ) ; +#2422 = VERTEX_POINT ( 'NONE', #1069 ) ; +#2423 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, -13.00000000000000000 ) ) ; +#2424 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2425 = FACE_BOUND ( 'NONE', #1614, .T. ) ; +#2426 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2427 = ORIENTED_EDGE ( 'NONE', *, *, #2297, .T. ) ; +#2428 = AXIS2_PLACEMENT_3D ( 'NONE', #1805, #2196, #1339 ) ; +#2429 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433960000000013, 0.000000000000000000 ) ) ; +#2430 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 0.000000000000000000 ) ) ; +#2431 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435078082, -28.54339599999993027, 26.00000000000001066 ) ) ; +#2432 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2433 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2434 = ORIENTED_EDGE ( 'NONE', *, *, #1856, .T. ) ; +#2435 = CIRCLE ( 'NONE', #2174, 1.000000000000000888 ) ; +#2436 = ORIENTED_EDGE ( 'NONE', *, *, #947, .T. ) ; +#2437 = FACE_OUTER_BOUND ( 'NONE', #2542, .T. ) ; +#2438 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2439 = VECTOR ( 'NONE', #780, 1000.000000000000000 ) ; +#2440 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#2441 = CIRCLE ( 'NONE', #363, 1.250000000000001110 ) ; +#2442 = DIRECTION ( 'NONE', ( 1.734723475976807587E-16, 1.000000000000000000, -0.000000000000000000 ) ) ; +#2443 = ORIENTED_EDGE ( 'NONE', *, *, #1406, .T. ) ; +#2444 = EDGE_CURVE ( 'NONE', #2605, #1840, #1083, .T. ) ; +#2445 = ADVANCED_FACE ( 'NONE', ( #45 ), #1303, .F. ) ; +#2446 = EDGE_CURVE ( 'NONE', #1497, #48, #69, .T. ) ; +#2447 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2448 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2449 = FACE_BOUND ( 'NONE', #2535, .T. ) ; +#2450 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2451 = VERTEX_POINT ( 'NONE', #374 ) ; +#2452 = EDGE_CURVE ( 'NONE', #2563, #48, #1490, .T. ) ; +#2453 = ORIENTED_EDGE ( 'NONE', *, *, #1362, .T. ) ; +#2454 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398938273, 10.00000000000000000 ) ) ; +#2455 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2456 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#2457 = ORIENTED_EDGE ( 'NONE', *, *, #1602, .T. ) ; +#2458 = CYLINDRICAL_SURFACE ( 'NONE', #1129, 1.000000000000000888 ) ; +#2459 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -157.5433960000000013, 10.00000000000000000 ) ) ; +#2460 = CIRCLE ( 'NONE', #641, 1.000000000000000888 ) ; +#2461 = EDGE_CURVE ( 'NONE', #2525, #2525, #1133, .T. ) ; +#2462 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2463 = DIRECTION ( 'NONE', ( -1.734723475976807587E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2464 = ORIENTED_EDGE ( 'NONE', *, *, #1365, .F. ) ; +#2465 = AXIS2_PLACEMENT_3D ( 'NONE', #2459, #2055, #1020 ) ; +#2466 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -137.0867920000000026, 2.000000000000000000 ) ) ; +#2467 = AXIS2_PLACEMENT_3D ( 'NONE', #863, #266, #2517 ) ; +#2468 = FACE_OUTER_BOUND ( 'NONE', #1436, .T. ) ; +#2469 = LINE ( 'NONE', #2456, #50 ) ; +#2470 = VERTEX_POINT ( 'NONE', #493 ) ; +#2471 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2472 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2473 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#2474 = CARTESIAN_POINT ( 'NONE', ( 93.80830016189960929, -8.943396160106189541, 10.00000000000000000 ) ) ; +#2475 = AXIS2_PLACEMENT_3D ( 'NONE', #367, #1157, #754 ) ; +#2476 = ORIENTED_EDGE ( 'NONE', *, *, #1686, .T. ) ; +#2477 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -130.5433960000000013, 0.000000000000000000 ) ) ; +#2478 = VECTOR ( 'NONE', #588, 1000.000000000000000 ) ; +#2479 = EDGE_CURVE ( 'NONE', #2158, #2296, #917, .T. ) ; +#2480 = EDGE_CURVE ( 'NONE', #236, #236, #276, .T. ) ; +#2481 = EDGE_CURVE ( 'NONE', #756, #642, #2524, .T. ) ; +#2482 = LINE ( 'NONE', #1015, #1440 ) ; +#2483 = FACE_OUTER_BOUND ( 'NONE', #2376, .T. ) ; +#2484 = VECTOR ( 'NONE', #2164, 1000.000000000000000 ) ; +#2485 = ORIENTED_EDGE ( 'NONE', *, *, #1914, .F. ) ; +#2486 = VECTOR ( 'NONE', #523, 1000.000000000000000 ) ; +#2487 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -157.5433960000000013, 0.000000000000000000 ) ) ; +#2488 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2489 = ORIENTED_EDGE ( 'NONE', *, *, #242, .F. ) ; +#2490 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2491 = ORIENTED_EDGE ( 'NONE', *, *, #2569, .F. ) ; +#2492 = VECTOR ( 'NONE', #1162, 1000.000000000000000 ) ; +#2493 = FACE_OUTER_BOUND ( 'NONE', #703, .T. ) ; +#2494 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2495 = EDGE_CURVE ( 'NONE', #1172, #1183, #317, .T. ) ; +#2496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2497 = ORIENTED_EDGE ( 'NONE', *, *, #1714, .T. ) ; +#2498 = EDGE_CURVE ( 'NONE', #1172, #2548, #138, .T. ) ; +#2499 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2500 = VERTEX_POINT ( 'NONE', #2575 ) ; +#2501 = FACE_OUTER_BOUND ( 'NONE', #1068, .T. ) ; +#2502 = EDGE_LOOP ( 'NONE', ( #439, #1473, #2097, #399, #313, #2153, #1955, #819, #157, #457, #2058, #2346, #318, #1282, #795, #2573 ) ) ; +#2503 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2504 = AXIS2_PLACEMENT_3D ( 'NONE', #300, #2571, #1725 ) ; +#2505 = PLANE ( 'NONE', #704 ) ; +#2506 = VECTOR ( 'NONE', #1307, 1000.000000000000000 ) ; +#2507 = ADVANCED_FACE ( 'NONE', ( #1745 ), #1124, .F. ) ; +#2508 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2509 = VERTEX_POINT ( 'NONE', #82 ) ; +#2510 = VERTEX_POINT ( 'NONE', #2565 ) ; +#2511 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#2512 = ORIENTED_EDGE ( 'NONE', *, *, #1909, .T. ) ; +#2513 = ORIENTED_EDGE ( 'NONE', *, *, #1768, .F. ) ; +#2514 = CIRCLE ( 'NONE', #2044, 126.6268659918020063 ) ; +#2515 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2516 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 0.000000000000000000 ) ) ; +#2517 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2518 = ORIENTED_EDGE ( 'NONE', *, *, #2326, .T. ) ; +#2519 = ORIENTED_EDGE ( 'NONE', *, *, #1538, .F. ) ; +#2520 = VECTOR ( 'NONE', #1017, 1000.000000000000000 ) ; +#2521 = FACE_OUTER_BOUND ( 'NONE', #721, .T. ) ; +#2522 = VECTOR ( 'NONE', #2037, 1000.000000000000000 ) ; +#2523 = EDGE_LOOP ( 'NONE', ( #988, #2132, #501, #2016 ) ) ; +#2524 = CIRCLE ( 'NONE', #270, 2.000000000000001776 ) ; +#2525 = VERTEX_POINT ( 'NONE', #2082 ) ; +#2526 = ADVANCED_FACE ( 'NONE', ( #1997 ), #707, .T. ) ; +#2527 = ORIENTED_EDGE ( 'NONE', *, *, #2678, .F. ) ; +#2528 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2529 = EDGE_CURVE ( 'NONE', #1037, #534, #1591, .T. ) ; +#2530 = FACE_OUTER_BOUND ( 'NONE', #2207, .T. ) ; +#2531 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2532 = ORIENTED_EDGE ( 'NONE', *, *, #1231, .T. ) ; +#2533 = EDGE_LOOP ( 'NONE', ( #686, #788, #1939, #1736 ) ) ; +#2534 = LINE ( 'NONE', #674, #424 ) ; +#2535 = EDGE_LOOP ( 'NONE', ( #1701 ) ) ; +#2536 = ORIENTED_EDGE ( 'NONE', *, *, #1656, .T. ) ; +#2537 = ADVANCED_FACE ( 'NONE', ( #342 ), #305, .T. ) ; +#2538 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 10.00000000000000000 ) ) ; +#2539 = VECTOR ( 'NONE', #1447, 1000.000000000000000 ) ; +#2540 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2541 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, 5.588871641576239675E-15, 2.000000000000000000 ) ) ; +#2542 = EDGE_LOOP ( 'NONE', ( #661, #1220, #2102, #1541 ) ) ; +#2543 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2544 = AXIS2_PLACEMENT_3D ( 'NONE', #2660, #2258, #397 ) ; +#2545 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2546 = VERTEX_POINT ( 'NONE', #1332 ) ; +#2547 = ORIENTED_EDGE ( 'NONE', *, *, #1822, .T. ) ; +#2548 = VERTEX_POINT ( 'NONE', #1982 ) ; +#2549 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2550 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2551 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#2552 = EDGE_CURVE ( 'NONE', #779, #642, #109, .T. ) ; +#2553 = EDGE_CURVE ( 'NONE', #1715, #1715, #876, .T. ) ; +#2554 = EDGE_CURVE ( 'NONE', #2546, #472, #97, .T. ) ; +#2555 = VECTOR ( 'NONE', #1494, 1000.000000000000000 ) ; +#2556 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2557 = ORIENTED_EDGE ( 'NONE', *, *, #515, .F. ) ; +#2558 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2559 = AXIS2_PLACEMENT_3D ( 'NONE', #790, #2187, #183 ) ; +#2560 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2561 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#2562 = ORIENTED_EDGE ( 'NONE', *, *, #1639, .F. ) ; +#2563 = VERTEX_POINT ( 'NONE', #2604 ) ; +#2564 = AXIS2_PLACEMENT_3D ( 'NONE', #1290, #263, #2515 ) ; +#2565 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -157.5433960000000013, 10.00000000000000000 ) ) ; +#2566 = ORIENTED_EDGE ( 'NONE', *, *, #2084, .F. ) ; +#2567 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2568 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2569 = EDGE_CURVE ( 'NONE', #283, #1890, #923, .T. ) ; +#2570 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2571 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2572 = VERTEX_POINT ( 'NONE', #934 ) ; +#2573 = ORIENTED_EDGE ( 'NONE', *, *, #1002, .F. ) ; +#2574 = ORIENTED_EDGE ( 'NONE', *, *, #271, .T. ) ; +#2575 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 17.45660499452100112, 0.000000000000000000 ) ) ; +#2576 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#2577 = ORIENTED_EDGE ( 'NONE', *, *, #160, .F. ) ; +#2578 = ORIENTED_EDGE ( 'NONE', *, *, #441, .T. ) ; +#2579 = FACE_OUTER_BOUND ( 'NONE', #2288, .T. ) ; +#2580 = PLANE ( 'NONE', #511 ) ; +#2581 = FACE_BOUND ( 'NONE', #259, .T. ) ; +#2582 = ADVANCED_FACE ( 'NONE', ( #330 ), #290, .F. ) ; +#2583 = VECTOR ( 'NONE', #1223, 1000.000000000000000 ) ; +#2584 = LINE ( 'NONE', #1977, #364 ) ; +#2585 = ORIENTED_EDGE ( 'NONE', *, *, #2360, .T. ) ; +#2586 = VERTEX_POINT ( 'NONE', #747 ) ; +#2587 = EDGE_CURVE ( 'NONE', #2185, #2158, #759, .T. ) ; +#2588 = EDGE_CURVE ( 'NONE', #2572, #1912, #517, .T. ) ; +#2589 = VECTOR ( 'NONE', #2595, 1000.000000000000000 ) ; +#2590 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2591 = FACE_OUTER_BOUND ( 'NONE', #1911, .T. ) ; +#2592 = VERTEX_POINT ( 'NONE', #2175 ) ; +#2593 = VERTEX_POINT ( 'NONE', #1138 ) ; +#2594 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398938273, 2.000000000000000000 ) ) ; +#2595 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2596 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2597 = AXIS2_PLACEMENT_3D ( 'NONE', #2384, #1600, #2596 ) ; +#2598 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#2599 = ORIENTED_EDGE ( 'NONE', *, *, #2607, .T. ) ; +#2600 = VECTOR ( 'NONE', #541, 1000.000000000000000 ) ; +#2601 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2602 = ADVANCED_FACE ( 'NONE', ( #1969 ), #1566, .T. ) ; +#2603 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2604 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#2605 = VERTEX_POINT ( 'NONE', #1179 ) ; +#2606 = VECTOR ( 'NONE', #274, 1000.000000000000000 ) ; +#2607 = EDGE_CURVE ( 'NONE', #83, #1924, #997, .T. ) ; +#2608 = ORIENTED_EDGE ( 'NONE', *, *, #1517, .T. ) ; +#2609 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2610 = VECTOR ( 'NONE', #2528, 1000.000000000000000 ) ; +#2611 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 0.000000000000000000 ) ) ; +#2612 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2613 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2614 = EDGE_LOOP ( 'NONE', ( #1475 ) ) ; +#2615 = LINE ( 'NONE', #757, #2478 ) ; +#2616 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2617 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000004842, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2618 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, 0.000000000000000000 ) ) ; +#2619 = ORIENTED_EDGE ( 'NONE', *, *, #946, .F. ) ; +#2620 = DIRECTION ( 'NONE', ( 9.361563035194100268E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2621 = VERTEX_POINT ( 'NONE', #777 ) ; +#2622 = LINE ( 'NONE', #1985, #1052 ) ; +#2623 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2624 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2625 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708864884, 0.000000000000000000 ) ) ; +#2626 = ORIENTED_EDGE ( 'NONE', *, *, #551, .T. ) ; +#2627 = AXIS2_PLACEMENT_3D ( 'NONE', #2056, #1608, #1403 ) ; +#2628 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2629 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999974908, 0.000000000000000000 ) ) ; +#2630 = FACE_BOUND ( 'NONE', #1300, .T. ) ; +#2631 = FACE_OUTER_BOUND ( 'NONE', #1711, .T. ) ; +#2632 = VERTEX_POINT ( 'NONE', #578 ) ; +#2633 = AXIS2_PLACEMENT_3D ( 'NONE', #2002, #128, #2424 ) ; +#2634 = EDGE_LOOP ( 'NONE', ( #2497, #2636, #1488, #301 ) ) ; +#2635 = VECTOR ( 'NONE', #2172, 1000.000000000000000 ) ; +#2636 = ORIENTED_EDGE ( 'NONE', *, *, #2083, .F. ) ; +#2637 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#2638 = LINE ( 'NONE', #2194, #2589 ) ; +#2639 = ORIENTED_EDGE ( 'NONE', *, *, #1418, .F. ) ; +#2640 = EDGE_CURVE ( 'NONE', #2422, #1186, #2015, .T. ) ; +#2641 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 3.000000000000000000 ) ) ; +#2642 = EDGE_CURVE ( 'NONE', #1713, #1496, #2029, .T. ) ; +#2643 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2644 = EDGE_LOOP ( 'NONE', ( #232, #2024, #1444, #677 ) ) ; +#2645 = EDGE_CURVE ( 'NONE', #2414, #1289, #1640, .T. ) ; +#2646 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2647 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2648 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999993027, 26.00000000000001066 ) ) ; +#2649 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2650 = CARTESIAN_POINT ( 'NONE', ( -41.89509218423612680, -155.9433975800035057, 2.000000000000000000 ) ) ; +#2651 = VERTEX_POINT ( 'NONE', #602 ) ; +#2652 = AXIS2_PLACEMENT_3D ( 'NONE', #1019, #2093, #39 ) ; +#2653 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2654 = VECTOR ( 'NONE', #1658, 1000.000000000000000 ) ; +#2655 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800626106, 18.96120903081405018, 0.000000000000000000 ) ) ; +#2656 = AXIS2_PLACEMENT_3D ( 'NONE', #238, #1894, #1163 ) ; +#2657 = SURFACE_STYLE_FILL_AREA ( #1039 ) ; +#2658 = VECTOR ( 'NONE', #1816, 1000.000000000000000 ) ; +#2659 = EDGE_CURVE ( 'NONE', #1679, #881, #1610, .T. ) ; +#2660 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, -155.9433975800035057, 2.000000000000000000 ) ) ; +#2661 = VERTEX_POINT ( 'NONE', #591 ) ; +#2662 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#2663 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2664 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2665 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2666 = ORIENTED_EDGE ( 'NONE', *, *, #190, .T. ) ; +#2667 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2668 = CYLINDRICAL_SURFACE ( 'NONE', #1217, 0.8983045201146760972 ) ; +#2669 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2670 = ORIENTED_EDGE ( 'NONE', *, *, #764, .T. ) ; +#2671 = EDGE_CURVE ( 'NONE', #1700, #1556, #831, .T. ) ; +#2672 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#2673 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2674 = AXIS2_PLACEMENT_3D ( 'NONE', #1628, #805, #372 ) ; +#2675 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#2676 = EDGE_CURVE ( 'NONE', #1940, #2191, #1666, .T. ) ; +#2677 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974599941, 0.000000000000000000 ) ) ; +#2678 = EDGE_CURVE ( 'NONE', #1433, #1663, #1225, .T. ) ; +#2679 = ORIENTED_EDGE ( 'NONE', *, *, #36, .F. ) ; +#2680 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2681 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -108.5433959999999303, 10.00000000000000000 ) ) ; +ENDSEC; +END-ISO-10303-21; diff --git a/3d/配件2.STL b/3d/配件2.STL new file mode 100644 index 0000000..806620c Binary files /dev/null and b/3d/配件2.STL differ diff --git a/3d/配件4.25.stp b/3d/配件4.25.stp new file mode 100644 index 0000000..be93d7f --- /dev/null +++ b/3d/配件4.25.stp @@ -0,0 +1,2809 @@ +ISO-10303-21; +HEADER; +/* Generated by software containing ST-Developer + * from STEP Tools, Inc. (www.steptools.com) + */ +/* OPTION: using custom schema-name function */ + +FILE_DESCRIPTION( +/* description */ (''), +/* implementation_level */ '2;1'); + +FILE_NAME( +/* name */ '\X2\914D4EF6\X0\4.25.stp', +/* time_stamp */ '2026-04-25T11:22:15+08:00', +/* author */ (''), +/* organization */ (''), +/* preprocessor_version */ 'ST-DEVELOPER v16', +/* originating_system */ 'SIEMENS PLM Software NX 10.0', +/* authorisation */ ''); + +FILE_SCHEMA (('CONFIG_CONTROL_DESIGN')); +ENDSEC; + +DATA; +#10=SHAPE_REPRESENTATION_RELATIONSHIP('None', +'relationship between \X2\914D4EF6\X0\2_step-None and \X2\914D4EF6\X0\2 +_step-None',#92,#11); +#11=ADVANCED_BREP_SHAPE_REPRESENTATION('\X2\914D4EF6\X0\2_step-None',(#93), +#2741); +#12=CC_DESIGN_APPROVAL(#24,(#82)); +#13=CC_DESIGN_APPROVAL(#25,(#84)); +#14=CC_DESIGN_APPROVAL(#26,(#31)); +#15=APPROVAL_PERSON_ORGANIZATION(#69,#24,#18); +#16=APPROVAL_PERSON_ORGANIZATION(#70,#25,#19); +#17=APPROVAL_PERSON_ORGANIZATION(#71,#26,#20); +#18=APPROVAL_ROLE('approver'); +#19=APPROVAL_ROLE('approver'); +#20=APPROVAL_ROLE('approver'); +#21=APPROVAL_DATE_TIME(#39,#24); +#22=APPROVAL_DATE_TIME(#40,#25); +#23=APPROVAL_DATE_TIME(#41,#26); +#24=APPROVAL(#27,' '); +#25=APPROVAL(#28,' '); +#26=APPROVAL(#29,' '); +#27=APPROVAL_STATUS('not_yet_approved'); +#28=APPROVAL_STATUS('not_yet_approved'); +#29=APPROVAL_STATUS('not_yet_approved'); +#30=CC_DESIGN_SECURITY_CLASSIFICATION(#31,(#84)); +#31=SECURITY_CLASSIFICATION(' ',' ',#32); +#32=SECURITY_CLASSIFICATION_LEVEL('confidential'); +#33=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#37,#35,(#82)); +#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#38,#36,(#31)); +#35=DATE_TIME_ROLE('creation_date'); +#36=DATE_TIME_ROLE('classification_date'); +#37=DATE_AND_TIME(#52,#42); +#38=DATE_AND_TIME(#53,#43); +#39=DATE_AND_TIME(#54,#44); +#40=DATE_AND_TIME(#55,#45); +#41=DATE_AND_TIME(#56,#46); +#42=LOCAL_TIME(0,0,0.,#47); +#43=LOCAL_TIME(0,0,0.,#48); +#44=LOCAL_TIME(0,0,0.,#49); +#45=LOCAL_TIME(0,0,0.,#50); +#46=LOCAL_TIME(0,0,0.,#51); +#47=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.BEHIND.); +#48=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.BEHIND.); +#49=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.BEHIND.); +#50=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.BEHIND.); +#51=COORDINATED_UNIVERSAL_TIME_OFFSET(0,0,.BEHIND.); +#52=CALENDAR_DATE(0,1,1); +#53=CALENDAR_DATE(0,1,1); +#54=CALENDAR_DATE(0,1,1); +#55=CALENDAR_DATE(0,1,1); +#56=CALENDAR_DATE(0,1,1); +#57=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#65,#61,(#82,#84)); +#58=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#66,#62,(#86)); +#59=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#67,#63,(#84)); +#60=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#68,#64,(#31)); +#61=PERSON_AND_ORGANIZATION_ROLE('creator'); +#62=PERSON_AND_ORGANIZATION_ROLE('design_owner'); +#63=PERSON_AND_ORGANIZATION_ROLE('design_supplier'); +#64=PERSON_AND_ORGANIZATION_ROLE('classification_officer'); +#65=PERSON_AND_ORGANIZATION(#79,#72); +#66=PERSON_AND_ORGANIZATION(#79,#73); +#67=PERSON_AND_ORGANIZATION(#79,#74); +#68=PERSON_AND_ORGANIZATION(#79,#75); +#69=PERSON_AND_ORGANIZATION(#79,#76); +#70=PERSON_AND_ORGANIZATION(#79,#77); +#71=PERSON_AND_ORGANIZATION(#79,#78); +#72=ORGANIZATION(' ',' ',' '); +#73=ORGANIZATION(' ',' ',' '); +#74=ORGANIZATION(' ',' ',' '); +#75=ORGANIZATION(' ',' ',' '); +#76=ORGANIZATION(' ',' ',' '); +#77=ORGANIZATION(' ',' ',' '); +#78=ORGANIZATION(' ',' ',' '); +#79=PERSON(' ',' ',' ',(' '),$,$); +#80=SHAPE_DEFINITION_REPRESENTATION(#81,#92); +#81=PRODUCT_DEFINITION_SHAPE('','',#82); +#82=PRODUCT_DEFINITION(' ','',#84,#83); +#83=DESIGN_CONTEXT('',#91,'design'); +#84=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE(' ',' ',#86, + .NOT_KNOWN.); +#85=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#86)); +#86=PRODUCT('\X2\914D4EF6\X0\2_step','\X2\914D4EF6\X0\2_step',' ',(#89)); +#87=PRODUCT_CATEGORY('part',' '); +#88=PRODUCT_CATEGORY(' ',''); +#89=MECHANICAL_CONTEXT(' ',#91,'mechanical'); +#90=APPLICATION_PROTOCOL_DEFINITION('international standard', +'config_control_design',2010,#91); +#91=APPLICATION_CONTEXT( +'configuration controlled 3D designs of mechanical parts and assemblie +s'); +#92=SHAPE_REPRESENTATION('\X2\914D4EF6\X0\2_step-None',(#1677),#2741); +#93=MANIFOLD_SOLID_BREP('',#94); +#94=CLOSED_SHELL('',(#527,#528,#529,#530,#531,#532,#533,#534,#535,#536, +#537,#538,#539,#540,#541,#542,#543,#544,#545,#546,#547,#548,#549,#550,#551, +#552,#553,#554,#555,#556,#557,#558,#559,#560,#561,#562,#563,#564,#565,#566, +#567,#568,#569,#570,#571,#572,#573,#574,#575,#576,#577,#578,#579,#580,#581, +#582,#583,#584,#585,#586,#587,#588,#589,#590,#591,#592,#593,#594,#595,#596, +#597,#598,#599,#600,#601,#602,#603,#604,#605,#606,#607,#608,#609,#610,#611, +#612,#613)); +#95=PLANE('',#1694); +#96=PLANE('',#1695); +#97=PLANE('',#1696); +#98=PLANE('',#1697); +#99=PLANE('',#1698); +#100=PLANE('',#1699); +#101=PLANE('',#1710); +#102=PLANE('',#1712); +#103=PLANE('',#1717); +#104=PLANE('',#1721); +#105=PLANE('',#1722); +#106=PLANE('',#1723); +#107=PLANE('',#1724); +#108=PLANE('',#1735); +#109=PLANE('',#1737); +#110=PLANE('',#1742); +#111=PLANE('',#1746); +#112=PLANE('',#1747); +#113=PLANE('',#1748); +#114=PLANE('',#1749); +#115=PLANE('',#1750); +#116=PLANE('',#1751); +#117=PLANE('',#1762); +#118=PLANE('',#1764); +#119=PLANE('',#1769); +#120=PLANE('',#1773); +#121=PLANE('',#1774); +#122=PLANE('',#1775); +#123=PLANE('',#1776); +#124=PLANE('',#1787); +#125=PLANE('',#1789); +#126=PLANE('',#1794); +#127=PLANE('',#1796); +#128=PLANE('',#1802); +#129=PLANE('',#1804); +#130=PLANE('',#1805); +#131=PLANE('',#1806); +#132=PLANE('',#1808); +#133=PLANE('',#1809); +#134=PLANE('',#1811); +#135=PLANE('',#1812); +#136=PLANE('',#1813); +#137=PLANE('',#1815); +#138=PLANE('',#1816); +#139=PLANE('',#1817); +#140=PLANE('',#1819); +#141=PLANE('',#1820); +#142=PLANE('',#1821); +#143=PLANE('',#1822); +#144=PLANE('',#1823); +#145=PLANE('',#1824); +#146=PLANE('',#1825); +#147=PLANE('',#1826); +#148=PLANE('',#1827); +#149=PLANE('',#1828); +#150=FACE_OUTER_BOUND('',#701,.T.); +#151=FACE_OUTER_BOUND('',#702,.T.); +#152=FACE_OUTER_BOUND('',#703,.T.); +#153=FACE_OUTER_BOUND('',#704,.T.); +#154=FACE_OUTER_BOUND('',#705,.T.); +#155=FACE_OUTER_BOUND('',#706,.T.); +#156=FACE_OUTER_BOUND('',#707,.T.); +#157=FACE_OUTER_BOUND('',#708,.T.); +#158=FACE_OUTER_BOUND('',#709,.T.); +#159=FACE_OUTER_BOUND('',#710,.T.); +#160=FACE_OUTER_BOUND('',#711,.T.); +#161=FACE_OUTER_BOUND('',#716,.T.); +#162=FACE_OUTER_BOUND('',#717,.T.); +#163=FACE_OUTER_BOUND('',#718,.T.); +#164=FACE_OUTER_BOUND('',#719,.T.); +#165=FACE_OUTER_BOUND('',#720,.T.); +#166=FACE_OUTER_BOUND('',#721,.T.); +#167=FACE_OUTER_BOUND('',#722,.T.); +#168=FACE_OUTER_BOUND('',#723,.T.); +#169=FACE_OUTER_BOUND('',#724,.T.); +#170=FACE_OUTER_BOUND('',#725,.T.); +#171=FACE_OUTER_BOUND('',#726,.T.); +#172=FACE_OUTER_BOUND('',#731,.T.); +#173=FACE_OUTER_BOUND('',#732,.T.); +#174=FACE_OUTER_BOUND('',#733,.T.); +#175=FACE_OUTER_BOUND('',#734,.T.); +#176=FACE_OUTER_BOUND('',#735,.T.); +#177=FACE_OUTER_BOUND('',#736,.T.); +#178=FACE_OUTER_BOUND('',#737,.T.); +#179=FACE_OUTER_BOUND('',#738,.T.); +#180=FACE_OUTER_BOUND('',#739,.T.); +#181=FACE_OUTER_BOUND('',#740,.T.); +#182=FACE_OUTER_BOUND('',#741,.T.); +#183=FACE_OUTER_BOUND('',#742,.T.); +#184=FACE_OUTER_BOUND('',#743,.T.); +#185=FACE_OUTER_BOUND('',#748,.T.); +#186=FACE_OUTER_BOUND('',#749,.T.); +#187=FACE_OUTER_BOUND('',#750,.T.); +#188=FACE_OUTER_BOUND('',#751,.T.); +#189=FACE_OUTER_BOUND('',#752,.T.); +#190=FACE_OUTER_BOUND('',#753,.T.); +#191=FACE_OUTER_BOUND('',#754,.T.); +#192=FACE_OUTER_BOUND('',#755,.T.); +#193=FACE_OUTER_BOUND('',#756,.T.); +#194=FACE_OUTER_BOUND('',#757,.T.); +#195=FACE_OUTER_BOUND('',#758,.T.); +#196=FACE_OUTER_BOUND('',#763,.T.); +#197=FACE_OUTER_BOUND('',#787,.T.); +#198=FACE_OUTER_BOUND('',#788,.T.); +#199=FACE_OUTER_BOUND('',#789,.T.); +#200=FACE_OUTER_BOUND('',#790,.T.); +#201=FACE_OUTER_BOUND('',#791,.T.); +#202=FACE_OUTER_BOUND('',#792,.T.); +#203=FACE_OUTER_BOUND('',#793,.T.); +#204=FACE_OUTER_BOUND('',#794,.T.); +#205=FACE_OUTER_BOUND('',#795,.T.); +#206=FACE_OUTER_BOUND('',#796,.T.); +#207=FACE_OUTER_BOUND('',#797,.T.); +#208=FACE_OUTER_BOUND('',#798,.T.); +#209=FACE_OUTER_BOUND('',#799,.T.); +#210=FACE_OUTER_BOUND('',#800,.T.); +#211=FACE_OUTER_BOUND('',#801,.T.); +#212=FACE_OUTER_BOUND('',#802,.T.); +#213=FACE_OUTER_BOUND('',#803,.T.); +#214=FACE_OUTER_BOUND('',#804,.T.); +#215=FACE_OUTER_BOUND('',#805,.T.); +#216=FACE_OUTER_BOUND('',#806,.T.); +#217=FACE_OUTER_BOUND('',#807,.T.); +#218=FACE_OUTER_BOUND('',#808,.T.); +#219=FACE_OUTER_BOUND('',#809,.T.); +#220=FACE_OUTER_BOUND('',#810,.T.); +#221=FACE_OUTER_BOUND('',#811,.T.); +#222=FACE_OUTER_BOUND('',#812,.T.); +#223=LINE('',#2309,#375); +#224=LINE('',#2311,#376); +#225=LINE('',#2313,#377); +#226=LINE('',#2317,#378); +#227=LINE('',#2319,#379); +#228=LINE('',#2321,#380); +#229=LINE('',#2325,#381); +#230=LINE('',#2327,#382); +#231=LINE('',#2329,#383); +#232=LINE('',#2333,#384); +#233=LINE('',#2335,#385); +#234=LINE('',#2337,#386); +#235=LINE('',#2339,#387); +#236=LINE('',#2342,#388); +#237=LINE('',#2344,#389); +#238=LINE('',#2346,#390); +#239=LINE('',#2348,#391); +#240=LINE('',#2351,#392); +#241=LINE('',#2353,#393); +#242=LINE('',#2355,#394); +#243=LINE('',#2357,#395); +#244=LINE('',#2359,#396); +#245=LINE('',#2361,#397); +#246=LINE('',#2363,#398); +#247=LINE('',#2365,#399); +#248=LINE('',#2367,#400); +#249=LINE('',#2369,#401); +#250=LINE('',#2372,#402); +#251=LINE('',#2374,#403); +#252=LINE('',#2376,#404); +#253=LINE('',#2380,#405); +#254=LINE('',#2388,#406); +#255=LINE('',#2392,#407); +#256=LINE('',#2408,#408); +#257=LINE('',#2409,#409); +#258=LINE('',#2414,#410); +#259=LINE('',#2417,#411); +#260=LINE('',#2419,#412); +#261=LINE('',#2421,#413); +#262=LINE('',#2423,#414); +#263=LINE('',#2425,#415); +#264=LINE('',#2427,#416); +#265=LINE('',#2429,#417); +#266=LINE('',#2431,#418); +#267=LINE('',#2433,#419); +#268=LINE('',#2435,#420); +#269=LINE('',#2438,#421); +#270=LINE('',#2440,#422); +#271=LINE('',#2442,#423); +#272=LINE('',#2448,#424); +#273=LINE('',#2452,#425); +#274=LINE('',#2460,#426); +#275=LINE('',#2474,#427); +#276=LINE('',#2475,#428); +#277=LINE('',#2479,#429); +#278=LINE('',#2483,#430); +#279=LINE('',#2484,#431); +#280=LINE('',#2486,#432); +#281=LINE('',#2488,#433); +#282=LINE('',#2490,#434); +#283=LINE('',#2492,#435); +#284=LINE('',#2495,#436); +#285=LINE('',#2497,#437); +#286=LINE('',#2499,#438); +#287=LINE('',#2501,#439); +#288=LINE('',#2503,#440); +#289=LINE('',#2505,#441); +#290=LINE('',#2507,#442); +#291=LINE('',#2509,#443); +#292=LINE('',#2511,#444); +#293=LINE('',#2513,#445); +#294=LINE('',#2516,#446); +#295=LINE('',#2518,#447); +#296=LINE('',#2520,#448); +#297=LINE('',#2524,#449); +#298=LINE('',#2532,#450); +#299=LINE('',#2536,#451); +#300=LINE('',#2552,#452); +#301=LINE('',#2553,#453); +#302=LINE('',#2558,#454); +#303=LINE('',#2561,#455); +#304=LINE('',#2563,#456); +#305=LINE('',#2565,#457); +#306=LINE('',#2567,#458); +#307=LINE('',#2569,#459); +#308=LINE('',#2571,#460); +#309=LINE('',#2573,#461); +#310=LINE('',#2575,#462); +#311=LINE('',#2577,#463); +#312=LINE('',#2579,#464); +#313=LINE('',#2582,#465); +#314=LINE('',#2584,#466); +#315=LINE('',#2586,#467); +#316=LINE('',#2592,#468); +#317=LINE('',#2596,#469); +#318=LINE('',#2604,#470); +#319=LINE('',#2618,#471); +#320=LINE('',#2619,#472); +#321=LINE('',#2621,#473); +#322=LINE('',#2624,#474); +#323=LINE('',#2626,#475); +#324=LINE('',#2628,#476); +#325=LINE('',#2629,#477); +#326=LINE('',#2632,#478); +#327=LINE('',#2634,#479); +#328=LINE('',#2636,#480); +#329=LINE('',#2638,#481); +#330=LINE('',#2640,#482); +#331=LINE('',#2643,#483); +#332=LINE('',#2645,#484); +#333=LINE('',#2647,#485); +#334=LINE('',#2648,#486); +#335=LINE('',#2651,#487); +#336=LINE('',#2653,#488); +#337=LINE('',#2655,#489); +#338=LINE('',#2656,#490); +#339=LINE('',#2659,#491); +#340=LINE('',#2663,#492); +#341=LINE('',#2665,#493); +#342=LINE('',#2667,#494); +#343=LINE('',#2671,#495); +#344=LINE('',#2673,#496); +#345=LINE('',#2675,#497); +#346=LINE('',#2679,#498); +#347=LINE('',#2681,#499); +#348=LINE('',#2683,#500); +#349=LINE('',#2687,#501); +#350=LINE('',#2689,#502); +#351=LINE('',#2693,#503); +#352=LINE('',#2694,#504); +#353=LINE('',#2696,#505); +#354=LINE('',#2697,#506); +#355=LINE('',#2700,#507); +#356=LINE('',#2701,#508); +#357=LINE('',#2703,#509); +#358=LINE('',#2704,#510); +#359=LINE('',#2708,#511); +#360=LINE('',#2709,#512); +#361=LINE('',#2711,#513); +#362=LINE('',#2712,#514); +#363=LINE('',#2716,#515); +#364=LINE('',#2717,#516); +#365=LINE('',#2719,#517); +#366=LINE('',#2720,#518); +#367=LINE('',#2725,#519); +#368=LINE('',#2726,#520); +#369=LINE('',#2728,#521); +#370=LINE('',#2730,#522); +#371=LINE('',#2733,#523); +#372=LINE('',#2734,#524); +#373=LINE('',#2736,#525); +#374=LINE('',#2738,#526); +#375=VECTOR('',#1857,1.); +#376=VECTOR('',#1858,1.); +#377=VECTOR('',#1859,1.); +#378=VECTOR('',#1862,1.); +#379=VECTOR('',#1863,1.); +#380=VECTOR('',#1864,1.); +#381=VECTOR('',#1867,1.); +#382=VECTOR('',#1868,1.); +#383=VECTOR('',#1869,1.); +#384=VECTOR('',#1872,1.); +#385=VECTOR('',#1873,1.); +#386=VECTOR('',#1874,1.); +#387=VECTOR('',#1877,1.); +#388=VECTOR('',#1878,1.); +#389=VECTOR('',#1879,1.); +#390=VECTOR('',#1880,1.); +#391=VECTOR('',#1883,1.); +#392=VECTOR('',#1884,1.); +#393=VECTOR('',#1885,1.); +#394=VECTOR('',#1886,1.); +#395=VECTOR('',#1889,1.); +#396=VECTOR('',#1890,1.); +#397=VECTOR('',#1891,1.); +#398=VECTOR('',#1894,1.); +#399=VECTOR('',#1895,1.); +#400=VECTOR('',#1896,1.); +#401=VECTOR('',#1899,1.); +#402=VECTOR('',#1900,1.); +#403=VECTOR('',#1901,1.); +#404=VECTOR('',#1902,1.); +#405=VECTOR('',#1907,1.); +#406=VECTOR('',#1916,1.); +#407=VECTOR('',#1921,1.); +#408=VECTOR('',#1942,1.); +#409=VECTOR('',#1943,1.); +#410=VECTOR('',#1952,1.); +#411=VECTOR('',#1953,1.); +#412=VECTOR('',#1954,1.); +#413=VECTOR('',#1955,1.); +#414=VECTOR('',#1958,1.); +#415=VECTOR('',#1959,1.); +#416=VECTOR('',#1960,1.); +#417=VECTOR('',#1963,1.); +#418=VECTOR('',#1964,1.); +#419=VECTOR('',#1965,1.); +#420=VECTOR('',#1968,1.); +#421=VECTOR('',#1969,1.); +#422=VECTOR('',#1970,1.); +#423=VECTOR('',#1971,1.); +#424=VECTOR('',#1978,1.); +#425=VECTOR('',#1983,1.); +#426=VECTOR('',#1992,1.); +#427=VECTOR('',#2011,1.); +#428=VECTOR('',#2012,1.); +#429=VECTOR('',#2017,1.); +#430=VECTOR('',#2022,1.); +#431=VECTOR('',#2023,1.); +#432=VECTOR('',#2026,1.); +#433=VECTOR('',#2027,1.); +#434=VECTOR('',#2028,1.); +#435=VECTOR('',#2031,1.); +#436=VECTOR('',#2032,1.); +#437=VECTOR('',#2033,1.); +#438=VECTOR('',#2034,1.); +#439=VECTOR('',#2037,1.); +#440=VECTOR('',#2038,1.); +#441=VECTOR('',#2039,1.); +#442=VECTOR('',#2042,1.); +#443=VECTOR('',#2043,1.); +#444=VECTOR('',#2044,1.); +#445=VECTOR('',#2047,1.); +#446=VECTOR('',#2048,1.); +#447=VECTOR('',#2049,1.); +#448=VECTOR('',#2050,1.); +#449=VECTOR('',#2055,1.); +#450=VECTOR('',#2064,1.); +#451=VECTOR('',#2069,1.); +#452=VECTOR('',#2090,1.); +#453=VECTOR('',#2091,1.); +#454=VECTOR('',#2100,1.); +#455=VECTOR('',#2101,1.); +#456=VECTOR('',#2102,1.); +#457=VECTOR('',#2103,1.); +#458=VECTOR('',#2106,1.); +#459=VECTOR('',#2107,1.); +#460=VECTOR('',#2108,1.); +#461=VECTOR('',#2111,1.); +#462=VECTOR('',#2112,1.); +#463=VECTOR('',#2113,1.); +#464=VECTOR('',#2116,1.); +#465=VECTOR('',#2117,1.); +#466=VECTOR('',#2118,1.); +#467=VECTOR('',#2119,1.); +#468=VECTOR('',#2126,1.); +#469=VECTOR('',#2131,1.); +#470=VECTOR('',#2140,1.); +#471=VECTOR('',#2159,1.); +#472=VECTOR('',#2160,1.); +#473=VECTOR('',#2163,1.); +#474=VECTOR('',#2164,1.); +#475=VECTOR('',#2165,1.); +#476=VECTOR('',#2166,1.); +#477=VECTOR('',#2167,1.); +#478=VECTOR('',#2168,1.); +#479=VECTOR('',#2169,1.); +#480=VECTOR('',#2170,1.); +#481=VECTOR('',#2173,1.); +#482=VECTOR('',#2176,1.); +#483=VECTOR('',#2177,1.); +#484=VECTOR('',#2178,1.); +#485=VECTOR('',#2179,1.); +#486=VECTOR('',#2180,1.); +#487=VECTOR('',#2181,1.); +#488=VECTOR('',#2182,1.); +#489=VECTOR('',#2183,1.); +#490=VECTOR('',#2184,1.); +#491=VECTOR('',#2185,1.); +#492=VECTOR('',#2188,1.); +#493=VECTOR('',#2189,1.); +#494=VECTOR('',#2190,1.); +#495=VECTOR('',#2193,1.); +#496=VECTOR('',#2194,1.); +#497=VECTOR('',#2195,1.); +#498=VECTOR('',#2198,1.); +#499=VECTOR('',#2199,1.); +#500=VECTOR('',#2200,1.); +#501=VECTOR('',#2203,1.); +#502=VECTOR('',#2206,1.); +#503=VECTOR('',#2213,1.); +#504=VECTOR('',#2214,1.); +#505=VECTOR('',#2217,1.); +#506=VECTOR('',#2218,1.); +#507=VECTOR('',#2223,1.); +#508=VECTOR('',#2224,1.); +#509=VECTOR('',#2227,1.); +#510=VECTOR('',#2228,1.); +#511=VECTOR('',#2235,1.); +#512=VECTOR('',#2236,1.); +#513=VECTOR('',#2239,1.); +#514=VECTOR('',#2240,1.); +#515=VECTOR('',#2247,1.); +#516=VECTOR('',#2248,1.); +#517=VECTOR('',#2251,1.); +#518=VECTOR('',#2252,1.); +#519=VECTOR('',#2261,1.); +#520=VECTOR('',#2262,1.); +#521=VECTOR('',#2265,1.); +#522=VECTOR('',#2268,1.); +#523=VECTOR('',#2273,1.); +#524=VECTOR('',#2274,1.); +#525=VECTOR('',#2277,1.); +#526=VECTOR('',#2280,1.); +#527=ADVANCED_FACE('',(#646,#647),#614,.F.); +#528=ADVANCED_FACE('',(#648,#649),#615,.F.); +#529=ADVANCED_FACE('',(#650,#651),#616,.F.); +#530=ADVANCED_FACE('',(#652,#653),#617,.F.); +#531=ADVANCED_FACE('',(#150),#95,.F.); +#532=ADVANCED_FACE('',(#151),#96,.T.); +#533=ADVANCED_FACE('',(#152),#97,.T.); +#534=ADVANCED_FACE('',(#153),#98,.T.); +#535=ADVANCED_FACE('',(#154),#99,.T.); +#536=ADVANCED_FACE('',(#155),#100,.F.); +#537=ADVANCED_FACE('',(#156),#618,.T.); +#538=ADVANCED_FACE('',(#157),#619,.T.); +#539=ADVANCED_FACE('',(#158),#620,.T.); +#540=ADVANCED_FACE('',(#159),#101,.T.); +#541=ADVANCED_FACE('',(#160),#102,.T.); +#542=ADVANCED_FACE('',(#654,#655),#621,.F.); +#543=ADVANCED_FACE('',(#656,#657),#622,.F.); +#544=ADVANCED_FACE('',(#161),#103,.F.); +#545=ADVANCED_FACE('',(#162),#623,.F.); +#546=ADVANCED_FACE('',(#163),#104,.T.); +#547=ADVANCED_FACE('',(#164),#105,.T.); +#548=ADVANCED_FACE('',(#165),#106,.T.); +#549=ADVANCED_FACE('',(#166),#107,.F.); +#550=ADVANCED_FACE('',(#167),#624,.T.); +#551=ADVANCED_FACE('',(#168),#625,.T.); +#552=ADVANCED_FACE('',(#169),#626,.T.); +#553=ADVANCED_FACE('',(#170),#108,.T.); +#554=ADVANCED_FACE('',(#171),#109,.T.); +#555=ADVANCED_FACE('',(#658,#659),#627,.F.); +#556=ADVANCED_FACE('',(#660,#661),#628,.F.); +#557=ADVANCED_FACE('',(#172),#110,.F.); +#558=ADVANCED_FACE('',(#173),#629,.F.); +#559=ADVANCED_FACE('',(#174),#111,.F.); +#560=ADVANCED_FACE('',(#175),#112,.T.); +#561=ADVANCED_FACE('',(#176),#113,.T.); +#562=ADVANCED_FACE('',(#177),#114,.T.); +#563=ADVANCED_FACE('',(#178),#115,.T.); +#564=ADVANCED_FACE('',(#179),#116,.F.); +#565=ADVANCED_FACE('',(#180),#630,.T.); +#566=ADVANCED_FACE('',(#181),#631,.T.); +#567=ADVANCED_FACE('',(#182),#632,.T.); +#568=ADVANCED_FACE('',(#183),#117,.T.); +#569=ADVANCED_FACE('',(#184),#118,.T.); +#570=ADVANCED_FACE('',(#662,#663),#633,.F.); +#571=ADVANCED_FACE('',(#664,#665),#634,.F.); +#572=ADVANCED_FACE('',(#185),#119,.F.); +#573=ADVANCED_FACE('',(#186),#635,.F.); +#574=ADVANCED_FACE('',(#187),#120,.T.); +#575=ADVANCED_FACE('',(#188),#121,.T.); +#576=ADVANCED_FACE('',(#189),#122,.T.); +#577=ADVANCED_FACE('',(#190),#123,.F.); +#578=ADVANCED_FACE('',(#191),#636,.T.); +#579=ADVANCED_FACE('',(#192),#637,.T.); +#580=ADVANCED_FACE('',(#193),#638,.T.); +#581=ADVANCED_FACE('',(#194),#124,.T.); +#582=ADVANCED_FACE('',(#195),#125,.T.); +#583=ADVANCED_FACE('',(#666,#667),#639,.F.); +#584=ADVANCED_FACE('',(#668,#669),#640,.F.); +#585=ADVANCED_FACE('',(#196),#126,.F.); +#586=ADVANCED_FACE('',(#670,#671,#672,#673,#674,#675,#676,#677,#678,#679, +#680,#681,#682,#683,#684),#127,.T.); +#587=ADVANCED_FACE('',(#685,#686,#687,#688,#689,#690,#691,#692),#128,.F.); +#588=ADVANCED_FACE('',(#197),#641,.F.); +#589=ADVANCED_FACE('',(#198),#129,.F.); +#590=ADVANCED_FACE('',(#199),#130,.T.); +#591=ADVANCED_FACE('',(#200),#131,.T.); +#592=ADVANCED_FACE('',(#201),#642,.T.); +#593=ADVANCED_FACE('',(#202),#132,.T.); +#594=ADVANCED_FACE('',(#203),#133,.T.); +#595=ADVANCED_FACE('',(#204),#643,.T.); +#596=ADVANCED_FACE('',(#205),#134,.T.); +#597=ADVANCED_FACE('',(#206),#135,.T.); +#598=ADVANCED_FACE('',(#207),#136,.T.); +#599=ADVANCED_FACE('',(#208),#644,.T.); +#600=ADVANCED_FACE('',(#209),#137,.T.); +#601=ADVANCED_FACE('',(#210),#138,.T.); +#602=ADVANCED_FACE('',(#211),#139,.T.); +#603=ADVANCED_FACE('',(#212),#645,.T.); +#604=ADVANCED_FACE('',(#213),#140,.T.); +#605=ADVANCED_FACE('',(#214),#141,.T.); +#606=ADVANCED_FACE('',(#215),#142,.F.); +#607=ADVANCED_FACE('',(#216),#143,.F.); +#608=ADVANCED_FACE('',(#217),#144,.F.); +#609=ADVANCED_FACE('',(#218),#145,.F.); +#610=ADVANCED_FACE('',(#219),#146,.F.); +#611=ADVANCED_FACE('',(#220),#147,.F.); +#612=ADVANCED_FACE('',(#221),#148,.F.); +#613=ADVANCED_FACE('',(#222),#149,.F.); +#614=CYLINDRICAL_SURFACE('',#1680,1.25); +#615=CYLINDRICAL_SURFACE('',#1683,1.25); +#616=CYLINDRICAL_SURFACE('',#1686,1.25); +#617=CYLINDRICAL_SURFACE('',#1689,1.25); +#618=CYLINDRICAL_SURFACE('',#1702,1.); +#619=CYLINDRICAL_SURFACE('',#1705,1.); +#620=CYLINDRICAL_SURFACE('',#1708,1.); +#621=CYLINDRICAL_SURFACE('',#1714,0.94830434700898); +#622=CYLINDRICAL_SURFACE('',#1716,0.948304520114676); +#623=CYLINDRICAL_SURFACE('',#1720,126.626865991802); +#624=CYLINDRICAL_SURFACE('',#1727,1.); +#625=CYLINDRICAL_SURFACE('',#1730,1.); +#626=CYLINDRICAL_SURFACE('',#1733,1.); +#627=CYLINDRICAL_SURFACE('',#1739,0.94830434700898); +#628=CYLINDRICAL_SURFACE('',#1741,0.948304520114676); +#629=CYLINDRICAL_SURFACE('',#1745,126.626865991802); +#630=CYLINDRICAL_SURFACE('',#1754,1.); +#631=CYLINDRICAL_SURFACE('',#1757,1.); +#632=CYLINDRICAL_SURFACE('',#1760,1.); +#633=CYLINDRICAL_SURFACE('',#1766,0.94830434700898); +#634=CYLINDRICAL_SURFACE('',#1768,0.948304520114669); +#635=CYLINDRICAL_SURFACE('',#1772,126.626865991802); +#636=CYLINDRICAL_SURFACE('',#1779,1.); +#637=CYLINDRICAL_SURFACE('',#1782,1.); +#638=CYLINDRICAL_SURFACE('',#1785,1.); +#639=CYLINDRICAL_SURFACE('',#1791,0.94830434700898); +#640=CYLINDRICAL_SURFACE('',#1793,0.948304520114669); +#641=CYLINDRICAL_SURFACE('',#1803,126.626865991802); +#642=CYLINDRICAL_SURFACE('',#1807,2.); +#643=CYLINDRICAL_SURFACE('',#1810,2.); +#644=CYLINDRICAL_SURFACE('',#1814,2.); +#645=CYLINDRICAL_SURFACE('',#1818,2.); +#646=FACE_BOUND('',#693,.T.); +#647=FACE_BOUND('',#694,.T.); +#648=FACE_BOUND('',#695,.T.); +#649=FACE_BOUND('',#696,.T.); +#650=FACE_BOUND('',#697,.T.); +#651=FACE_BOUND('',#698,.T.); +#652=FACE_BOUND('',#699,.T.); +#653=FACE_BOUND('',#700,.T.); +#654=FACE_BOUND('',#712,.T.); +#655=FACE_BOUND('',#713,.T.); +#656=FACE_BOUND('',#714,.T.); +#657=FACE_BOUND('',#715,.T.); +#658=FACE_BOUND('',#727,.T.); +#659=FACE_BOUND('',#728,.T.); +#660=FACE_BOUND('',#729,.T.); +#661=FACE_BOUND('',#730,.T.); +#662=FACE_BOUND('',#744,.T.); +#663=FACE_BOUND('',#745,.T.); +#664=FACE_BOUND('',#746,.T.); +#665=FACE_BOUND('',#747,.T.); +#666=FACE_BOUND('',#759,.T.); +#667=FACE_BOUND('',#760,.T.); +#668=FACE_BOUND('',#761,.T.); +#669=FACE_BOUND('',#762,.T.); +#670=FACE_BOUND('',#764,.T.); +#671=FACE_BOUND('',#765,.T.); +#672=FACE_BOUND('',#766,.T.); +#673=FACE_BOUND('',#767,.T.); +#674=FACE_BOUND('',#768,.T.); +#675=FACE_BOUND('',#769,.T.); +#676=FACE_BOUND('',#770,.T.); +#677=FACE_BOUND('',#771,.T.); +#678=FACE_BOUND('',#772,.T.); +#679=FACE_BOUND('',#773,.T.); +#680=FACE_BOUND('',#774,.T.); +#681=FACE_BOUND('',#775,.T.); +#682=FACE_BOUND('',#776,.T.); +#683=FACE_BOUND('',#777,.T.); +#684=FACE_BOUND('',#778,.T.); +#685=FACE_BOUND('',#779,.T.); +#686=FACE_BOUND('',#780,.T.); +#687=FACE_BOUND('',#781,.T.); +#688=FACE_BOUND('',#782,.T.); +#689=FACE_BOUND('',#783,.T.); +#690=FACE_BOUND('',#784,.T.); +#691=FACE_BOUND('',#785,.T.); +#692=FACE_BOUND('',#786,.T.); +#693=EDGE_LOOP('',(#813)); +#694=EDGE_LOOP('',(#814)); +#695=EDGE_LOOP('',(#815)); +#696=EDGE_LOOP('',(#816)); +#697=EDGE_LOOP('',(#817)); +#698=EDGE_LOOP('',(#818)); +#699=EDGE_LOOP('',(#819)); +#700=EDGE_LOOP('',(#820)); +#701=EDGE_LOOP('',(#821,#822,#823,#824,#825,#826,#827,#828,#829,#830,#831, +#832,#833,#834,#835,#836)); +#702=EDGE_LOOP('',(#837,#838,#839,#840)); +#703=EDGE_LOOP('',(#841,#842,#843,#844)); +#704=EDGE_LOOP('',(#845,#846,#847,#848)); +#705=EDGE_LOOP('',(#849,#850,#851,#852)); +#706=EDGE_LOOP('',(#853,#854,#855,#856)); +#707=EDGE_LOOP('',(#857,#858,#859,#860)); +#708=EDGE_LOOP('',(#861,#862,#863,#864)); +#709=EDGE_LOOP('',(#865,#866,#867,#868)); +#710=EDGE_LOOP('',(#869)); +#711=EDGE_LOOP('',(#870)); +#712=EDGE_LOOP('',(#871)); +#713=EDGE_LOOP('',(#872)); +#714=EDGE_LOOP('',(#873)); +#715=EDGE_LOOP('',(#874)); +#716=EDGE_LOOP('',(#875,#876,#877,#878)); +#717=EDGE_LOOP('',(#879,#880,#881,#882)); +#718=EDGE_LOOP('',(#883,#884,#885,#886)); +#719=EDGE_LOOP('',(#887,#888,#889,#890)); +#720=EDGE_LOOP('',(#891,#892,#893,#894)); +#721=EDGE_LOOP('',(#895,#896,#897,#898)); +#722=EDGE_LOOP('',(#899,#900,#901,#902)); +#723=EDGE_LOOP('',(#903,#904,#905,#906)); +#724=EDGE_LOOP('',(#907,#908,#909,#910)); +#725=EDGE_LOOP('',(#911)); +#726=EDGE_LOOP('',(#912)); +#727=EDGE_LOOP('',(#913)); +#728=EDGE_LOOP('',(#914)); +#729=EDGE_LOOP('',(#915)); +#730=EDGE_LOOP('',(#916)); +#731=EDGE_LOOP('',(#917,#918,#919,#920)); +#732=EDGE_LOOP('',(#921,#922,#923,#924)); +#733=EDGE_LOOP('',(#925,#926,#927,#928)); +#734=EDGE_LOOP('',(#929,#930,#931,#932)); +#735=EDGE_LOOP('',(#933,#934,#935,#936)); +#736=EDGE_LOOP('',(#937,#938,#939,#940)); +#737=EDGE_LOOP('',(#941,#942,#943,#944)); +#738=EDGE_LOOP('',(#945,#946,#947,#948)); +#739=EDGE_LOOP('',(#949,#950,#951,#952)); +#740=EDGE_LOOP('',(#953,#954,#955,#956)); +#741=EDGE_LOOP('',(#957,#958,#959,#960)); +#742=EDGE_LOOP('',(#961)); +#743=EDGE_LOOP('',(#962)); +#744=EDGE_LOOP('',(#963)); +#745=EDGE_LOOP('',(#964)); +#746=EDGE_LOOP('',(#965)); +#747=EDGE_LOOP('',(#966)); +#748=EDGE_LOOP('',(#967,#968,#969,#970)); +#749=EDGE_LOOP('',(#971,#972,#973,#974)); +#750=EDGE_LOOP('',(#975,#976,#977,#978)); +#751=EDGE_LOOP('',(#979,#980,#981,#982)); +#752=EDGE_LOOP('',(#983,#984,#985,#986)); +#753=EDGE_LOOP('',(#987,#988,#989,#990)); +#754=EDGE_LOOP('',(#991,#992,#993,#994)); +#755=EDGE_LOOP('',(#995,#996,#997,#998)); +#756=EDGE_LOOP('',(#999,#1000,#1001,#1002)); +#757=EDGE_LOOP('',(#1003)); +#758=EDGE_LOOP('',(#1004)); +#759=EDGE_LOOP('',(#1005)); +#760=EDGE_LOOP('',(#1006)); +#761=EDGE_LOOP('',(#1007)); +#762=EDGE_LOOP('',(#1008)); +#763=EDGE_LOOP('',(#1009,#1010,#1011,#1012)); +#764=EDGE_LOOP('',(#1013,#1014,#1015,#1016)); +#765=EDGE_LOOP('',(#1017,#1018,#1019,#1020)); +#766=EDGE_LOOP('',(#1021)); +#767=EDGE_LOOP('',(#1022)); +#768=EDGE_LOOP('',(#1023)); +#769=EDGE_LOOP('',(#1024)); +#770=EDGE_LOOP('',(#1025)); +#771=EDGE_LOOP('',(#1026)); +#772=EDGE_LOOP('',(#1027)); +#773=EDGE_LOOP('',(#1028)); +#774=EDGE_LOOP('',(#1029)); +#775=EDGE_LOOP('',(#1030)); +#776=EDGE_LOOP('',(#1031)); +#777=EDGE_LOOP('',(#1032)); +#778=EDGE_LOOP('',(#1033,#1034,#1035,#1036,#1037,#1038,#1039,#1040,#1041, +#1042,#1043,#1044,#1045,#1046,#1047,#1048,#1049,#1050,#1051,#1052,#1053, +#1054,#1055,#1056,#1057,#1058,#1059,#1060,#1061,#1062,#1063,#1064,#1065, +#1066,#1067,#1068,#1069,#1070,#1071,#1072)); +#779=EDGE_LOOP('',(#1073,#1074,#1075,#1076)); +#780=EDGE_LOOP('',(#1077,#1078,#1079,#1080)); +#781=EDGE_LOOP('',(#1081,#1082,#1083,#1084,#1085,#1086,#1087,#1088,#1089, +#1090,#1091,#1092,#1093,#1094,#1095,#1096)); +#782=EDGE_LOOP('',(#1097)); +#783=EDGE_LOOP('',(#1098)); +#784=EDGE_LOOP('',(#1099)); +#785=EDGE_LOOP('',(#1100)); +#786=EDGE_LOOP('',(#1101,#1102,#1103,#1104,#1105,#1106,#1107,#1108,#1109, +#1110,#1111,#1112,#1113,#1114,#1115,#1116,#1117,#1118,#1119,#1120,#1121, +#1122,#1123,#1124,#1125,#1126,#1127,#1128,#1129,#1130,#1131,#1132,#1133, +#1134,#1135,#1136,#1137,#1138,#1139,#1140)); +#787=EDGE_LOOP('',(#1141,#1142,#1143,#1144)); +#788=EDGE_LOOP('',(#1145,#1146,#1147,#1148)); +#789=EDGE_LOOP('',(#1149,#1150,#1151,#1152)); +#790=EDGE_LOOP('',(#1153,#1154,#1155,#1156)); +#791=EDGE_LOOP('',(#1157,#1158,#1159,#1160)); +#792=EDGE_LOOP('',(#1161,#1162,#1163,#1164)); +#793=EDGE_LOOP('',(#1165,#1166,#1167,#1168)); +#794=EDGE_LOOP('',(#1169,#1170,#1171,#1172)); +#795=EDGE_LOOP('',(#1173,#1174,#1175,#1176)); +#796=EDGE_LOOP('',(#1177,#1178,#1179,#1180)); +#797=EDGE_LOOP('',(#1181,#1182,#1183,#1184)); +#798=EDGE_LOOP('',(#1185,#1186,#1187,#1188)); +#799=EDGE_LOOP('',(#1189,#1190,#1191,#1192)); +#800=EDGE_LOOP('',(#1193,#1194,#1195,#1196)); +#801=EDGE_LOOP('',(#1197,#1198,#1199,#1200)); +#802=EDGE_LOOP('',(#1201,#1202,#1203,#1204)); +#803=EDGE_LOOP('',(#1205,#1206,#1207,#1208)); +#804=EDGE_LOOP('',(#1209,#1210,#1211,#1212)); +#805=EDGE_LOOP('',(#1213,#1214,#1215,#1216)); +#806=EDGE_LOOP('',(#1217,#1218,#1219,#1220)); +#807=EDGE_LOOP('',(#1221,#1222,#1223,#1224)); +#808=EDGE_LOOP('',(#1225,#1226,#1227,#1228)); +#809=EDGE_LOOP('',(#1229,#1230,#1231,#1232)); +#810=EDGE_LOOP('',(#1233,#1234,#1235,#1236)); +#811=EDGE_LOOP('',(#1237,#1238,#1239,#1240)); +#812=EDGE_LOOP('',(#1241,#1242,#1243,#1244)); +#813=ORIENTED_EDGE('',*,*,#1397,.T.); +#814=ORIENTED_EDGE('',*,*,#1398,.F.); +#815=ORIENTED_EDGE('',*,*,#1399,.T.); +#816=ORIENTED_EDGE('',*,*,#1400,.F.); +#817=ORIENTED_EDGE('',*,*,#1401,.T.); +#818=ORIENTED_EDGE('',*,*,#1402,.F.); +#819=ORIENTED_EDGE('',*,*,#1403,.T.); +#820=ORIENTED_EDGE('',*,*,#1404,.F.); +#821=ORIENTED_EDGE('',*,*,#1405,.F.); +#822=ORIENTED_EDGE('',*,*,#1406,.F.); +#823=ORIENTED_EDGE('',*,*,#1407,.F.); +#824=ORIENTED_EDGE('',*,*,#1408,.F.); +#825=ORIENTED_EDGE('',*,*,#1409,.F.); +#826=ORIENTED_EDGE('',*,*,#1410,.F.); +#827=ORIENTED_EDGE('',*,*,#1411,.F.); +#828=ORIENTED_EDGE('',*,*,#1412,.F.); +#829=ORIENTED_EDGE('',*,*,#1413,.F.); +#830=ORIENTED_EDGE('',*,*,#1414,.F.); +#831=ORIENTED_EDGE('',*,*,#1415,.F.); +#832=ORIENTED_EDGE('',*,*,#1416,.F.); +#833=ORIENTED_EDGE('',*,*,#1417,.F.); +#834=ORIENTED_EDGE('',*,*,#1418,.F.); +#835=ORIENTED_EDGE('',*,*,#1419,.F.); +#836=ORIENTED_EDGE('',*,*,#1420,.F.); +#837=ORIENTED_EDGE('',*,*,#1421,.F.); +#838=ORIENTED_EDGE('',*,*,#1422,.F.); +#839=ORIENTED_EDGE('',*,*,#1423,.T.); +#840=ORIENTED_EDGE('',*,*,#1424,.T.); +#841=ORIENTED_EDGE('',*,*,#1425,.T.); +#842=ORIENTED_EDGE('',*,*,#1426,.F.); +#843=ORIENTED_EDGE('',*,*,#1427,.F.); +#844=ORIENTED_EDGE('',*,*,#1428,.F.); +#845=ORIENTED_EDGE('',*,*,#1429,.T.); +#846=ORIENTED_EDGE('',*,*,#1430,.F.); +#847=ORIENTED_EDGE('',*,*,#1431,.F.); +#848=ORIENTED_EDGE('',*,*,#1426,.T.); +#849=ORIENTED_EDGE('',*,*,#1432,.F.); +#850=ORIENTED_EDGE('',*,*,#1430,.T.); +#851=ORIENTED_EDGE('',*,*,#1433,.T.); +#852=ORIENTED_EDGE('',*,*,#1434,.F.); +#853=ORIENTED_EDGE('',*,*,#1435,.F.); +#854=ORIENTED_EDGE('',*,*,#1436,.F.); +#855=ORIENTED_EDGE('',*,*,#1437,.T.); +#856=ORIENTED_EDGE('',*,*,#1438,.F.); +#857=ORIENTED_EDGE('',*,*,#1439,.T.); +#858=ORIENTED_EDGE('',*,*,#1440,.T.); +#859=ORIENTED_EDGE('',*,*,#1441,.T.); +#860=ORIENTED_EDGE('',*,*,#1438,.T.); +#861=ORIENTED_EDGE('',*,*,#1442,.T.); +#862=ORIENTED_EDGE('',*,*,#1434,.T.); +#863=ORIENTED_EDGE('',*,*,#1443,.T.); +#864=ORIENTED_EDGE('',*,*,#1444,.T.); +#865=ORIENTED_EDGE('',*,*,#1445,.T.); +#866=ORIENTED_EDGE('',*,*,#1446,.T.); +#867=ORIENTED_EDGE('',*,*,#1447,.T.); +#868=ORIENTED_EDGE('',*,*,#1428,.T.); +#869=ORIENTED_EDGE('',*,*,#1448,.F.); +#870=ORIENTED_EDGE('',*,*,#1449,.F.); +#871=ORIENTED_EDGE('',*,*,#1450,.F.); +#872=ORIENTED_EDGE('',*,*,#1449,.T.); +#873=ORIENTED_EDGE('',*,*,#1451,.F.); +#874=ORIENTED_EDGE('',*,*,#1448,.T.); +#875=ORIENTED_EDGE('',*,*,#1452,.T.); +#876=ORIENTED_EDGE('',*,*,#1444,.F.); +#877=ORIENTED_EDGE('',*,*,#1453,.F.); +#878=ORIENTED_EDGE('',*,*,#1440,.F.); +#879=ORIENTED_EDGE('',*,*,#1454,.F.); +#880=ORIENTED_EDGE('',*,*,#1436,.T.); +#881=ORIENTED_EDGE('',*,*,#1455,.T.); +#882=ORIENTED_EDGE('',*,*,#1423,.F.); +#883=ORIENTED_EDGE('',*,*,#1456,.F.); +#884=ORIENTED_EDGE('',*,*,#1457,.T.); +#885=ORIENTED_EDGE('',*,*,#1458,.T.); +#886=ORIENTED_EDGE('',*,*,#1459,.T.); +#887=ORIENTED_EDGE('',*,*,#1460,.F.); +#888=ORIENTED_EDGE('',*,*,#1459,.F.); +#889=ORIENTED_EDGE('',*,*,#1461,.T.); +#890=ORIENTED_EDGE('',*,*,#1462,.T.); +#891=ORIENTED_EDGE('',*,*,#1463,.T.); +#892=ORIENTED_EDGE('',*,*,#1464,.T.); +#893=ORIENTED_EDGE('',*,*,#1465,.F.); +#894=ORIENTED_EDGE('',*,*,#1462,.F.); +#895=ORIENTED_EDGE('',*,*,#1466,.T.); +#896=ORIENTED_EDGE('',*,*,#1467,.T.); +#897=ORIENTED_EDGE('',*,*,#1468,.F.); +#898=ORIENTED_EDGE('',*,*,#1469,.T.); +#899=ORIENTED_EDGE('',*,*,#1470,.F.); +#900=ORIENTED_EDGE('',*,*,#1467,.F.); +#901=ORIENTED_EDGE('',*,*,#1471,.F.); +#902=ORIENTED_EDGE('',*,*,#1472,.F.); +#903=ORIENTED_EDGE('',*,*,#1473,.F.); +#904=ORIENTED_EDGE('',*,*,#1474,.F.); +#905=ORIENTED_EDGE('',*,*,#1475,.F.); +#906=ORIENTED_EDGE('',*,*,#1464,.F.); +#907=ORIENTED_EDGE('',*,*,#1476,.F.); +#908=ORIENTED_EDGE('',*,*,#1457,.F.); +#909=ORIENTED_EDGE('',*,*,#1477,.F.); +#910=ORIENTED_EDGE('',*,*,#1478,.F.); +#911=ORIENTED_EDGE('',*,*,#1479,.T.); +#912=ORIENTED_EDGE('',*,*,#1480,.T.); +#913=ORIENTED_EDGE('',*,*,#1481,.T.); +#914=ORIENTED_EDGE('',*,*,#1480,.F.); +#915=ORIENTED_EDGE('',*,*,#1482,.T.); +#916=ORIENTED_EDGE('',*,*,#1479,.F.); +#917=ORIENTED_EDGE('',*,*,#1483,.F.); +#918=ORIENTED_EDGE('',*,*,#1472,.T.); +#919=ORIENTED_EDGE('',*,*,#1484,.T.); +#920=ORIENTED_EDGE('',*,*,#1474,.T.); +#921=ORIENTED_EDGE('',*,*,#1485,.T.); +#922=ORIENTED_EDGE('',*,*,#1486,.F.); +#923=ORIENTED_EDGE('',*,*,#1487,.F.); +#924=ORIENTED_EDGE('',*,*,#1469,.F.); +#925=ORIENTED_EDGE('',*,*,#1488,.T.); +#926=ORIENTED_EDGE('',*,*,#1446,.F.); +#927=ORIENTED_EDGE('',*,*,#1489,.F.); +#928=ORIENTED_EDGE('',*,*,#1478,.T.); +#929=ORIENTED_EDGE('',*,*,#1490,.F.); +#930=ORIENTED_EDGE('',*,*,#1491,.T.); +#931=ORIENTED_EDGE('',*,*,#1492,.T.); +#932=ORIENTED_EDGE('',*,*,#1486,.T.); +#933=ORIENTED_EDGE('',*,*,#1493,.T.); +#934=ORIENTED_EDGE('',*,*,#1494,.F.); +#935=ORIENTED_EDGE('',*,*,#1495,.F.); +#936=ORIENTED_EDGE('',*,*,#1496,.F.); +#937=ORIENTED_EDGE('',*,*,#1497,.T.); +#938=ORIENTED_EDGE('',*,*,#1498,.F.); +#939=ORIENTED_EDGE('',*,*,#1499,.F.); +#940=ORIENTED_EDGE('',*,*,#1494,.T.); +#941=ORIENTED_EDGE('',*,*,#1500,.F.); +#942=ORIENTED_EDGE('',*,*,#1498,.T.); +#943=ORIENTED_EDGE('',*,*,#1501,.T.); +#944=ORIENTED_EDGE('',*,*,#1502,.F.); +#945=ORIENTED_EDGE('',*,*,#1503,.F.); +#946=ORIENTED_EDGE('',*,*,#1504,.F.); +#947=ORIENTED_EDGE('',*,*,#1505,.T.); +#948=ORIENTED_EDGE('',*,*,#1506,.F.); +#949=ORIENTED_EDGE('',*,*,#1507,.T.); +#950=ORIENTED_EDGE('',*,*,#1508,.T.); +#951=ORIENTED_EDGE('',*,*,#1509,.T.); +#952=ORIENTED_EDGE('',*,*,#1506,.T.); +#953=ORIENTED_EDGE('',*,*,#1510,.T.); +#954=ORIENTED_EDGE('',*,*,#1502,.T.); +#955=ORIENTED_EDGE('',*,*,#1511,.T.); +#956=ORIENTED_EDGE('',*,*,#1512,.T.); +#957=ORIENTED_EDGE('',*,*,#1513,.T.); +#958=ORIENTED_EDGE('',*,*,#1514,.T.); +#959=ORIENTED_EDGE('',*,*,#1515,.T.); +#960=ORIENTED_EDGE('',*,*,#1496,.T.); +#961=ORIENTED_EDGE('',*,*,#1516,.F.); +#962=ORIENTED_EDGE('',*,*,#1517,.F.); +#963=ORIENTED_EDGE('',*,*,#1518,.F.); +#964=ORIENTED_EDGE('',*,*,#1517,.T.); +#965=ORIENTED_EDGE('',*,*,#1519,.F.); +#966=ORIENTED_EDGE('',*,*,#1516,.T.); +#967=ORIENTED_EDGE('',*,*,#1520,.T.); +#968=ORIENTED_EDGE('',*,*,#1512,.F.); +#969=ORIENTED_EDGE('',*,*,#1521,.F.); +#970=ORIENTED_EDGE('',*,*,#1508,.F.); +#971=ORIENTED_EDGE('',*,*,#1522,.F.); +#972=ORIENTED_EDGE('',*,*,#1504,.T.); +#973=ORIENTED_EDGE('',*,*,#1523,.T.); +#974=ORIENTED_EDGE('',*,*,#1491,.F.); +#975=ORIENTED_EDGE('',*,*,#1524,.F.); +#976=ORIENTED_EDGE('',*,*,#1525,.T.); +#977=ORIENTED_EDGE('',*,*,#1526,.T.); +#978=ORIENTED_EDGE('',*,*,#1527,.T.); +#979=ORIENTED_EDGE('',*,*,#1528,.F.); +#980=ORIENTED_EDGE('',*,*,#1527,.F.); +#981=ORIENTED_EDGE('',*,*,#1529,.T.); +#982=ORIENTED_EDGE('',*,*,#1530,.T.); +#983=ORIENTED_EDGE('',*,*,#1531,.T.); +#984=ORIENTED_EDGE('',*,*,#1532,.T.); +#985=ORIENTED_EDGE('',*,*,#1533,.F.); +#986=ORIENTED_EDGE('',*,*,#1530,.F.); +#987=ORIENTED_EDGE('',*,*,#1534,.T.); +#988=ORIENTED_EDGE('',*,*,#1535,.T.); +#989=ORIENTED_EDGE('',*,*,#1536,.F.); +#990=ORIENTED_EDGE('',*,*,#1537,.T.); +#991=ORIENTED_EDGE('',*,*,#1538,.F.); +#992=ORIENTED_EDGE('',*,*,#1535,.F.); +#993=ORIENTED_EDGE('',*,*,#1539,.F.); +#994=ORIENTED_EDGE('',*,*,#1540,.F.); +#995=ORIENTED_EDGE('',*,*,#1541,.F.); +#996=ORIENTED_EDGE('',*,*,#1542,.F.); +#997=ORIENTED_EDGE('',*,*,#1543,.F.); +#998=ORIENTED_EDGE('',*,*,#1532,.F.); +#999=ORIENTED_EDGE('',*,*,#1544,.F.); +#1000=ORIENTED_EDGE('',*,*,#1525,.F.); +#1001=ORIENTED_EDGE('',*,*,#1545,.F.); +#1002=ORIENTED_EDGE('',*,*,#1546,.F.); +#1003=ORIENTED_EDGE('',*,*,#1547,.T.); +#1004=ORIENTED_EDGE('',*,*,#1548,.T.); +#1005=ORIENTED_EDGE('',*,*,#1549,.T.); +#1006=ORIENTED_EDGE('',*,*,#1548,.F.); +#1007=ORIENTED_EDGE('',*,*,#1550,.T.); +#1008=ORIENTED_EDGE('',*,*,#1547,.F.); +#1009=ORIENTED_EDGE('',*,*,#1551,.F.); +#1010=ORIENTED_EDGE('',*,*,#1540,.T.); +#1011=ORIENTED_EDGE('',*,*,#1552,.T.); +#1012=ORIENTED_EDGE('',*,*,#1542,.T.); +#1013=ORIENTED_EDGE('',*,*,#1553,.F.); +#1014=ORIENTED_EDGE('',*,*,#1554,.F.); +#1015=ORIENTED_EDGE('',*,*,#1555,.F.); +#1016=ORIENTED_EDGE('',*,*,#1556,.F.); +#1017=ORIENTED_EDGE('',*,*,#1557,.F.); +#1018=ORIENTED_EDGE('',*,*,#1558,.F.); +#1019=ORIENTED_EDGE('',*,*,#1559,.F.); +#1020=ORIENTED_EDGE('',*,*,#1560,.F.); +#1021=ORIENTED_EDGE('',*,*,#1450,.T.); +#1022=ORIENTED_EDGE('',*,*,#1451,.T.); +#1023=ORIENTED_EDGE('',*,*,#1481,.F.); +#1024=ORIENTED_EDGE('',*,*,#1482,.F.); +#1025=ORIENTED_EDGE('',*,*,#1518,.T.); +#1026=ORIENTED_EDGE('',*,*,#1519,.T.); +#1027=ORIENTED_EDGE('',*,*,#1549,.F.); +#1028=ORIENTED_EDGE('',*,*,#1550,.F.); +#1029=ORIENTED_EDGE('',*,*,#1403,.F.); +#1030=ORIENTED_EDGE('',*,*,#1401,.F.); +#1031=ORIENTED_EDGE('',*,*,#1399,.F.); +#1032=ORIENTED_EDGE('',*,*,#1397,.F.); +#1033=ORIENTED_EDGE('',*,*,#1422,.T.); +#1034=ORIENTED_EDGE('',*,*,#1561,.F.); +#1035=ORIENTED_EDGE('',*,*,#1536,.T.); +#1036=ORIENTED_EDGE('',*,*,#1538,.T.); +#1037=ORIENTED_EDGE('',*,*,#1551,.T.); +#1038=ORIENTED_EDGE('',*,*,#1541,.T.); +#1039=ORIENTED_EDGE('',*,*,#1531,.F.); +#1040=ORIENTED_EDGE('',*,*,#1529,.F.); +#1041=ORIENTED_EDGE('',*,*,#1526,.F.); +#1042=ORIENTED_EDGE('',*,*,#1544,.T.); +#1043=ORIENTED_EDGE('',*,*,#1562,.T.); +#1044=ORIENTED_EDGE('',*,*,#1513,.F.); +#1045=ORIENTED_EDGE('',*,*,#1495,.T.); +#1046=ORIENTED_EDGE('',*,*,#1499,.T.); +#1047=ORIENTED_EDGE('',*,*,#1500,.T.); +#1048=ORIENTED_EDGE('',*,*,#1510,.F.); +#1049=ORIENTED_EDGE('',*,*,#1520,.F.); +#1050=ORIENTED_EDGE('',*,*,#1507,.F.); +#1051=ORIENTED_EDGE('',*,*,#1505,.F.); +#1052=ORIENTED_EDGE('',*,*,#1522,.T.); +#1053=ORIENTED_EDGE('',*,*,#1490,.T.); +#1054=ORIENTED_EDGE('',*,*,#1485,.F.); +#1055=ORIENTED_EDGE('',*,*,#1468,.T.); +#1056=ORIENTED_EDGE('',*,*,#1470,.T.); +#1057=ORIENTED_EDGE('',*,*,#1483,.T.); +#1058=ORIENTED_EDGE('',*,*,#1473,.T.); +#1059=ORIENTED_EDGE('',*,*,#1463,.F.); +#1060=ORIENTED_EDGE('',*,*,#1461,.F.); +#1061=ORIENTED_EDGE('',*,*,#1458,.F.); +#1062=ORIENTED_EDGE('',*,*,#1476,.T.); +#1063=ORIENTED_EDGE('',*,*,#1489,.T.); +#1064=ORIENTED_EDGE('',*,*,#1445,.F.); +#1065=ORIENTED_EDGE('',*,*,#1427,.T.); +#1066=ORIENTED_EDGE('',*,*,#1431,.T.); +#1067=ORIENTED_EDGE('',*,*,#1432,.T.); +#1068=ORIENTED_EDGE('',*,*,#1442,.F.); +#1069=ORIENTED_EDGE('',*,*,#1452,.F.); +#1070=ORIENTED_EDGE('',*,*,#1439,.F.); +#1071=ORIENTED_EDGE('',*,*,#1437,.F.); +#1072=ORIENTED_EDGE('',*,*,#1454,.T.); +#1073=ORIENTED_EDGE('',*,*,#1563,.F.); +#1074=ORIENTED_EDGE('',*,*,#1564,.F.); +#1075=ORIENTED_EDGE('',*,*,#1565,.F.); +#1076=ORIENTED_EDGE('',*,*,#1566,.F.); +#1077=ORIENTED_EDGE('',*,*,#1567,.F.); +#1078=ORIENTED_EDGE('',*,*,#1568,.F.); +#1079=ORIENTED_EDGE('',*,*,#1569,.F.); +#1080=ORIENTED_EDGE('',*,*,#1570,.F.); +#1081=ORIENTED_EDGE('',*,*,#1571,.T.); +#1082=ORIENTED_EDGE('',*,*,#1572,.T.); +#1083=ORIENTED_EDGE('',*,*,#1573,.T.); +#1084=ORIENTED_EDGE('',*,*,#1574,.T.); +#1085=ORIENTED_EDGE('',*,*,#1575,.T.); +#1086=ORIENTED_EDGE('',*,*,#1576,.F.); +#1087=ORIENTED_EDGE('',*,*,#1577,.F.); +#1088=ORIENTED_EDGE('',*,*,#1578,.F.); +#1089=ORIENTED_EDGE('',*,*,#1579,.F.); +#1090=ORIENTED_EDGE('',*,*,#1580,.T.); +#1091=ORIENTED_EDGE('',*,*,#1581,.T.); +#1092=ORIENTED_EDGE('',*,*,#1582,.T.); +#1093=ORIENTED_EDGE('',*,*,#1583,.T.); +#1094=ORIENTED_EDGE('',*,*,#1584,.F.); +#1095=ORIENTED_EDGE('',*,*,#1585,.F.); +#1096=ORIENTED_EDGE('',*,*,#1586,.F.); +#1097=ORIENTED_EDGE('',*,*,#1404,.T.); +#1098=ORIENTED_EDGE('',*,*,#1402,.T.); +#1099=ORIENTED_EDGE('',*,*,#1400,.T.); +#1100=ORIENTED_EDGE('',*,*,#1398,.T.); +#1101=ORIENTED_EDGE('',*,*,#1587,.T.); +#1102=ORIENTED_EDGE('',*,*,#1424,.F.); +#1103=ORIENTED_EDGE('',*,*,#1455,.F.); +#1104=ORIENTED_EDGE('',*,*,#1435,.T.); +#1105=ORIENTED_EDGE('',*,*,#1441,.F.); +#1106=ORIENTED_EDGE('',*,*,#1453,.T.); +#1107=ORIENTED_EDGE('',*,*,#1443,.F.); +#1108=ORIENTED_EDGE('',*,*,#1433,.F.); +#1109=ORIENTED_EDGE('',*,*,#1429,.F.); +#1110=ORIENTED_EDGE('',*,*,#1425,.F.); +#1111=ORIENTED_EDGE('',*,*,#1447,.F.); +#1112=ORIENTED_EDGE('',*,*,#1488,.F.); +#1113=ORIENTED_EDGE('',*,*,#1477,.T.); +#1114=ORIENTED_EDGE('',*,*,#1456,.T.); +#1115=ORIENTED_EDGE('',*,*,#1460,.T.); +#1116=ORIENTED_EDGE('',*,*,#1465,.T.); +#1117=ORIENTED_EDGE('',*,*,#1475,.T.); +#1118=ORIENTED_EDGE('',*,*,#1484,.F.); +#1119=ORIENTED_EDGE('',*,*,#1471,.T.); +#1120=ORIENTED_EDGE('',*,*,#1466,.F.); +#1121=ORIENTED_EDGE('',*,*,#1487,.T.); +#1122=ORIENTED_EDGE('',*,*,#1492,.F.); +#1123=ORIENTED_EDGE('',*,*,#1523,.F.); +#1124=ORIENTED_EDGE('',*,*,#1503,.T.); +#1125=ORIENTED_EDGE('',*,*,#1509,.F.); +#1126=ORIENTED_EDGE('',*,*,#1521,.T.); +#1127=ORIENTED_EDGE('',*,*,#1511,.F.); +#1128=ORIENTED_EDGE('',*,*,#1501,.F.); +#1129=ORIENTED_EDGE('',*,*,#1497,.F.); +#1130=ORIENTED_EDGE('',*,*,#1493,.F.); +#1131=ORIENTED_EDGE('',*,*,#1515,.F.); +#1132=ORIENTED_EDGE('',*,*,#1588,.F.); +#1133=ORIENTED_EDGE('',*,*,#1545,.T.); +#1134=ORIENTED_EDGE('',*,*,#1524,.T.); +#1135=ORIENTED_EDGE('',*,*,#1528,.T.); +#1136=ORIENTED_EDGE('',*,*,#1533,.T.); +#1137=ORIENTED_EDGE('',*,*,#1543,.T.); +#1138=ORIENTED_EDGE('',*,*,#1552,.F.); +#1139=ORIENTED_EDGE('',*,*,#1539,.T.); +#1140=ORIENTED_EDGE('',*,*,#1534,.F.); +#1141=ORIENTED_EDGE('',*,*,#1421,.T.); +#1142=ORIENTED_EDGE('',*,*,#1587,.F.); +#1143=ORIENTED_EDGE('',*,*,#1537,.F.); +#1144=ORIENTED_EDGE('',*,*,#1561,.T.); +#1145=ORIENTED_EDGE('',*,*,#1588,.T.); +#1146=ORIENTED_EDGE('',*,*,#1514,.F.); +#1147=ORIENTED_EDGE('',*,*,#1562,.F.); +#1148=ORIENTED_EDGE('',*,*,#1546,.T.); +#1149=ORIENTED_EDGE('',*,*,#1589,.F.); +#1150=ORIENTED_EDGE('',*,*,#1408,.T.); +#1151=ORIENTED_EDGE('',*,*,#1590,.F.); +#1152=ORIENTED_EDGE('',*,*,#1586,.T.); +#1153=ORIENTED_EDGE('',*,*,#1591,.F.); +#1154=ORIENTED_EDGE('',*,*,#1410,.T.); +#1155=ORIENTED_EDGE('',*,*,#1592,.F.); +#1156=ORIENTED_EDGE('',*,*,#1584,.T.); +#1157=ORIENTED_EDGE('',*,*,#1592,.T.); +#1158=ORIENTED_EDGE('',*,*,#1409,.T.); +#1159=ORIENTED_EDGE('',*,*,#1589,.T.); +#1160=ORIENTED_EDGE('',*,*,#1585,.T.); +#1161=ORIENTED_EDGE('',*,*,#1593,.T.); +#1162=ORIENTED_EDGE('',*,*,#1414,.T.); +#1163=ORIENTED_EDGE('',*,*,#1594,.T.); +#1164=ORIENTED_EDGE('',*,*,#1580,.F.); +#1165=ORIENTED_EDGE('',*,*,#1595,.T.); +#1166=ORIENTED_EDGE('',*,*,#1412,.T.); +#1167=ORIENTED_EDGE('',*,*,#1596,.T.); +#1168=ORIENTED_EDGE('',*,*,#1582,.F.); +#1169=ORIENTED_EDGE('',*,*,#1594,.F.); +#1170=ORIENTED_EDGE('',*,*,#1413,.T.); +#1171=ORIENTED_EDGE('',*,*,#1595,.F.); +#1172=ORIENTED_EDGE('',*,*,#1581,.F.); +#1173=ORIENTED_EDGE('',*,*,#1596,.F.); +#1174=ORIENTED_EDGE('',*,*,#1411,.T.); +#1175=ORIENTED_EDGE('',*,*,#1591,.T.); +#1176=ORIENTED_EDGE('',*,*,#1583,.F.); +#1177=ORIENTED_EDGE('',*,*,#1597,.F.); +#1178=ORIENTED_EDGE('',*,*,#1416,.T.); +#1179=ORIENTED_EDGE('',*,*,#1598,.F.); +#1180=ORIENTED_EDGE('',*,*,#1578,.T.); +#1181=ORIENTED_EDGE('',*,*,#1599,.F.); +#1182=ORIENTED_EDGE('',*,*,#1418,.T.); +#1183=ORIENTED_EDGE('',*,*,#1600,.F.); +#1184=ORIENTED_EDGE('',*,*,#1576,.T.); +#1185=ORIENTED_EDGE('',*,*,#1600,.T.); +#1186=ORIENTED_EDGE('',*,*,#1417,.T.); +#1187=ORIENTED_EDGE('',*,*,#1597,.T.); +#1188=ORIENTED_EDGE('',*,*,#1577,.T.); +#1189=ORIENTED_EDGE('',*,*,#1598,.T.); +#1190=ORIENTED_EDGE('',*,*,#1415,.T.); +#1191=ORIENTED_EDGE('',*,*,#1593,.F.); +#1192=ORIENTED_EDGE('',*,*,#1579,.T.); +#1193=ORIENTED_EDGE('',*,*,#1601,.T.); +#1194=ORIENTED_EDGE('',*,*,#1406,.T.); +#1195=ORIENTED_EDGE('',*,*,#1602,.T.); +#1196=ORIENTED_EDGE('',*,*,#1572,.F.); +#1197=ORIENTED_EDGE('',*,*,#1603,.T.); +#1198=ORIENTED_EDGE('',*,*,#1420,.T.); +#1199=ORIENTED_EDGE('',*,*,#1604,.T.); +#1200=ORIENTED_EDGE('',*,*,#1574,.F.); +#1201=ORIENTED_EDGE('',*,*,#1602,.F.); +#1202=ORIENTED_EDGE('',*,*,#1405,.T.); +#1203=ORIENTED_EDGE('',*,*,#1603,.F.); +#1204=ORIENTED_EDGE('',*,*,#1573,.F.); +#1205=ORIENTED_EDGE('',*,*,#1590,.T.); +#1206=ORIENTED_EDGE('',*,*,#1407,.T.); +#1207=ORIENTED_EDGE('',*,*,#1601,.F.); +#1208=ORIENTED_EDGE('',*,*,#1571,.F.); +#1209=ORIENTED_EDGE('',*,*,#1604,.F.); +#1210=ORIENTED_EDGE('',*,*,#1419,.T.); +#1211=ORIENTED_EDGE('',*,*,#1599,.T.); +#1212=ORIENTED_EDGE('',*,*,#1575,.F.); +#1213=ORIENTED_EDGE('',*,*,#1557,.T.); +#1214=ORIENTED_EDGE('',*,*,#1605,.T.); +#1215=ORIENTED_EDGE('',*,*,#1568,.T.); +#1216=ORIENTED_EDGE('',*,*,#1606,.F.); +#1217=ORIENTED_EDGE('',*,*,#1560,.T.); +#1218=ORIENTED_EDGE('',*,*,#1607,.T.); +#1219=ORIENTED_EDGE('',*,*,#1569,.T.); +#1220=ORIENTED_EDGE('',*,*,#1605,.F.); +#1221=ORIENTED_EDGE('',*,*,#1559,.T.); +#1222=ORIENTED_EDGE('',*,*,#1608,.T.); +#1223=ORIENTED_EDGE('',*,*,#1570,.T.); +#1224=ORIENTED_EDGE('',*,*,#1607,.F.); +#1225=ORIENTED_EDGE('',*,*,#1558,.T.); +#1226=ORIENTED_EDGE('',*,*,#1606,.T.); +#1227=ORIENTED_EDGE('',*,*,#1567,.T.); +#1228=ORIENTED_EDGE('',*,*,#1608,.F.); +#1229=ORIENTED_EDGE('',*,*,#1553,.T.); +#1230=ORIENTED_EDGE('',*,*,#1609,.T.); +#1231=ORIENTED_EDGE('',*,*,#1564,.T.); +#1232=ORIENTED_EDGE('',*,*,#1610,.F.); +#1233=ORIENTED_EDGE('',*,*,#1556,.T.); +#1234=ORIENTED_EDGE('',*,*,#1611,.T.); +#1235=ORIENTED_EDGE('',*,*,#1565,.T.); +#1236=ORIENTED_EDGE('',*,*,#1609,.F.); +#1237=ORIENTED_EDGE('',*,*,#1555,.T.); +#1238=ORIENTED_EDGE('',*,*,#1612,.T.); +#1239=ORIENTED_EDGE('',*,*,#1566,.T.); +#1240=ORIENTED_EDGE('',*,*,#1611,.F.); +#1241=ORIENTED_EDGE('',*,*,#1554,.T.); +#1242=ORIENTED_EDGE('',*,*,#1610,.T.); +#1243=ORIENTED_EDGE('',*,*,#1563,.T.); +#1244=ORIENTED_EDGE('',*,*,#1612,.F.); +#1245=VERTEX_POINT('',#2287); +#1246=VERTEX_POINT('',#2289); +#1247=VERTEX_POINT('',#2292); +#1248=VERTEX_POINT('',#2294); +#1249=VERTEX_POINT('',#2297); +#1250=VERTEX_POINT('',#2299); +#1251=VERTEX_POINT('',#2302); +#1252=VERTEX_POINT('',#2304); +#1253=VERTEX_POINT('',#2307); +#1254=VERTEX_POINT('',#2308); +#1255=VERTEX_POINT('',#2310); +#1256=VERTEX_POINT('',#2312); +#1257=VERTEX_POINT('',#2314); +#1258=VERTEX_POINT('',#2316); +#1259=VERTEX_POINT('',#2318); +#1260=VERTEX_POINT('',#2320); +#1261=VERTEX_POINT('',#2322); +#1262=VERTEX_POINT('',#2324); +#1263=VERTEX_POINT('',#2326); +#1264=VERTEX_POINT('',#2328); +#1265=VERTEX_POINT('',#2330); +#1266=VERTEX_POINT('',#2332); +#1267=VERTEX_POINT('',#2334); +#1268=VERTEX_POINT('',#2336); +#1269=VERTEX_POINT('',#2340); +#1270=VERTEX_POINT('',#2341); +#1271=VERTEX_POINT('',#2343); +#1272=VERTEX_POINT('',#2345); +#1273=VERTEX_POINT('',#2349); +#1274=VERTEX_POINT('',#2350); +#1275=VERTEX_POINT('',#2352); +#1276=VERTEX_POINT('',#2354); +#1277=VERTEX_POINT('',#2358); +#1278=VERTEX_POINT('',#2360); +#1279=VERTEX_POINT('',#2364); +#1280=VERTEX_POINT('',#2366); +#1281=VERTEX_POINT('',#2370); +#1282=VERTEX_POINT('',#2371); +#1283=VERTEX_POINT('',#2373); +#1284=VERTEX_POINT('',#2375); +#1285=VERTEX_POINT('',#2379); +#1286=VERTEX_POINT('',#2381); +#1287=VERTEX_POINT('',#2385); +#1288=VERTEX_POINT('',#2387); +#1289=VERTEX_POINT('',#2391); +#1290=VERTEX_POINT('',#2393); +#1291=VERTEX_POINT('',#2397); +#1292=VERTEX_POINT('',#2400); +#1293=VERTEX_POINT('',#2403); +#1294=VERTEX_POINT('',#2406); +#1295=VERTEX_POINT('',#2415); +#1296=VERTEX_POINT('',#2416); +#1297=VERTEX_POINT('',#2418); +#1298=VERTEX_POINT('',#2420); +#1299=VERTEX_POINT('',#2424); +#1300=VERTEX_POINT('',#2426); +#1301=VERTEX_POINT('',#2430); +#1302=VERTEX_POINT('',#2432); +#1303=VERTEX_POINT('',#2436); +#1304=VERTEX_POINT('',#2437); +#1305=VERTEX_POINT('',#2439); +#1306=VERTEX_POINT('',#2441); +#1307=VERTEX_POINT('',#2445); +#1308=VERTEX_POINT('',#2447); +#1309=VERTEX_POINT('',#2451); +#1310=VERTEX_POINT('',#2453); +#1311=VERTEX_POINT('',#2457); +#1312=VERTEX_POINT('',#2459); +#1313=VERTEX_POINT('',#2463); +#1314=VERTEX_POINT('',#2466); +#1315=VERTEX_POINT('',#2469); +#1316=VERTEX_POINT('',#2472); +#1317=VERTEX_POINT('',#2478); +#1318=VERTEX_POINT('',#2480); +#1319=VERTEX_POINT('',#2487); +#1320=VERTEX_POINT('',#2489); +#1321=VERTEX_POINT('',#2493); +#1322=VERTEX_POINT('',#2494); +#1323=VERTEX_POINT('',#2496); +#1324=VERTEX_POINT('',#2498); +#1325=VERTEX_POINT('',#2502); +#1326=VERTEX_POINT('',#2504); +#1327=VERTEX_POINT('',#2508); +#1328=VERTEX_POINT('',#2510); +#1329=VERTEX_POINT('',#2514); +#1330=VERTEX_POINT('',#2515); +#1331=VERTEX_POINT('',#2517); +#1332=VERTEX_POINT('',#2519); +#1333=VERTEX_POINT('',#2523); +#1334=VERTEX_POINT('',#2525); +#1335=VERTEX_POINT('',#2529); +#1336=VERTEX_POINT('',#2531); +#1337=VERTEX_POINT('',#2535); +#1338=VERTEX_POINT('',#2537); +#1339=VERTEX_POINT('',#2541); +#1340=VERTEX_POINT('',#2544); +#1341=VERTEX_POINT('',#2547); +#1342=VERTEX_POINT('',#2550); +#1343=VERTEX_POINT('',#2559); +#1344=VERTEX_POINT('',#2560); +#1345=VERTEX_POINT('',#2562); +#1346=VERTEX_POINT('',#2564); +#1347=VERTEX_POINT('',#2568); +#1348=VERTEX_POINT('',#2570); +#1349=VERTEX_POINT('',#2574); +#1350=VERTEX_POINT('',#2576); +#1351=VERTEX_POINT('',#2580); +#1352=VERTEX_POINT('',#2581); +#1353=VERTEX_POINT('',#2583); +#1354=VERTEX_POINT('',#2585); +#1355=VERTEX_POINT('',#2589); +#1356=VERTEX_POINT('',#2591); +#1357=VERTEX_POINT('',#2595); +#1358=VERTEX_POINT('',#2597); +#1359=VERTEX_POINT('',#2601); +#1360=VERTEX_POINT('',#2603); +#1361=VERTEX_POINT('',#2607); +#1362=VERTEX_POINT('',#2610); +#1363=VERTEX_POINT('',#2613); +#1364=VERTEX_POINT('',#2616); +#1365=VERTEX_POINT('',#2622); +#1366=VERTEX_POINT('',#2623); +#1367=VERTEX_POINT('',#2625); +#1368=VERTEX_POINT('',#2627); +#1369=VERTEX_POINT('',#2630); +#1370=VERTEX_POINT('',#2631); +#1371=VERTEX_POINT('',#2633); +#1372=VERTEX_POINT('',#2635); +#1373=VERTEX_POINT('',#2641); +#1374=VERTEX_POINT('',#2642); +#1375=VERTEX_POINT('',#2644); +#1376=VERTEX_POINT('',#2646); +#1377=VERTEX_POINT('',#2649); +#1378=VERTEX_POINT('',#2650); +#1379=VERTEX_POINT('',#2652); +#1380=VERTEX_POINT('',#2654); +#1381=VERTEX_POINT('',#2657); +#1382=VERTEX_POINT('',#2658); +#1383=VERTEX_POINT('',#2660); +#1384=VERTEX_POINT('',#2662); +#1385=VERTEX_POINT('',#2664); +#1386=VERTEX_POINT('',#2666); +#1387=VERTEX_POINT('',#2668); +#1388=VERTEX_POINT('',#2670); +#1389=VERTEX_POINT('',#2672); +#1390=VERTEX_POINT('',#2674); +#1391=VERTEX_POINT('',#2676); +#1392=VERTEX_POINT('',#2678); +#1393=VERTEX_POINT('',#2680); +#1394=VERTEX_POINT('',#2682); +#1395=VERTEX_POINT('',#2684); +#1396=VERTEX_POINT('',#2686); +#1397=EDGE_CURVE('',#1245,#1245,#1613,.T.); +#1398=EDGE_CURVE('',#1246,#1246,#1614,.T.); +#1399=EDGE_CURVE('',#1247,#1247,#1615,.T.); +#1400=EDGE_CURVE('',#1248,#1248,#1616,.T.); +#1401=EDGE_CURVE('',#1249,#1249,#1617,.T.); +#1402=EDGE_CURVE('',#1250,#1250,#1618,.T.); +#1403=EDGE_CURVE('',#1251,#1251,#1619,.T.); +#1404=EDGE_CURVE('',#1252,#1252,#1620,.T.); +#1405=EDGE_CURVE('',#1253,#1254,#1621,.T.); +#1406=EDGE_CURVE('',#1255,#1253,#223,.T.); +#1407=EDGE_CURVE('',#1256,#1255,#224,.T.); +#1408=EDGE_CURVE('',#1257,#1256,#225,.T.); +#1409=EDGE_CURVE('',#1258,#1257,#1622,.T.); +#1410=EDGE_CURVE('',#1259,#1258,#226,.T.); +#1411=EDGE_CURVE('',#1260,#1259,#227,.T.); +#1412=EDGE_CURVE('',#1261,#1260,#228,.T.); +#1413=EDGE_CURVE('',#1262,#1261,#1623,.T.); +#1414=EDGE_CURVE('',#1263,#1262,#229,.T.); +#1415=EDGE_CURVE('',#1264,#1263,#230,.T.); +#1416=EDGE_CURVE('',#1265,#1264,#231,.T.); +#1417=EDGE_CURVE('',#1266,#1265,#1624,.T.); +#1418=EDGE_CURVE('',#1267,#1266,#232,.T.); +#1419=EDGE_CURVE('',#1268,#1267,#233,.T.); +#1420=EDGE_CURVE('',#1254,#1268,#234,.T.); +#1421=EDGE_CURVE('',#1269,#1270,#235,.T.); +#1422=EDGE_CURVE('',#1271,#1269,#236,.T.); +#1423=EDGE_CURVE('',#1271,#1272,#237,.T.); +#1424=EDGE_CURVE('',#1272,#1270,#238,.T.); +#1425=EDGE_CURVE('',#1273,#1274,#239,.T.); +#1426=EDGE_CURVE('',#1275,#1274,#240,.T.); +#1427=EDGE_CURVE('',#1276,#1275,#241,.T.); +#1428=EDGE_CURVE('',#1273,#1276,#242,.T.); +#1429=EDGE_CURVE('',#1274,#1277,#243,.T.); +#1430=EDGE_CURVE('',#1278,#1277,#244,.T.); +#1431=EDGE_CURVE('',#1275,#1278,#245,.T.); +#1432=EDGE_CURVE('',#1278,#1279,#246,.T.); +#1433=EDGE_CURVE('',#1277,#1280,#247,.T.); +#1434=EDGE_CURVE('',#1279,#1280,#248,.T.); +#1435=EDGE_CURVE('',#1281,#1282,#249,.T.); +#1436=EDGE_CURVE('',#1283,#1281,#250,.T.); +#1437=EDGE_CURVE('',#1283,#1284,#251,.T.); +#1438=EDGE_CURVE('',#1282,#1284,#252,.T.); +#1439=EDGE_CURVE('',#1284,#1285,#1625,.T.); +#1440=EDGE_CURVE('',#1285,#1286,#253,.T.); +#1441=EDGE_CURVE('',#1286,#1282,#1626,.T.); +#1442=EDGE_CURVE('',#1287,#1279,#1627,.T.); +#1443=EDGE_CURVE('',#1280,#1288,#1628,.T.); +#1444=EDGE_CURVE('',#1288,#1287,#254,.T.); +#1445=EDGE_CURVE('',#1276,#1289,#1629,.T.); +#1446=EDGE_CURVE('',#1289,#1290,#255,.T.); +#1447=EDGE_CURVE('',#1290,#1273,#1630,.T.); +#1448=EDGE_CURVE('',#1291,#1291,#1631,.T.); +#1449=EDGE_CURVE('',#1292,#1292,#1632,.T.); +#1450=EDGE_CURVE('',#1293,#1293,#1633,.T.); +#1451=EDGE_CURVE('',#1294,#1294,#1634,.T.); +#1452=EDGE_CURVE('',#1285,#1287,#256,.T.); +#1453=EDGE_CURVE('',#1286,#1288,#257,.T.); +#1454=EDGE_CURVE('',#1283,#1271,#1635,.T.); +#1455=EDGE_CURVE('',#1281,#1272,#1636,.T.); +#1456=EDGE_CURVE('',#1295,#1296,#258,.T.); +#1457=EDGE_CURVE('',#1295,#1297,#259,.T.); +#1458=EDGE_CURVE('',#1297,#1298,#260,.T.); +#1459=EDGE_CURVE('',#1298,#1296,#261,.T.); +#1460=EDGE_CURVE('',#1296,#1299,#262,.T.); +#1461=EDGE_CURVE('',#1298,#1300,#263,.T.); +#1462=EDGE_CURVE('',#1300,#1299,#264,.T.); +#1463=EDGE_CURVE('',#1300,#1301,#265,.T.); +#1464=EDGE_CURVE('',#1301,#1302,#266,.T.); +#1465=EDGE_CURVE('',#1299,#1302,#267,.T.); +#1466=EDGE_CURVE('',#1303,#1304,#268,.T.); +#1467=EDGE_CURVE('',#1304,#1305,#269,.T.); +#1468=EDGE_CURVE('',#1306,#1305,#270,.T.); +#1469=EDGE_CURVE('',#1306,#1303,#271,.T.); +#1470=EDGE_CURVE('',#1305,#1307,#1637,.T.); +#1471=EDGE_CURVE('',#1308,#1304,#1638,.T.); +#1472=EDGE_CURVE('',#1307,#1308,#272,.T.); +#1473=EDGE_CURVE('',#1309,#1301,#1639,.T.); +#1474=EDGE_CURVE('',#1310,#1309,#273,.T.); +#1475=EDGE_CURVE('',#1302,#1310,#1640,.T.); +#1476=EDGE_CURVE('',#1297,#1311,#1641,.T.); +#1477=EDGE_CURVE('',#1312,#1295,#1642,.T.); +#1478=EDGE_CURVE('',#1311,#1312,#274,.T.); +#1479=EDGE_CURVE('',#1313,#1313,#1643,.T.); +#1480=EDGE_CURVE('',#1314,#1314,#1644,.T.); +#1481=EDGE_CURVE('',#1315,#1315,#1645,.T.); +#1482=EDGE_CURVE('',#1316,#1316,#1646,.T.); +#1483=EDGE_CURVE('',#1307,#1309,#275,.T.); +#1484=EDGE_CURVE('',#1308,#1310,#276,.T.); +#1485=EDGE_CURVE('',#1306,#1317,#1647,.T.); +#1486=EDGE_CURVE('',#1318,#1317,#277,.T.); +#1487=EDGE_CURVE('',#1303,#1318,#1648,.T.); +#1488=EDGE_CURVE('',#1312,#1290,#278,.T.); +#1489=EDGE_CURVE('',#1311,#1289,#279,.T.); +#1490=EDGE_CURVE('',#1319,#1317,#280,.T.); +#1491=EDGE_CURVE('',#1319,#1320,#281,.T.); +#1492=EDGE_CURVE('',#1320,#1318,#282,.T.); +#1493=EDGE_CURVE('',#1321,#1322,#283,.T.); +#1494=EDGE_CURVE('',#1323,#1322,#284,.T.); +#1495=EDGE_CURVE('',#1324,#1323,#285,.T.); +#1496=EDGE_CURVE('',#1321,#1324,#286,.T.); +#1497=EDGE_CURVE('',#1322,#1325,#287,.T.); +#1498=EDGE_CURVE('',#1326,#1325,#288,.T.); +#1499=EDGE_CURVE('',#1323,#1326,#289,.T.); +#1500=EDGE_CURVE('',#1326,#1327,#290,.T.); +#1501=EDGE_CURVE('',#1325,#1328,#291,.T.); +#1502=EDGE_CURVE('',#1327,#1328,#292,.T.); +#1503=EDGE_CURVE('',#1329,#1330,#293,.T.); +#1504=EDGE_CURVE('',#1331,#1329,#294,.T.); +#1505=EDGE_CURVE('',#1331,#1332,#295,.T.); +#1506=EDGE_CURVE('',#1330,#1332,#296,.T.); +#1507=EDGE_CURVE('',#1332,#1333,#1649,.T.); +#1508=EDGE_CURVE('',#1333,#1334,#297,.T.); +#1509=EDGE_CURVE('',#1334,#1330,#1650,.T.); +#1510=EDGE_CURVE('',#1335,#1327,#1651,.T.); +#1511=EDGE_CURVE('',#1328,#1336,#1652,.T.); +#1512=EDGE_CURVE('',#1336,#1335,#298,.T.); +#1513=EDGE_CURVE('',#1324,#1337,#1653,.T.); +#1514=EDGE_CURVE('',#1337,#1338,#299,.T.); +#1515=EDGE_CURVE('',#1338,#1321,#1654,.T.); +#1516=EDGE_CURVE('',#1339,#1339,#1655,.T.); +#1517=EDGE_CURVE('',#1340,#1340,#1656,.T.); +#1518=EDGE_CURVE('',#1341,#1341,#1657,.T.); +#1519=EDGE_CURVE('',#1342,#1342,#1658,.T.); +#1520=EDGE_CURVE('',#1333,#1335,#300,.T.); +#1521=EDGE_CURVE('',#1334,#1336,#301,.T.); +#1522=EDGE_CURVE('',#1331,#1319,#1659,.T.); +#1523=EDGE_CURVE('',#1329,#1320,#1660,.T.); +#1524=EDGE_CURVE('',#1343,#1344,#302,.T.); +#1525=EDGE_CURVE('',#1343,#1345,#303,.T.); +#1526=EDGE_CURVE('',#1345,#1346,#304,.T.); +#1527=EDGE_CURVE('',#1346,#1344,#305,.T.); +#1528=EDGE_CURVE('',#1344,#1347,#306,.T.); +#1529=EDGE_CURVE('',#1346,#1348,#307,.T.); +#1530=EDGE_CURVE('',#1348,#1347,#308,.T.); +#1531=EDGE_CURVE('',#1348,#1349,#309,.T.); +#1532=EDGE_CURVE('',#1349,#1350,#310,.T.); +#1533=EDGE_CURVE('',#1347,#1350,#311,.T.); +#1534=EDGE_CURVE('',#1351,#1352,#312,.T.); +#1535=EDGE_CURVE('',#1352,#1353,#313,.T.); +#1536=EDGE_CURVE('',#1354,#1353,#314,.T.); +#1537=EDGE_CURVE('',#1354,#1351,#315,.T.); +#1538=EDGE_CURVE('',#1353,#1355,#1661,.T.); +#1539=EDGE_CURVE('',#1356,#1352,#1662,.T.); +#1540=EDGE_CURVE('',#1355,#1356,#316,.T.); +#1541=EDGE_CURVE('',#1357,#1349,#1663,.T.); +#1542=EDGE_CURVE('',#1358,#1357,#317,.T.); +#1543=EDGE_CURVE('',#1350,#1358,#1664,.T.); +#1544=EDGE_CURVE('',#1345,#1359,#1665,.T.); +#1545=EDGE_CURVE('',#1360,#1343,#1666,.T.); +#1546=EDGE_CURVE('',#1359,#1360,#318,.T.); +#1547=EDGE_CURVE('',#1361,#1361,#1667,.T.); +#1548=EDGE_CURVE('',#1362,#1362,#1668,.T.); +#1549=EDGE_CURVE('',#1363,#1363,#1669,.T.); +#1550=EDGE_CURVE('',#1364,#1364,#1670,.T.); +#1551=EDGE_CURVE('',#1355,#1357,#319,.T.); +#1552=EDGE_CURVE('',#1356,#1358,#320,.T.); +#1553=EDGE_CURVE('',#1365,#1366,#321,.T.); +#1554=EDGE_CURVE('',#1367,#1365,#322,.T.); +#1555=EDGE_CURVE('',#1368,#1367,#323,.T.); +#1556=EDGE_CURVE('',#1366,#1368,#324,.T.); +#1557=EDGE_CURVE('',#1369,#1370,#325,.T.); +#1558=EDGE_CURVE('',#1371,#1369,#326,.T.); +#1559=EDGE_CURVE('',#1372,#1371,#327,.T.); +#1560=EDGE_CURVE('',#1370,#1372,#328,.T.); +#1561=EDGE_CURVE('',#1354,#1269,#1671,.T.); +#1562=EDGE_CURVE('',#1359,#1337,#329,.T.); +#1563=EDGE_CURVE('',#1373,#1374,#330,.T.); +#1564=EDGE_CURVE('',#1375,#1373,#331,.T.); +#1565=EDGE_CURVE('',#1376,#1375,#332,.T.); +#1566=EDGE_CURVE('',#1374,#1376,#333,.T.); +#1567=EDGE_CURVE('',#1377,#1378,#334,.T.); +#1568=EDGE_CURVE('',#1379,#1377,#335,.T.); +#1569=EDGE_CURVE('',#1380,#1379,#336,.T.); +#1570=EDGE_CURVE('',#1378,#1380,#337,.T.); +#1571=EDGE_CURVE('',#1381,#1382,#338,.T.); +#1572=EDGE_CURVE('',#1382,#1383,#339,.T.); +#1573=EDGE_CURVE('',#1383,#1384,#1672,.T.); +#1574=EDGE_CURVE('',#1384,#1385,#340,.T.); +#1575=EDGE_CURVE('',#1385,#1386,#341,.T.); +#1576=EDGE_CURVE('',#1387,#1386,#342,.T.); +#1577=EDGE_CURVE('',#1388,#1387,#1673,.T.); +#1578=EDGE_CURVE('',#1389,#1388,#343,.T.); +#1579=EDGE_CURVE('',#1390,#1389,#344,.T.); +#1580=EDGE_CURVE('',#1390,#1391,#345,.T.); +#1581=EDGE_CURVE('',#1391,#1392,#1674,.T.); +#1582=EDGE_CURVE('',#1392,#1393,#346,.T.); +#1583=EDGE_CURVE('',#1393,#1394,#347,.T.); +#1584=EDGE_CURVE('',#1395,#1394,#348,.T.); +#1585=EDGE_CURVE('',#1396,#1395,#1675,.T.); +#1586=EDGE_CURVE('',#1381,#1396,#349,.T.); +#1587=EDGE_CURVE('',#1351,#1270,#1676,.T.); +#1588=EDGE_CURVE('',#1360,#1338,#350,.T.); +#1589=EDGE_CURVE('',#1257,#1396,#351,.T.); +#1590=EDGE_CURVE('',#1381,#1256,#352,.T.); +#1591=EDGE_CURVE('',#1259,#1394,#353,.T.); +#1592=EDGE_CURVE('',#1395,#1258,#354,.T.); +#1593=EDGE_CURVE('',#1390,#1263,#355,.T.); +#1594=EDGE_CURVE('',#1262,#1391,#356,.T.); +#1595=EDGE_CURVE('',#1392,#1261,#357,.T.); +#1596=EDGE_CURVE('',#1260,#1393,#358,.T.); +#1597=EDGE_CURVE('',#1265,#1388,#359,.T.); +#1598=EDGE_CURVE('',#1389,#1264,#360,.T.); +#1599=EDGE_CURVE('',#1267,#1386,#361,.T.); +#1600=EDGE_CURVE('',#1387,#1266,#362,.T.); +#1601=EDGE_CURVE('',#1382,#1255,#363,.T.); +#1602=EDGE_CURVE('',#1253,#1383,#364,.T.); +#1603=EDGE_CURVE('',#1384,#1254,#365,.T.); +#1604=EDGE_CURVE('',#1268,#1385,#366,.T.); +#1605=EDGE_CURVE('',#1370,#1379,#367,.T.); +#1606=EDGE_CURVE('',#1369,#1377,#368,.T.); +#1607=EDGE_CURVE('',#1372,#1380,#369,.T.); +#1608=EDGE_CURVE('',#1371,#1378,#370,.T.); +#1609=EDGE_CURVE('',#1366,#1375,#371,.T.); +#1610=EDGE_CURVE('',#1365,#1373,#372,.T.); +#1611=EDGE_CURVE('',#1368,#1376,#373,.T.); +#1612=EDGE_CURVE('',#1367,#1374,#374,.T.); +#1613=CIRCLE('',#1678,1.25); +#1614=CIRCLE('',#1679,1.25); +#1615=CIRCLE('',#1681,1.25); +#1616=CIRCLE('',#1682,1.25); +#1617=CIRCLE('',#1684,1.25); +#1618=CIRCLE('',#1685,1.25); +#1619=CIRCLE('',#1687,1.25); +#1620=CIRCLE('',#1688,1.25); +#1621=CIRCLE('',#1690,2.); +#1622=CIRCLE('',#1691,2.); +#1623=CIRCLE('',#1692,2.); +#1624=CIRCLE('',#1693,2.); +#1625=CIRCLE('',#1700,1.); +#1626=CIRCLE('',#1701,1.); +#1627=CIRCLE('',#1703,1.); +#1628=CIRCLE('',#1704,1.); +#1629=CIRCLE('',#1706,1.); +#1630=CIRCLE('',#1707,1.); +#1631=CIRCLE('',#1709,0.948304520114676); +#1632=CIRCLE('',#1711,0.94830434700898); +#1633=CIRCLE('',#1713,0.94830434700898); +#1634=CIRCLE('',#1715,0.948304520114676); +#1635=CIRCLE('',#1718,126.626865991802); +#1636=CIRCLE('',#1719,126.626865991802); +#1637=CIRCLE('',#1725,1.); +#1638=CIRCLE('',#1726,1.); +#1639=CIRCLE('',#1728,1.); +#1640=CIRCLE('',#1729,1.); +#1641=CIRCLE('',#1731,1.); +#1642=CIRCLE('',#1732,1.); +#1643=CIRCLE('',#1734,0.948304520114676); +#1644=CIRCLE('',#1736,0.94830434700898); +#1645=CIRCLE('',#1738,0.94830434700898); +#1646=CIRCLE('',#1740,0.948304520114676); +#1647=CIRCLE('',#1743,126.626865991802); +#1648=CIRCLE('',#1744,126.626865991802); +#1649=CIRCLE('',#1752,1.); +#1650=CIRCLE('',#1753,1.); +#1651=CIRCLE('',#1755,1.); +#1652=CIRCLE('',#1756,1.); +#1653=CIRCLE('',#1758,1.); +#1654=CIRCLE('',#1759,1.); +#1655=CIRCLE('',#1761,0.948304520114669); +#1656=CIRCLE('',#1763,0.94830434700898); +#1657=CIRCLE('',#1765,0.94830434700898); +#1658=CIRCLE('',#1767,0.948304520114669); +#1659=CIRCLE('',#1770,126.626865991802); +#1660=CIRCLE('',#1771,126.626865991802); +#1661=CIRCLE('',#1777,1.); +#1662=CIRCLE('',#1778,1.); +#1663=CIRCLE('',#1780,1.); +#1664=CIRCLE('',#1781,1.); +#1665=CIRCLE('',#1783,1.); +#1666=CIRCLE('',#1784,1.); +#1667=CIRCLE('',#1786,0.948304520114669); +#1668=CIRCLE('',#1788,0.94830434700898); +#1669=CIRCLE('',#1790,0.94830434700898); +#1670=CIRCLE('',#1792,0.948304520114669); +#1671=CIRCLE('',#1795,126.626865991802); +#1672=CIRCLE('',#1797,2.); +#1673=CIRCLE('',#1798,2.); +#1674=CIRCLE('',#1799,2.); +#1675=CIRCLE('',#1800,2.); +#1676=CIRCLE('',#1801,126.626865991802); +#1677=AXIS2_PLACEMENT_3D('',#2285,#1829,#1830); +#1678=AXIS2_PLACEMENT_3D('',#2286,#1831,#1832); +#1679=AXIS2_PLACEMENT_3D('',#2288,#1833,#1834); +#1680=AXIS2_PLACEMENT_3D('',#2290,#1835,#1836); +#1681=AXIS2_PLACEMENT_3D('',#2291,#1837,#1838); +#1682=AXIS2_PLACEMENT_3D('',#2293,#1839,#1840); +#1683=AXIS2_PLACEMENT_3D('',#2295,#1841,#1842); +#1684=AXIS2_PLACEMENT_3D('',#2296,#1843,#1844); +#1685=AXIS2_PLACEMENT_3D('',#2298,#1845,#1846); +#1686=AXIS2_PLACEMENT_3D('',#2300,#1847,#1848); +#1687=AXIS2_PLACEMENT_3D('',#2301,#1849,#1850); +#1688=AXIS2_PLACEMENT_3D('',#2303,#1851,#1852); +#1689=AXIS2_PLACEMENT_3D('',#2305,#1853,#1854); +#1690=AXIS2_PLACEMENT_3D('',#2306,#1855,#1856); +#1691=AXIS2_PLACEMENT_3D('',#2315,#1860,#1861); +#1692=AXIS2_PLACEMENT_3D('',#2323,#1865,#1866); +#1693=AXIS2_PLACEMENT_3D('',#2331,#1870,#1871); +#1694=AXIS2_PLACEMENT_3D('',#2338,#1875,#1876); +#1695=AXIS2_PLACEMENT_3D('',#2347,#1881,#1882); +#1696=AXIS2_PLACEMENT_3D('',#2356,#1887,#1888); +#1697=AXIS2_PLACEMENT_3D('',#2362,#1892,#1893); +#1698=AXIS2_PLACEMENT_3D('',#2368,#1897,#1898); +#1699=AXIS2_PLACEMENT_3D('',#2377,#1903,#1904); +#1700=AXIS2_PLACEMENT_3D('',#2378,#1905,#1906); +#1701=AXIS2_PLACEMENT_3D('',#2382,#1908,#1909); +#1702=AXIS2_PLACEMENT_3D('',#2383,#1910,#1911); +#1703=AXIS2_PLACEMENT_3D('',#2384,#1912,#1913); +#1704=AXIS2_PLACEMENT_3D('',#2386,#1914,#1915); +#1705=AXIS2_PLACEMENT_3D('',#2389,#1917,#1918); +#1706=AXIS2_PLACEMENT_3D('',#2390,#1919,#1920); +#1707=AXIS2_PLACEMENT_3D('',#2394,#1922,#1923); +#1708=AXIS2_PLACEMENT_3D('',#2395,#1924,#1925); +#1709=AXIS2_PLACEMENT_3D('',#2396,#1926,#1927); +#1710=AXIS2_PLACEMENT_3D('',#2398,#1928,#1929); +#1711=AXIS2_PLACEMENT_3D('',#2399,#1930,#1931); +#1712=AXIS2_PLACEMENT_3D('',#2401,#1932,#1933); +#1713=AXIS2_PLACEMENT_3D('',#2402,#1934,#1935); +#1714=AXIS2_PLACEMENT_3D('',#2404,#1936,#1937); +#1715=AXIS2_PLACEMENT_3D('',#2405,#1938,#1939); +#1716=AXIS2_PLACEMENT_3D('',#2407,#1940,#1941); +#1717=AXIS2_PLACEMENT_3D('',#2410,#1944,#1945); +#1718=AXIS2_PLACEMENT_3D('',#2411,#1946,#1947); +#1719=AXIS2_PLACEMENT_3D('',#2412,#1948,#1949); +#1720=AXIS2_PLACEMENT_3D('',#2413,#1950,#1951); +#1721=AXIS2_PLACEMENT_3D('',#2422,#1956,#1957); +#1722=AXIS2_PLACEMENT_3D('',#2428,#1961,#1962); +#1723=AXIS2_PLACEMENT_3D('',#2434,#1966,#1967); +#1724=AXIS2_PLACEMENT_3D('',#2443,#1972,#1973); +#1725=AXIS2_PLACEMENT_3D('',#2444,#1974,#1975); +#1726=AXIS2_PLACEMENT_3D('',#2446,#1976,#1977); +#1727=AXIS2_PLACEMENT_3D('',#2449,#1979,#1980); +#1728=AXIS2_PLACEMENT_3D('',#2450,#1981,#1982); +#1729=AXIS2_PLACEMENT_3D('',#2454,#1984,#1985); +#1730=AXIS2_PLACEMENT_3D('',#2455,#1986,#1987); +#1731=AXIS2_PLACEMENT_3D('',#2456,#1988,#1989); +#1732=AXIS2_PLACEMENT_3D('',#2458,#1990,#1991); +#1733=AXIS2_PLACEMENT_3D('',#2461,#1993,#1994); +#1734=AXIS2_PLACEMENT_3D('',#2462,#1995,#1996); +#1735=AXIS2_PLACEMENT_3D('',#2464,#1997,#1998); +#1736=AXIS2_PLACEMENT_3D('',#2465,#1999,#2000); +#1737=AXIS2_PLACEMENT_3D('',#2467,#2001,#2002); +#1738=AXIS2_PLACEMENT_3D('',#2468,#2003,#2004); +#1739=AXIS2_PLACEMENT_3D('',#2470,#2005,#2006); +#1740=AXIS2_PLACEMENT_3D('',#2471,#2007,#2008); +#1741=AXIS2_PLACEMENT_3D('',#2473,#2009,#2010); +#1742=AXIS2_PLACEMENT_3D('',#2476,#2013,#2014); +#1743=AXIS2_PLACEMENT_3D('',#2477,#2015,#2016); +#1744=AXIS2_PLACEMENT_3D('',#2481,#2018,#2019); +#1745=AXIS2_PLACEMENT_3D('',#2482,#2020,#2021); +#1746=AXIS2_PLACEMENT_3D('',#2485,#2024,#2025); +#1747=AXIS2_PLACEMENT_3D('',#2491,#2029,#2030); +#1748=AXIS2_PLACEMENT_3D('',#2500,#2035,#2036); +#1749=AXIS2_PLACEMENT_3D('',#2506,#2040,#2041); +#1750=AXIS2_PLACEMENT_3D('',#2512,#2045,#2046); +#1751=AXIS2_PLACEMENT_3D('',#2521,#2051,#2052); +#1752=AXIS2_PLACEMENT_3D('',#2522,#2053,#2054); +#1753=AXIS2_PLACEMENT_3D('',#2526,#2056,#2057); +#1754=AXIS2_PLACEMENT_3D('',#2527,#2058,#2059); +#1755=AXIS2_PLACEMENT_3D('',#2528,#2060,#2061); +#1756=AXIS2_PLACEMENT_3D('',#2530,#2062,#2063); +#1757=AXIS2_PLACEMENT_3D('',#2533,#2065,#2066); +#1758=AXIS2_PLACEMENT_3D('',#2534,#2067,#2068); +#1759=AXIS2_PLACEMENT_3D('',#2538,#2070,#2071); +#1760=AXIS2_PLACEMENT_3D('',#2539,#2072,#2073); +#1761=AXIS2_PLACEMENT_3D('',#2540,#2074,#2075); +#1762=AXIS2_PLACEMENT_3D('',#2542,#2076,#2077); +#1763=AXIS2_PLACEMENT_3D('',#2543,#2078,#2079); +#1764=AXIS2_PLACEMENT_3D('',#2545,#2080,#2081); +#1765=AXIS2_PLACEMENT_3D('',#2546,#2082,#2083); +#1766=AXIS2_PLACEMENT_3D('',#2548,#2084,#2085); +#1767=AXIS2_PLACEMENT_3D('',#2549,#2086,#2087); +#1768=AXIS2_PLACEMENT_3D('',#2551,#2088,#2089); +#1769=AXIS2_PLACEMENT_3D('',#2554,#2092,#2093); +#1770=AXIS2_PLACEMENT_3D('',#2555,#2094,#2095); +#1771=AXIS2_PLACEMENT_3D('',#2556,#2096,#2097); +#1772=AXIS2_PLACEMENT_3D('',#2557,#2098,#2099); +#1773=AXIS2_PLACEMENT_3D('',#2566,#2104,#2105); +#1774=AXIS2_PLACEMENT_3D('',#2572,#2109,#2110); +#1775=AXIS2_PLACEMENT_3D('',#2578,#2114,#2115); +#1776=AXIS2_PLACEMENT_3D('',#2587,#2120,#2121); +#1777=AXIS2_PLACEMENT_3D('',#2588,#2122,#2123); +#1778=AXIS2_PLACEMENT_3D('',#2590,#2124,#2125); +#1779=AXIS2_PLACEMENT_3D('',#2593,#2127,#2128); +#1780=AXIS2_PLACEMENT_3D('',#2594,#2129,#2130); +#1781=AXIS2_PLACEMENT_3D('',#2598,#2132,#2133); +#1782=AXIS2_PLACEMENT_3D('',#2599,#2134,#2135); +#1783=AXIS2_PLACEMENT_3D('',#2600,#2136,#2137); +#1784=AXIS2_PLACEMENT_3D('',#2602,#2138,#2139); +#1785=AXIS2_PLACEMENT_3D('',#2605,#2141,#2142); +#1786=AXIS2_PLACEMENT_3D('',#2606,#2143,#2144); +#1787=AXIS2_PLACEMENT_3D('',#2608,#2145,#2146); +#1788=AXIS2_PLACEMENT_3D('',#2609,#2147,#2148); +#1789=AXIS2_PLACEMENT_3D('',#2611,#2149,#2150); +#1790=AXIS2_PLACEMENT_3D('',#2612,#2151,#2152); +#1791=AXIS2_PLACEMENT_3D('',#2614,#2153,#2154); +#1792=AXIS2_PLACEMENT_3D('',#2615,#2155,#2156); +#1793=AXIS2_PLACEMENT_3D('',#2617,#2157,#2158); +#1794=AXIS2_PLACEMENT_3D('',#2620,#2161,#2162); +#1795=AXIS2_PLACEMENT_3D('',#2637,#2171,#2172); +#1796=AXIS2_PLACEMENT_3D('',#2639,#2174,#2175); +#1797=AXIS2_PLACEMENT_3D('',#2661,#2186,#2187); +#1798=AXIS2_PLACEMENT_3D('',#2669,#2191,#2192); +#1799=AXIS2_PLACEMENT_3D('',#2677,#2196,#2197); +#1800=AXIS2_PLACEMENT_3D('',#2685,#2201,#2202); +#1801=AXIS2_PLACEMENT_3D('',#2688,#2204,#2205); +#1802=AXIS2_PLACEMENT_3D('',#2690,#2207,#2208); +#1803=AXIS2_PLACEMENT_3D('',#2691,#2209,#2210); +#1804=AXIS2_PLACEMENT_3D('',#2692,#2211,#2212); +#1805=AXIS2_PLACEMENT_3D('',#2695,#2215,#2216); +#1806=AXIS2_PLACEMENT_3D('',#2698,#2219,#2220); +#1807=AXIS2_PLACEMENT_3D('',#2699,#2221,#2222); +#1808=AXIS2_PLACEMENT_3D('',#2702,#2225,#2226); +#1809=AXIS2_PLACEMENT_3D('',#2705,#2229,#2230); +#1810=AXIS2_PLACEMENT_3D('',#2706,#2231,#2232); +#1811=AXIS2_PLACEMENT_3D('',#2707,#2233,#2234); +#1812=AXIS2_PLACEMENT_3D('',#2710,#2237,#2238); +#1813=AXIS2_PLACEMENT_3D('',#2713,#2241,#2242); +#1814=AXIS2_PLACEMENT_3D('',#2714,#2243,#2244); +#1815=AXIS2_PLACEMENT_3D('',#2715,#2245,#2246); +#1816=AXIS2_PLACEMENT_3D('',#2718,#2249,#2250); +#1817=AXIS2_PLACEMENT_3D('',#2721,#2253,#2254); +#1818=AXIS2_PLACEMENT_3D('',#2722,#2255,#2256); +#1819=AXIS2_PLACEMENT_3D('',#2723,#2257,#2258); +#1820=AXIS2_PLACEMENT_3D('',#2724,#2259,#2260); +#1821=AXIS2_PLACEMENT_3D('',#2727,#2263,#2264); +#1822=AXIS2_PLACEMENT_3D('',#2729,#2266,#2267); +#1823=AXIS2_PLACEMENT_3D('',#2731,#2269,#2270); +#1824=AXIS2_PLACEMENT_3D('',#2732,#2271,#2272); +#1825=AXIS2_PLACEMENT_3D('',#2735,#2275,#2276); +#1826=AXIS2_PLACEMENT_3D('',#2737,#2278,#2279); +#1827=AXIS2_PLACEMENT_3D('',#2739,#2281,#2282); +#1828=AXIS2_PLACEMENT_3D('',#2740,#2283,#2284); +#1829=DIRECTION('',(0.,0.,1.)); +#1830=DIRECTION('',(1.,0.,0.)); +#1831=DIRECTION('',(0.,0.,1.)); +#1832=DIRECTION('',(1.,0.,0.)); +#1833=DIRECTION('',(0.,0.,1.)); +#1834=DIRECTION('',(1.,0.,0.)); +#1835=DIRECTION('',(0.,0.,1.)); +#1836=DIRECTION('',(-1.,0.,0.)); +#1837=DIRECTION('',(0.,0.,1.)); +#1838=DIRECTION('',(1.,0.,0.)); +#1839=DIRECTION('',(0.,0.,1.)); +#1840=DIRECTION('',(1.,0.,0.)); +#1841=DIRECTION('',(0.,0.,1.)); +#1842=DIRECTION('',(-1.,0.,0.)); +#1843=DIRECTION('',(0.,0.,1.)); +#1844=DIRECTION('',(1.,0.,0.)); +#1845=DIRECTION('',(0.,0.,1.)); +#1846=DIRECTION('',(1.,0.,0.)); +#1847=DIRECTION('',(0.,0.,1.)); +#1848=DIRECTION('',(-1.,0.,0.)); +#1849=DIRECTION('',(0.,0.,1.)); +#1850=DIRECTION('',(1.,0.,0.)); +#1851=DIRECTION('',(0.,0.,1.)); +#1852=DIRECTION('',(1.,0.,0.)); +#1853=DIRECTION('',(0.,0.,1.)); +#1854=DIRECTION('',(-1.,0.,0.)); +#1855=DIRECTION('',(0.,0.,-1.)); +#1856=DIRECTION('',(1.,0.,0.)); +#1857=DIRECTION('',(0.,-1.,0.)); +#1858=DIRECTION('',(-1.,-1.27319154200133E-16,0.)); +#1859=DIRECTION('',(0.,1.,0.)); +#1860=DIRECTION('',(0.,0.,-1.)); +#1861=DIRECTION('',(1.,0.,0.)); +#1862=DIRECTION('',(-1.,-5.78241158658935E-16,0.)); +#1863=DIRECTION('',(-2.61845050438602E-16,1.,0.)); +#1864=DIRECTION('',(1.,0.,0.)); +#1865=DIRECTION('',(0.,0.,-1.)); +#1866=DIRECTION('',(1.,0.,0.)); +#1867=DIRECTION('',(0.,1.,0.)); +#1868=DIRECTION('',(1.,0.,0.)); +#1869=DIRECTION('',(0.,-1.,0.)); +#1870=DIRECTION('',(0.,0.,-1.)); +#1871=DIRECTION('',(1.,0.,0.)); +#1872=DIRECTION('',(1.,0.,0.)); +#1873=DIRECTION('',(0.,-1.,0.)); +#1874=DIRECTION('',(-1.,0.,0.)); +#1875=DIRECTION('',(0.,0.,1.)); +#1876=DIRECTION('',(-1.,0.,0.)); +#1877=DIRECTION('',(0.,0.,-1.)); +#1878=DIRECTION('',(-1.,0.,0.)); +#1879=DIRECTION('',(0.,0.,-1.)); +#1880=DIRECTION('',(-1.,0.,0.)); +#1881=DIRECTION('',(0.,1.,0.)); +#1882=DIRECTION('',(-1.,0.,0.)); +#1883=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#1884=DIRECTION('',(0.,0.,-1.)); +#1885=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#1886=DIRECTION('',(0.,0.,1.)); +#1887=DIRECTION('',(-2.15315980533364E-16,1.,0.)); +#1888=DIRECTION('',(-1.,-2.15105711021124E-16,0.)); +#1889=DIRECTION('',(9.3615630351941E-17,1.,0.)); +#1890=DIRECTION('',(0.,0.,-1.)); +#1891=DIRECTION('',(9.3615630351941E-17,1.,0.)); +#1892=DIRECTION('',(1.,-9.3615630351941E-17,0.)); +#1893=DIRECTION('',(9.71445146547012E-17,1.,0.)); +#1894=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1895=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1896=DIRECTION('',(0.,0.,-1.)); +#1897=DIRECTION('',(2.15315980533364E-16,-1.,0.)); +#1898=DIRECTION('',(0.,0.,1.)); +#1899=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1900=DIRECTION('',(0.,0.,-1.)); +#1901=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1902=DIRECTION('',(0.,0.,1.)); +#1903=DIRECTION('',(2.15315980533364E-16,-1.,0.)); +#1904=DIRECTION('',(0.,0.,1.)); +#1905=DIRECTION('',(0.,0.,-1.)); +#1906=DIRECTION('',(-1.,0.,0.)); +#1907=DIRECTION('',(0.,0.,-1.)); +#1908=DIRECTION('',(0.,0.,1.)); +#1909=DIRECTION('',(-1.,0.,0.)); +#1910=DIRECTION('',(0.,0.,-1.)); +#1911=DIRECTION('',(-1.,0.,0.)); +#1912=DIRECTION('',(0.,0.,-1.)); +#1913=DIRECTION('',(-1.,0.,0.)); +#1914=DIRECTION('',(0.,0.,1.)); +#1915=DIRECTION('',(-1.,0.,0.)); +#1916=DIRECTION('',(0.,0.,1.)); +#1917=DIRECTION('',(0.,0.,1.)); +#1918=DIRECTION('',(1.,0.,0.)); +#1919=DIRECTION('',(0.,0.,-1.)); +#1920=DIRECTION('',(-1.,0.,0.)); +#1921=DIRECTION('',(0.,0.,-1.)); +#1922=DIRECTION('',(0.,0.,1.)); +#1923=DIRECTION('',(-1.,0.,0.)); +#1924=DIRECTION('',(0.,0.,1.)); +#1925=DIRECTION('',(1.,0.,0.)); +#1926=DIRECTION('',(0.,0.,-1.)); +#1927=DIRECTION('',(0.999999999999994,0.,0.)); +#1928=DIRECTION('',(0.,0.,1.)); +#1929=DIRECTION('',(-1.,0.,0.)); +#1930=DIRECTION('',(0.,0.,-1.)); +#1931=DIRECTION('',(0.999999999999994,0.,0.)); +#1932=DIRECTION('',(0.,0.,1.)); +#1933=DIRECTION('',(-1.,0.,0.)); +#1934=DIRECTION('',(0.,0.,-1.)); +#1935=DIRECTION('',(0.999999999999994,0.,0.)); +#1936=DIRECTION('',(0.,0.,1.)); +#1937=DIRECTION('',(0.999999999999994,0.,0.)); +#1938=DIRECTION('',(0.,0.,-1.)); +#1939=DIRECTION('',(0.999999999999994,0.,0.)); +#1940=DIRECTION('',(0.,0.,1.)); +#1941=DIRECTION('',(0.999999999999994,0.,0.)); +#1942=DIRECTION('',(1.07657990266682E-16,-1.,0.)); +#1943=DIRECTION('',(1.07657990266682E-16,-1.,0.)); +#1944=DIRECTION('',(-1.,-1.07657990266682E-16,0.)); +#1945=DIRECTION('',(1.11022302462516E-16,-1.,0.)); +#1946=DIRECTION('',(0.,0.,-1.)); +#1947=DIRECTION('',(-1.,-2.19191838937448E-16,0.)); +#1948=DIRECTION('',(0.,0.,-1.)); +#1949=DIRECTION('',(-1.,-2.19191838937448E-16,0.)); +#1950=DIRECTION('',(0.,0.,-1.)); +#1951=DIRECTION('',(-1.,-2.19191838937448E-16,0.)); +#1952=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#1953=DIRECTION('',(0.,0.,1.)); +#1954=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#1955=DIRECTION('',(0.,0.,-1.)); +#1956=DIRECTION('',(2.15315980533364E-16,-1.,0.)); +#1957=DIRECTION('',(0.,0.,1.)); +#1958=DIRECTION('',(5.24247591418669E-16,-1.,0.)); +#1959=DIRECTION('',(5.24247591418669E-16,-1.,0.)); +#1960=DIRECTION('',(0.,0.,-1.)); +#1961=DIRECTION('',(1.,5.24247591418669E-16,0.)); +#1962=DIRECTION('',(5.27355936696949E-16,-1.,0.)); +#1963=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1964=DIRECTION('',(0.,0.,-1.)); +#1965=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1966=DIRECTION('',(-2.15315980533364E-16,1.,0.)); +#1967=DIRECTION('',(-1.,-2.22044604925031E-16,0.)); +#1968=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1969=DIRECTION('',(0.,0.,1.)); +#1970=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#1971=DIRECTION('',(0.,0.,-1.)); +#1972=DIRECTION('',(-2.15315980533364E-16,1.,0.)); +#1973=DIRECTION('',(-1.,-2.22044604925031E-16,0.)); +#1974=DIRECTION('',(0.,0.,1.)); +#1975=DIRECTION('',(-1.,0.,0.)); +#1976=DIRECTION('',(0.,0.,-1.)); +#1977=DIRECTION('',(-1.,0.,0.)); +#1978=DIRECTION('',(0.,0.,-1.)); +#1979=DIRECTION('',(0.,0.,-1.)); +#1980=DIRECTION('',(-1.,0.,0.)); +#1981=DIRECTION('',(0.,0.,1.)); +#1982=DIRECTION('',(-1.,0.,0.)); +#1983=DIRECTION('',(0.,0.,1.)); +#1984=DIRECTION('',(0.,0.,-1.)); +#1985=DIRECTION('',(-1.,0.,0.)); +#1986=DIRECTION('',(0.,0.,1.)); +#1987=DIRECTION('',(1.,0.,0.)); +#1988=DIRECTION('',(0.,0.,1.)); +#1989=DIRECTION('',(-1.,0.,0.)); +#1990=DIRECTION('',(0.,0.,-1.)); +#1991=DIRECTION('',(-1.,0.,0.)); +#1992=DIRECTION('',(0.,0.,-1.)); +#1993=DIRECTION('',(0.,0.,1.)); +#1994=DIRECTION('',(1.,0.,0.)); +#1995=DIRECTION('',(0.,0.,1.)); +#1996=DIRECTION('',(0.999999999999994,0.,0.)); +#1997=DIRECTION('',(0.,0.,1.)); +#1998=DIRECTION('',(-1.,0.,0.)); +#1999=DIRECTION('',(0.,0.,1.)); +#2000=DIRECTION('',(0.999999999999994,0.,0.)); +#2001=DIRECTION('',(0.,0.,1.)); +#2002=DIRECTION('',(-1.,0.,0.)); +#2003=DIRECTION('',(0.,0.,1.)); +#2004=DIRECTION('',(0.999999999999994,0.,0.)); +#2005=DIRECTION('',(0.,0.,1.)); +#2006=DIRECTION('',(0.999999999999994,0.,0.)); +#2007=DIRECTION('',(0.,0.,1.)); +#2008=DIRECTION('',(0.999999999999994,0.,0.)); +#2009=DIRECTION('',(0.,0.,1.)); +#2010=DIRECTION('',(0.999999999999994,0.,0.)); +#2011=DIRECTION('',(-3.22973970800046E-16,1.,0.)); +#2012=DIRECTION('',(-3.22973970800046E-16,1.,0.)); +#2013=DIRECTION('',(-1.,-3.22973970800046E-16,0.)); +#2014=DIRECTION('',(3.19189119579733E-16,-1.,0.)); +#2015=DIRECTION('',(0.,0.,1.)); +#2016=DIRECTION('',(-1.,0.,0.)); +#2017=DIRECTION('',(0.,0.,1.)); +#2018=DIRECTION('',(0.,0.,1.)); +#2019=DIRECTION('',(-1.,0.,0.)); +#2020=DIRECTION('',(0.,0.,-1.)); +#2021=DIRECTION('',(-1.,0.,0.)); +#2022=DIRECTION('',(-3.22973970800046E-16,1.,0.)); +#2023=DIRECTION('',(-3.22973970800046E-16,1.,0.)); +#2024=DIRECTION('',(-1.,-3.22973970800046E-16,0.)); +#2025=DIRECTION('',(3.19189119579733E-16,-1.,0.)); +#2026=DIRECTION('',(1.,0.,0.)); +#2027=DIRECTION('',(0.,0.,-1.)); +#2028=DIRECTION('',(1.,0.,0.)); +#2029=DIRECTION('',(0.,-1.,0.)); +#2030=DIRECTION('',(0.,0.,1.)); +#2031=DIRECTION('',(1.,0.,0.)); +#2032=DIRECTION('',(0.,0.,-1.)); +#2033=DIRECTION('',(1.,0.,0.)); +#2034=DIRECTION('',(0.,0.,1.)); +#2035=DIRECTION('',(0.,-1.,0.)); +#2036=DIRECTION('',(0.,0.,1.)); +#2037=DIRECTION('',(-3.08931610885305E-16,-1.,0.)); +#2038=DIRECTION('',(0.,0.,-1.)); +#2039=DIRECTION('',(-3.08931610885305E-16,-1.,0.)); +#2040=DIRECTION('',(-1.,3.08931610885305E-16,0.)); +#2041=DIRECTION('',(0.,0.,-1.)); +#2042=DIRECTION('',(-1.,0.,0.)); +#2043=DIRECTION('',(-1.,0.,0.)); +#2044=DIRECTION('',(0.,0.,-1.)); +#2045=DIRECTION('',(0.,1.,0.)); +#2046=DIRECTION('',(-1.,0.,0.)); +#2047=DIRECTION('',(-1.,0.,0.)); +#2048=DIRECTION('',(0.,0.,-1.)); +#2049=DIRECTION('',(-1.,0.,0.)); +#2050=DIRECTION('',(0.,0.,1.)); +#2051=DIRECTION('',(0.,1.,0.)); +#2052=DIRECTION('',(-1.,0.,0.)); +#2053=DIRECTION('',(0.,0.,-1.)); +#2054=DIRECTION('',(1.,0.,0.)); +#2055=DIRECTION('',(0.,0.,-1.)); +#2056=DIRECTION('',(0.,0.,1.)); +#2057=DIRECTION('',(1.,0.,0.)); +#2058=DIRECTION('',(0.,0.,-1.)); +#2059=DIRECTION('',(1.,0.,0.)); +#2060=DIRECTION('',(0.,0.,-1.)); +#2061=DIRECTION('',(1.,0.,0.)); +#2062=DIRECTION('',(0.,0.,1.)); +#2063=DIRECTION('',(1.,0.,0.)); +#2064=DIRECTION('',(0.,0.,1.)); +#2065=DIRECTION('',(0.,0.,1.)); +#2066=DIRECTION('',(-1.,0.,0.)); +#2067=DIRECTION('',(0.,0.,-1.)); +#2068=DIRECTION('',(1.,0.,0.)); +#2069=DIRECTION('',(0.,0.,-1.)); +#2070=DIRECTION('',(0.,0.,1.)); +#2071=DIRECTION('',(1.,0.,0.)); +#2072=DIRECTION('',(0.,0.,1.)); +#2073=DIRECTION('',(-1.,0.,0.)); +#2074=DIRECTION('',(0.,0.,-1.)); +#2075=DIRECTION('',(1.,0.,0.)); +#2076=DIRECTION('',(0.,0.,1.)); +#2077=DIRECTION('',(-1.,0.,0.)); +#2078=DIRECTION('',(0.,0.,-1.)); +#2079=DIRECTION('',(1.,0.,0.)); +#2080=DIRECTION('',(0.,0.,1.)); +#2081=DIRECTION('',(-1.,0.,0.)); +#2082=DIRECTION('',(0.,0.,-1.)); +#2083=DIRECTION('',(1.,0.,0.)); +#2084=DIRECTION('',(0.,0.,1.)); +#2085=DIRECTION('',(-1.,0.,0.)); +#2086=DIRECTION('',(0.,0.,-1.)); +#2087=DIRECTION('',(1.,0.,0.)); +#2088=DIRECTION('',(0.,0.,1.)); +#2089=DIRECTION('',(-1.,0.,0.)); +#2090=DIRECTION('',(1.07657990266682E-16,1.,0.)); +#2091=DIRECTION('',(1.07657990266682E-16,1.,0.)); +#2092=DIRECTION('',(1.,-1.07657990266682E-16,0.)); +#2093=DIRECTION('',(1.11022302462516E-16,1.,0.)); +#2094=DIRECTION('',(0.,0.,-1.)); +#2095=DIRECTION('',(1.,0.,0.)); +#2096=DIRECTION('',(0.,0.,-1.)); +#2097=DIRECTION('',(1.,0.,0.)); +#2098=DIRECTION('',(0.,0.,-1.)); +#2099=DIRECTION('',(1.,0.,0.)); +#2100=DIRECTION('',(1.,0.,0.)); +#2101=DIRECTION('',(0.,0.,1.)); +#2102=DIRECTION('',(1.,0.,0.)); +#2103=DIRECTION('',(0.,0.,-1.)); +#2104=DIRECTION('',(0.,1.,0.)); +#2105=DIRECTION('',(-1.,0.,0.)); +#2106=DIRECTION('',(-3.08931610885305E-16,1.,0.)); +#2107=DIRECTION('',(-3.08931610885305E-16,1.,0.)); +#2108=DIRECTION('',(0.,0.,-1.)); +#2109=DIRECTION('',(-1.,-3.08931610885305E-16,0.)); +#2110=DIRECTION('',(3.12250225675825E-16,-1.,0.)); +#2111=DIRECTION('',(-1.,0.,0.)); +#2112=DIRECTION('',(0.,0.,-1.)); +#2113=DIRECTION('',(-1.,0.,0.)); +#2114=DIRECTION('',(0.,-1.,0.)); +#2115=DIRECTION('',(0.,0.,1.)); +#2116=DIRECTION('',(-1.,0.,0.)); +#2117=DIRECTION('',(0.,0.,1.)); +#2118=DIRECTION('',(-1.,0.,0.)); +#2119=DIRECTION('',(0.,0.,-1.)); +#2120=DIRECTION('',(0.,-1.,0.)); +#2121=DIRECTION('',(0.,0.,1.)); +#2122=DIRECTION('',(0.,0.,1.)); +#2123=DIRECTION('',(1.,0.,0.)); +#2124=DIRECTION('',(0.,0.,-1.)); +#2125=DIRECTION('',(1.,0.,0.)); +#2126=DIRECTION('',(0.,0.,-1.)); +#2127=DIRECTION('',(0.,0.,-1.)); +#2128=DIRECTION('',(1.,0.,0.)); +#2129=DIRECTION('',(0.,0.,1.)); +#2130=DIRECTION('',(1.,0.,0.)); +#2131=DIRECTION('',(0.,0.,1.)); +#2132=DIRECTION('',(0.,0.,-1.)); +#2133=DIRECTION('',(1.,0.,0.)); +#2134=DIRECTION('',(0.,0.,1.)); +#2135=DIRECTION('',(-1.,0.,0.)); +#2136=DIRECTION('',(0.,0.,1.)); +#2137=DIRECTION('',(1.,0.,0.)); +#2138=DIRECTION('',(0.,0.,-1.)); +#2139=DIRECTION('',(1.,0.,0.)); +#2140=DIRECTION('',(0.,0.,-1.)); +#2141=DIRECTION('',(0.,0.,1.)); +#2142=DIRECTION('',(-1.,0.,0.)); +#2143=DIRECTION('',(0.,0.,1.)); +#2144=DIRECTION('',(1.,0.,0.)); +#2145=DIRECTION('',(0.,0.,1.)); +#2146=DIRECTION('',(-1.,0.,0.)); +#2147=DIRECTION('',(0.,0.,1.)); +#2148=DIRECTION('',(1.,0.,0.)); +#2149=DIRECTION('',(0.,0.,1.)); +#2150=DIRECTION('',(-1.,0.,0.)); +#2151=DIRECTION('',(0.,0.,1.)); +#2152=DIRECTION('',(1.,0.,0.)); +#2153=DIRECTION('',(0.,0.,1.)); +#2154=DIRECTION('',(-1.,0.,0.)); +#2155=DIRECTION('',(0.,0.,1.)); +#2156=DIRECTION('',(1.,0.,0.)); +#2157=DIRECTION('',(0.,0.,1.)); +#2158=DIRECTION('',(-1.,0.,0.)); +#2159=DIRECTION('',(1.07657990266682E-16,-1.,0.)); +#2160=DIRECTION('',(1.07657990266682E-16,-1.,0.)); +#2161=DIRECTION('',(1.,1.07657990266682E-16,0.)); +#2162=DIRECTION('',(1.11022302462516E-16,-1.,0.)); +#2163=DIRECTION('',(1.73472347597681E-16,1.,0.)); +#2164=DIRECTION('',(1.,0.,0.)); +#2165=DIRECTION('',(-1.73472347597681E-16,-1.,0.)); +#2166=DIRECTION('',(-1.,0.,0.)); +#2167=DIRECTION('',(1.73472347597681E-16,1.,0.)); +#2168=DIRECTION('',(1.,0.,0.)); +#2169=DIRECTION('',(-8.67361737988404E-17,-1.,0.)); +#2170=DIRECTION('',(-1.,0.,0.)); +#2171=DIRECTION('',(0.,0.,1.)); +#2172=DIRECTION('',(1.,0.,0.)); +#2173=DIRECTION('',(1.07657990266682E-16,-1.,0.)); +#2174=DIRECTION('',(0.,0.,1.)); +#2175=DIRECTION('',(-1.,0.,0.)); +#2176=DIRECTION('',(-1.,0.,0.)); +#2177=DIRECTION('',(-1.73472347597681E-16,-1.,0.)); +#2178=DIRECTION('',(1.,0.,0.)); +#2179=DIRECTION('',(1.73472347597681E-16,1.,0.)); +#2180=DIRECTION('',(-1.,0.,0.)); +#2181=DIRECTION('',(-1.73472347597681E-16,-1.,0.)); +#2182=DIRECTION('',(1.,0.,0.)); +#2183=DIRECTION('',(8.67361737988404E-17,1.,0.)); +#2184=DIRECTION('',(-1.,0.,0.)); +#2185=DIRECTION('',(0.,-1.,0.)); +#2186=DIRECTION('',(0.,0.,-1.)); +#2187=DIRECTION('',(1.,0.,0.)); +#2188=DIRECTION('',(-1.,0.,0.)); +#2189=DIRECTION('',(0.,-1.,0.)); +#2190=DIRECTION('',(-1.,0.,0.)); +#2191=DIRECTION('',(0.,0.,1.)); +#2192=DIRECTION('',(1.,0.,0.)); +#2193=DIRECTION('',(0.,1.,0.)); +#2194=DIRECTION('',(-1.,0.,0.)); +#2195=DIRECTION('',(-2.15315980533364E-16,1.,0.)); +#2196=DIRECTION('',(0.,0.,-1.)); +#2197=DIRECTION('',(-1.,0.,0.)); +#2198=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#2199=DIRECTION('',(-2.15315980533364E-16,1.,0.)); +#2200=DIRECTION('',(1.,2.15315980533364E-16,0.)); +#2201=DIRECTION('',(0.,0.,1.)); +#2202=DIRECTION('',(-1.,0.,0.)); +#2203=DIRECTION('',(2.15315980533364E-16,-1.,0.)); +#2204=DIRECTION('',(0.,0.,1.)); +#2205=DIRECTION('',(1.,0.,0.)); +#2206=DIRECTION('',(1.07657990266682E-16,-1.,0.)); +#2207=DIRECTION('',(0.,0.,1.)); +#2208=DIRECTION('',(-1.,0.,0.)); +#2209=DIRECTION('',(0.,0.,-1.)); +#2210=DIRECTION('',(1.,0.,0.)); +#2211=DIRECTION('',(1.,1.07657990266682E-16,0.)); +#2212=DIRECTION('',(1.11022302462516E-16,-1.,0.)); +#2213=DIRECTION('',(0.,0.,-1.)); +#2214=DIRECTION('',(0.,0.,1.)); +#2215=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#2216=DIRECTION('',(2.22044604925031E-16,-1.,0.)); +#2217=DIRECTION('',(0.,0.,-1.)); +#2218=DIRECTION('',(0.,0.,1.)); +#2219=DIRECTION('',(2.15315980533364E-16,-1.,0.)); +#2220=DIRECTION('',(0.,0.,1.)); +#2221=DIRECTION('',(0.,0.,-1.)); +#2222=DIRECTION('',(-1.,0.,0.)); +#2223=DIRECTION('',(0.,0.,1.)); +#2224=DIRECTION('',(0.,0.,-1.)); +#2225=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#2226=DIRECTION('',(2.22044604925031E-16,-1.,0.)); +#2227=DIRECTION('',(0.,0.,1.)); +#2228=DIRECTION('',(0.,0.,-1.)); +#2229=DIRECTION('',(-2.15315980533364E-16,1.,0.)); +#2230=DIRECTION('',(-1.,-2.22044604925031E-16,0.)); +#2231=DIRECTION('',(0.,0.,-1.)); +#2232=DIRECTION('',(-1.,0.,0.)); +#2233=DIRECTION('',(-1.,-2.15315980533364E-16,0.)); +#2234=DIRECTION('',(2.22044604925031E-16,-1.,0.)); +#2235=DIRECTION('',(0.,0.,-1.)); +#2236=DIRECTION('',(0.,0.,1.)); +#2237=DIRECTION('',(1.,0.,0.)); +#2238=DIRECTION('',(0.,-1.,0.)); +#2239=DIRECTION('',(0.,0.,-1.)); +#2240=DIRECTION('',(0.,0.,1.)); +#2241=DIRECTION('',(0.,1.,0.)); +#2242=DIRECTION('',(-1.,0.,0.)); +#2243=DIRECTION('',(0.,0.,-1.)); +#2244=DIRECTION('',(1.,0.,0.)); +#2245=DIRECTION('',(0.,1.,0.)); +#2246=DIRECTION('',(-1.,0.,0.)); +#2247=DIRECTION('',(0.,0.,1.)); +#2248=DIRECTION('',(0.,0.,-1.)); +#2249=DIRECTION('',(1.,0.,0.)); +#2250=DIRECTION('',(0.,-1.,0.)); +#2251=DIRECTION('',(0.,0.,1.)); +#2252=DIRECTION('',(0.,0.,-1.)); +#2253=DIRECTION('',(0.,-1.,0.)); +#2254=DIRECTION('',(0.,0.,1.)); +#2255=DIRECTION('',(0.,0.,-1.)); +#2256=DIRECTION('',(1.,0.,0.)); +#2257=DIRECTION('',(0.,-1.,0.)); +#2258=DIRECTION('',(0.,0.,1.)); +#2259=DIRECTION('',(1.,0.,0.)); +#2260=DIRECTION('',(0.,-1.,0.)); +#2261=DIRECTION('',(0.,0.,-1.)); +#2262=DIRECTION('',(0.,0.,-1.)); +#2263=DIRECTION('',(1.,-1.73472347597681E-16,0.)); +#2264=DIRECTION('',(-1.73472347597681E-16,-1.,0.)); +#2265=DIRECTION('',(0.,0.,-1.)); +#2266=DIRECTION('',(0.,1.,0.)); +#2267=DIRECTION('',(0.,0.,-1.)); +#2268=DIRECTION('',(0.,0.,-1.)); +#2269=DIRECTION('',(-1.,8.67361737988404E-17,0.)); +#2270=DIRECTION('',(9.0205620750794E-17,1.,0.)); +#2271=DIRECTION('',(0.,-1.,0.)); +#2272=DIRECTION('',(0.,0.,1.)); +#2273=DIRECTION('',(0.,0.,-1.)); +#2274=DIRECTION('',(0.,0.,-1.)); +#2275=DIRECTION('',(1.,-1.73472347597681E-16,0.)); +#2276=DIRECTION('',(-1.80411241501588E-16,-1.,0.)); +#2277=DIRECTION('',(0.,0.,-1.)); +#2278=DIRECTION('',(0.,1.,0.)); +#2279=DIRECTION('',(0.,0.,-1.)); +#2280=DIRECTION('',(0.,0.,-1.)); +#2281=DIRECTION('',(-1.,1.73472347597681E-16,0.)); +#2282=DIRECTION('',(1.80411241501588E-16,1.,0.)); +#2283=DIRECTION('',(0.,-1.,0.)); +#2284=DIRECTION('',(0.,0.,1.)); +#2285=CARTESIAN_POINT('',(0.,0.,0.)); +#2286=CARTESIAN_POINT('',(-31.0433966733252,-150.543396839746,10.)); +#2287=CARTESIAN_POINT('',(-29.7933966733252,-150.543396839746,10.)); +#2288=CARTESIAN_POINT('',(-31.0433966733252,-150.543396839746,0.)); +#2289=CARTESIAN_POINT('',(-29.7933966733252,-150.543396839746,0.)); +#2290=CARTESIAN_POINT('',(-31.0433966733252,-150.543396839746,-13.)); +#2291=CARTESIAN_POINT('',(82.9566046733252,-150.543396839746,10.)); +#2292=CARTESIAN_POINT('',(84.2066046733252,-150.543396839746,10.)); +#2293=CARTESIAN_POINT('',(82.9566046733252,-150.543396839746,0.)); +#2294=CARTESIAN_POINT('',(84.2066046733252,-150.543396839746,0.)); +#2295=CARTESIAN_POINT('',(82.9566046733252,-150.543396839746,-13.)); +#2296=CARTESIAN_POINT('',(82.9566046733252,13.456604839746,10.)); +#2297=CARTESIAN_POINT('',(84.2066046733252,13.456604839746,10.)); +#2298=CARTESIAN_POINT('',(82.9566046733252,13.456604839746,0.)); +#2299=CARTESIAN_POINT('',(84.2066046733252,13.456604839746,0.)); +#2300=CARTESIAN_POINT('',(82.9566046733252,13.456604839746,-13.)); +#2301=CARTESIAN_POINT('',(-31.0433966733252,13.456604839746,10.)); +#2302=CARTESIAN_POINT('',(-29.7933966733252,13.456604839746,10.)); +#2303=CARTESIAN_POINT('',(-31.0433966733252,13.456604839746,0.)); +#2304=CARTESIAN_POINT('',(-29.7933966733252,13.456604839746,0.)); +#2305=CARTESIAN_POINT('',(-31.0433966733252,13.456604839746,-13.)); +#2306=CARTESIAN_POINT('',(-30.543396,12.9566047708867,6.)); +#2307=CARTESIAN_POINT('',(-28.543396,12.9566047708867,6.)); +#2308=CARTESIAN_POINT('',(-30.543396,10.9566047708867,6.)); +#2309=CARTESIAN_POINT('',(-28.543396,15.9566043742551,6.)); +#2310=CARTESIAN_POINT('',(-28.543396,15.9566043742551,6.)); +#2311=CARTESIAN_POINT('',(80.456604,15.9566043742551,6.)); +#2312=CARTESIAN_POINT('',(80.456604,15.9566043742551,6.)); +#2313=CARTESIAN_POINT('',(80.456604,12.9566047708867,6.)); +#2314=CARTESIAN_POINT('',(80.456604,12.9566047708867,6.)); +#2315=CARTESIAN_POINT('',(82.456604,12.9566047708867,6.)); +#2316=CARTESIAN_POINT('',(82.456604,10.9566047708867,6.)); +#2317=CARTESIAN_POINT('',(85.456604,10.9566047708867,6.)); +#2318=CARTESIAN_POINT('',(85.456604,10.9566047708867,6.)); +#2319=CARTESIAN_POINT('',(85.456604,-148.043396770887,6.)); +#2320=CARTESIAN_POINT('',(85.456604,-148.043396770887,6.)); +#2321=CARTESIAN_POINT('',(82.456604,-148.043396770887,6.)); +#2322=CARTESIAN_POINT('',(82.456604,-148.043396770887,6.)); +#2323=CARTESIAN_POINT('',(82.456604,-150.043396770886,6.)); +#2324=CARTESIAN_POINT('',(80.456604,-150.043396770886,6.)); +#2325=CARTESIAN_POINT('',(80.456604,-153.043396374255,6.)); +#2326=CARTESIAN_POINT('',(80.456604,-153.043396374255,6.)); +#2327=CARTESIAN_POINT('',(-28.543396,-153.043396374255,6.)); +#2328=CARTESIAN_POINT('',(-28.543396,-153.043396374255,6.)); +#2329=CARTESIAN_POINT('',(-28.543396,-150.043396770886,6.)); +#2330=CARTESIAN_POINT('',(-28.543396,-150.043396770886,6.)); +#2331=CARTESIAN_POINT('',(-30.543396,-150.043396770886,6.)); +#2332=CARTESIAN_POINT('',(-30.543396,-148.043396770887,6.)); +#2333=CARTESIAN_POINT('',(-33.543396,-148.043396770887,6.)); +#2334=CARTESIAN_POINT('',(-33.543396,-148.043396770887,6.)); +#2335=CARTESIAN_POINT('',(-33.543396,10.9566047708867,6.)); +#2336=CARTESIAN_POINT('',(-33.543396,10.9566047708867,6.)); +#2337=CARTESIAN_POINT('',(-30.543396,10.9566047708867,6.)); +#2338=CARTESIAN_POINT('',(-30.543396,12.9566047708867,6.)); +#2339=CARTESIAN_POINT('',(-11.543396,18.9612090736138,10.)); +#2340=CARTESIAN_POINT('',(-11.543396,18.9612090736138,10.)); +#2341=CARTESIAN_POINT('',(-11.543396,18.9612090736138,0.)); +#2342=CARTESIAN_POINT('',(-11.5466882980063,18.9612090308141,10.)); +#2343=CARTESIAN_POINT('',(63.456604,18.9612090308141,10.)); +#2344=CARTESIAN_POINT('',(63.456604,18.9612090736139,10.)); +#2345=CARTESIAN_POINT('',(63.456604,18.9612090308141,0.)); +#2346=CARTESIAN_POINT('',(-11.5466882980063,18.9612090308141,0.)); +#2347=CARTESIAN_POINT('',(-11.5466882980063,18.9612090308141,0.)); +#2348=CARTESIAN_POINT('',(113.787753423111,-6.543396,0.)); +#2349=CARTESIAN_POINT('',(99.956604,-6.543396,0.)); +#2350=CARTESIAN_POINT('',(88.456604,-6.543396,0.)); +#2351=CARTESIAN_POINT('',(88.456604,-6.543396,10.)); +#2352=CARTESIAN_POINT('',(88.456604,-6.543396,10.)); +#2353=CARTESIAN_POINT('',(113.787753423111,-6.543396,10.)); +#2354=CARTESIAN_POINT('',(99.956604,-6.543396,10.)); +#2355=CARTESIAN_POINT('',(99.956604,-6.543396,10.)); +#2356=CARTESIAN_POINT('',(113.787753423111,-6.543396,10.)); +#2357=CARTESIAN_POINT('',(88.456604,-6.543396,0.)); +#2358=CARTESIAN_POINT('',(88.456604,16.456604994521,0.)); +#2359=CARTESIAN_POINT('',(88.456604,16.456604994521,10.)); +#2360=CARTESIAN_POINT('',(88.456604,16.456604994521,10.)); +#2361=CARTESIAN_POINT('',(88.456604,-6.543396,10.)); +#2362=CARTESIAN_POINT('',(88.456604,-6.543396,10.)); +#2363=CARTESIAN_POINT('',(88.456604,16.456604994521,10.)); +#2364=CARTESIAN_POINT('',(99.956604,16.456604994521,10.)); +#2365=CARTESIAN_POINT('',(88.456604,16.456604994521,0.)); +#2366=CARTESIAN_POINT('',(99.956604,16.456604994521,0.)); +#2367=CARTESIAN_POINT('',(99.956604,16.456604994521,0.)); +#2368=CARTESIAN_POINT('',(88.456604,16.456604994521,10.)); +#2369=CARTESIAN_POINT('',(25.956604,21.456604,0.)); +#2370=CARTESIAN_POINT('',(88.4747137602079,21.456604,0.)); +#2371=CARTESIAN_POINT('',(99.956604,21.456604,0.)); +#2372=CARTESIAN_POINT('',(88.4747137602079,21.456604,10.)); +#2373=CARTESIAN_POINT('',(88.4747137602079,21.456604,10.)); +#2374=CARTESIAN_POINT('',(25.956604,21.456604,10.)); +#2375=CARTESIAN_POINT('',(99.956604,21.456604,10.)); +#2376=CARTESIAN_POINT('',(99.956604,21.456604,10.)); +#2377=CARTESIAN_POINT('',(25.956604,21.456604,10.)); +#2378=CARTESIAN_POINT('',(99.956604,20.456604,10.)); +#2379=CARTESIAN_POINT('',(100.956604,20.456604,10.)); +#2380=CARTESIAN_POINT('',(100.956604,20.456604,10.)); +#2381=CARTESIAN_POINT('',(100.956604,20.456604,0.)); +#2382=CARTESIAN_POINT('',(99.956604,20.456604,0.)); +#2383=CARTESIAN_POINT('',(99.956604,20.456604,10.)); +#2384=CARTESIAN_POINT('',(99.956604,17.456604994521,10.)); +#2385=CARTESIAN_POINT('',(100.956604,17.456604994521,10.)); +#2386=CARTESIAN_POINT('',(99.956604,17.456604994521,0.)); +#2387=CARTESIAN_POINT('',(100.956604,17.456604994521,0.)); +#2388=CARTESIAN_POINT('',(100.956604,17.456604994521,10.)); +#2389=CARTESIAN_POINT('',(99.956604,17.456604994521,10.)); +#2390=CARTESIAN_POINT('',(99.956604,-7.543396,10.)); +#2391=CARTESIAN_POINT('',(100.956604,-7.543396,10.)); +#2392=CARTESIAN_POINT('',(100.956604,-7.543396,0.)); +#2393=CARTESIAN_POINT('',(100.956604,-7.543396,0.)); +#2394=CARTESIAN_POINT('',(99.956604,-7.543396,0.)); +#2395=CARTESIAN_POINT('',(99.956604,-7.543396,10.)); +#2396=CARTESIAN_POINT('',(94.7066047043508,18.8566055800037,2.)); +#2397=CARTESIAN_POINT('',(93.7583001842361,18.8566055800037,2.)); +#2398=CARTESIAN_POINT('',(51.913208,5.58887164157624E-15,2.)); +#2399=CARTESIAN_POINT('',(94.7066045089086,-8.94339616010619,2.)); +#2400=CARTESIAN_POINT('',(93.7583001618996,-8.94339616010619,2.)); +#2401=CARTESIAN_POINT('',(51.913208,5.58887164157624E-15,2.)); +#2402=CARTESIAN_POINT('',(94.7066045089086,-8.94339616010619,10.)); +#2403=CARTESIAN_POINT('',(93.7583001618996,-8.94339616010619,10.)); +#2404=CARTESIAN_POINT('',(94.7066045089086,-8.94339616010619,3.)); +#2405=CARTESIAN_POINT('',(94.7066047043508,18.8566055800037,10.)); +#2406=CARTESIAN_POINT('',(93.7583001842361,18.8566055800037,10.)); +#2407=CARTESIAN_POINT('',(94.7066047043508,18.8566055800037,3.)); +#2408=CARTESIAN_POINT('',(100.956604,21.456604,10.)); +#2409=CARTESIAN_POINT('',(100.956604,21.456604,0.)); +#2410=CARTESIAN_POINT('',(100.956604,21.456604,10.)); +#2411=CARTESIAN_POINT('',(63.4598962980076,145.588075022616,10.)); +#2412=CARTESIAN_POINT('',(63.4598962980076,145.588075022616,0.)); +#2413=CARTESIAN_POINT('',(63.4598962980076,145.588075022616,10.)); +#2414=CARTESIAN_POINT('',(113.787753423111,-130.543396,0.)); +#2415=CARTESIAN_POINT('',(99.956604,-130.543396,0.)); +#2416=CARTESIAN_POINT('',(88.456604,-130.543396,0.)); +#2417=CARTESIAN_POINT('',(99.956604,-130.543396,10.)); +#2418=CARTESIAN_POINT('',(99.956604,-130.543396,10.)); +#2419=CARTESIAN_POINT('',(113.787753423111,-130.543396,10.)); +#2420=CARTESIAN_POINT('',(88.456604,-130.543396,10.)); +#2421=CARTESIAN_POINT('',(88.456604,-130.543396,10.)); +#2422=CARTESIAN_POINT('',(113.787753423111,-130.543396,10.)); +#2423=CARTESIAN_POINT('',(88.456604,-130.543396,0.)); +#2424=CARTESIAN_POINT('',(88.456604,-153.543396994521,0.)); +#2425=CARTESIAN_POINT('',(88.456604,-130.543396,10.)); +#2426=CARTESIAN_POINT('',(88.456604,-153.543396994521,10.)); +#2427=CARTESIAN_POINT('',(88.456604,-153.543396994521,10.)); +#2428=CARTESIAN_POINT('',(88.456604,-130.543396,10.)); +#2429=CARTESIAN_POINT('',(88.456604,-153.543396994521,10.)); +#2430=CARTESIAN_POINT('',(99.956604,-153.543396994521,10.)); +#2431=CARTESIAN_POINT('',(99.956604,-153.543396994521,0.)); +#2432=CARTESIAN_POINT('',(99.956604,-153.543396994521,0.)); +#2433=CARTESIAN_POINT('',(88.456604,-153.543396994521,0.)); +#2434=CARTESIAN_POINT('',(88.456604,-153.543396994521,10.)); +#2435=CARTESIAN_POINT('',(25.956604,-158.543396,0.)); +#2436=CARTESIAN_POINT('',(88.4747137602079,-158.543396,0.)); +#2437=CARTESIAN_POINT('',(99.956604,-158.543396,0.)); +#2438=CARTESIAN_POINT('',(99.956604,-158.543396,10.)); +#2439=CARTESIAN_POINT('',(99.956604,-158.543396,10.)); +#2440=CARTESIAN_POINT('',(25.956604,-158.543396,10.)); +#2441=CARTESIAN_POINT('',(88.4747137602079,-158.543396,10.)); +#2442=CARTESIAN_POINT('',(88.4747137602079,-158.543396,10.)); +#2443=CARTESIAN_POINT('',(25.956604,-158.543396,10.)); +#2444=CARTESIAN_POINT('',(99.956604,-157.543396,10.)); +#2445=CARTESIAN_POINT('',(100.956604,-157.543396,10.)); +#2446=CARTESIAN_POINT('',(99.956604,-157.543396,0.)); +#2447=CARTESIAN_POINT('',(100.956604,-157.543396,0.)); +#2448=CARTESIAN_POINT('',(100.956604,-157.543396,10.)); +#2449=CARTESIAN_POINT('',(99.956604,-157.543396,10.)); +#2450=CARTESIAN_POINT('',(99.956604,-154.543396994521,10.)); +#2451=CARTESIAN_POINT('',(100.956604,-154.543396994521,10.)); +#2452=CARTESIAN_POINT('',(100.956604,-154.543396994521,10.)); +#2453=CARTESIAN_POINT('',(100.956604,-154.543396994521,0.)); +#2454=CARTESIAN_POINT('',(99.956604,-154.543396994521,0.)); +#2455=CARTESIAN_POINT('',(99.956604,-154.543396994521,10.)); +#2456=CARTESIAN_POINT('',(99.956604,-129.543396,10.)); +#2457=CARTESIAN_POINT('',(100.956604,-129.543396,10.)); +#2458=CARTESIAN_POINT('',(99.956604,-129.543396,0.)); +#2459=CARTESIAN_POINT('',(100.956604,-129.543396,0.)); +#2460=CARTESIAN_POINT('',(100.956604,-129.543396,0.)); +#2461=CARTESIAN_POINT('',(99.956604,-129.543396,10.)); +#2462=CARTESIAN_POINT('',(94.7066047043508,-155.943397580004,2.)); +#2463=CARTESIAN_POINT('',(93.7583001842361,-155.943397580004,2.)); +#2464=CARTESIAN_POINT('',(51.913208,-137.086792,2.)); +#2465=CARTESIAN_POINT('',(94.7066045089086,-128.143395839894,2.)); +#2466=CARTESIAN_POINT('',(93.7583001618996,-128.143395839894,2.)); +#2467=CARTESIAN_POINT('',(51.913208,-137.086792,2.)); +#2468=CARTESIAN_POINT('',(94.7066045089086,-128.143395839894,10.)); +#2469=CARTESIAN_POINT('',(93.7583001618996,-128.143395839894,10.)); +#2470=CARTESIAN_POINT('',(94.7066045089086,-128.143395839894,3.)); +#2471=CARTESIAN_POINT('',(94.7066047043508,-155.943397580004,10.)); +#2472=CARTESIAN_POINT('',(93.7583001842361,-155.943397580004,10.)); +#2473=CARTESIAN_POINT('',(94.7066047043508,-155.943397580004,3.)); +#2474=CARTESIAN_POINT('',(100.956604,-158.543396,10.)); +#2475=CARTESIAN_POINT('',(100.956604,-158.543396,0.)); +#2476=CARTESIAN_POINT('',(100.956604,-158.543396,10.)); +#2477=CARTESIAN_POINT('',(63.4598962980077,-282.674867022616,10.)); +#2478=CARTESIAN_POINT('',(63.456604,-156.048001073614,10.)); +#2479=CARTESIAN_POINT('',(63.456604,-156.048001073614,0.)); +#2480=CARTESIAN_POINT('',(63.456604,-156.048001073614,0.)); +#2481=CARTESIAN_POINT('',(63.4598962980077,-282.674867022616,0.)); +#2482=CARTESIAN_POINT('',(63.4598962980077,-282.674867022616,10.)); +#2483=CARTESIAN_POINT('',(100.956604,-158.543396,0.)); +#2484=CARTESIAN_POINT('',(100.956604,-158.543396,10.)); +#2485=CARTESIAN_POINT('',(100.956604,-158.543396,10.)); +#2486=CARTESIAN_POINT('',(-11.543396,-156.048001073614,10.)); +#2487=CARTESIAN_POINT('',(-11.543396,-156.048001073614,10.)); +#2488=CARTESIAN_POINT('',(-11.543396,-156.048001073614,10.)); +#2489=CARTESIAN_POINT('',(-11.543396,-156.048001073614,0.)); +#2490=CARTESIAN_POINT('',(-11.543396,-156.048001073614,0.)); +#2491=CARTESIAN_POINT('',(-11.543396,-156.048001073614,0.)); +#2492=CARTESIAN_POINT('',(-61.8745454231106,-130.543396,0.)); +#2493=CARTESIAN_POINT('',(-48.043396,-130.543396,0.)); +#2494=CARTESIAN_POINT('',(-36.543396,-130.543396,0.)); +#2495=CARTESIAN_POINT('',(-36.543396,-130.543396,10.)); +#2496=CARTESIAN_POINT('',(-36.543396,-130.543396,10.)); +#2497=CARTESIAN_POINT('',(-61.8745454231106,-130.543396,10.)); +#2498=CARTESIAN_POINT('',(-48.043396,-130.543396,10.)); +#2499=CARTESIAN_POINT('',(-48.043396,-130.543396,10.)); +#2500=CARTESIAN_POINT('',(-61.8745454231106,-130.543396,10.)); +#2501=CARTESIAN_POINT('',(-36.543396,-130.543396,0.)); +#2502=CARTESIAN_POINT('',(-36.543396,-153.543396994521,0.)); +#2503=CARTESIAN_POINT('',(-36.543396,-153.543396994521,10.)); +#2504=CARTESIAN_POINT('',(-36.543396,-153.543396994521,10.)); +#2505=CARTESIAN_POINT('',(-36.543396,-130.543396,10.)); +#2506=CARTESIAN_POINT('',(-36.543396,-130.543396,10.)); +#2507=CARTESIAN_POINT('',(-36.543396,-153.543396994521,10.)); +#2508=CARTESIAN_POINT('',(-48.043396,-153.543396994521,10.)); +#2509=CARTESIAN_POINT('',(-36.543396,-153.543396994521,0.)); +#2510=CARTESIAN_POINT('',(-48.043396,-153.543396994521,0.)); +#2511=CARTESIAN_POINT('',(-48.043396,-153.543396994521,0.)); +#2512=CARTESIAN_POINT('',(-36.543396,-153.543396994521,10.)); +#2513=CARTESIAN_POINT('',(25.956604,-158.543396,0.)); +#2514=CARTESIAN_POINT('',(-36.5615057602079,-158.543396,0.)); +#2515=CARTESIAN_POINT('',(-48.043396,-158.543396,0.)); +#2516=CARTESIAN_POINT('',(-36.5615057602079,-158.543396,10.)); +#2517=CARTESIAN_POINT('',(-36.5615057602079,-158.543396,10.)); +#2518=CARTESIAN_POINT('',(25.956604,-158.543396,10.)); +#2519=CARTESIAN_POINT('',(-48.043396,-158.543396,10.)); +#2520=CARTESIAN_POINT('',(-48.043396,-158.543396,10.)); +#2521=CARTESIAN_POINT('',(25.956604,-158.543396,10.)); +#2522=CARTESIAN_POINT('',(-48.043396,-157.543396,10.)); +#2523=CARTESIAN_POINT('',(-49.043396,-157.543396,10.)); +#2524=CARTESIAN_POINT('',(-49.043396,-157.543396,10.)); +#2525=CARTESIAN_POINT('',(-49.043396,-157.543396,0.)); +#2526=CARTESIAN_POINT('',(-48.043396,-157.543396,0.)); +#2527=CARTESIAN_POINT('',(-48.043396,-157.543396,10.)); +#2528=CARTESIAN_POINT('',(-48.043396,-154.543396994521,10.)); +#2529=CARTESIAN_POINT('',(-49.043396,-154.543396994521,10.)); +#2530=CARTESIAN_POINT('',(-48.043396,-154.543396994521,0.)); +#2531=CARTESIAN_POINT('',(-49.043396,-154.543396994521,0.)); +#2532=CARTESIAN_POINT('',(-49.043396,-154.543396994521,10.)); +#2533=CARTESIAN_POINT('',(-48.043396,-154.543396994521,10.)); +#2534=CARTESIAN_POINT('',(-48.043396,-129.543396,10.)); +#2535=CARTESIAN_POINT('',(-49.043396,-129.543396,10.)); +#2536=CARTESIAN_POINT('',(-49.043396,-129.543396,0.)); +#2537=CARTESIAN_POINT('',(-49.043396,-129.543396,0.)); +#2538=CARTESIAN_POINT('',(-48.043396,-129.543396,0.)); +#2539=CARTESIAN_POINT('',(-48.043396,-129.543396,10.)); +#2540=CARTESIAN_POINT('',(-42.7933967043508,-155.943397580004,2.)); +#2541=CARTESIAN_POINT('',(-41.8450921842361,-155.943397580004,2.)); +#2542=CARTESIAN_POINT('',(0.,-137.086792,2.)); +#2543=CARTESIAN_POINT('',(-42.7933965089086,-128.143395839894,2.)); +#2544=CARTESIAN_POINT('',(-41.8450921618996,-128.143395839894,2.)); +#2545=CARTESIAN_POINT('',(0.,-137.086792,2.)); +#2546=CARTESIAN_POINT('',(-42.7933965089086,-128.143395839894,10.)); +#2547=CARTESIAN_POINT('',(-41.8450921618996,-128.143395839894,10.)); +#2548=CARTESIAN_POINT('',(-42.7933965089086,-128.143395839894,3.)); +#2549=CARTESIAN_POINT('',(-42.7933967043508,-155.943397580004,10.)); +#2550=CARTESIAN_POINT('',(-41.8450921842361,-155.943397580004,10.)); +#2551=CARTESIAN_POINT('',(-42.7933967043508,-155.943397580004,3.)); +#2552=CARTESIAN_POINT('',(-49.043396,-158.543396,10.)); +#2553=CARTESIAN_POINT('',(-49.043396,-158.543396,0.)); +#2554=CARTESIAN_POINT('',(-49.043396,-158.543396,10.)); +#2555=CARTESIAN_POINT('',(-11.5466882980076,-282.674867022616,10.)); +#2556=CARTESIAN_POINT('',(-11.5466882980076,-282.674867022616,0.)); +#2557=CARTESIAN_POINT('',(-11.5466882980076,-282.674867022616,10.)); +#2558=CARTESIAN_POINT('',(-61.8745454231106,-6.543396,0.)); +#2559=CARTESIAN_POINT('',(-48.043396,-6.543396,0.)); +#2560=CARTESIAN_POINT('',(-36.543396,-6.543396,0.)); +#2561=CARTESIAN_POINT('',(-48.043396,-6.543396,10.)); +#2562=CARTESIAN_POINT('',(-48.043396,-6.543396,10.)); +#2563=CARTESIAN_POINT('',(-61.8745454231106,-6.543396,10.)); +#2564=CARTESIAN_POINT('',(-36.543396,-6.543396,10.)); +#2565=CARTESIAN_POINT('',(-36.543396,-6.543396,10.)); +#2566=CARTESIAN_POINT('',(-61.8745454231106,-6.543396,10.)); +#2567=CARTESIAN_POINT('',(-36.543396,-6.543396,0.)); +#2568=CARTESIAN_POINT('',(-36.543396,16.456604994521,0.)); +#2569=CARTESIAN_POINT('',(-36.543396,-6.543396,10.)); +#2570=CARTESIAN_POINT('',(-36.543396,16.456604994521,10.)); +#2571=CARTESIAN_POINT('',(-36.543396,16.456604994521,10.)); +#2572=CARTESIAN_POINT('',(-36.543396,-6.543396,10.)); +#2573=CARTESIAN_POINT('',(-36.543396,16.456604994521,10.)); +#2574=CARTESIAN_POINT('',(-48.043396,16.456604994521,10.)); +#2575=CARTESIAN_POINT('',(-48.043396,16.456604994521,0.)); +#2576=CARTESIAN_POINT('',(-48.043396,16.456604994521,0.)); +#2577=CARTESIAN_POINT('',(-36.543396,16.456604994521,0.)); +#2578=CARTESIAN_POINT('',(-36.543396,16.456604994521,10.)); +#2579=CARTESIAN_POINT('',(25.956604,21.456604,0.)); +#2580=CARTESIAN_POINT('',(-36.5615057602079,21.456604,0.)); +#2581=CARTESIAN_POINT('',(-48.043396,21.456604,0.)); +#2582=CARTESIAN_POINT('',(-48.043396,21.456604,10.)); +#2583=CARTESIAN_POINT('',(-48.043396,21.456604,10.)); +#2584=CARTESIAN_POINT('',(25.956604,21.456604,10.)); +#2585=CARTESIAN_POINT('',(-36.5615057602079,21.456604,10.)); +#2586=CARTESIAN_POINT('',(-36.5615057602079,21.456604,10.)); +#2587=CARTESIAN_POINT('',(25.956604,21.456604,10.)); +#2588=CARTESIAN_POINT('',(-48.043396,20.456604,10.)); +#2589=CARTESIAN_POINT('',(-49.043396,20.456604,10.)); +#2590=CARTESIAN_POINT('',(-48.043396,20.456604,0.)); +#2591=CARTESIAN_POINT('',(-49.043396,20.456604,0.)); +#2592=CARTESIAN_POINT('',(-49.043396,20.456604,10.)); +#2593=CARTESIAN_POINT('',(-48.043396,20.456604,10.)); +#2594=CARTESIAN_POINT('',(-48.043396,17.456604994521,10.)); +#2595=CARTESIAN_POINT('',(-49.043396,17.456604994521,10.)); +#2596=CARTESIAN_POINT('',(-49.043396,17.456604994521,10.)); +#2597=CARTESIAN_POINT('',(-49.043396,17.456604994521,0.)); +#2598=CARTESIAN_POINT('',(-48.043396,17.456604994521,0.)); +#2599=CARTESIAN_POINT('',(-48.043396,17.456604994521,10.)); +#2600=CARTESIAN_POINT('',(-48.043396,-7.543396,10.)); +#2601=CARTESIAN_POINT('',(-49.043396,-7.543396,10.)); +#2602=CARTESIAN_POINT('',(-48.043396,-7.543396,0.)); +#2603=CARTESIAN_POINT('',(-49.043396,-7.543396,0.)); +#2604=CARTESIAN_POINT('',(-49.043396,-7.543396,0.)); +#2605=CARTESIAN_POINT('',(-48.043396,-7.543396,10.)); +#2606=CARTESIAN_POINT('',(-42.7933967043508,18.8566055800037,2.)); +#2607=CARTESIAN_POINT('',(-41.8450921842361,18.8566055800037,2.)); +#2608=CARTESIAN_POINT('',(0.,0.,2.)); +#2609=CARTESIAN_POINT('',(-42.7933965089086,-8.9433961601062,2.)); +#2610=CARTESIAN_POINT('',(-41.8450921618996,-8.9433961601062,2.)); +#2611=CARTESIAN_POINT('',(0.,0.,2.)); +#2612=CARTESIAN_POINT('',(-42.7933965089086,-8.9433961601062,10.)); +#2613=CARTESIAN_POINT('',(-41.8450921618996,-8.9433961601062,10.)); +#2614=CARTESIAN_POINT('',(-42.7933965089086,-8.9433961601062,3.)); +#2615=CARTESIAN_POINT('',(-42.7933967043508,18.8566055800037,10.)); +#2616=CARTESIAN_POINT('',(-41.8450921842361,18.8566055800037,10.)); +#2617=CARTESIAN_POINT('',(-42.7933967043508,18.8566055800037,3.)); +#2618=CARTESIAN_POINT('',(-49.043396,21.456604,10.)); +#2619=CARTESIAN_POINT('',(-49.043396,21.456604,0.)); +#2620=CARTESIAN_POINT('',(-49.043396,21.456604,10.)); +#2621=CARTESIAN_POINT('',(97.2066047043508,-1.68626579200635E-14,10.)); +#2622=CARTESIAN_POINT('',(97.2066047043508,-108.543396,10.)); +#2623=CARTESIAN_POINT('',(97.2066047043508,-28.5433959999999,10.)); +#2624=CARTESIAN_POINT('',(0.,-108.543396,10.)); +#2625=CARTESIAN_POINT('',(92.2066047043508,-108.543396,10.)); +#2626=CARTESIAN_POINT('',(92.2066047043508,-1.59952961820751E-14,10.)); +#2627=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,10.)); +#2628=CARTESIAN_POINT('',(0.,-28.5433959999999,10.)); +#2629=CARTESIAN_POINT('',(-40.2933967043508,6.98979011898838E-15,10.)); +#2630=CARTESIAN_POINT('',(-40.2933967043508,-108.543396,10.)); +#2631=CARTESIAN_POINT('',(-40.2933967043508,-28.5433959999997,10.)); +#2632=CARTESIAN_POINT('',(0.,-108.543396,10.)); +#2633=CARTESIAN_POINT('',(-45.2933967043508,-108.543396,10.)); +#2634=CARTESIAN_POINT('',(-45.2933967043508,3.92857592848839E-15,10.)); +#2635=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,10.)); +#2636=CARTESIAN_POINT('',(0.,-28.5433959999997,10.)); +#2637=CARTESIAN_POINT('',(-11.5466882980076,145.588075022616,10.)); +#2638=CARTESIAN_POINT('',(-49.043396,21.456604,10.)); +#2639=CARTESIAN_POINT('',(0.,0.,10.)); +#2640=CARTESIAN_POINT('',(92.2066047043508,-108.543396,0.)); +#2641=CARTESIAN_POINT('',(97.2066047043508,-108.543396,0.)); +#2642=CARTESIAN_POINT('',(92.2066047043508,-108.543396,0.)); +#2643=CARTESIAN_POINT('',(97.2066047043508,-28.5433959999999,0.)); +#2644=CARTESIAN_POINT('',(97.2066047043508,-28.5433959999999,0.)); +#2645=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,0.)); +#2646=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,0.)); +#2647=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,0.)); +#2648=CARTESIAN_POINT('',(-45.2933967043508,-108.543396,0.)); +#2649=CARTESIAN_POINT('',(-40.2933967043508,-108.543396,0.)); +#2650=CARTESIAN_POINT('',(-45.2933967043508,-108.543396,0.)); +#2651=CARTESIAN_POINT('',(-40.2933967043508,-28.5433959999997,0.)); +#2652=CARTESIAN_POINT('',(-40.2933967043508,-28.5433959999997,0.)); +#2653=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,0.)); +#2654=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,0.)); +#2655=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,0.)); +#2656=CARTESIAN_POINT('',(10.4566042894813,15.9566043742551,0.)); +#2657=CARTESIAN_POINT('',(80.456604,15.9566043742551,0.)); +#2658=CARTESIAN_POINT('',(-28.543396,15.9566043742551,0.)); +#2659=CARTESIAN_POINT('',(-28.543396,16.744441782736,0.)); +#2660=CARTESIAN_POINT('',(-28.543396,12.9566047708867,0.)); +#2661=CARTESIAN_POINT('',(-30.543396,12.9566047708867,0.)); +#2662=CARTESIAN_POINT('',(-30.543396,10.9566047708867,0.)); +#2663=CARTESIAN_POINT('',(-28.543396,10.9566047708867,0.)); +#2664=CARTESIAN_POINT('',(-33.543396,10.9566047708867,0.)); +#2665=CARTESIAN_POINT('',(-33.543396,15.9566043742551,0.)); +#2666=CARTESIAN_POINT('',(-33.543396,-148.043396770887,0.)); +#2667=CARTESIAN_POINT('',(-28.543396,-148.043396770887,0.)); +#2668=CARTESIAN_POINT('',(-30.543396,-148.043396770887,0.)); +#2669=CARTESIAN_POINT('',(-30.543396,-150.043396770886,0.)); +#2670=CARTESIAN_POINT('',(-28.543396,-150.043396770886,0.)); +#2671=CARTESIAN_POINT('',(-28.543396,-153.831233782736,0.)); +#2672=CARTESIAN_POINT('',(-28.543396,-153.043396374255,0.)); +#2673=CARTESIAN_POINT('',(10.4566042894813,-153.043396374255,0.)); +#2674=CARTESIAN_POINT('',(80.456604,-153.043396374255,0.)); +#2675=CARTESIAN_POINT('',(80.456604,-153.831233782736,0.)); +#2676=CARTESIAN_POINT('',(80.456604,-150.043396770886,0.)); +#2677=CARTESIAN_POINT('',(82.456604,-150.043396770886,0.)); +#2678=CARTESIAN_POINT('',(82.456604,-148.043396770887,0.)); +#2679=CARTESIAN_POINT('',(80.456604,-148.043396770887,0.)); +#2680=CARTESIAN_POINT('',(85.456604,-148.043396770887,0.)); +#2681=CARTESIAN_POINT('',(85.456604,-153.043396374255,0.)); +#2682=CARTESIAN_POINT('',(85.456604,10.9566047708867,0.)); +#2683=CARTESIAN_POINT('',(80.456604,10.9566047708867,0.)); +#2684=CARTESIAN_POINT('',(82.456604,10.9566047708867,0.)); +#2685=CARTESIAN_POINT('',(82.456604,12.9566047708867,0.)); +#2686=CARTESIAN_POINT('',(80.456604,12.9566047708867,0.)); +#2687=CARTESIAN_POINT('',(80.456604,16.744441782736,0.)); +#2688=CARTESIAN_POINT('',(-11.5466882980076,145.588075022616,0.)); +#2689=CARTESIAN_POINT('',(-49.043396,21.456604,0.)); +#2690=CARTESIAN_POINT('',(0.,0.,0.)); +#2691=CARTESIAN_POINT('',(-11.5466882980076,145.588075022616,10.)); +#2692=CARTESIAN_POINT('',(-49.043396,21.456604,10.)); +#2693=CARTESIAN_POINT('',(80.456604,12.9566047708867,10.)); +#2694=CARTESIAN_POINT('',(80.456604,15.9566043742551,10.)); +#2695=CARTESIAN_POINT('',(80.456604,16.744441782736,10.)); +#2696=CARTESIAN_POINT('',(85.456604,10.9566047708867,10.)); +#2697=CARTESIAN_POINT('',(82.456604,10.9566047708867,10.)); +#2698=CARTESIAN_POINT('',(80.456604,10.9566047708867,10.)); +#2699=CARTESIAN_POINT('',(82.456604,12.9566047708867,10.)); +#2700=CARTESIAN_POINT('',(80.456604,-153.043396374255,10.)); +#2701=CARTESIAN_POINT('',(80.456604,-150.043396770886,10.)); +#2702=CARTESIAN_POINT('',(80.456604,-153.831233782736,10.)); +#2703=CARTESIAN_POINT('',(82.456604,-148.043396770887,10.)); +#2704=CARTESIAN_POINT('',(85.456604,-148.043396770887,10.)); +#2705=CARTESIAN_POINT('',(80.456604,-148.043396770887,10.)); +#2706=CARTESIAN_POINT('',(82.456604,-150.043396770886,10.)); +#2707=CARTESIAN_POINT('',(85.456604,-153.043396374255,10.)); +#2708=CARTESIAN_POINT('',(-28.543396,-150.043396770886,10.)); +#2709=CARTESIAN_POINT('',(-28.543396,-153.043396374255,10.)); +#2710=CARTESIAN_POINT('',(-28.543396,-153.831233782736,10.)); +#2711=CARTESIAN_POINT('',(-33.543396,-148.043396770887,10.)); +#2712=CARTESIAN_POINT('',(-30.543396,-148.043396770887,10.)); +#2713=CARTESIAN_POINT('',(-28.543396,-148.043396770887,10.)); +#2714=CARTESIAN_POINT('',(-30.543396,-150.043396770886,10.)); +#2715=CARTESIAN_POINT('',(10.4566042894813,-153.043396374255,10.)); +#2716=CARTESIAN_POINT('',(-28.543396,15.9566043742551,10.)); +#2717=CARTESIAN_POINT('',(-28.543396,12.9566047708867,10.)); +#2718=CARTESIAN_POINT('',(-28.543396,16.744441782736,10.)); +#2719=CARTESIAN_POINT('',(-30.543396,10.9566047708867,10.)); +#2720=CARTESIAN_POINT('',(-33.543396,10.9566047708867,10.)); +#2721=CARTESIAN_POINT('',(-28.543396,10.9566047708867,10.)); +#2722=CARTESIAN_POINT('',(-30.543396,12.9566047708867,10.)); +#2723=CARTESIAN_POINT('',(10.4566042894813,15.9566043742551,10.)); +#2724=CARTESIAN_POINT('',(-33.543396,15.9566043742551,10.)); +#2725=CARTESIAN_POINT('',(-40.2933967043508,-28.5433959999997,26.)); +#2726=CARTESIAN_POINT('',(-40.2933967043508,-108.543396,26.)); +#2727=CARTESIAN_POINT('',(-40.2933967043508,-28.5433959999997,26.)); +#2728=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,26.)); +#2729=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,26.)); +#2730=CARTESIAN_POINT('',(-45.2933967043508,-108.543396,26.)); +#2731=CARTESIAN_POINT('',(-45.2933967043508,-28.5433959999997,26.)); +#2732=CARTESIAN_POINT('',(-45.2933967043508,-108.543396,26.)); +#2733=CARTESIAN_POINT('',(97.2066047043508,-28.5433959999999,26.)); +#2734=CARTESIAN_POINT('',(97.2066047043508,-108.543396,26.)); +#2735=CARTESIAN_POINT('',(97.2066047043508,-28.5433959999999,26.)); +#2736=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,26.)); +#2737=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,26.)); +#2738=CARTESIAN_POINT('',(92.2066047043508,-108.543396,26.)); +#2739=CARTESIAN_POINT('',(92.2066047043508,-28.5433959999999,26.)); +#2740=CARTESIAN_POINT('',(92.2066047043508,-108.543396,26.)); +#2741=( +GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2742)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#2748,#2744,#2743)) +REPRESENTATION_CONTEXT('\X2\914D4EF6\X0\4','TOP_LEVEL_ASSEMBLY_PART') +); +#2742=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-5),#2748, +'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model'); +#2743=( +NAMED_UNIT(*) +SI_UNIT($,.STERADIAN.) +SOLID_ANGLE_UNIT() +); +#2744=( +CONVERSION_BASED_UNIT('DEGREE',#2746) +NAMED_UNIT(#2745) +PLANE_ANGLE_UNIT() +); +#2745=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.); +#2746=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.0174532925),#2747); +#2747=( +NAMED_UNIT(*) +PLANE_ANGLE_UNIT() +SI_UNIT($,.RADIAN.) +); +#2748=( +LENGTH_UNIT() +NAMED_UNIT(*) +SI_UNIT(.MILLI.,.METRE.) +); +ENDSEC; +END-ISO-10303-21; diff --git a/3d/配件4.26.STEP b/3d/配件4.26.STEP new file mode 100644 index 0000000..666b656 --- /dev/null +++ b/3d/配件4.26.STEP @@ -0,0 +1,2834 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (( 'STEP AP214' ), + '1' ); +FILE_NAME ('Åä¼þ4.25.STEP', + '2026-04-26T04:38:29', + ( '' ), + ( '' ), + 'SwSTEP 2.0', + 'SolidWorks 2023', + '' ); +FILE_SCHEMA (( 'AUTOMOTIVE_DESIGN' )); +ENDSEC; + +DATA; +#1 = ORIENTED_EDGE ( 'NONE', *, *, #1238, .F. ) ; +#2 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#3 = LINE ( 'NONE', #1105, #1101 ) ; +#4 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#5 = EDGE_LOOP ( 'NONE', ( #291 ) ) ; +#6 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231109991, -130.5433960000000013, 0.000000000000000000 ) ) ; +#7 = VERTEX_POINT ( 'NONE', #2473 ) ; +#8 = FACE_OUTER_BOUND ( 'NONE', #755, .T. ) ; +#9 = ORIENTED_EDGE ( 'NONE', *, *, #852, .T. ) ; +#10 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 0.000000000000000000 ) ) ; +#11 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -108.5433960000000013, 26.00000000000000000 ) ) ; +#12 = ADVANCED_FACE ( 'NONE', ( #1001, #2101 ), #2075, .F. ) ; +#13 = VECTOR ( 'NONE', #2100, 1000.000000000000000 ) ; +#14 = ORIENTED_EDGE ( 'NONE', *, *, #2508, .T. ) ; +#15 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435079412, -3.941299982258666910E-15, 0.000000000000000000 ) ) ; +#16 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, 18.85660558000369846, 3.000000000000000000 ) ) ; +#17 = PLANE ( 'NONE', #1567 ) ; +#18 = ADVANCED_FACE ( 'NONE', ( #321 ), #2744, .F. ) ; +#19 = ORIENTED_EDGE ( 'NONE', *, *, #1657, .T. ) ; +#20 = LINE ( 'NONE', #876, #1721 ) ; +#21 = ORIENTED_EDGE ( 'NONE', *, *, #1238, .T. ) ; +#22 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -129.5433960000000013, 10.00000000000000000 ) ) ; +#23 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#24 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#25 = VECTOR ( 'NONE', #233, 1000.000000000000000 ) ; +#26 = EDGE_CURVE ( 'NONE', #718, #1990, #1408, .T. ) ; +#27 = FACE_OUTER_BOUND ( 'NONE', #1550, .T. ) ; +#28 = VERTEX_POINT ( 'NONE', #1850 ) ; +#29 = CIRCLE ( 'NONE', #1115, 0.9483043470089741467 ) ; +#30 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#31 = AXIS2_PLACEMENT_3D ( 'NONE', #1984, #43, #1329 ) ; +#32 = LINE ( 'NONE', #1078, #1783 ) ; +#33 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#34 = VECTOR ( 'NONE', #106, 1000.000000000000000 ) ; +#35 = VECTOR ( 'NONE', #657, 1000.000000000000000 ) ; +#36 = ORIENTED_EDGE ( 'NONE', *, *, #2190, .F. ) ; +#37 = PLANE ( 'NONE', #2125 ) ; +#38 = ORIENTED_EDGE ( 'NONE', *, *, #2266, .F. ) ; +#39 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#40 = VERTEX_POINT ( 'NONE', #789 ) ; +#41 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -137.0867920000000026, 2.000000000000000000 ) ) ; +#42 = LINE ( 'NONE', #1114, #894 ) ; +#43 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#44 = ORIENTED_EDGE ( 'NONE', *, *, #244, .T. ) ; +#45 = VECTOR ( 'NONE', #512, 1000.000000000000000 ) ; +#46 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#47 = PLANE ( 'NONE', #1981 ) ; +#48 = AXIS2_PLACEMENT_3D ( 'NONE', #2763, #1680, #2294 ) ; +#49 = VERTEX_POINT ( 'NONE', #565 ) ; +#50 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 0.000000000000000000 ) ) ; +#51 = ORIENTED_EDGE ( 'NONE', *, *, #1426, .F. ) ; +#52 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#53 = EDGE_LOOP ( 'NONE', ( #590, #1353, #2454, #1661 ) ) ; +#54 = ADVANCED_FACE ( 'NONE', ( #2516 ), #135, .T. ) ; +#55 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#56 = ORIENTED_EDGE ( 'NONE', *, *, #2638, .F. ) ; +#57 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999969934, 0.000000000000000000 ) ) ; +#58 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#59 = ORIENTED_EDGE ( 'NONE', *, *, #73, .T. ) ; +#60 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#61 = EDGE_LOOP ( 'NONE', ( #384, #990, #675, #2189 ) ) ; +#62 = LINE ( 'NONE', #1138, #2388 ) ; +#63 = ORIENTED_EDGE ( 'NONE', *, *, #834, .F. ) ; +#64 = VECTOR ( 'NONE', #46, 1000.000000000000000 ) ; +#65 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -154.5433969945210038, 0.000000000000000000 ) ) ; +#66 = VERTEX_POINT ( 'NONE', #1469 ) ; +#67 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#68 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#69 = ORIENTED_EDGE ( 'NONE', *, *, #2107, .F. ) ; +#70 = LINE ( 'NONE', #974, #261 ) ; +#71 = LINE ( 'NONE', #1420, #2567 ) ; +#72 = ORIENTED_EDGE ( 'NONE', *, *, #2636, .T. ) ; +#73 = EDGE_CURVE ( 'NONE', #2649, #481, #1674, .T. ) ; +#74 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 0.000000000000000000 ) ) ; +#75 = EDGE_CURVE ( 'NONE', #2357, #307, #1935, .T. ) ; +#76 = ORIENTED_EDGE ( 'NONE', *, *, #1886, .T. ) ; +#77 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -157.5433960000000013, 10.00000000000000000 ) ) ; +#78 = ORIENTED_EDGE ( 'NONE', *, *, #1210, .T. ) ; +#79 = LINE ( 'NONE', #1382, #1527 ) ; +#80 = VECTOR ( 'NONE', #1459, 1000.000000000000000 ) ; +#81 = VECTOR ( 'NONE', #555, 1000.000000000000000 ) ; +#82 = ORIENTED_EDGE ( 'NONE', *, *, #2088, .T. ) ; +#83 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -158.5433960000000013, 10.00000000000000000 ) ) ; +#84 = ORIENTED_EDGE ( 'NONE', *, *, #2131, .T. ) ; +#85 = ORIENTED_EDGE ( 'NONE', *, *, #2695, .T. ) ; +#86 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#87 = VECTOR ( 'NONE', #2209, 1000.000000000000000 ) ; +#88 = ORIENTED_EDGE ( 'NONE', *, *, #229, .T. ) ; +#89 = AXIS2_PLACEMENT_3D ( 'NONE', #2268, #1842, #2644 ) ; +#90 = PLANE ( 'NONE', #211 ) ; +#91 = AXIS2_PLACEMENT_3D ( 'NONE', #1193, #1418, #2028 ) ; +#92 = LINE ( 'NONE', #1207, #1035 ) ; +#93 = VERTEX_POINT ( 'NONE', #1057 ) ; +#94 = EDGE_CURVE ( 'NONE', #818, #818, #309, .T. ) ; +#95 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#96 = EDGE_LOOP ( 'NONE', ( #487, #44, #2223, #2040 ) ) ; +#97 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#98 = ORIENTED_EDGE ( 'NONE', *, *, #708, .F. ) ; +#99 = AXIS2_PLACEMENT_3D ( 'NONE', #1046, #587, #2561 ) ; +#100 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#101 = ORIENTED_EDGE ( 'NONE', *, *, #2298, .T. ) ; +#102 = ORIENTED_EDGE ( 'NONE', *, *, #2293, .F. ) ; +#103 = PLANE ( 'NONE', #2770 ) ; +#104 = VERTEX_POINT ( 'NONE', #2541 ) ; +#105 = VECTOR ( 'NONE', #1276, 1000.000000000000000 ) ; +#106 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#107 = ADVANCED_FACE ( 'NONE', ( #813, #2352, #1921, #203, #2768, #2756, #1022, #2326 ), #2780, .F. ) ; +#108 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435079412, -28.54339599999969934, 6.000000000000000000 ) ) ; +#109 = ORIENTED_EDGE ( 'NONE', *, *, #2168, .F. ) ; +#110 = ORIENTED_EDGE ( 'NONE', *, *, #200, .T. ) ; +#111 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 6.000000000000000000 ) ) ; +#112 = ORIENTED_EDGE ( 'NONE', *, *, #568, .T. ) ; +#113 = LINE ( 'NONE', #754, #446 ) ; +#114 = VERTEX_POINT ( 'NONE', #864 ) ; +#115 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433960000000013, 10.00000000000000000 ) ) ; +#116 = VERTEX_POINT ( 'NONE', #2562 ) ; +#117 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#118 = ORIENTED_EDGE ( 'NONE', *, *, #625, .F. ) ; +#119 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#120 = VECTOR ( 'NONE', #1231, 1000.000000000000000 ) ; +#121 = PLANE ( 'NONE', #2345 ) ; +#122 = ORIENTED_EDGE ( 'NONE', *, *, #2753, .T. ) ; +#123 = ORIENTED_EDGE ( 'NONE', *, *, #1864, .T. ) ; +#124 = FACE_OUTER_BOUND ( 'NONE', #879, .T. ) ; +#125 = EDGE_CURVE ( 'NONE', #503, #1544, #2552, .T. ) ; +#126 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#127 = VECTOR ( 'NONE', #2788, 1000.000000000000000 ) ; +#128 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 21.45660400000000223, 10.00000000000000000 ) ) ; +#129 = ADVANCED_FACE ( 'NONE', ( #1725 ), #609, .T. ) ; +#130 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#131 = LINE ( 'NONE', #1145, #997 ) ; +#132 = ADVANCED_FACE ( 'NONE', ( #382 ), #2790, .T. ) ; +#133 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#134 = AXIS2_PLACEMENT_3D ( 'NONE', #2258, #502, #2074 ) ; +#135 = PLANE ( 'NONE', #1032 ) ; +#136 = VECTOR ( 'NONE', #2234, 1000.000000000000000 ) ; +#137 = VECTOR ( 'NONE', #1615, 1000.000000000000000 ) ; +#138 = ORIENTED_EDGE ( 'NONE', *, *, #2421, .F. ) ; +#139 = AXIS2_PLACEMENT_3D ( 'NONE', #356, #164, #2560 ) ; +#140 = LINE ( 'NONE', #2738, #2796 ) ; +#141 = VERTEX_POINT ( 'NONE', #2095 ) ; +#142 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#143 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 0.000000000000000000 ) ) ; +#144 = LINE ( 'NONE', #1031, #127 ) ; +#145 = PLANE ( 'NONE', #99 ) ; +#146 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#147 = VECTOR ( 'NONE', #2188, 1000.000000000000000 ) ; +#148 = EDGE_CURVE ( 'NONE', #221, #760, #1710, .T. ) ; +#149 = ORIENTED_EDGE ( 'NONE', *, *, #1072, .F. ) ; +#150 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#151 = EDGE_CURVE ( 'NONE', #1767, #2376, #177, .T. ) ; +#152 = VERTEX_POINT ( 'NONE', #2521 ) ; +#153 = PLANE ( 'NONE', #1272 ) ; +#154 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#155 = LINE ( 'NONE', #607, #1112 ) ; +#156 = FACE_OUTER_BOUND ( 'NONE', #1051, .T. ) ; +#157 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#158 = VERTEX_POINT ( 'NONE', #1509 ) ; +#159 = LINE ( 'NONE', #2492, #81 ) ; +#160 = EDGE_CURVE ( 'NONE', #2615, #553, #846, .T. ) ; +#161 = VERTEX_POINT ( 'NONE', #2546 ) ; +#162 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#163 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#164 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#165 = FACE_OUTER_BOUND ( 'NONE', #1998, .T. ) ; +#166 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#167 = EDGE_LOOP ( 'NONE', ( #118, #1014, #2693, #2591 ) ) ; +#168 = CIRCLE ( 'NONE', #357, 1.000000000000000888 ) ; +#169 = CIRCLE ( 'NONE', #810, 126.6268659918020063 ) ; +#170 = CIRCLE ( 'NONE', #812, 2.000000000000001776 ) ; +#171 = LINE ( 'NONE', #612, #444 ) ; +#172 = CARTESIAN_POINT ( 'NONE', ( 95.65490885591756864, -8.943396160106189541, 10.00000000000000000 ) ) ; +#173 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 10.00000000000000000 ) ) ; +#174 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 3.000000000000000000 ) ) ; +#175 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708870000, 6.000000000000000000 ) ) ; +#176 = LINE ( 'NONE', #1270, #13 ) ; +#177 = LINE ( 'NONE', #1684, #666 ) ; +#178 = EDGE_LOOP ( 'NONE', ( #2428 ) ) ; +#179 = EDGE_CURVE ( 'NONE', #2809, #423, #1664, .T. ) ; +#180 = AXIS2_PLACEMENT_3D ( 'NONE', #2299, #359, #1224 ) ; +#181 = VECTOR ( 'NONE', #1531, 1000.000000000000000 ) ; +#182 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#183 = ORIENTED_EDGE ( 'NONE', *, *, #226, .F. ) ; +#184 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -153.0433963742549963, 0.000000000000000000 ) ) ; +#185 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, -158.5433960000000013, 10.00000000000000000 ) ) ; +#186 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708870000, 6.000000000000000000 ) ) ; +#187 = EDGE_CURVE ( 'NONE', #2009, #2002, #424, .T. ) ; +#188 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#189 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#190 = ORIENTED_EDGE ( 'NONE', *, *, #2778, .T. ) ; +#191 = EDGE_CURVE ( 'NONE', #429, #1852, #1047, .T. ) ; +#192 = ADVANCED_FACE ( 'NONE', ( #1482 ), #437, .T. ) ; +#193 = FACE_BOUND ( 'NONE', #641, .T. ) ; +#194 = CIRCLE ( 'NONE', #428, 1.000000000000000888 ) ; +#195 = VERTEX_POINT ( 'NONE', #1296 ) ; +#196 = LINE ( 'NONE', #655, #2129 ) ; +#197 = ADVANCED_FACE ( 'NONE', ( #8 ), #1128, .T. ) ; +#198 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#199 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#200 = EDGE_CURVE ( 'NONE', #1215, #1215, #2383, .T. ) ; +#201 = CYLINDRICAL_SURFACE ( 'NONE', #1994, 1.000000000000000888 ) ; +#202 = ORIENTED_EDGE ( 'NONE', *, *, #1940, .T. ) ; +#203 = FACE_BOUND ( 'NONE', #900, .T. ) ; +#204 = EDGE_CURVE ( 'NONE', #1566, #758, #2618, .T. ) ; +#205 = VERTEX_POINT ( 'NONE', #220 ) ; +#206 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 10.00000000000000000 ) ) ; +#207 = ADVANCED_FACE ( 'NONE', ( #1949 ), #1110, .T. ) ; +#208 = FACE_BOUND ( 'NONE', #1299, .T. ) ; +#209 = AXIS2_PLACEMENT_3D ( 'NONE', #2443, #506, #2195 ) ; +#210 = VECTOR ( 'NONE', #2112, 1000.000000000000000 ) ; +#211 = AXIS2_PLACEMENT_3D ( 'NONE', #2274, #958, #1818 ) ; +#212 = VECTOR ( 'NONE', #2218, 1000.000000000000000 ) ; +#213 = ORIENTED_EDGE ( 'NONE', *, *, #1417, .F. ) ; +#214 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#215 = LINE ( 'NONE', #2156, #2415 ) ; +#216 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#217 = VERTEX_POINT ( 'NONE', #878 ) ; +#218 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433960000000013, 10.00000000000000000 ) ) ; +#219 = ORIENTED_EDGE ( 'NONE', *, *, #338, .F. ) ; +#220 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 6.000000000000000000 ) ) ; +#221 = VERTEX_POINT ( 'NONE', #1975 ) ; +#222 = LINE ( 'NONE', #637, #87 ) ; +#223 = EDGE_CURVE ( 'NONE', #622, #2244, #1338, .T. ) ; +#224 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#225 = AXIS2_PLACEMENT_3D ( 'NONE', #496, #1778, #721 ) ; +#226 = EDGE_CURVE ( 'NONE', #2083, #2083, #29, .T. ) ; +#227 = AXIS2_PLACEMENT_3D ( 'NONE', #1317, #1062, #2384 ) ; +#228 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#229 = EDGE_CURVE ( 'NONE', #1533, #535, #1963, .T. ) ; +#230 = ORIENTED_EDGE ( 'NONE', *, *, #2778, .F. ) ; +#231 = PLANE ( 'NONE', #2174 ) ; +#232 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#233 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#234 = EDGE_LOOP ( 'NONE', ( #2278, #2432, #1744, #85 ) ) ; +#235 = FACE_OUTER_BOUND ( 'NONE', #267, .T. ) ; +#236 = EDGE_LOOP ( 'NONE', ( #230 ) ) ; +#237 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433960000000013, 0.000000000000000000 ) ) ; +#238 = LINE ( 'NONE', #206, #360 ) ; +#239 = EDGE_CURVE ( 'NONE', #2569, #374, #2393, .T. ) ; +#240 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 2.000000000000000000 ) ) ; +#241 = AXIS2_PLACEMENT_3D ( 'NONE', #1957, #1746, #656 ) ; +#242 = ORIENTED_EDGE ( 'NONE', *, *, #712, .F. ) ; +#243 = LINE ( 'NONE', #184, #1823 ) ; +#244 = EDGE_CURVE ( 'NONE', #2163, #709, #1837, .T. ) ; +#245 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -108.5433960000000013, 0.000000000000000000 ) ) ; +#246 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#247 = VERTEX_POINT ( 'NONE', #52 ) ; +#248 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#249 = ORIENTED_EDGE ( 'NONE', *, *, #1098, .T. ) ; +#250 = FACE_OUTER_BOUND ( 'NONE', #1385, .T. ) ; +#251 = EDGE_LOOP ( 'NONE', ( #2769, #2630, #1972, #2090 ) ) ; +#252 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 0.000000000000000000 ) ) ; +#253 = PLANE ( 'NONE', #2264 ) ; +#254 = AXIS2_PLACEMENT_3D ( 'NONE', #2372, #2413, #2142 ) ; +#255 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742549963, 0.000000000000000000 ) ) ; +#256 = ORIENTED_EDGE ( 'NONE', *, *, #2124, .T. ) ; +#257 = AXIS2_PLACEMENT_3D ( 'NONE', #988, #2704, #348 ) ; +#258 = EDGE_CURVE ( 'NONE', #40, #2661, #168, .T. ) ; +#259 = CYLINDRICAL_SURFACE ( 'NONE', #1058, 126.6268659918020063 ) ; +#260 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#261 = VECTOR ( 'NONE', #1634, 1000.000000000000000 ) ; +#262 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #2640 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #2801, #1912, #228 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#263 = ORIENTED_EDGE ( 'NONE', *, *, #1713, .F. ) ; +#264 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 2.000000000000000000 ) ) ; +#265 = ORIENTED_EDGE ( 'NONE', *, *, #1360, .T. ) ; +#266 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#267 = EDGE_LOOP ( 'NONE', ( #1696 ) ) ; +#268 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#269 = AXIS2_PLACEMENT_3D ( 'NONE', #1917, #154, #406 ) ; +#270 = ORIENTED_EDGE ( 'NONE', *, *, #1534, .F. ) ; +#271 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#272 = CIRCLE ( 'NONE', #2219, 2.000000000000001776 ) ; +#273 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 10.00000000000000000 ) ) ; +#274 = ORIENTED_EDGE ( 'NONE', *, *, #1118, .F. ) ; +#275 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -158.5433960000000013, 0.000000000000000000 ) ) ; +#276 = ORIENTED_EDGE ( 'NONE', *, *, #1250, .F. ) ; +#277 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 17.45660499452100112, 0.000000000000000000 ) ) ; +#278 = VERTEX_POINT ( 'NONE', #2406 ) ; +#279 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, -13.00000000000000000 ) ) ; +#280 = EDGE_LOOP ( 'NONE', ( #337, #1988, #69, #654 ) ) ; +#281 = PLANE ( 'NONE', #2303 ) ; +#282 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#283 = ORIENTED_EDGE ( 'NONE', *, *, #420, .F. ) ; +#284 = ADVANCED_FACE ( 'NONE', ( #676 ), #281, .T. ) ; +#285 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, 18.85660558000369846, 2.000000000000000000 ) ) ; +#286 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, -155.9433975800039889, 10.00000000000000000 ) ) ; +#287 = EDGE_CURVE ( 'NONE', #928, #877, #705, .T. ) ; +#288 = ORIENTED_EDGE ( 'NONE', *, *, #1284, .F. ) ; +#289 = EDGE_CURVE ( 'NONE', #141, #141, #396, .T. ) ; +#290 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708859768, 6.000000000000000000 ) ) ; +#291 = ORIENTED_EDGE ( 'NONE', *, *, #1519, .T. ) ; +#292 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#293 = ORIENTED_EDGE ( 'NONE', *, *, #537, .F. ) ; +#294 = FACE_OUTER_BOUND ( 'NONE', #529, .T. ) ; +#295 = ORIENTED_EDGE ( 'NONE', *, *, #2281, .T. ) ; +#296 = EDGE_CURVE ( 'NONE', #1460, #1566, #1213, .T. ) ; +#297 = CIRCLE ( 'NONE', #2746, 1.250000000000001110 ) ; +#298 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -157.5433960000000013, 10.00000000000000000 ) ) ; +#299 = EDGE_LOOP ( 'NONE', ( #980, #2463, #1579, #1404 ) ) ; +#300 = EDGE_LOOP ( 'NONE', ( #1841 ) ) ; +#301 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 0.000000000000000000 ) ) ; +#302 = ORIENTED_EDGE ( 'NONE', *, *, #1657, .F. ) ; +#303 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120907361390096, 10.00000000000000000 ) ) ; +#304 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, 0.000000000000000000 ) ) ; +#305 = ORIENTED_EDGE ( 'NONE', *, *, #405, .T. ) ; +#306 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 10.00000000000000000 ) ) ; +#307 = VERTEX_POINT ( 'NONE', #237 ) ; +#308 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#309 = CIRCLE ( 'NONE', #1887, 1.250000000000001110 ) ; +#310 = AXIS2_PLACEMENT_3D ( 'NONE', #567, #1411, #2055 ) ; +#311 = ORIENTED_EDGE ( 'NONE', *, *, #1738, .T. ) ; +#312 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 20.45660399999999868, 10.00000000000000000 ) ) ; +#313 = ORIENTED_EDGE ( 'NONE', *, *, #2018, .T. ) ; +#314 = ORIENTED_EDGE ( 'NONE', *, *, #160, .T. ) ; +#315 = LINE ( 'NONE', #2046, #2670 ) ; +#316 = AXIS2_PLACEMENT_3D ( 'NONE', #677, #1341, #1301 ) ; +#317 = ORIENTED_EDGE ( 'NONE', *, *, #1526, .T. ) ; +#318 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#319 = VECTOR ( 'NONE', #2606, 1000.000000000000000 ) ; +#320 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 0.000000000000000000 ) ) ; +#321 = FACE_OUTER_BOUND ( 'NONE', #1518, .T. ) ; +#322 = ORIENTED_EDGE ( 'NONE', *, *, #984, .T. ) ; +#323 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#324 = EDGE_CURVE ( 'NONE', #938, #2711, #1796, .T. ) ; +#325 = ORIENTED_EDGE ( 'NONE', *, *, #1877, .T. ) ; +#326 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#327 = VERTEX_POINT ( 'NONE', #1537 ) ; +#328 = CIRCLE ( 'NONE', #373, 1.000000000000000888 ) ; +#329 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#330 = ORIENTED_EDGE ( 'NONE', *, *, #2636, .F. ) ; +#331 = EDGE_LOOP ( 'NONE', ( #2475, #526, #219, #425 ) ) ; +#332 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#333 = VECTOR ( 'NONE', #368, 1000.000000000000000 ) ; +#334 = FACE_OUTER_BOUND ( 'NONE', #1646, .T. ) ; +#335 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#336 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#337 = ORIENTED_EDGE ( 'NONE', *, *, #1263, .T. ) ; +#338 = EDGE_CURVE ( 'NONE', #1141, #1273, #514, .T. ) ; +#339 = LINE ( 'NONE', #1676, #1801 ) ; +#340 = EDGE_CURVE ( 'NONE', #1413, #883, #1099, .T. ) ; +#341 = ADVANCED_FACE ( 'NONE', ( #250 ), #2641, .F. ) ; +#342 = DIRECTION ( 'NONE', ( 1.734723475976809806E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#343 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, 18.85660558000369846, 10.00000000000000000 ) ) ; +#344 = FACE_OUTER_BOUND ( 'NONE', #1173, .T. ) ; +#345 = ORIENTED_EDGE ( 'NONE', *, *, #921, .T. ) ; +#346 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#347 = VECTOR ( 'NONE', #2132, 1000.000000000000000 ) ; +#348 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#349 = ORIENTED_EDGE ( 'NONE', *, *, #125, .T. ) ; +#350 = ORIENTED_EDGE ( 'NONE', *, *, #592, .F. ) ; +#351 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -108.5433960000000013, 0.000000000000000000 ) ) ; +#352 = CARTESIAN_POINT ( 'NONE', ( -41.84509218423612964, 18.85660558000369846, 2.000000000000000000 ) ) ; +#353 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435078347, -108.5433959999999871, 10.00000000000000000 ) ) ; +#354 = ADVANCED_FACE ( 'NONE', ( #27 ), #1168, .F. ) ; +#355 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 6.000000000000000000 ) ) ; +#356 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#357 = AXIS2_PLACEMENT_3D ( 'NONE', #1583, #1780, #2010 ) ; +#358 = VECTOR ( 'NONE', #1119, 1000.000000000000000 ) ; +#359 = DIRECTION ( 'NONE', ( 1.000000000000000000, 1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#360 = VECTOR ( 'NONE', #1937, 1000.000000000000000 ) ; +#361 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#362 = AXIS2_PLACEMENT_3D ( 'NONE', #996, #2453, #2225 ) ; +#363 = ORIENTED_EDGE ( 'NONE', *, *, #1834, .T. ) ; +#364 = ADVANCED_FACE ( 'NONE', ( #2213 ), #2653, .T. ) ; +#365 = PLANE ( 'NONE', #941 ) ; +#366 = ADVANCED_FACE ( 'NONE', ( #750 ), #1134, .F. ) ; +#367 = VERTEX_POINT ( 'NONE', #1869 ) ; +#368 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#369 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 21.45660400000000223, 0.000000000000000000 ) ) ; +#370 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#371 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#372 = ORIENTED_EDGE ( 'NONE', *, *, #1449, .F. ) ; +#373 = AXIS2_PLACEMENT_3D ( 'NONE', #465, #1549, #1108 ) ; +#374 = VERTEX_POINT ( 'NONE', #963 ) ; +#375 = EDGE_CURVE ( 'NONE', #2202, #104, #2476, .T. ) ; +#376 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#377 = CARTESIAN_POINT ( 'NONE', ( -41.84509216189962189, -128.1433958398939978, 2.000000000000000000 ) ) ; +#378 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#379 = LINE ( 'NONE', #369, #2736 ) ; +#380 = PLANE ( 'NONE', #2076 ) ; +#381 = DIRECTION ( 'NONE', ( 5.242475914186690410E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#382 = FACE_OUTER_BOUND ( 'NONE', #1737, .T. ) ; +#383 = VECTOR ( 'NONE', #381, 1000.000000000000000 ) ; +#384 = ORIENTED_EDGE ( 'NONE', *, *, #1640, .T. ) ; +#385 = ADVANCED_FACE ( 'NONE', ( #2409 ), #2038, .F. ) ; +#386 = PLANE ( 'NONE', #310 ) ; +#387 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#388 = LINE ( 'NONE', #1655, #679 ) ; +#389 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#390 = EDGE_CURVE ( 'NONE', #1544, #278, #471, .T. ) ; +#391 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#392 = VECTOR ( 'NONE', #370, 1000.000000000000000 ) ; +#393 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#394 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#395 = ORIENTED_EDGE ( 'NONE', *, *, #1886, .F. ) ; +#396 = CIRCLE ( 'NONE', #2113, 1.250000000000001110 ) ; +#397 = AXIS2_PLACEMENT_3D ( 'NONE', #1773, #521, #2425 ) ; +#398 = VECTOR ( 'NONE', #119, 1000.000000000000000 ) ; +#399 = FACE_BOUND ( 'NONE', #1330, .T. ) ; +#400 = VECTOR ( 'NONE', #540, 1000.000000000000000 ) ; +#401 = CIRCLE ( 'NONE', #91, 0.9483043470089811411 ) ; +#402 = VERTEX_POINT ( 'NONE', #593 ) ; +#403 = ORIENTED_EDGE ( 'NONE', *, *, #416, .T. ) ; +#404 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -108.5433960000000013, 26.00000000000000000 ) ) ; +#405 = EDGE_CURVE ( 'NONE', #402, #402, #2155, .T. ) ; +#406 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#407 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#408 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#409 = EDGE_CURVE ( 'NONE', #1978, #1023, #1379, .T. ) ; +#410 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#411 = ORIENTED_EDGE ( 'NONE', *, *, #1121, .T. ) ; +#412 = VECTOR ( 'NONE', #2731, 1000.000000000000000 ) ; +#413 = CIRCLE ( 'NONE', #2629, 1.000000000000000888 ) ; +#414 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#415 = EDGE_CURVE ( 'NONE', #2461, #1192, #1347, .T. ) ; +#416 = EDGE_CURVE ( 'NONE', #993, #993, #1623, .T. ) ; +#417 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#418 = ORIENTED_EDGE ( 'NONE', *, *, #834, .T. ) ; +#419 = DIRECTION ( 'NONE', ( 1.000000000000000000, -9.361563035194100268E-17, 0.000000000000000000 ) ) ; +#420 = EDGE_CURVE ( 'NONE', #1533, #1750, #1186, .T. ) ; +#421 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#422 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#423 = VERTEX_POINT ( 'NONE', #2247 ) ; +#424 = LINE ( 'NONE', #1036, #443 ) ; +#425 = ORIENTED_EDGE ( 'NONE', *, *, #2379, .F. ) ; +#426 = PLANE ( 'NONE', #2721 ) ; +#427 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#428 = AXIS2_PLACEMENT_3D ( 'NONE', #2386, #232, #449 ) ; +#429 = VERTEX_POINT ( 'NONE', #290 ) ; +#430 = LINE ( 'NONE', #1515, #1412 ) ; +#431 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999969934, 0.000000000000000000 ) ) ; +#432 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 10.00000000000000000 ) ) ; +#433 = VERTEX_POINT ( 'NONE', #1557 ) ; +#434 = ADVANCED_FACE ( 'NONE', ( #486, #1396 ), #713, .F. ) ; +#435 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#436 = ORIENTED_EDGE ( 'NONE', *, *, #1471, .F. ) ; +#437 = PLANE ( 'NONE', #1394 ) ; +#438 = EDGE_LOOP ( 'NONE', ( #138, #349, #2663, #1165 ) ) ; +#439 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708859768, 0.000000000000000000 ) ) ; +#440 = EDGE_CURVE ( 'NONE', #158, #709, #2019, .T. ) ; +#441 = EDGE_CURVE ( 'NONE', #932, #2229, #2488, .T. ) ; +#442 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#443 = VECTOR ( 'NONE', #2377, 1000.000000000000000 ) ; +#444 = VECTOR ( 'NONE', #2578, 1000.000000000000000 ) ; +#445 = AXIS2_PLACEMENT_3D ( 'NONE', #880, #1088, #455 ) ; +#446 = VECTOR ( 'NONE', #2478, 1000.000000000000000 ) ; +#447 = ORIENTED_EDGE ( 'NONE', *, *, #470, .T. ) ; +#448 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 6.000000000000000000 ) ) ; +#449 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#450 = LINE ( 'NONE', #899, #2208 ) ; +#451 = ORIENTED_EDGE ( 'NONE', *, *, #1017, .T. ) ; +#452 = PLANE ( 'NONE', #733 ) ; +#453 = ORIENTED_EDGE ( 'NONE', *, *, #187, .F. ) ; +#454 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#455 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#456 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#457 = CIRCLE ( 'NONE', #2277, 1.000000000000000888 ) ; +#458 = ADVANCED_FACE ( 'NONE', ( #731 ), #1591, .T. ) ; +#459 = AXIS2_PLACEMENT_3D ( 'NONE', #2070, #1858, #1441 ) ; +#460 = ORIENTED_EDGE ( 'NONE', *, *, #663, .T. ) ; +#461 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#462 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#463 = FACE_OUTER_BOUND ( 'NONE', #1828, .T. ) ; +#464 = ORIENTED_EDGE ( 'NONE', *, *, #831, .F. ) ; +#465 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#466 = EDGE_LOOP ( 'NONE', ( #1660 ) ) ; +#467 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#468 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#469 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#470 = EDGE_CURVE ( 'NONE', #522, #7, #2280, .T. ) ; +#471 = LINE ( 'NONE', #2460, #2033 ) ; +#472 = ORIENTED_EDGE ( 'NONE', *, *, #287, .F. ) ; +#473 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#474 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#475 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#476 = EDGE_LOOP ( 'NONE', ( #2138, #325, #509, #771 ) ) ; +#477 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#478 = ORIENTED_EDGE ( 'NONE', *, *, #1025, .T. ) ; +#479 = EDGE_CURVE ( 'NONE', #954, #114, #159, .T. ) ; +#480 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#481 = VERTEX_POINT ( 'NONE', #2103 ) ; +#482 = FACE_OUTER_BOUND ( 'NONE', #2812, .T. ) ; +#483 = ORIENTED_EDGE ( 'NONE', *, *, #2784, .F. ) ; +#484 = DIRECTION ( 'NONE', ( -1.000000000000000000, 3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#485 = VECTOR ( 'NONE', #777, 1000.000000000000000 ) ; +#486 = FACE_OUTER_BOUND ( 'NONE', #2477, .T. ) ; +#487 = ORIENTED_EDGE ( 'NONE', *, *, #1085, .T. ) ; +#488 = VECTOR ( 'NONE', #1389, 1000.000000000000000 ) ; +#489 = EDGE_CURVE ( 'NONE', #954, #718, #140, .T. ) ; +#490 = VECTOR ( 'NONE', #972, 1000.000000000000000 ) ; +#491 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 10.00000000000000000 ) ) ; +#492 = EDGE_LOOP ( 'NONE', ( #313 ) ) ; +#493 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433960000000013, 10.00000000000000000 ) ) ; +#494 = VECTOR ( 'NONE', #407, 1000.000000000000000 ) ; +#495 = ORIENTED_EDGE ( 'NONE', *, *, #2143, .F. ) ; +#496 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 17.45660499452100112, 10.00000000000000000 ) ) ; +#497 = ORIENTED_EDGE ( 'NONE', *, *, #1098, .F. ) ; +#498 = EDGE_CURVE ( 'NONE', #957, #2229, #792, .T. ) ; +#499 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, 0.000000000000000000 ) ) ; +#500 = ORIENTED_EDGE ( 'NONE', *, *, #441, .T. ) ; +#501 = ADVANCED_FACE ( 'NONE', ( #1651 ), #365, .T. ) ; +#502 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.734723475976809806E-16, 0.000000000000000000 ) ) ; +#503 = VERTEX_POINT ( 'NONE', #1016 ) ; +#504 = VECTOR ( 'NONE', #1456, 1000.000000000000000 ) ; +#505 = EDGE_CURVE ( 'NONE', #1566, #2661, #1854, .T. ) ; +#506 = DIRECTION ( 'NONE', ( 9.251858538542973800E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#507 = EDGE_LOOP ( 'NONE', ( #2022 ) ) ; +#508 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#509 = ORIENTED_EDGE ( 'NONE', *, *, #891, .F. ) ; +#510 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, 6.989790118988380067E-15, 10.00000000000000000 ) ) ; +#511 = ORIENTED_EDGE ( 'NONE', *, *, #580, .F. ) ; +#512 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#513 = EDGE_LOOP ( 'NONE', ( #2603 ) ) ; +#514 = LINE ( 'NONE', #2164, #1926 ) ; +#515 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106189541, 3.000000000000000000 ) ) ; +#516 = VERTEX_POINT ( 'NONE', #1450 ) ; +#517 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433960000000013, 10.00000000000000000 ) ) ; +#518 = EDGE_CURVE ( 'NONE', #758, #2414, #2304, .T. ) ; +#519 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#520 = ORIENTED_EDGE ( 'NONE', *, *, #2457, .F. ) ; +#521 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#522 = VERTEX_POINT ( 'NONE', #1424 ) ; +#523 = PLANE ( 'NONE', #799 ) ; +#524 = ORIENTED_EDGE ( 'NONE', *, *, #1089, .F. ) ; +#525 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#526 = ORIENTED_EDGE ( 'NONE', *, *, #2495, .F. ) ; +#527 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#528 = EDGE_LOOP ( 'NONE', ( #1295, #345, #763, #2419 ) ) ; +#529 = EDGE_LOOP ( 'NONE', ( #1393, #2447, #896, #935 ) ) ; +#530 = LINE ( 'NONE', #1143, #2307 ) ; +#531 = ORIENTED_EDGE ( 'NONE', *, *, #440, .F. ) ; +#532 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 0.000000000000000000 ) ) ; +#533 = ADVANCED_FACE ( 'NONE', ( #2291 ), #2747, .T. ) ; +#534 = LINE ( 'NONE', #2486, #1754 ) ; +#535 = VERTEX_POINT ( 'NONE', #2533 ) ; +#536 = ORIENTED_EDGE ( 'NONE', *, *, #2126, .T. ) ; +#537 = EDGE_CURVE ( 'NONE', #1334, #93, #1239, .T. ) ; +#538 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#539 = EDGE_LOOP ( 'NONE', ( #276, #849, #2601, #322 ) ) ; +#540 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#541 = VECTOR ( 'NONE', #1287, 1000.000000000000000 ) ; +#542 = EDGE_LOOP ( 'NONE', ( #1777, #436, #973, #2745 ) ) ; +#543 = LINE ( 'NONE', #915, #1007 ) ; +#544 = ORIENTED_EDGE ( 'NONE', *, *, #2540, .F. ) ; +#545 = ORIENTED_EDGE ( 'NONE', *, *, #2327, .T. ) ; +#546 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708870000, 0.000000000000000000 ) ) ; +#547 = AXIS2_PLACEMENT_3D ( 'NONE', #2065, #1164, #1603 ) ; +#548 = ORIENTED_EDGE ( 'NONE', *, *, #2817, .F. ) ; +#549 = AXIS2_PLACEMENT_3D ( 'NONE', #966, #2023, #1578 ) ; +#550 = PLANE ( 'NONE', #1439 ) ; +#551 = EDGE_CURVE ( 'NONE', #802, #2615, #339, .T. ) ; +#552 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#553 = VERTEX_POINT ( 'NONE', #1004 ) ; +#554 = ORIENTED_EDGE ( 'NONE', *, *, #518, .T. ) ; +#555 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#556 = ORIENTED_EDGE ( 'NONE', *, *, #1635, .F. ) ; +#557 = PLANE ( 'NONE', #1117 ) ; +#558 = EDGE_LOOP ( 'NONE', ( #781, #2484, #2231, #330 ) ) ; +#559 = CIRCLE ( 'NONE', #2051, 1.000000000000000888 ) ; +#560 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#561 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#562 = AXIS2_PLACEMENT_3D ( 'NONE', #1718, #1927, #1289 ) ; +#563 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 0.000000000000000000 ) ) ; +#564 = LINE ( 'NONE', #2014, #667 ) ; +#565 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 20.45660399999999868, 10.00000000000000000 ) ) ; +#566 = EDGE_LOOP ( 'NONE', ( #1087, #76, #2496, #2732 ) ) ; +#567 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231109991, -6.543395999999999546, 10.00000000000000000 ) ) ; +#568 = EDGE_CURVE ( 'NONE', #2493, #205, #1642, .T. ) ; +#569 = CYLINDRICAL_SURFACE ( 'NONE', #2159, 1.000000000000000888 ) ; +#570 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999969934, 10.00000000000000000 ) ) ; +#571 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800630192, 18.96120903081409637, 0.000000000000000000 ) ) ; +#572 = ORIENTED_EDGE ( 'NONE', *, *, #1672, .T. ) ; +#573 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 20.45660399999999868, 10.00000000000000000 ) ) ; +#574 = VECTOR ( 'NONE', #462, 1000.000000000000000 ) ; +#575 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#576 = ORIENTED_EDGE ( 'NONE', *, *, #951, .F. ) ; +#577 = ORIENTED_EDGE ( 'NONE', *, *, #2722, .T. ) ; +#578 = FACE_BOUND ( 'NONE', #1127, .T. ) ; +#579 = DIRECTION ( 'NONE', ( -8.673617379884039170E-17, -1.000000000000000000, 0.000000000000000000 ) ) ; +#580 = EDGE_CURVE ( 'NONE', #932, #1954, #817, .T. ) ; +#581 = FACE_OUTER_BOUND ( 'NONE', #2656, .T. ) ; +#582 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#583 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#584 = AXIS2_PLACEMENT_3D ( 'NONE', #1066, #825, #2110 ) ; +#585 = AXIS2_PLACEMENT_3D ( 'NONE', #1497, #1472, #2794 ) ; +#586 = ADVANCED_FACE ( 'NONE', ( #2519 ), #386, .T. ) ; +#587 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#588 = AXIS2_PLACEMENT_3D ( 'NONE', #727, #2689, #747 ) ; +#589 = EDGE_LOOP ( 'NONE', ( #1486, #372, #2677, #949 ) ) ; +#590 = ORIENTED_EDGE ( 'NONE', *, *, #415, .F. ) ; +#591 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#592 = EDGE_CURVE ( 'NONE', #738, #1124, #978, .T. ) ; +#593 = CARTESIAN_POINT ( 'NONE', ( -41.84509216189962189, -128.1433958398939978, 10.00000000000000000 ) ) ; +#594 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#595 = LINE ( 'NONE', #2741, #1691 ) ; +#596 = ADVANCED_FACE ( 'NONE', ( #124, #1435, #766, #1211, #2306, #2080, #1867, #578, #1060, #2367, #2566, #399, #193, #1952, #1484, #208 ), #2554, .T. ) ; +#597 = LINE ( 'NONE', #1467, #1709 ) ; +#598 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 0.000000000000000000 ) ) ; +#599 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#600 = VECTOR ( 'NONE', #1955, 1000.000000000000000 ) ; +#601 = VERTEX_POINT ( 'NONE', #1074 ) ; +#602 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, -158.5433960000000013, 10.00000000000000000 ) ) ; +#603 = ADVANCED_FACE ( 'NONE', ( #1939 ), #2772, .F. ) ; +#604 = VERTEX_POINT ( 'NONE', #1463 ) ; +#605 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435079412, -28.54339599999969934, 10.00000000000000000 ) ) ; +#606 = FACE_OUTER_BOUND ( 'NONE', #236, .T. ) ; +#607 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.8312337827360068, 0.000000000000000000 ) ) ; +#608 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.229739708000460410E-16, 0.000000000000000000 ) ) ; +#609 = CYLINDRICAL_SURFACE ( 'NONE', #847, 1.000000000000000888 ) ; +#610 = VECTOR ( 'NONE', #2643, 1000.000000000000000 ) ; +#611 = ORIENTED_EDGE ( 'NONE', *, *, #296, .T. ) ; +#612 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708870000, 10.00000000000000000 ) ) ; +#613 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 10.00000000000000000 ) ) ; +#614 = VERTEX_POINT ( 'NONE', #224 ) ; +#615 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#616 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#617 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -153.0433963742549963, 10.00000000000000000 ) ) ; +#618 = VECTOR ( 'NONE', #1479, 1000.000000000000000 ) ; +#619 = CYLINDRICAL_SURFACE ( 'NONE', #1410, 0.9483043470089811411 ) ; +#620 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#621 = EDGE_CURVE ( 'NONE', #662, #374, #169, .T. ) ; +#622 = VERTEX_POINT ( 'NONE', #2137 ) ; +#623 = VECTOR ( 'NONE', #2030, 1000.000000000000000 ) ; +#624 = AXIS2_PLACEMENT_3D ( 'NONE', #277, #1629, #97 ) ; +#625 = EDGE_CURVE ( 'NONE', #553, #1781, #171, .T. ) ; +#626 = LINE ( 'NONE', #1743, #210 ) ; +#627 = EDGE_CURVE ( 'NONE', #1362, #195, #626, .T. ) ; +#628 = PRODUCT_DEFINITION_CONTEXT ( 'detailed design', #1337, 'design' ) ; +#629 = ORIENTED_EDGE ( 'NONE', *, *, #2151, .T. ) ; +#630 = PLANE ( 'NONE', #2532 ) ; +#631 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 10.00000000000000000 ) ) ; +#632 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#633 = PLANE ( 'NONE', #2503 ) ; +#634 = ORIENTED_EDGE ( 'NONE', *, *, #2695, .F. ) ; +#635 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#636 = ORIENTED_EDGE ( 'NONE', *, *, #1449, .T. ) ; +#637 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 6.000000000000000000 ) ) ; +#638 = PLANE ( 'NONE', #585 ) ; +#639 = ADVANCED_FACE ( 'NONE', ( #881 ), #638, .F. ) ; +#640 = SHAPE_DEFINITION_REPRESENTATION ( #2815, #1027 ) ; +#641 = EDGE_LOOP ( 'NONE', ( #403 ) ) ; +#642 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.301042606982600390E-16, 0.000000000000000000 ) ) ; +#643 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231109991, -130.5433960000000013, 10.00000000000000000 ) ) ; +#644 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#645 = EDGE_LOOP ( 'NONE', ( #302, #1514, #51, #1784 ) ) ; +#646 = PLANE ( 'NONE', #2580 ) ; +#647 = ORIENTED_EDGE ( 'NONE', *, *, #2588, .F. ) ; +#648 = EDGE_CURVE ( 'NONE', #221, #433, #2531, .T. ) ; +#649 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#650 = ORIENTED_EDGE ( 'NONE', *, *, #700, .T. ) ; +#651 = LINE ( 'NONE', #2605, #1170 ) ; +#652 = EDGE_CURVE ( 'NONE', #709, #1178, #2814, .T. ) ; +#653 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#654 = ORIENTED_EDGE ( 'NONE', *, *, #580, .T. ) ; +#655 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 6.000000000000000000 ) ) ; +#656 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#657 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#658 = ORIENTED_EDGE ( 'NONE', *, *, #861, .F. ) ; +#659 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#660 = ORIENTED_EDGE ( 'NONE', *, *, #1769, .F. ) ; +#661 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#662 = VERTEX_POINT ( 'NONE', #1698 ) ; +#663 = EDGE_CURVE ( 'NONE', #247, #673, #1911, .T. ) ; +#664 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, 10.00000000000000000 ) ) ; +#665 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999999546, 0.000000000000000000 ) ) ; +#666 = VECTOR ( 'NONE', #2146, 1000.000000000000000 ) ; +#667 = VECTOR ( 'NONE', #1587, 1000.000000000000000 ) ; +#668 = VECTOR ( 'NONE', #1827, 1000.000000000000000 ) ; +#669 = ORIENTED_EDGE ( 'NONE', *, *, #2511, .F. ) ; +#670 = LINE ( 'NONE', #1077, #2687 ) ; +#671 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433960000000013, 0.000000000000000000 ) ) ; +#672 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#673 = VERTEX_POINT ( 'NONE', #427 ) ; +#674 = LINE ( 'NONE', #435, #730 ) ; +#675 = ORIENTED_EDGE ( 'NONE', *, *, #1461, .F. ) ; +#676 = FACE_OUTER_BOUND ( 'NONE', #888, .T. ) ; +#677 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#678 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#679 = VECTOR ( 'NONE', #2283, 1000.000000000000000 ) ; +#680 = CIRCLE ( 'NONE', #2279, 0.9483045201146705905 ) ; +#681 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#682 = EDGE_CURVE ( 'NONE', #2649, #1208, #2381, .T. ) ; +#683 = EDGE_LOOP ( 'NONE', ( #1650, #478, #1966, #2403 ) ) ; +#684 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 0.000000000000000000 ) ) ; +#685 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 0.000000000000000000 ) ) ; +#686 = FACE_OUTER_BOUND ( 'NONE', #689, .T. ) ; +#687 = ORIENTED_EDGE ( 'NONE', *, *, #1417, .T. ) ; +#688 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 0.000000000000000000 ) ) ; +#689 = EDGE_LOOP ( 'NONE', ( #2004, #1588, #1536, #860 ) ) ; +#690 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -129.5433960000000013, 10.00000000000000000 ) ) ; +#691 = VERTEX_POINT ( 'NONE', #2342 ) ; +#692 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#693 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#694 = ADVANCED_FACE ( 'NONE', ( #2123 ), #827, .T. ) ; +#695 = AXIS2_PLACEMENT_3D ( 'NONE', #2412, #1318, #1546 ) ; +#696 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#697 = EDGE_CURVE ( 'NONE', #535, #2285, #1512, .T. ) ; +#698 = ORIENTED_EDGE ( 'NONE', *, *, #324, .F. ) ; +#699 = CYLINDRICAL_SURFACE ( 'NONE', #979, 0.9483045201146705905 ) ; +#700 = EDGE_CURVE ( 'NONE', #2414, #1460, #1302, .T. ) ; +#701 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708859768, 0.000000000000000000 ) ) ; +#702 = ORIENTED_EDGE ( 'NONE', *, *, #2734, .F. ) ; +#703 = LINE ( 'NONE', #2450, #1821 ) ; +#704 = ORIENTED_EDGE ( 'NONE', *, *, #1202, .F. ) ; +#705 = LINE ( 'NONE', #1522, #940 ) ; +#706 = ORIENTED_EDGE ( 'NONE', *, *, #2631, .F. ) ; +#707 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, 0.000000000000000000 ) ) ; +#708 = EDGE_CURVE ( 'NONE', #2661, #2809, #1900, .T. ) ; +#709 = VERTEX_POINT ( 'NONE', #2395 ) ; +#710 = ADVANCED_FACE ( 'NONE', ( #1965 ), #253, .T. ) ; +#711 = AXIS2_PLACEMENT_3D ( 'NONE', #273, #895, #2230 ) ; +#712 = EDGE_CURVE ( 'NONE', #2426, #2024, #42, .T. ) ; +#713 = CYLINDRICAL_SURFACE ( 'NONE', #2078, 0.9483043470089741467 ) ; +#714 = ORIENTED_EDGE ( 'NONE', *, *, #621, .F. ) ; +#715 = VECTOR ( 'NONE', #2669, 1000.000000000000000 ) ; +#716 = ADVANCED_FACE ( 'NONE', ( #2621 ), #2181, .T. ) ; +#717 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#718 = VERTEX_POINT ( 'NONE', #2422 ) ; +#719 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#720 = VERTEX_POINT ( 'NONE', #892 ) ; +#721 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#722 = ORIENTED_EDGE ( 'NONE', *, *, #2445, .F. ) ; +#723 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#724 = LINE ( 'NONE', #1161, #729 ) ; +#725 = ORIENTED_EDGE ( 'NONE', *, *, #744, .T. ) ; +#726 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -154.5433969945210038, 10.00000000000000000 ) ) ; +#727 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, -137.0867920000000026, 2.000000000000000000 ) ) ; +#728 = EDGE_LOOP ( 'NONE', ( #702, #926, #2111, #2217 ) ) ; +#729 = VECTOR ( 'NONE', #561, 1000.000000000000000 ) ; +#730 = VECTOR ( 'NONE', #2573, 1000.000000000000000 ) ; +#731 = FACE_OUTER_BOUND ( 'NONE', #645, .T. ) ; +#732 = ORIENTED_EDGE ( 'NONE', *, *, #1055, .T. ) ; +#733 = AXIS2_PLACEMENT_3D ( 'NONE', #1096, #422, #1491 ) ; +#734 = EDGE_CURVE ( 'NONE', #1178, #2781, #1983, .T. ) ; +#735 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#736 = ORIENTED_EDGE ( 'NONE', *, *, #2366, .F. ) ; +#737 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#738 = VERTEX_POINT ( 'NONE', #2408 ) ; +#739 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#740 = ORIENTED_EDGE ( 'NONE', *, *, #648, .T. ) ; +#741 = ORIENTED_EDGE ( 'NONE', *, *, #2039, .F. ) ; +#742 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#743 = ORIENTED_EDGE ( 'NONE', *, *, #1072, .T. ) ; +#744 = EDGE_CURVE ( 'NONE', #2321, #2321, #1528, .T. ) ; +#745 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#746 = ADVANCED_FACE ( 'NONE', ( #1343 ), #1772, .T. ) ; +#747 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#748 = ORIENTED_EDGE ( 'NONE', *, *, #1003, .F. ) ; +#749 = VERTEX_POINT ( 'NONE', #456 ) ; +#750 = FACE_OUTER_BOUND ( 'NONE', #955, .T. ) ; +#751 = ADVANCED_FACE ( 'NONE', ( #1757 ), #1314, .T. ) ; +#752 = AXIS2_PLACEMENT_3D ( 'NONE', #421, #2141, #1929 ) ; +#753 = EDGE_LOOP ( 'NONE', ( #1107, #1822, #971, #1810 ) ) ; +#754 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#755 = EDGE_LOOP ( 'NONE', ( #2177, #2317, #2684, #2067 ) ) ; +#756 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#757 = VERTEX_POINT ( 'NONE', #469 ) ; +#758 = VERTEX_POINT ( 'NONE', #986 ) ; +#759 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 26.00000000000000000 ) ) ; +#760 = VERTEX_POINT ( 'NONE', #1204 ) ; +#761 = LINE ( 'NONE', #318, #994 ) ; +#762 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 0.000000000000000000 ) ) ; +#763 = ORIENTED_EDGE ( 'NONE', *, *, #2638, .T. ) ; +#764 = EDGE_CURVE ( 'NONE', #1026, #1026, #401, .T. ) ; +#765 = ORIENTED_EDGE ( 'NONE', *, *, #2054, .T. ) ; +#766 = FACE_BOUND ( 'NONE', #2233, .T. ) ; +#767 = CIRCLE ( 'NONE', #2197, 126.6268659918020063 ) ; +#768 = ORIENTED_EDGE ( 'NONE', *, *, #1442, .F. ) ; +#769 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#770 = VECTOR ( 'NONE', #2634, 1000.000000000000000 ) ; +#771 = ORIENTED_EDGE ( 'NONE', *, *, #375, .T. ) ; +#772 = LINE ( 'NONE', #100, #2733 ) ; +#773 = LINE ( 'NONE', #2062, #1084 ) ; +#774 = AXIS2_PLACEMENT_3D ( 'NONE', #707, #1361, #2228 ) ; +#775 = EDGE_LOOP ( 'NONE', ( #1798 ) ) ; +#776 = CIRCLE ( 'NONE', #1345, 1.000000000000000888 ) ; +#777 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#778 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#779 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#780 = EDGE_CURVE ( 'NONE', #1023, #1748, #1645, .T. ) ; +#781 = ORIENTED_EDGE ( 'NONE', *, *, #1915, .T. ) ; +#782 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#783 = VERTEX_POINT ( 'NONE', #1438 ) ; +#784 = VECTOR ( 'NONE', #2252, 1000.000000000000000 ) ; +#785 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#786 = LINE ( 'NONE', #1405, #1892 ) ; +#787 = LINE ( 'NONE', #1647, #2340 ) ; +#788 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#789 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#790 = ORIENTED_EDGE ( 'NONE', *, *, #682, .T. ) ; +#791 = EDGE_CURVE ( 'NONE', #1351, #2461, #1816, .T. ) ; +#792 = LINE ( 'NONE', #992, #1928 ) ; +#793 = ADVANCED_FACE ( 'NONE', ( #2469, #1859 ), #2284, .F. ) ; +#794 = VERTEX_POINT ( 'NONE', #1654 ) ; +#795 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 20.45660399999999868, 10.00000000000000000 ) ) ; +#796 = ADVANCED_FACE ( 'NONE', ( #344, #934 ), #1357, .F. ) ; +#797 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#798 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 0.000000000000000000 ) ) ; +#799 = AXIS2_PLACEMENT_3D ( 'NONE', #491, #1809, #1593 ) ; +#800 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#801 = ORIENTED_EDGE ( 'NONE', *, *, #289, .F. ) ; +#802 = VERTEX_POINT ( 'NONE', #546 ) ; +#803 = EDGE_CURVE ( 'NONE', #720, #66, #2498, .T. ) ; +#804 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708859768, 10.00000000000000000 ) ) ; +#805 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, -150.5433968397460092, 10.00000000000000000 ) ) ; +#806 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#807 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#808 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#809 = VECTOR ( 'NONE', #2590, 1000.000000000000000 ) ; +#810 = AXIS2_PLACEMENT_3D ( 'NONE', #1274, #1249, #1714 ) ; +#811 = LINE ( 'NONE', #1896, #383 ) ; +#812 = AXIS2_PLACEMENT_3D ( 'NONE', #439, #2365, #1553 ) ; +#813 = FACE_OUTER_BOUND ( 'NONE', #1392, .T. ) ; +#814 = CIRCLE ( 'NONE', #1037, 2.000000000000001776 ) ; +#815 = VECTOR ( 'NONE', #1847, 1000.000000000000000 ) ; +#816 = ORIENTED_EDGE ( 'NONE', *, *, #340, .T. ) ; +#817 = LINE ( 'NONE', #602, #1395 ) ; +#818 = VERTEX_POINT ( 'NONE', #805 ) ; +#819 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#820 = PLANE ( 'NONE', #1538 ) ; +#821 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#822 = CIRCLE ( 'NONE', #2680, 126.6268659918020063 ) ; +#823 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#824 = ADVANCED_FACE ( 'NONE', ( #2255 ), #2727, .T. ) ; +#825 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#826 = ORIENTED_EDGE ( 'NONE', *, *, #744, .F. ) ; +#827 = CYLINDRICAL_SURFACE ( 'NONE', #1172, 2.000000000000001776 ) ; +#828 = VERTEX_POINT ( 'NONE', #1264 ) ; +#829 = ORIENTED_EDGE ( 'NONE', *, *, #855, .F. ) ; +#830 = FACE_OUTER_BOUND ( 'NONE', #1198, .T. ) ; +#831 = EDGE_CURVE ( 'NONE', #195, #114, #786, .T. ) ; +#832 = FACE_OUTER_BOUND ( 'NONE', #1726, .T. ) ; +#833 = FACE_OUTER_BOUND ( 'NONE', #1530, .T. ) ; +#834 = EDGE_CURVE ( 'NONE', #622, #1978, #1373, .T. ) ; +#835 = LINE ( 'NONE', #598, #1960 ) ; +#836 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#837 = AXIS2_PLACEMENT_3D ( 'NONE', #174, #1906, #2776 ) ; +#838 = ORIENTED_EDGE ( 'NONE', *, *, #1426, .T. ) ; +#839 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#840 = EDGE_LOOP ( 'NONE', ( #1183 ) ) ; +#841 = LINE ( 'NONE', #1476, #1667 ) ; +#842 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#843 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 26.00000000000000000 ) ) ; +#844 = STYLED_ITEM ( 'NONE', ( #2628 ), #2529 ) ; +#845 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#846 = LINE ( 'NONE', #1271, #2608 ) ; +#847 = AXIS2_PLACEMENT_3D ( 'NONE', #599, #649, #1247 ) ; +#848 = VECTOR ( 'NONE', #942, 1000.000000000000000 ) ; +#849 = ORIENTED_EDGE ( 'NONE', *, *, #803, .F. ) ; +#850 = AXIS2_PLACEMENT_3D ( 'NONE', #1727, #2166, #1770 ) ; +#851 = AXIS2_PLACEMENT_3D ( 'NONE', #923, #906, #2211 ) ; +#852 = EDGE_CURVE ( 'NONE', #1413, #2434, #2714, .T. ) ; +#853 = PRESENTATION_LAYER_ASSIGNMENT ( '', '', ( #844 ) ) ; +#854 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#855 = EDGE_CURVE ( 'NONE', #49, #116, #530, .T. ) ; +#856 = ORIENTED_EDGE ( 'NONE', *, *, #2149, .T. ) ; +#857 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 26.00000000000000000 ) ) ; +#858 = FACE_OUTER_BOUND ( 'NONE', #1378, .T. ) ; +#859 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#860 = ORIENTED_EDGE ( 'NONE', *, *, #1017, .F. ) ; +#861 = EDGE_CURVE ( 'NONE', #2002, #738, #315, .T. ) ; +#862 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#863 = ORIENTED_EDGE ( 'NONE', *, *, #2362, .F. ) ; +#864 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#865 = ORIENTED_EDGE ( 'NONE', *, *, #2215, .F. ) ; +#866 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#867 = VECTOR ( 'NONE', #1973, 1000.000000000000000 ) ; +#868 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#869 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #1739 ) ; +#870 = ORIENTED_EDGE ( 'NONE', *, *, #780, .T. ) ; +#871 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 10.00000000000000000 ) ) ; +#872 = ADVANCED_FACE ( 'NONE', ( #2239 ), #103, .F. ) ; +#873 = CYLINDRICAL_SURFACE ( 'NONE', #2331, 0.9483045201146705905 ) ; +#874 = LINE ( 'NONE', #1733, #35 ) ; +#875 = ORIENTED_EDGE ( 'NONE', *, *, #1284, .T. ) ; +#876 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#877 = VERTEX_POINT ( 'NONE', #1600 ) ; +#878 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435079057, -28.54339599999969934, 10.00000000000000000 ) ) ; +#879 = EDGE_LOOP ( 'NONE', ( #1925, #1621, #2470, #1639, #9, #1470, #2272, #1235, #472, #84, #1712, #960, #1548, #1358, #2058, #2528, #2368, #1155, #1962, #1135, #1581, #2378, #1903, #19, #2296, #249, #2595, #38, #2122, #611, #2182, #1447, #2442, #1129, #2060, #2161, #829, #1820, #283, #1159 ) ) ; +#880 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 10.00000000000000000 ) ) ; +#881 = FACE_OUTER_BOUND ( 'NONE', #2006, .T. ) ; +#882 = EDGE_CURVE ( 'NONE', #327, #2229, #773, .T. ) ; +#883 = VERTEX_POINT ( 'NONE', #1632 ) ; +#884 = DIRECTION ( 'NONE', ( 1.301042606982600390E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#885 = LINE ( 'NONE', #2627, #1243 ) ; +#886 = EDGE_LOOP ( 'NONE', ( #1611, #1741, #1398, #1500 ) ) ; +#887 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708870000, 10.00000000000000000 ) ) ; +#888 = EDGE_LOOP ( 'NONE', ( #2253, #447, #2642, #902 ) ) ; +#889 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#890 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#891 = EDGE_CURVE ( 'NONE', #2202, #522, #724, .T. ) ; +#892 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#893 = AXIS2_PLACEMENT_3D ( 'NONE', #22, #2178, #933 ) ; +#894 = VECTOR ( 'NONE', #271, 1000.000000000000000 ) ; +#895 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#896 = ORIENTED_EDGE ( 'NONE', *, *, #1360, .F. ) ; +#897 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#898 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708870000, 0.000000000000000000 ) ) ; +#899 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 10.00000000000000000 ) ) ; +#900 = EDGE_LOOP ( 'NONE', ( #1120 ) ) ; +#901 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#902 = ORIENTED_EDGE ( 'NONE', *, *, #2508, .F. ) ; +#903 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, 18.85660558000369846, 2.000000000000000000 ) ) ; +#904 = VERTEX_POINT ( 'NONE', #301 ) ; +#905 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#906 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#907 = VECTOR ( 'NONE', #1294, 1000.000000000000000 ) ; +#908 = EDGE_CURVE ( 'NONE', #2691, #1109, #1451, .T. ) ; +#909 = VECTOR ( 'NONE', #214, 1000.000000000000000 ) ; +#910 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435077991, -108.5433960000000013, 0.000000000000000000 ) ) ; +#911 = ORIENTED_EDGE ( 'NONE', *, *, #882, .F. ) ; +#912 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#913 = ORIENTED_EDGE ( 'NONE', *, *, #2631, .T. ) ; +#914 = ADVANCED_FACE ( 'NONE', ( #2752 ), #820, .T. ) ; +#915 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -28.54339599999969934, 10.00000000000000000 ) ) ; +#916 = ORIENTED_EDGE ( 'NONE', *, *, #734, .F. ) ; +#917 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#918 = ORIENTED_EDGE ( 'NONE', *, *, #2373, .F. ) ; +#919 = EDGE_CURVE ( 'NONE', #2288, #1594, #272, .T. ) ; +#920 = FACE_OUTER_BOUND ( 'NONE', #539, .T. ) ; +#921 = EDGE_CURVE ( 'NONE', #516, #977, #1670, .T. ) ; +#922 = ORIENTED_EDGE ( 'NONE', *, *, #204, .T. ) ; +#923 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#924 = AXIS2_PLACEMENT_3D ( 'NONE', #1943, #2611, #198 ) ; +#925 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#926 = ORIENTED_EDGE ( 'NONE', *, *, #2620, .T. ) ; +#927 = FACE_OUTER_BOUND ( 'NONE', #2499, .T. ) ; +#928 = VERTEX_POINT ( 'NONE', #2311 ) ; +#929 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#930 = ORIENTED_EDGE ( 'NONE', *, *, #2495, .T. ) ; +#931 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#932 = VERTEX_POINT ( 'NONE', #185 ) ; +#933 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#934 = FACE_OUTER_BOUND ( 'NONE', #2706, .T. ) ; +#935 = ORIENTED_EDGE ( 'NONE', *, *, #479, .F. ) ; +#936 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#937 = FACE_OUTER_BOUND ( 'NONE', #886, .T. ) ; +#938 = VERTEX_POINT ( 'NONE', #1871 ) ; +#939 = EDGE_CURVE ( 'NONE', #757, #1175, #1253, .T. ) ; +#940 = VECTOR ( 'NONE', #2224, 1000.000000000000000 ) ; +#941 = AXIS2_PLACEMENT_3D ( 'NONE', #1199, #1024, #2068 ) ; +#942 = DIRECTION ( 'NONE', ( 8.673617379884039170E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#943 = ORIENTED_EDGE ( 'NONE', *, *, #712, .T. ) ; +#944 = AXIS2_PLACEMENT_3D ( 'NONE', #684, #2411, #473 ) ; +#945 = ADVANCED_FACE ( 'NONE', ( #832 ), #2524, .F. ) ; +#946 = VECTOR ( 'NONE', #579, 1000.000000000000000 ) ; +#947 = AXIS2_PLACEMENT_3D ( 'NONE', #2194, #484, #1999 ) ; +#948 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#949 = ORIENTED_EDGE ( 'NONE', *, *, #939, .F. ) ; +#950 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#951 = EDGE_CURVE ( 'NONE', #1724, #1059, #379, .T. ) ; +#952 = ORIENTED_EDGE ( 'NONE', *, *, #1769, .T. ) ; +#953 = DIRECTION ( 'NONE', ( 1.000000000000000000, 9.251858538542973800E-16, -0.000000000000000000 ) ) ; +#954 = VERTEX_POINT ( 'NONE', #1656 ) ; +#955 = EDGE_LOOP ( 'NONE', ( #500, #2444, #520, #511 ) ) ; +#956 = CARTESIAN_POINT ( 'NONE', ( 1.004228145085051048E-13, -108.5433959999999729, 10.00000000000000000 ) ) ; +#957 = VERTEX_POINT ( 'NONE', #2295 ) ; +#958 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#959 = FACE_OUTER_BOUND ( 'NONE', #1628, .T. ) ; +#960 = ORIENTED_EDGE ( 'NONE', *, *, #1526, .F. ) ; +#961 = EDGE_LOOP ( 'NONE', ( #56, #1601, #1564, #1082 ) ) ; +#962 = CIRCLE ( 'NONE', #1866, 1.000000000000000888 ) ; +#963 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361379793, 0.000000000000000000 ) ) ; +#964 = CIRCLE ( 'NONE', #1313, 126.6268659918020063 ) ; +#965 = ORIENTED_EDGE ( 'NONE', *, *, #1492, .T. ) ; +#966 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -128.1433958398939978, 10.00000000000000000 ) ) ; +#967 = EDGE_LOOP ( 'NONE', ( #2785 ) ) ; +#968 = LINE ( 'NONE', #1794, #1086 ) ; +#969 = EDGE_LOOP ( 'NONE', ( #2542 ) ) ; +#970 = EDGE_CURVE ( 'NONE', #2244, #2353, #2537, .T. ) ; +#971 = ORIENTED_EDGE ( 'NONE', *, *, #861, .T. ) ; +#972 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#973 = ORIENTED_EDGE ( 'NONE', *, *, #2302, .F. ) ; +#974 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#975 = FACE_OUTER_BOUND ( 'NONE', #2617, .T. ) ; +#976 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#977 = VERTEX_POINT ( 'NONE', #355 ) ; +#978 = LINE ( 'NONE', #351, #2660 ) ; +#979 = AXIS2_PLACEMENT_3D ( 'NONE', #2676, #2021, #735 ) ; +#980 = ORIENTED_EDGE ( 'NONE', *, *, #2671, .F. ) ; +#981 = LINE ( 'NONE', #1414, #2438 ) ; +#982 = ORIENTED_EDGE ( 'NONE', *, *, #2212, .F. ) ; +#983 = LINE ( 'NONE', #1844, #45 ) ; +#984 = EDGE_CURVE ( 'NONE', #2077, #2391, #595, .T. ) ; +#985 = ORIENTED_EDGE ( 'NONE', *, *, #1845, .T. ) ; +#986 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -129.5433960000000013, 0.000000000000000000 ) ) ; +#987 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#988 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 26.00000000000000000 ) ) ; +#989 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#990 = ORIENTED_EDGE ( 'NONE', *, *, #1956, .F. ) ; +#991 = ADVANCED_FACE ( 'NONE', ( #1894 ), #2764, .T. ) ; +#992 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 0.000000000000000000 ) ) ; +#993 = VERTEX_POINT ( 'NONE', #172 ) ; +#994 = VECTOR ( 'NONE', #745, 1000.000000000000000 ) ; +#995 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708859768, 10.00000000000000000 ) ) ; +#996 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, 13.45660483974599941, -13.00000000000000000 ) ) ; +#997 = VECTOR ( 'NONE', #998, 1000.000000000000000 ) ; +#998 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#999 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -157.5433960000000013, 0.000000000000000000 ) ) ; +#1000 = EDGE_CURVE ( 'NONE', #2301, #433, #2549, .T. ) ; +#1001 = FACE_OUTER_BOUND ( 'NONE', #1038, .T. ) ; +#1002 = ORIENTED_EDGE ( 'NONE', *, *, #75, .F. ) ; +#1003 = EDGE_CURVE ( 'NONE', #217, #1023, #1443, .T. ) ; +#1004 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708870000, 6.000000000000000000 ) ) ; +#1005 = ADVANCED_FACE ( 'NONE', ( #606, #1043 ), #1705, .F. ) ; +#1006 = VERTEX_POINT ( 'NONE', #2773 ) ; +#1007 = VECTOR ( 'NONE', #2646, 1000.000000000000000 ) ; +#1008 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1009 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#1010 = LINE ( 'NONE', #1254, #2793 ) ; +#1011 = EDGE_CURVE ( 'NONE', #2493, #904, #1466, .T. ) ; +#1012 = PLANE ( 'NONE', #2455 ) ; +#1013 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1014 = ORIENTED_EDGE ( 'NONE', *, *, #2520, .T. ) ; +#1015 = ADVANCED_FACE ( 'NONE', ( #2106, #2334 ), #2118, .F. ) ; +#1016 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1017 = EDGE_CURVE ( 'NONE', #2244, #1730, #1692, .T. ) ; +#1018 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1019 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1020 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1021 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 17.45660499452100112, 10.00000000000000000 ) ) ; +#1022 = FACE_BOUND ( 'NONE', #2654, .T. ) ; +#1023 = VERTEX_POINT ( 'NONE', #1053 ) ; +#1024 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1025 = EDGE_CURVE ( 'NONE', #2050, #429, #1465, .T. ) ; +#1026 = VERTEX_POINT ( 'NONE', #377 ) ; +#1027 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '\X2\914d4ef6\X0\4.25', ( #2529, #2799 ), #262 ) ; +#1028 = ADVANCED_FACE ( 'NONE', ( #1732, #1093 ), #873, .F. ) ; +#1029 = PLANE ( 'NONE', #48 ) ; +#1030 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1031 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -108.5433960000000013, 10.00000000000000000 ) ) ; +#1032 = AXIS2_PLACEMENT_3D ( 'NONE', #1863, #146, #1013 ) ; +#1033 = AXIS2_PLACEMENT_3D ( 'NONE', #58, #2001, #538 ) ; +#1034 = LINE ( 'NONE', #2325, #412 ) ; +#1035 = VECTOR ( 'NONE', #2441, 1000.000000000000000 ) ; +#1036 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 0.000000000000000000 ) ) ; +#1037 = AXIS2_PLACEMENT_3D ( 'NONE', #2572, #632, #859 ) ; +#1038 = EDGE_LOOP ( 'NONE', ( #2553, #2417, #741, #1232, #865, #1307, #1807, #1303, #2027, #2682, #2490, #1049, #1633, #1493, #1959, #483 ) ) ; +#1039 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1040 = EDGE_CURVE ( 'NONE', #938, #247, #215, .T. ) ; +#1041 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, 3.928575928488389046E-15, 10.00000000000000000 ) ) ; +#1042 = LINE ( 'NONE', #795, #2402 ) ; +#1043 = FACE_OUTER_BOUND ( 'NONE', #507, .T. ) ; +#1044 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1045 = CIRCLE ( 'NONE', #2355, 126.6268659918020063 ) ; +#1046 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1047 = LINE ( 'NONE', #1909, #2659 ) ; +#1048 = VECTOR ( 'NONE', #1731, 1000.000000000000000 ) ; +#1049 = ORIENTED_EDGE ( 'NONE', *, *, #191, .F. ) ; +#1050 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1051 = EDGE_LOOP ( 'NONE', ( #2271 ) ) ; +#1052 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1053 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435077991, -108.5433960000000013, 10.00000000000000000 ) ) ; +#1054 = FACE_OUTER_BOUND ( 'NONE', #438, .T. ) ; +#1055 = EDGE_CURVE ( 'NONE', #2012, #2434, #885, .T. ) ; +#1056 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#1057 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#1058 = AXIS2_PLACEMENT_3D ( 'NONE', #1122, #1489, #1277 ) ; +#1059 = VERTEX_POINT ( 'NONE', #1970 ) ; +#1060 = FACE_BOUND ( 'NONE', #1774, .T. ) ; +#1061 = ORIENTED_EDGE ( 'NONE', *, *, #1919, .F. ) ; +#1062 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1063 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1064 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1065 = VERTEX_POINT ( 'NONE', #671 ) ; +#1066 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, -137.0867920000000026, 2.000000000000000000 ) ) ; +#1067 = VECTOR ( 'NONE', #2191, 1000.000000000000000 ) ; +#1068 = VECTOR ( 'NONE', #2708, 1000.000000000000000 ) ; +#1069 = ORIENTED_EDGE ( 'NONE', *, *, #179, .F. ) ; +#1070 = CIRCLE ( 'NONE', #774, 1.250000000000001110 ) ; +#1071 = FACE_OUTER_BOUND ( 'NONE', #2300, .T. ) ; +#1072 = EDGE_CURVE ( 'NONE', #2556, #2556, #1916, .T. ) ; +#1073 = AXIS2_PLACEMENT_3D ( 'NONE', #2678, #525, #1174 ) ; +#1074 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -108.5433960000000013, 10.00000000000000000 ) ) ; +#1075 = EDGE_CURVE ( 'NONE', #1175, #1362, #194, .T. ) ; +#1076 = ORIENTED_EDGE ( 'NONE', *, *, #415, .T. ) ; +#1077 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1078 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -28.54339599999969934, 10.00000000000000000 ) ) ; +#1079 = PLANE ( 'NONE', #254 ) ; +#1080 = ORIENTED_EDGE ( 'NONE', *, *, #1000, .F. ) ; +#1081 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1082 = ORIENTED_EDGE ( 'NONE', *, *, #919, .F. ) ; +#1083 = DIRECTION ( 'NONE', ( -1.734723475976809806E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1084 = VECTOR ( 'NONE', #117, 1000.000000000000000 ) ; +#1085 = EDGE_CURVE ( 'NONE', #1722, #2163, #32, .T. ) ; +#1086 = VECTOR ( 'NONE', #953, 1000.000000000000000 ) ; +#1087 = ORIENTED_EDGE ( 'NONE', *, *, #2817, .T. ) ; +#1088 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1089 = EDGE_CURVE ( 'NONE', #2391, #2089, #1532, .T. ) ; +#1090 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1091 = VERTEX_POINT ( 'NONE', #1063 ) ; +#1092 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1093 = FACE_OUTER_BOUND ( 'NONE', #1788, .T. ) ; +#1094 = SURFACE_SIDE_STYLE ('',( #2612 ) ) ; +#1095 = ORIENTED_EDGE ( 'NONE', *, *, #1250, .T. ) ; +#1096 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1097 = ORIENTED_EDGE ( 'NONE', *, *, #1607, .F. ) ; +#1098 = EDGE_CURVE ( 'NONE', #2376, #749, #2555, .T. ) ; +#1099 = LINE ( 'NONE', #889, #1067 ) ; +#1100 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 0.000000000000000000 ) ) ; +#1101 = VECTOR ( 'NONE', #1761, 1000.000000000000000 ) ; +#1102 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1103 = EDGE_LOOP ( 'NONE', ( #2254 ) ) ; +#1104 = LINE ( 'NONE', #871, #105 ) ; +#1105 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1106 = LINE ( 'NONE', #1971, #25 ) ; +#1107 = ORIENTED_EDGE ( 'NONE', *, *, #1240, .T. ) ; +#1108 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1109 = VERTEX_POINT ( 'NONE', #898 ) ; +#1110 = PLANE ( 'NONE', #1255 ) ; +#1111 = EDGE_LOOP ( 'NONE', ( #725 ) ) ; +#1112 = VECTOR ( 'NONE', #2777, 1000.000000000000000 ) ; +#1113 = PLANE ( 'NONE', #316 ) ; +#1114 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1115 = AXIS2_PLACEMENT_3D ( 'NONE', #1565, #480, #2452 ) ; +#1116 = AXIS2_PLACEMENT_3D ( 'NONE', #23, #2576, #1285 ) ; +#1117 = AXIS2_PLACEMENT_3D ( 'NONE', #737, #2657, #2464 ) ; +#1118 = EDGE_CURVE ( 'NONE', #1334, #2735, #1516, .T. ) ; +#1119 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1120 = ORIENTED_EDGE ( 'NONE', *, *, #289, .T. ) ; +#1121 = EDGE_CURVE ( 'NONE', #2262, #1091, #2359, .T. ) ; +#1122 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 10.00000000000000000 ) ) ; +#1123 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1124 = VERTEX_POINT ( 'NONE', #245 ) ; +#1125 = EDGE_CURVE ( 'NONE', #1208, #2192, #3, .T. ) ; +#1126 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1127 = EDGE_LOOP ( 'NONE', ( #78 ) ) ; +#1128 = CYLINDRICAL_SURFACE ( 'NONE', #2153, 1.000000000000000888 ) ; +#1129 = ORIENTED_EDGE ( 'NONE', *, *, #2373, .T. ) ; +#1130 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1131 = EDGE_LOOP ( 'NONE', ( #2803 ) ) ; +#1132 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1133 = AXIS2_PLACEMENT_3D ( 'NONE', #279, #2510, #2535 ) ; +#1134 = CYLINDRICAL_SURFACE ( 'NONE', #1977, 126.6268659918020063 ) ; +#1135 = ORIENTED_EDGE ( 'NONE', *, *, #1938, .T. ) ; +#1136 = FACE_OUTER_BOUND ( 'NONE', #1570, .T. ) ; +#1137 = ORIENTED_EDGE ( 'NONE', *, *, #409, .T. ) ; +#1138 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708859768, 10.00000000000000000 ) ) ; +#1139 = ORIENTED_EDGE ( 'NONE', *, *, #226, .T. ) ; +#1140 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1141 = VERTEX_POINT ( 'NONE', #631 ) ; +#1142 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, 5.588871641576239675E-15, 2.000000000000000000 ) ) ; +#1143 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1144 = EDGE_LOOP ( 'NONE', ( #1910, #577, #524, #2467 ) ) ; +#1145 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1146 = EDGE_CURVE ( 'NONE', #1283, #1613, #1719, .T. ) ; +#1147 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 20.45660399999999868, 0.000000000000000000 ) ) ; +#1148 = ORIENTED_EDGE ( 'NONE', *, *, #1640, .F. ) ; +#1149 = ADVANCED_FACE ( 'NONE', ( #858 ), #259, .F. ) ; +#1150 = VECTOR ( 'NONE', #60, 1000.000000000000000 ) ; +#1151 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1152 = ORIENTED_EDGE ( 'NONE', *, *, #1226, .T. ) ; +#1153 = FACE_OUTER_BOUND ( 'NONE', #1103, .T. ) ; +#1154 = ADVANCED_FACE ( 'NONE', ( #1986 ), #2571, .T. ) ; +#1155 = ORIENTED_EDGE ( 'NONE', *, *, #1492, .F. ) ; +#1156 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -108.5433960000000013, 0.000000000000000000 ) ) ; +#1157 = EDGE_LOOP ( 'NONE', ( #1433, #706, #576, #1552 ) ) ; +#1158 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -148.0433967708870000, 0.000000000000000000 ) ) ; +#1159 = ORIENTED_EDGE ( 'NONE', *, *, #1290, .T. ) ; +#1160 = EDGE_LOOP ( 'NONE', ( #1974, #1339, #918, #943 ) ) ; +#1161 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 10.00000000000000000 ) ) ; +#1162 = EDGE_LOOP ( 'NONE', ( #1812, #2673, #1342, #2586 ) ) ; +#1163 = FACE_OUTER_BOUND ( 'NONE', #1685, .T. ) ; +#1164 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1165 = ORIENTED_EDGE ( 'NONE', *, *, #2396, .F. ) ; +#1166 = CLOSED_SHELL ( 'NONE', ( #596, #12, #603, #2116, #639, #2180, #341, #872, #2506, #2338, #2802, #2594, #1582, #364, #1787, #2737, #533, #1423, #1400, #2423, #1701, #54, #284, #694, #991, #1969, #1377, #1638, #107, #1753, #1015, #1868, #751, #1315, #1154, #2007, #1716, #1729, #2750, #2246, #501, #945, #18, #1195, #1286, #2099, #192, #2091, #129, #2811, #2583, #2094, #746, #2474, #710, #1349, #366, #385, #1005, #434, #132, #2242, #197, #1502, #458, #1220, #1485, #2071, #824, #1149, #1446, #1028, #793, #207, #2221, #716, #1325, #2518, #1279, #2392, #1840, #586, #914, #796, #1236, #1687, #1478, #2579, #354, #1922, #2341 ) ) ; +#1167 = AXIS2_PLACEMENT_3D ( 'NONE', #804, #2507, #1663 ) ; +#1168 = PLANE ( 'NONE', #209 ) ; +#1169 = EDGE_CURVE ( 'NONE', #1460, #720, #2584, .T. ) ; +#1170 = VECTOR ( 'NONE', #1312, 1000.000000000000000 ) ; +#1171 = AXIS2_PLACEMENT_3D ( 'NONE', #2057, #1188, #1201 ) ; +#1172 = AXIS2_PLACEMENT_3D ( 'NONE', #2150, #2167, #182 ) ; +#1173 = EDGE_LOOP ( 'NONE', ( #826 ) ) ; +#1174 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1175 = VERTEX_POINT ( 'NONE', #2371 ) ; +#1176 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1177 = EDGE_LOOP ( 'NONE', ( #2679 ) ) ; +#1178 = VERTEX_POINT ( 'NONE', #431 ) ; +#1179 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435079412, 12.95660477088670071, 6.000000000000000000 ) ) ; +#1180 = ORIENTED_EDGE ( 'NONE', *, *, #1556, .T. ) ; +#1181 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1182 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1183 = ORIENTED_EDGE ( 'NONE', *, *, #1519, .F. ) ; +#1184 = ORIENTED_EDGE ( 'NONE', *, *, #1146, .F. ) ; +#1185 = AXIS2_PLACEMENT_3D ( 'NONE', #50, #1176, #756 ) ; +#1186 = LINE ( 'NONE', #1786, #1569 ) ; +#1187 = ORIENTED_EDGE ( 'NONE', *, *, #537, .T. ) ; +#1188 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1189 = ORIENTED_EDGE ( 'NONE', *, *, #340, .F. ) ; +#1190 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1191 = ORIENTED_EDGE ( 'NONE', *, *, #2766, .F. ) ; +#1192 = VERTEX_POINT ( 'NONE', #1291 ) ; +#1193 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398939978, 2.000000000000000000 ) ) ; +#1194 = LINE ( 'NONE', #2702, #398 ) ; +#1195 = ADVANCED_FACE ( 'NONE', ( #2003, #1153 ), #699, .F. ) ; +#1196 = CARTESIAN_POINT ( 'NONE', ( 51.91320800000000446, 5.588871641576239675E-15, 2.000000000000000000 ) ) ; +#1197 = ORIENTED_EDGE ( 'NONE', *, *, #682, .F. ) ; +#1198 = EDGE_LOOP ( 'NONE', ( #1365, #816, #2175, #732 ) ) ; +#1199 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1200 = VECTOR ( 'NONE', #2787, 1000.000000000000000 ) ; +#1201 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1202 = EDGE_CURVE ( 'NONE', #883, #2012, #1380, .T. ) ; +#1203 = LINE ( 'NONE', #173, #333 ) ; +#1204 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1205 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -108.5433960000000013, 26.00000000000000000 ) ) ; +#1206 = EDGE_CURVE ( 'NONE', #327, #2312, #1576, .T. ) ; +#1207 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 10.00000000000000000 ) ) ; +#1208 = VERTEX_POINT ( 'NONE', #2427 ) ; +#1209 = ORIENTED_EDGE ( 'NONE', *, *, #1125, .F. ) ; +#1210 = EDGE_CURVE ( 'NONE', #1857, #1857, #1653, .T. ) ; +#1211 = FACE_BOUND ( 'NONE', #1177, .T. ) ; +#1212 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #1499 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #672, #246, #1547 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) ); +#1213 = CIRCLE ( 'NONE', #893, 1.000000000000000888 ) ; +#1214 = AXIS2_PLACEMENT_3D ( 'NONE', #2692, #591, #150 ) ; +#1215 = VERTEX_POINT ( 'NONE', #352 ) ; +#1216 = AXIS2_PLACEMENT_3D ( 'NONE', #1800, #2243, #1849 ) ; +#1217 = AXIS2_PLACEMENT_3D ( 'NONE', #613, #2509, #387 ) ; +#1218 = VECTOR ( 'NONE', #442, 1000.000000000000000 ) ; +#1219 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1220 = ADVANCED_FACE ( 'NONE', ( #1350 ), #523, .F. ) ; +#1221 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1222 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1223 = EDGE_CURVE ( 'NONE', #1767, #1283, #2248, .T. ) ; +#1224 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1225 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 6.000000000000000000 ) ) ; +#1226 = EDGE_CURVE ( 'NONE', #1241, #1241, #297, .T. ) ; +#1227 = VERTEX_POINT ( 'NONE', #275 ) ; +#1228 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1229 = CARTESIAN_POINT ( 'NONE', ( 95.65490922446547017, -155.9433975800039889, 2.000000000000000000 ) ) ; +#1230 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1231 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1232 = ORIENTED_EDGE ( 'NONE', *, *, #1425, .F. ) ; +#1233 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1234 = LINE ( 'NONE', #1862, #2703 ) ; +#1235 = ORIENTED_EDGE ( 'NONE', *, *, #2797, .F. ) ; +#1236 = ADVANCED_FACE ( 'NONE', ( #1136, #927 ), #1789, .F. ) ; +#1237 = ORIENTED_EDGE ( 'NONE', *, *, #1011, .T. ) ; +#1238 = EDGE_CURVE ( 'NONE', #662, #1248, #176, .T. ) ; +#1239 = LINE ( 'NONE', #2760, #2610 ) ; +#1240 = EDGE_CURVE ( 'NONE', #1759, #2196, #1234, .T. ) ; +#1241 = VERTEX_POINT ( 'NONE', #1678 ) ; +#1242 = PLANE ( 'NONE', #2505 ) ; +#1243 = VECTOR ( 'NONE', #912, 1000.000000000000000 ) ; +#1244 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, -155.9433975800039889, 3.000000000000000000 ) ) ; +#1245 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1246 = FACE_OUTER_BOUND ( 'NONE', #251, .T. ) ; +#1247 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1248 = VERTEX_POINT ( 'NONE', #1673 ) ; +#1249 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1250 = EDGE_CURVE ( 'NONE', #66, #2391, #811, .T. ) ; +#1251 = VERTEX_POINT ( 'NONE', #2739 ) ; +#1252 = FACE_OUTER_BOUND ( 'NONE', #728, .T. ) ; +#1253 = LINE ( 'NONE', #1009, #504 ) ; +#1254 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -108.5433960000000013, 26.00000000000000000 ) ) ; +#1255 = AXIS2_PLACEMENT_3D ( 'NONE', #1142, #723, #266 ) ; +#1256 = VECTOR ( 'NONE', #2723, 1000.000000000000000 ) ; +#1257 = FACE_OUTER_BOUND ( 'NONE', #61, .T. ) ; +#1258 = CIRCLE ( 'NONE', #2613, 1.250000000000001110 ) ; +#1259 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1260 = CIRCLE ( 'NONE', #1626, 1.000000000000000888 ) ; +#1261 = ORIENTED_EDGE ( 'NONE', *, *, #1785, .T. ) ; +#1262 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1263 = EDGE_CURVE ( 'NONE', #1954, #1227, #835, .T. ) ; +#1264 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, -150.5433968397460092, 0.000000000000000000 ) ) ; +#1265 = ORIENTED_EDGE ( 'NONE', *, *, #551, .T. ) ; +#1266 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1267 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435079412, -3.941299982258666910E-15, 10.00000000000000000 ) ) ; +#1268 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1269 = AXIS2_PLACEMENT_3D ( 'NONE', #264, #1140, #931 ) ; +#1270 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1271 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708870000, 6.000000000000000000 ) ) ; +#1272 = AXIS2_PLACEMENT_3D ( 'NONE', #2558, #2333, #1018 ) ; +#1273 = VERTEX_POINT ( 'NONE', #1694 ) ; +#1274 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 0.000000000000000000 ) ) ; +#1275 = EDGE_LOOP ( 'NONE', ( #911, #1830, #1702, #2451 ) ) ; +#1276 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1277 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#1278 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999990185, 26.00000000000000000 ) ) ; +#1279 = ADVANCED_FACE ( 'NONE', ( #1246 ), #145, .F. ) ; +#1280 = FACE_OUTER_BOUND ( 'NONE', #1577, .T. ) ; +#1281 = ORIENTED_EDGE ( 'NONE', *, *, #1993, .T. ) ; +#1282 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1283 = VERTEX_POINT ( 'NONE', #999 ) ; +#1284 = EDGE_CURVE ( 'NONE', #877, #195, #2109, .T. ) ; +#1285 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1286 = ADVANCED_FACE ( 'NONE', ( #156, #2767 ), #619, .F. ) ; +#1287 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1288 = ORIENTED_EDGE ( 'NONE', *, *, #1290, .F. ) ; +#1289 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1290 = EDGE_CURVE ( 'NONE', #1533, #2301, #1045, .T. ) ; +#1291 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708870000, 0.000000000000000000 ) ) ; +#1292 = LINE ( 'NONE', #2157, #2081 ) ; +#1293 = ORIENTED_EDGE ( 'NONE', *, *, #2149, .F. ) ; +#1294 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1295 = ORIENTED_EDGE ( 'NONE', *, *, #1713, .T. ) ; +#1296 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1297 = VECTOR ( 'NONE', #989, 1000.000000000000000 ) ; +#1298 = AXIS2_PLACEMENT_3D ( 'NONE', #1686, #1728, #839 ) ; +#1299 = EDGE_LOOP ( 'NONE', ( #572, #2200, #2517, #748 ) ) ; +#1300 = CIRCLE ( 'NONE', #2491, 126.6268659918020063 ) ; +#1301 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1302 = LINE ( 'NONE', #1090, #319 ) ; +#1303 = ORIENTED_EDGE ( 'NONE', *, *, #160, .F. ) ; +#1304 = LINE ( 'NONE', #2183, #909 ) ; +#1305 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1306 = SURFACE_STYLE_USAGE ( .BOTH. , #1094 ) ; +#1307 = ORIENTED_EDGE ( 'NONE', *, *, #2151, .F. ) ; +#1308 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#1309 = ORIENTED_EDGE ( 'NONE', *, *, #831, .T. ) ; +#1310 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.8312337827360068, 10.00000000000000000 ) ) ; +#1311 = CIRCLE ( 'NONE', #225, 1.000000000000000888 ) ; +#1312 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1313 = AXIS2_PLACEMENT_3D ( 'NONE', #1745, #1703, #1052 ) ; +#1314 = PLANE ( 'NONE', #1572 ) ; +#1315 = ADVANCED_FACE ( 'NONE', ( #2134 ), #1012, .T. ) ; +#1316 = ORIENTED_EDGE ( 'NONE', *, *, #2396, .T. ) ; +#1317 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 3.000000000000000000 ) ) ; +#1318 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1319 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708870000, 6.000000000000000000 ) ) ; +#1320 = ORIENTED_EDGE ( 'NONE', *, *, #287, .T. ) ; +#1321 = LINE ( 'NONE', #477, #907 ) ; +#1322 = ORIENTED_EDGE ( 'NONE', *, *, #2298, .F. ) ; +#1323 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800630192, 18.96120903081409637, 0.000000000000000000 ) ) ; +#1324 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1325 = ADVANCED_FACE ( 'NONE', ( #1683 ), #1908, .T. ) ; +#1326 = VECTOR ( 'NONE', #2198, 1000.000000000000000 ) ; +#1327 = DIRECTION ( 'NONE', ( -1.734723475976809806E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1328 = EDGE_CURVE ( 'NONE', #2461, #2050, #1034, .T. ) ; +#1329 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1330 = EDGE_LOOP ( 'NONE', ( #952 ) ) ; +#1331 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1332 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1333 = FACE_OUTER_BOUND ( 'NONE', #2102, .T. ) ; +#1334 = VERTEX_POINT ( 'NONE', #1882 ) ; +#1335 = FACE_OUTER_BOUND ( 'NONE', #1157, .T. ) ; +#1336 = ORIENTED_EDGE ( 'NONE', *, *, #2523, .F. ) ; +#1338 = LINE ( 'NONE', #1751, #2343 ) ; +#1337 = APPLICATION_CONTEXT ( 'automotive_design' ) ; +#1339 = ORIENTED_EDGE ( 'NONE', *, *, #125, .F. ) ; +#1340 = AXIS2_PLACEMENT_3D ( 'NONE', #573, #2754, #808 ) ; +#1341 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1342 = ORIENTED_EDGE ( 'NONE', *, *, #179, .T. ) ; +#1343 = FACE_OUTER_BOUND ( 'NONE', #1403, .T. ) ; +#1344 = AXIS2_PLACEMENT_3D ( 'NONE', #1540, #1755, #2619 ) ; +#1345 = AXIS2_PLACEMENT_3D ( 'NONE', #1368, #1352, #308 ) ; +#1346 = VECTOR ( 'NONE', #1123, 1000.000000000000000 ) ; +#1347 = LINE ( 'NONE', #1806, #2385 ) ; +#1348 = ORIENTED_EDGE ( 'NONE', *, *, #1802, .F. ) ; +#1349 = ADVANCED_FACE ( 'NONE', ( #165 ), #2755, .F. ) ; +#1350 = FACE_OUTER_BOUND ( 'NONE', #280, .T. ) ; +#1351 = VERTEX_POINT ( 'NONE', #788 ) ; +#1352 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1353 = ORIENTED_EDGE ( 'NONE', *, *, #1328, .T. ) ; +#1354 = FACE_OUTER_BOUND ( 'NONE', #1875, .T. ) ; +#1355 = ORIENTED_EDGE ( 'NONE', *, *, #2457, .T. ) ; +#1356 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1357 = CYLINDRICAL_SURFACE ( 'NONE', #362, 1.249999999999997558 ) ; +#1358 = ORIENTED_EDGE ( 'NONE', *, *, #1790, .T. ) ; +#1359 = LINE ( 'NONE', #517, #1853 ) ; +#1360 = EDGE_CURVE ( 'NONE', #114, #1990, #1648, .T. ) ; +#1361 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1362 = VERTEX_POINT ( 'NONE', #575 ) ; +#1363 = VECTOR ( 'NONE', #2433, 1000.000000000000000 ) ; +#1364 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433960000000013, 26.00000000000000000 ) ) ; +#1365 = ORIENTED_EDGE ( 'NONE', *, *, #852, .F. ) ; +#1366 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1367 = VERTEX_POINT ( 'NONE', #393 ) ; +#1368 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#1369 = ORIENTED_EDGE ( 'NONE', *, *, #627, .F. ) ; +#1370 = FACE_OUTER_BOUND ( 'NONE', #2607, .T. ) ; +#1371 = ORIENTED_EDGE ( 'NONE', *, *, #734, .T. ) ; +#1372 = EDGE_LOOP ( 'NONE', ( #544, #1763, #2468, #1237 ) ) ; +#1373 = LINE ( 'NONE', #1179, #815 ) ; +#1374 = ORIENTED_EDGE ( 'NONE', *, *, #2511, .T. ) ; +#1375 = LINE ( 'NONE', #2471, #34 ) ; +#1376 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.191918389374482973E-16, 0.000000000000000000 ) ) ; +#1377 = ADVANCED_FACE ( 'NONE', ( #1257 ), #1432, .F. ) ; +#1378 = EDGE_LOOP ( 'NONE', ( #1288, #88, #256, #1934 ) ) ; +#1379 = LINE ( 'NONE', #910, #1704 ) ; +#1380 = LINE ( 'NONE', #717, #610 ) ; +#1381 = EDGE_LOOP ( 'NONE', ( #1191, #556, #548, #2128 ) ) ; +#1382 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1383 = ORIENTED_EDGE ( 'NONE', *, *, #2203, .F. ) ; +#1384 = LINE ( 'NONE', #1612, #784 ) ; +#1385 = EDGE_LOOP ( 'NONE', ( #1585, #1374, #1630, #395 ) ) ; +#1386 = EDGE_LOOP ( 'NONE', ( #350, #658, #453, #1336 ) ) ; +#1387 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1388 = ORIENTED_EDGE ( 'NONE', *, *, #1121, .F. ) ; +#1389 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1390 = DIRECTION ( 'NONE', ( -1.000000000000000000, -5.782411586589350736E-16, 0.000000000000000000 ) ) ; +#1391 = EDGE_CURVE ( 'NONE', #2353, #1748, #2743, .T. ) ; +#1392 = EDGE_LOOP ( 'NONE', ( #2397, #2267, #2063, #1817, #982, #2720, #2020, #2449, #736, #2479, #1069, #863, #554, #687, #1095, #2289, #2575, #1184, #838, #1675, #1355, #1409, #1884, #2240, #2557, #202, #1985, #2042, #1061, #1483, #1803, #1148, #2315, #2699, #1309, #265, #1913, #704, #2034, #1 ) ) ; +#1393 = ORIENTED_EDGE ( 'NONE', *, *, #489, .T. ) ; +#1394 = AXIS2_PLACEMENT_3D ( 'NONE', #1695, #2135, #189 ) ; +#1395 = VECTOR ( 'NONE', #1462, 1000.000000000000000 ) ; +#1396 = FACE_OUTER_BOUND ( 'NONE', #2599, .T. ) ; +#1397 = CIRCLE ( 'NONE', #547, 2.000000000000001776 ) ; +#1398 = ORIENTED_EDGE ( 'NONE', *, *, #2523, .T. ) ; +#1399 = PLANE ( 'NONE', #1073 ) ; +#1400 = ADVANCED_FACE ( 'NONE', ( #2162 ), #646, .T. ) ; +#1401 = ORIENTED_EDGE ( 'NONE', *, *, #1442, .T. ) ; +#1402 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1403 = EDGE_LOOP ( 'NONE', ( #1923, #2152, #2807, #2389 ) ) ; +#1404 = ORIENTED_EDGE ( 'NONE', *, *, #26, .F. ) ; +#1405 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1406 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999969934, 26.00000000000000000 ) ) ; +#1407 = PLANE ( 'NONE', #257 ) ; +#1408 = LINE ( 'NONE', #336, #1297 ) ; +#1409 = ORIENTED_EDGE ( 'NONE', *, *, #2548, .F. ) ; +#1410 = AXIS2_PLACEMENT_3D ( 'NONE', #2539, #2120, #1480 ) ; +#1411 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1412 = VECTOR ( 'NONE', #2, 1000.000000000000000 ) ; +#1413 = VERTEX_POINT ( 'NONE', #1308 ) ; +#1414 = CARTESIAN_POINT ( 'NONE', ( -40.29339670435079768, -28.54339599999969934, 26.00000000000000000 ) ) ; +#1415 = ORIENTED_EDGE ( 'NONE', *, *, #2015, .F. ) ; +#1416 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1417 = EDGE_CURVE ( 'NONE', #2414, #66, #2416, .T. ) ; +#1418 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1419 = FACE_OUTER_BOUND ( 'NONE', #2757, .T. ) ; +#1420 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1421 = ORIENTED_EDGE ( 'NONE', *, *, #200, .F. ) ; +#1422 = VERTEX_POINT ( 'NONE', #218 ) ; +#1423 = ADVANCED_FACE ( 'NONE', ( #1764 ), #37, .T. ) ; +#1424 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -153.0433963742549963, 6.000000000000000000 ) ) ; +#1425 = EDGE_CURVE ( 'NONE', #1950, #205, #1321, .T. ) ; +#1426 = EDGE_CURVE ( 'NONE', #1283, #1227, #559, .T. ) ; +#1427 = AXIS2_PLACEMENT_3D ( 'NONE', #1244, #1477, #1019 ) ; +#1428 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1429 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -157.5433960000000013, 10.00000000000000000 ) ) ; +#1430 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1431 = LINE ( 'NONE', #175, #2712 ) ; +#1432 = PLANE ( 'NONE', #180 ) ; +#1433 = ORIENTED_EDGE ( 'NONE', *, *, #855, .T. ) ; +#1434 = ORIENTED_EDGE ( 'NONE', *, *, #1652, .T. ) ; +#1435 = FACE_BOUND ( 'NONE', #1614, .T. ) ; +#1436 = AXIS2_PLACEMENT_3D ( 'NONE', #1364, #681, #95 ) ; +#1437 = VECTOR ( 'NONE', #1624, 1000.000000000000000 ) ; +#1438 = CARTESIAN_POINT ( 'NONE', ( 95.65490885591756864, -128.1433958398939978, 10.00000000000000000 ) ) ; +#1439 = AXIS2_PLACEMENT_3D ( 'NONE', #1406, #2500, #2227 ) ; +#1440 = VECTOR ( 'NONE', #342, 1000.000000000000000 ) ; +#1441 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1442 = EDGE_CURVE ( 'NONE', #2711, #673, #674, .T. ) ; +#1443 = LINE ( 'NONE', #1267, #1554 ) ; +#1444 = DIRECTION ( 'NONE', ( 1.734723475976809806E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1445 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1446 = ADVANCED_FACE ( 'NONE', ( #1335 ), #633, .F. ) ; +#1447 = ORIENTED_EDGE ( 'NONE', *, *, #258, .F. ) ; +#1448 = ORIENTED_EDGE ( 'NONE', *, *, #2536, .F. ) ; +#1449 = EDGE_CURVE ( 'NONE', #1362, #928, #2375, .T. ) ; +#1450 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#1451 = CIRCLE ( 'NONE', #2728, 2.000000000000001776 ) ; +#1452 = VECTOR ( 'NONE', #1813, 1000.000000000000000 ) ; +#1453 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 0.000000000000000000 ) ) ; +#1454 = AXIS2_PLACEMENT_3D ( 'NONE', #995, #1416, #2117 ) ; +#1455 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 0.000000000000000000 ) ) ; +#1456 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1457 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1458 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1459 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1460 = VERTEX_POINT ( 'NONE', #1723 ) ; +#1461 = EDGE_CURVE ( 'NONE', #757, #1609, #20, .T. ) ; +#1462 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1463 = CARTESIAN_POINT ( 'NONE', ( -41.84509218423612964, -155.9433975800039889, 2.000000000000000000 ) ) ; +#1464 = FACE_OUTER_BOUND ( 'NONE', #2238, .T. ) ; +#1465 = CIRCLE ( 'NONE', #241, 2.000000000000001776 ) ; +#1466 = LINE ( 'NONE', #2349, #120 ) ; +#1467 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#1468 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1469 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1470 = ORIENTED_EDGE ( 'NONE', *, *, #2671, .T. ) ; +#1471 = EDGE_CURVE ( 'NONE', #2647, #691, #1736, .T. ) ; +#1472 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1473 = VECTOR ( 'NONE', #33, 1000.000000000000000 ) ; +#1474 = CARTESIAN_POINT ( 'NONE', ( -41.84509216189962189, -8.943396160106200199, 2.000000000000000000 ) ) ; +#1475 = EDGE_LOOP ( 'NONE', ( #2482 ) ) ; +#1476 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -129.5433960000000013, 0.000000000000000000 ) ) ; +#1477 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1478 = ADVANCED_FACE ( 'NONE', ( #235, #2390 ), #2144, .F. ) ; +#1479 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1480 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1481 = AXIS2_PLACEMENT_3D ( 'NONE', #1181, #1586, #936 ) ; +#1482 = FACE_OUTER_BOUND ( 'NONE', #1599, .T. ) ; +#1483 = ORIENTED_EDGE ( 'NONE', *, *, #2329, .F. ) ; +#1484 = FACE_BOUND ( 'NONE', #331, .T. ) ; +#1485 = ADVANCED_FACE ( 'NONE', ( #1535 ), #452, .T. ) ; +#1486 = ORIENTED_EDGE ( 'NONE', *, *, #2131, .F. ) ; +#1487 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 16.74444178273600059, 10.00000000000000000 ) ) ; +#1488 = EDGE_CURVE ( 'NONE', #1208, #2312, #822, .T. ) ; +#1489 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1490 = CIRCLE ( 'NONE', #1269, 0.9483043470089811411 ) ; +#1491 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1492 = EDGE_CURVE ( 'NONE', #481, #2357, #328, .T. ) ; +#1493 = ORIENTED_EDGE ( 'NONE', *, *, #1328, .F. ) ; +#1494 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, -150.5433968397460092, 10.00000000000000000 ) ) ; +#1495 = ORIENTED_EDGE ( 'NONE', *, *, #2000, .F. ) ; +#1496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1497 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -28.54339599999990185, 26.00000000000000000 ) ) ; +#1498 = EDGE_CURVE ( 'NONE', #977, #2044, #2816, .T. ) ; +#1499 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #672, 'distance_accuracy_value', 'NONE'); +#1500 = ORIENTED_EDGE ( 'NONE', *, *, #1845, .F. ) ; +#1501 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1502 = ADVANCED_FACE ( 'NONE', ( #1280 ), #201, .T. ) ; +#1503 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1504 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1505 = EDGE_CURVE ( 'NONE', #1109, #1192, #2681, .T. ) ; +#1506 = ORIENTED_EDGE ( 'NONE', *, *, #919, .T. ) ; +#1507 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1508 = EDGE_LOOP ( 'NONE', ( #2624, #1936, #1506, #72, #2066, #1791, #2701, #2481, #1946, #14, #82, #295, #1637, #274, #2504, #1649 ) ) ; +#1509 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433960000000013, 0.000000000000000000 ) ) ; +#1510 = ORIENTED_EDGE ( 'NONE', *, *, #223, .T. ) ; +#1511 = PLANE ( 'NONE', #2666 ) ; +#1512 = LINE ( 'NONE', #2782, #1218 ) ; +#1513 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #1337 ) ; +#1514 = ORIENTED_EDGE ( 'NONE', *, *, #1825, .F. ) ; +#1515 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231109991, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1516 = LINE ( 'NONE', #2173, #64 ) ; +#1517 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1518 = EDGE_LOOP ( 'NONE', ( #536, #1388, #2774, #1002 ) ) ; +#1519 = EDGE_CURVE ( 'NONE', #2762, #2762, #1490, .T. ) ; +#1520 = DIRECTION ( 'NONE', ( -1.076579902666819972E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1521 = VERTEX_POINT ( 'NONE', #83 ) ; +#1522 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1523 = VECTOR ( 'NONE', #2337, 1000.000000000000000 ) ; +#1524 = AXIS2_PLACEMENT_3D ( 'NONE', #2354, #653, #414 ) ; +#1525 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#1526 = EDGE_CURVE ( 'NONE', #614, #1609, #2318, .T. ) ; +#1527 = VECTOR ( 'NONE', #950, 1000.000000000000000 ) ; +#1528 = CIRCLE ( 'NONE', #851, 1.250000000000001110 ) ; +#1529 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1530 = EDGE_LOOP ( 'NONE', ( #1434, #2719, #1605, #2017 ) ) ; +#1531 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1532 = LINE ( 'NONE', #2400, #574 ) ; +#1533 = VERTEX_POINT ( 'NONE', #1631 ) ; +#1534 = EDGE_CURVE ( 'NONE', #1351, #28, #772, .T. ) ; +#1535 = FACE_OUTER_BOUND ( 'NONE', #1144, .T. ) ; +#1536 = ORIENTED_EDGE ( 'NONE', *, *, #2707, .F. ) ; +#1537 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#1538 = AXIS2_PLACEMENT_3D ( 'NONE', #571, #2085, #1221 ) ; +#1539 = AXIS2_PLACEMENT_3D ( 'NONE', #1021, #2551, #1458 ) ; +#1540 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800039889, 2.000000000000000000 ) ) ; +#1541 = CIRCLE ( 'NONE', #1904, 0.9483043470089811411 ) ; +#1542 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1543 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1544 = VERTEX_POINT ( 'NONE', #739 ) ; +#1545 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1546 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1547 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) ); +#1548 = ORIENTED_EDGE ( 'NONE', *, *, #2302, .T. ) ; +#1549 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1550 = EDGE_LOOP ( 'NONE', ( #1137, #870, #2667, #2686 ) ) ; +#1551 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1552 = ORIENTED_EDGE ( 'NONE', *, *, #1715, .F. ) ; +#1553 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1554 = VECTOR ( 'NONE', #2323, 1000.000000000000000 ) ; +#1555 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1556 = EDGE_CURVE ( 'NONE', #1978, #2353, #968, .T. ) ; +#1557 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361379793, 10.00000000000000000 ) ) ; +#1558 = ORIENTED_EDGE ( 'NONE', *, *, #1040, .T. ) ; +#1559 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1560 = ORIENTED_EDGE ( 'NONE', *, *, #764, .F. ) ; +#1561 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -154.5433969945210038, 10.00000000000000000 ) ) ; +#1562 = EDGE_LOOP ( 'NONE', ( #1265, #314, #2698, #1846 ) ) ; +#1563 = FACE_OUTER_BOUND ( 'NONE', #1843, .T. ) ; +#1564 = ORIENTED_EDGE ( 'NONE', *, *, #1915, .F. ) ; +#1565 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106189541, 2.000000000000000000 ) ) ; +#1566 = VERTEX_POINT ( 'NONE', #2662 ) ; +#1567 = AXIS2_PLACEMENT_3D ( 'NONE', #2199, #199, #260 ) ; +#1568 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1569 = VECTOR ( 'NONE', #696, 1000.000000000000000 ) ; +#1570 = EDGE_LOOP ( 'NONE', ( #801 ) ) ; +#1571 = AXIS2_PLACEMENT_3D ( 'NONE', #286, #133, #778 ) ; +#1572 = AXIS2_PLACEMENT_3D ( 'NONE', #240, #678, #1542 ) ; +#1573 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -128.1433958398939978, 3.000000000000000000 ) ) ; +#1574 = EDGE_LOOP ( 'NONE', ( #2235 ) ) ; +#1575 = EDGE_CURVE ( 'NONE', #116, #2186, #1311, .T. ) ; +#1576 = LINE ( 'NONE', #2216, #2016 ) ; +#1577 = EDGE_LOOP ( 'NONE', ( #497, #634, #1495, #2709 ) ) ; +#1578 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1579 = ORIENTED_EDGE ( 'NONE', *, *, #1662, .F. ) ; +#1580 = CYLINDRICAL_SURFACE ( 'NONE', #1768, 2.000000000000001776 ) ; +#1581 = ORIENTED_EDGE ( 'NONE', *, *, #882, .T. ) ; +#1582 = ADVANCED_FACE ( 'NONE', ( #1597 ), #1580, .T. ) ; +#1583 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1584 = DIRECTION ( 'NONE', ( 2.153159805333639945E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1585 = ORIENTED_EDGE ( 'NONE', *, *, #1635, .T. ) ; +#1586 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.089316108853050465E-16, 0.000000000000000000 ) ) ; +#1587 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#1588 = ORIENTED_EDGE ( 'NONE', *, *, #1391, .T. ) ; +#1589 = AXIS2_PLACEMENT_3D ( 'NONE', #2587, #2632, #2616 ) ; +#1590 = EDGE_CURVE ( 'NONE', #2285, #1750, #703, .T. ) ; +#1591 = CYLINDRICAL_SURFACE ( 'NONE', #1214, 1.000000000000000888 ) ; +#1592 = EDGE_LOOP ( 'NONE', ( #1560 ) ) ; +#1593 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1594 = VERTEX_POINT ( 'NONE', #2008 ) ; +#1595 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1596 = ORIENTED_EDGE ( 'NONE', *, *, #2792, .T. ) ; +#1597 = FACE_OUTER_BOUND ( 'NONE', #961, .T. ) ; +#1598 = ORIENTED_EDGE ( 'NONE', *, *, #970, .F. ) ; +#1599 = EDGE_LOOP ( 'NONE', ( #2165 ) ) ; +#1600 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1601 = ORIENTED_EDGE ( 'NONE', *, *, #1498, .T. ) ; +#1602 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435078347, -108.5433959999999871, 6.000000000000000000 ) ) ; +#1603 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1604 = EDGE_LOOP ( 'NONE', ( #1421 ) ) ; +#1605 = ORIENTED_EDGE ( 'NONE', *, *, #2212, .T. ) ; +#1606 = AXIS2_PLACEMENT_3D ( 'NONE', #2655, #508, #1366 ) ; +#1607 = EDGE_CURVE ( 'NONE', #2192, #481, #2466, .T. ) ; +#1608 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1609 = VERTEX_POINT ( 'NONE', #115 ) ; +#1610 = LINE ( 'NONE', #2250, #400 ) ; +#1611 = ORIENTED_EDGE ( 'NONE', *, *, #338, .T. ) ; +#1612 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1613 = VERTEX_POINT ( 'NONE', #65 ) ; +#1614 = EDGE_LOOP ( 'NONE', ( #2651 ) ) ; +#1615 = DIRECTION ( 'NONE', ( 1.000000000000000000, 9.251858538542973800E-16, 0.000000000000000000 ) ) ; +#1616 = ORIENTED_EDGE ( 'NONE', *, *, #479, .T. ) ; +#1617 = LINE ( 'NONE', #2716, #488 ) ; +#1618 = FACE_OUTER_BOUND ( 'NONE', #753, .T. ) ; +#1619 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1620 = VECTOR ( 'NONE', #2729, 1000.000000000000000 ) ; +#1621 = ORIENTED_EDGE ( 'NONE', *, *, #648, .F. ) ; +#1622 = VECTOR ( 'NONE', #1740, 1000.000000000000000 ) ; +#1623 = CIRCLE ( 'NONE', #397, 0.9483043470089741467 ) ; +#1624 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1625 = CIRCLE ( 'NONE', #445, 0.9483045201146705905 ) ; +#1626 = AXIS2_PLACEMENT_3D ( 'NONE', #2069, #1792, #719 ) ; +#1627 = AXIS2_PLACEMENT_3D ( 'NONE', #2639, #693, #1555 ) ; +#1628 = EDGE_LOOP ( 'NONE', ( #2675 ) ) ; +#1629 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1630 = ORIENTED_EDGE ( 'NONE', *, *, #2588, .T. ) ; +#1631 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1632 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 20.45660399999999868, 0.000000000000000000 ) ) ; +#1633 = ORIENTED_EDGE ( 'NONE', *, *, #1025, .F. ) ; +#1634 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1635 = EDGE_CURVE ( 'NONE', #1422, #601, #983, .T. ) ; +#1636 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999990185, 10.00000000000000000 ) ) ; +#1637 = ORIENTED_EDGE ( 'NONE', *, *, #1899, .T. ) ; +#1638 = ADVANCED_FACE ( 'NONE', ( #1370 ), #2713, .F. ) ; +#1639 = ORIENTED_EDGE ( 'NONE', *, *, #2445, .T. ) ; +#1640 = EDGE_CURVE ( 'NONE', #1175, #1065, #1384, .T. ) ; +#1641 = CIRCLE ( 'NONE', #1185, 1.000000000000000888 ) ; +#1642 = LINE ( 'NONE', #2545, #1068 ) ; +#1643 = AXIS2_PLACEMENT_3D ( 'NONE', #461, #419, #2786 ) ; +#1644 = CYLINDRICAL_SURFACE ( 'NONE', #1454, 2.000000000000001776 ) ; +#1645 = LINE ( 'NONE', #956, #137 ) ; +#1646 = EDGE_LOOP ( 'NONE', ( #464, #288, #2513, #1616 ) ) ; +#1647 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#1648 = LINE ( 'NONE', #2515, #2092 ) ; +#1649 = ORIENTED_EDGE ( 'NONE', *, *, #1011, .F. ) ; +#1650 = ORIENTED_EDGE ( 'NONE', *, *, #1697, .T. ) ; +#1651 = FACE_OUTER_BOUND ( 'NONE', #2170, .T. ) ; +#1652 = EDGE_CURVE ( 'NONE', #1750, #49, #962, .T. ) ; +#1653 = CIRCLE ( 'NONE', #2187, 0.9483045201146705905 ) ; +#1654 = CARTESIAN_POINT ( 'NONE', ( 95.65490922446547017, -155.9433975800039889, 10.00000000000000000 ) ) ; +#1655 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708870000, 10.00000000000000000 ) ) ; +#1656 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1657 = EDGE_CURVE ( 'NONE', #1521, #1767, #457, .T. ) ; +#1658 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -28.54339599999990185, 10.00000000000000000 ) ) ; +#1659 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435078347, -108.5433959999999871, 0.000000000000000000 ) ) ; +#1660 = ORIENTED_EDGE ( 'NONE', *, *, #2316, .T. ) ; +#1661 = ORIENTED_EDGE ( 'NONE', *, *, #1505, .T. ) ; +#1662 = EDGE_CURVE ( 'NONE', #1990, #2012, #1641, .T. ) ; +#1663 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1664 = CIRCLE ( 'NONE', #2487, 1.000000000000000888 ) ; +#1665 = VECTOR ( 'NONE', #1050, 1000.000000000000000 ) ; +#1666 = PLANE ( 'NONE', #1217 ) ; +#1667 = VECTOR ( 'NONE', #2348, 1000.000000000000000 ) ; +#1668 = CIRCLE ( 'NONE', #549, 0.9483043470089741467 ) ; +#1669 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, -148.0433967708870000, 0.000000000000000000 ) ) ; +#1670 = LINE ( 'NONE', #2097, #2577 ) ; +#1671 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708859768, 10.00000000000000000 ) ) ; +#1672 = EDGE_CURVE ( 'NONE', #217, #1730, #543, .T. ) ; +#1673 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1674 = LINE ( 'NONE', #2574, #1523 ) ; +#1675 = ORIENTED_EDGE ( 'NONE', *, *, #1263, .F. ) ; +#1676 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -148.0433967708870000, 10.00000000000000000 ) ) ; +#1677 = AXIS2_PLACEMENT_3D ( 'NONE', #560, #527, #2201 ) ; +#1678 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974599941, 10.00000000000000000 ) ) ; +#1679 = VECTOR ( 'NONE', #615, 1000.000000000000000 ) ; +#1680 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1681 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435079945, 12.95660477088670248, 6.000000000000000000 ) ) ; +#1682 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#1683 = FACE_OUTER_BOUND ( 'NONE', #2339, .T. ) ; +#1684 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1685 = EDGE_LOOP ( 'NONE', ( #2147, #2645, #1371, #669 ) ) ; +#1686 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, 145.5880750226160103, 10.00000000000000000 ) ) ; +#1687 = ADVANCED_FACE ( 'NONE', ( #1563, #1354 ), #2222, .F. ) ; +#1688 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433960000000013, 10.00000000000000000 ) ) ; +#1689 = VERTEX_POINT ( 'NONE', #1008 ) ; +#1690 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1691 = VECTOR ( 'NONE', #797, 1000.000000000000000 ) ; +#1692 = LINE ( 'NONE', #2559, #347 ) ; +#1693 = PLANE ( 'NONE', #139 ) ; +#1694 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -108.5433960000000013, 10.00000000000000000 ) ) ; +#1695 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -137.0867920000000026, 2.000000000000000000 ) ) ; +#1696 = ORIENTED_EDGE ( 'NONE', *, *, #2207, .F. ) ; +#1697 = EDGE_CURVE ( 'NONE', #1109, #2050, #388, .T. ) ; +#1698 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 0.000000000000000000 ) ) ; +#1699 = EDGE_CURVE ( 'NONE', #2077, #749, #2547, .T. ) ; +#1700 = AXIS2_PLACEMENT_3D ( 'NONE', #617, #1245, #1222 ) ; +#1701 = ADVANCED_FACE ( 'NONE', ( #1252 ), #1644, .T. ) ; +#1702 = ORIENTED_EDGE ( 'NONE', *, *, #2548, .T. ) ; +#1703 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1704 = VECTOR ( 'NONE', #2622, 1000.000000000000000 ) ; +#1705 = CYLINDRICAL_SURFACE ( 'NONE', #1427, 0.9483045201146705905 ) ; +#1706 = FACE_OUTER_BOUND ( 'NONE', #167, .T. ) ; +#1707 = CIRCLE ( 'NONE', #1804, 1.250000000000001110 ) ; +#1708 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -157.5433960000000013, 0.000000000000000000 ) ) ; +#1709 = VECTOR ( 'NONE', #1881, 1000.000000000000000 ) ; +#1710 = LINE ( 'NONE', #2121, #2430 ) ; +#1711 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'part', '', ( #2604 ) ) ; +#1712 = ORIENTED_EDGE ( 'NONE', *, *, #1461, .T. ) ; +#1713 = EDGE_CURVE ( 'NONE', #2052, #516, #1203, .T. ) ; +#1714 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1715 = EDGE_CURVE ( 'NONE', #49, #1724, #1042, .T. ) ; +#1716 = ADVANCED_FACE ( 'NONE', ( #581 ), #1879, .T. ) ; +#1717 = ORIENTED_EDGE ( 'NONE', *, *, #148, .F. ) ; +#1718 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 0.000000000000000000 ) ) ; +#1719 = LINE ( 'NONE', #685, #1326 ) ; +#1720 = LINE ( 'NONE', #2585, #1756 ) ; +#1721 = VECTOR ( 'NONE', #1507, 1000.000000000000000 ) ; +#1722 = VERTEX_POINT ( 'NONE', #570 ) ; +#1723 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1724 = VERTEX_POINT ( 'NONE', #1893 ) ; +#1725 = FACE_OUTER_BOUND ( 'NONE', #2715, .T. ) ; +#1726 = EDGE_LOOP ( 'NONE', ( #2791, #790, #2045, #1795 ) ) ; +#1727 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -154.5433969945210038, 0.000000000000000000 ) ) ; +#1728 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1729 = ADVANCED_FACE ( 'NONE', ( #1464 ), #1242, .F. ) ; +#1730 = VERTEX_POINT ( 'NONE', #605 ) ; +#1731 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1732 = FACE_OUTER_BOUND ( 'NONE', #466, .T. ) ; +#1733 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 12.95660477088670071, 10.00000000000000000 ) ) ; +#1734 = EDGE_CURVE ( 'NONE', #2344, #2344, #1541, .T. ) ; +#1735 = ORIENTED_EDGE ( 'NONE', *, *, #592, .T. ) ; +#1736 = LINE ( 'NONE', #1749, #1945 ) ; +#1737 = EDGE_LOOP ( 'NONE', ( #743 ) ) ; +#1738 = EDGE_CURVE ( 'NONE', #104, #2691, #2775, .T. ) ; +#1740 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1739 = APPLICATION_CONTEXT ( 'automotive_design' ) ; +#1741 = ORIENTED_EDGE ( 'NONE', *, *, #1802, .T. ) ; +#1742 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 15.95660437425509848, 0.000000000000000000 ) ) ; +#1743 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1744 = ORIENTED_EDGE ( 'NONE', *, *, #1146, .T. ) ; +#1745 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1746 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1747 = FILL_AREA_STYLE_COLOUR ( '', #2082 ) ; +#1748 = VERTEX_POINT ( 'NONE', #353 ) ; +#1749 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#1750 = VERTEX_POINT ( 'NONE', #128 ) ; +#1751 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -28.54339599999969934, 6.000000000000000000 ) ) ; +#1752 = VECTOR ( 'NONE', #917, 1000.000000000000000 ) ; +#1753 = ADVANCED_FACE ( 'NONE', ( #830 ), #153, .F. ) ; +#1754 = VECTOR ( 'NONE', #1390, 1000.000000000000000 ) ; +#1755 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1756 = VECTOR ( 'NONE', #644, 1000.000000000000000 ) ; +#1757 = FACE_OUTER_BOUND ( 'NONE', #5, .T. ) ; +#1758 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1759 = VERTEX_POINT ( 'NONE', #2751 ) ; +#1760 = LINE ( 'NONE', #857, #181 ) ; +#1761 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1762 = LINE ( 'NONE', #1278, #1346 ) ; +#1763 = ORIENTED_EDGE ( 'NONE', *, *, #1425, .T. ) ; +#1764 = FACE_OUTER_BOUND ( 'NONE', #53, .T. ) ; +#1765 = ORIENTED_EDGE ( 'NONE', *, *, #791, .T. ) ; +#1766 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1767 = VERTEX_POINT ( 'NONE', #1429 ) ; +#1768 = AXIS2_PLACEMENT_3D ( 'NONE', #2059, #1829, #2697 ) ; +#1769 = EDGE_CURVE ( 'NONE', #161, #161, #680, .T. ) ; +#1770 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1771 = VECTOR ( 'NONE', #819, 1000.000000000000000 ) ; +#1772 = PLANE ( 'NONE', #947 ) ; +#1773 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -8.943396160106189541, 10.00000000000000000 ) ) ; +#1774 = EDGE_LOOP ( 'NONE', ( #305 ) ) ; +#1775 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1776 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1777 = ORIENTED_EDGE ( 'NONE', *, *, #2329, .T. ) ; +#1778 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1779 = ORIENTED_EDGE ( 'NONE', *, *, #191, .T. ) ; +#1780 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1781 = VERTEX_POINT ( 'NONE', #1669 ) ; +#1782 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433960000000013, 0.000000000000000000 ) ) ; +#1783 = VECTOR ( 'NONE', #1305, 1000.000000000000000 ) ; +#1784 = ORIENTED_EDGE ( 'NONE', *, *, #1223, .F. ) ; +#1785 = EDGE_CURVE ( 'NONE', #1065, #1689, #413, .T. ) ; +#1786 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1787 = ADVANCED_FACE ( 'NONE', ( #2105 ), #1029, .T. ) ; +#1788 = EDGE_LOOP ( 'NONE', ( #660 ) ) ; +#1789 = CYLINDRICAL_SURFACE ( 'NONE', #1606, 1.250000000000001110 ) ; +#1790 = EDGE_CURVE ( 'NONE', #2647, #938, #2084, .T. ) ; +#1791 = ORIENTED_EDGE ( 'NONE', *, *, #1505, .F. ) ; +#1792 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1793 = ORIENTED_EDGE ( 'NONE', *, *, #505, .F. ) ; +#1794 = CARTESIAN_POINT ( 'NONE', ( -30.54339599999988764, -108.5433960000000013, 6.000000000000000000 ) ) ; +#1795 = ORIENTED_EDGE ( 'NONE', *, *, #1206, .F. ) ; +#1796 = LINE ( 'NONE', #2664, #2795 ) ; +#1797 = DIRECTION ( 'NONE', ( -1.734723475976809806E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1798 = ORIENTED_EDGE ( 'NONE', *, *, #405, .F. ) ; +#1799 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#1800 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 10.00000000000000000 ) ) ; +#1801 = VECTOR ( 'NONE', #2320, 1000.000000000000000 ) ; +#1802 = EDGE_CURVE ( 'NONE', #1273, #1124, #2740, .T. ) ; +#1803 = ORIENTED_EDGE ( 'NONE', *, *, #1785, .F. ) ; +#1804 = AXIS2_PLACEMENT_3D ( 'NONE', #268, #1496, #866 ) ; +#1805 = CIRCLE ( 'NONE', #624, 1.000000000000000888 ) ; +#1806 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708870000, 10.00000000000000000 ) ) ; +#1807 = ORIENTED_EDGE ( 'NONE', *, *, #2520, .F. ) ; +#1808 = EDGE_CURVE ( 'NONE', #1091, #2711, #2544, .T. ) ; +#1809 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1810 = ORIENTED_EDGE ( 'NONE', *, *, #2356, .F. ) ; +#1811 = LINE ( 'NONE', #2041, #668 ) ; +#1812 = ORIENTED_EDGE ( 'NONE', *, *, #258, .T. ) ; +#1813 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1814 = ORIENTED_EDGE ( 'NONE', *, *, #1808, .T. ) ; +#1815 = ORIENTED_EDGE ( 'NONE', *, *, #1118, .T. ) ; +#1816 = LINE ( 'NONE', #2072, #490 ) ; +#1817 = ORIENTED_EDGE ( 'NONE', *, *, #697, .T. ) ; +#1818 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, -1.000000000000000000 ) ) ; +#1819 = PLANE ( 'NONE', #588 ) ; +#1820 = ORIENTED_EDGE ( 'NONE', *, *, #1652, .F. ) ; +#1821 = VECTOR ( 'NONE', #1402, 1000.000000000000000 ) ; +#1822 = ORIENTED_EDGE ( 'NONE', *, *, #2536, .T. ) ; +#1823 = VECTOR ( 'NONE', #1942, 1000.000000000000000 ) ; +#1824 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1825 = EDGE_CURVE ( 'NONE', #1227, #1521, #670, .T. ) ; +#1826 = ORIENTED_EDGE ( 'NONE', *, *, #223, .F. ) ; +#1827 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1828 = EDGE_LOOP ( 'NONE', ( #112, #2563, #263, #102 ) ) ; +#1829 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1830 = ORIENTED_EDGE ( 'NONE', *, *, #1206, .T. ) ; +#1831 = ORIENTED_EDGE ( 'NONE', *, *, #1982, .F. ) ; +#1832 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1833 = ORIENTED_EDGE ( 'NONE', *, *, #2215, .T. ) ; +#1834 = EDGE_CURVE ( 'NONE', #423, #2024, #430, .T. ) ; +#1835 = LINE ( 'NONE', #2485, #715 ) ; +#1836 = LINE ( 'NONE', #563, #2115 ) ; +#1837 = LINE ( 'NONE', #1991, #1752 ) ; +#1838 = ORIENTED_EDGE ( 'NONE', *, *, #2424, .F. ) ; +#1839 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1840 = ADVANCED_FACE ( 'NONE', ( #2130 ), #2596, .T. ) ; +#1841 = ORIENTED_EDGE ( 'NONE', *, *, #1734, .F. ) ; +#1842 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1843 = EDGE_LOOP ( 'NONE', ( #1383 ) ) ; +#1844 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -108.5433960000000013, 10.00000000000000000 ) ) ; +#1845 = EDGE_CURVE ( 'NONE', #1141, #2009, #1760, .T. ) ; +#1846 = ORIENTED_EDGE ( 'NONE', *, *, #2281, .F. ) ; +#1847 = DIRECTION ( 'NONE', ( 1.301042606982600390E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1848 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120903081409637, 10.00000000000000000 ) ) ; +#1849 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1850 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#1851 = AXIS2_PLACEMENT_3D ( 'NONE', #2765, #1268, #1233 ) ; +#1852 = VERTEX_POINT ( 'NONE', #448 ) ; +#1853 = VECTOR ( 'NONE', #2241, 1000.000000000000000 ) ; +#1854 = LINE ( 'NONE', #1885, #1256 ) ; +#1855 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ä»', '', #2604, .NOT_KNOWN. ) ; +#1856 = VECTOR ( 'NONE', #1568, 1000.000000000000000 ) ; +#1857 = VERTEX_POINT ( 'NONE', #1902 ) ; +#1858 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1859 = FACE_OUTER_BOUND ( 'NONE', #1574, .T. ) ; +#1860 = ORIENTED_EDGE ( 'NONE', *, *, #2037, .T. ) ; +#1861 = LINE ( 'NONE', #1799, #1620 ) ; +#1862 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -1.686265792006349831E-14, 10.00000000000000000 ) ) ; +#1863 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -148.0433967708870000, 10.00000000000000000 ) ) ; +#1864 = EDGE_CURVE ( 'NONE', #904, #1334, #1996, .T. ) ; +#1865 = EDGE_LOOP ( 'NONE', ( #965, #2459, #2527, #2405 ) ) ; +#1866 = AXIS2_PLACEMENT_3D ( 'NONE', #312, #2480, #2236 ) ; +#1867 = FACE_BOUND ( 'NONE', #300, .T. ) ; +#1868 = ADVANCED_FACE ( 'NONE', ( #2171, #2154 ), #2369, .F. ) ; +#1869 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397460092, 0.000000000000000000 ) ) ; +#1870 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1871 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#1872 = FACE_OUTER_BOUND ( 'NONE', #96, .T. ) ; +#1873 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1874 = EDGE_LOOP ( 'NONE', ( #36 ) ) ; +#1875 = EDGE_LOOP ( 'NONE', ( #2214 ) ) ; +#1876 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -129.5433960000000013, 0.000000000000000000 ) ) ; +#1877 = EDGE_CURVE ( 'NONE', #1852, #522, #196, .T. ) ; +#1878 = CARTESIAN_POINT ( 'NONE', ( 95.65490885591756864, -128.1433958398939978, 2.000000000000000000 ) ) ; +#1879 = CYLINDRICAL_SURFACE ( 'NONE', #459, 1.000000000000000888 ) ; +#1880 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800630192, 18.96120903081409637, 10.00000000000000000 ) ) ; +#1881 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1882 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#1883 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1884 = ORIENTED_EDGE ( 'NONE', *, *, #1488, .F. ) ; +#1885 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -158.5433960000000013, 10.00000000000000000 ) ) ; +#1886 = EDGE_CURVE ( 'NONE', #1422, #158, #1304, .T. ) ; +#1887 = AXIS2_PLACEMENT_3D ( 'NONE', #1494, #1259, #1883 ) ; +#1888 = VECTOR ( 'NONE', #1262, 1000.000000000000000 ) ; +#1889 = CARTESIAN_POINT ( 'NONE', ( 95.65490885591756864, -8.943396160106189541, 2.000000000000000000 ) ) ; +#1890 = CIRCLE ( 'NONE', #1216, 1.000000000000000888 ) ; +#1891 = CIRCLE ( 'NONE', #89, 1.000000000000000888 ) ; +#1892 = VECTOR ( 'NONE', #2512, 1000.000000000000000 ) ; +#1893 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 20.45660399999999868, 0.000000000000000000 ) ) ; +#1894 = FACE_OUTER_BOUND ( 'NONE', #2056, .T. ) ; +#1895 = PLANE ( 'NONE', #1700 ) ; +#1896 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 0.000000000000000000 ) ) ; +#1897 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1898 = EDGE_LOOP ( 'NONE', ( #363, #242, #2145, #2382 ) ) ; +#1899 = EDGE_CURVE ( 'NONE', #1781, #2735, #243, .T. ) ; +#1900 = LINE ( 'NONE', #665, #2614 ) ; +#1901 = AXIS2_PLACEMENT_3D ( 'NONE', #1873, #608, #1468 ) ; +#1902 = CARTESIAN_POINT ( 'NONE', ( -41.84509218423612964, -155.9433975800039889, 10.00000000000000000 ) ) ; +#1903 = ORIENTED_EDGE ( 'NONE', *, *, #2107, .T. ) ; +#1904 = AXIS2_PLACEMENT_3D ( 'NONE', #2310, #2096, #594 ) ; +#1905 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1906 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1907 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 10.00000000000000000 ) ) ; +#1908 = CYLINDRICAL_SURFACE ( 'NONE', #1539, 1.000000000000000888 ) ; +#1909 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -150.0433967708859768, 6.000000000000000000 ) ) ; +#1910 = ORIENTED_EDGE ( 'NONE', *, *, #1699, .T. ) ; +#1911 = LINE ( 'NONE', #1039, #1888 ) ; +#1912 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) ); +#1913 = ORIENTED_EDGE ( 'NONE', *, *, #1662, .T. ) ; +#1914 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1915 = EDGE_CURVE ( 'NONE', #1594, #2044, #1104, .T. ) ; +#1916 = CIRCLE ( 'NONE', #924, 0.9483043470089741467 ) ; +#1917 = CARTESIAN_POINT ( 'NONE', ( -11.54668829800760044, -282.6748670226160129, 10.00000000000000000 ) ) ; +#1918 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1919 = EDGE_CURVE ( 'NONE', #691, #247, #1967, .T. ) ; +#1920 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#1921 = FACE_BOUND ( 'NONE', #1475, .T. ) ; +#1922 = ADVANCED_FACE ( 'NONE', ( #2582 ), #231, .F. ) ; +#1923 = ORIENTED_EDGE ( 'NONE', *, *, #1919, .T. ) ; +#1924 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 0.000000000000000000 ) ) ; +#1925 = ORIENTED_EDGE ( 'NONE', *, *, #1000, .T. ) ; +#1926 = VECTOR ( 'NONE', #1083, 1000.000000000000000 ) ; +#1927 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1928 = VECTOR ( 'NONE', #1228, 1000.000000000000000 ) ; +#1929 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1930 = LINE ( 'NONE', #2401, #1473 ) ; +#1931 = AXIS2_PLACEMENT_3D ( 'NONE', #1147, #2275, #1182 ) ; +#1932 = VECTOR ( 'NONE', #282, 1000.000000000000000 ) ; +#1933 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1934 = ORIENTED_EDGE ( 'NONE', *, *, #2308, .F. ) ; +#1935 = LINE ( 'NONE', #394, #80 ) ; +#1936 = ORIENTED_EDGE ( 'NONE', *, *, #2245, .T. ) ; +#1937 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#1938 = EDGE_CURVE ( 'NONE', #2649, #327, #964, .T. ) ; +#1939 = FACE_OUTER_BOUND ( 'NONE', #2256, .T. ) ; +#1940 = EDGE_CURVE ( 'NONE', #307, #2262, #2609, .T. ) ; +#1941 = ORIENTED_EDGE ( 'NONE', *, *, #1575, .T. ) ; +#1942 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#1943 = CARTESIAN_POINT ( 'NONE', ( 94.70660450890859750, -128.1433958398939978, 2.000000000000000000 ) ) ; +#1944 = LINE ( 'NONE', #2806, #2668 ) ; +#1945 = VECTOR ( 'NONE', #2600, 1000.000000000000000 ) ; +#1946 = ORIENTED_EDGE ( 'NONE', *, *, #375, .F. ) ; +#1947 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#1948 = ORIENTED_EDGE ( 'NONE', *, *, #2379, .T. ) ; +#1949 = FACE_OUTER_BOUND ( 'NONE', #2633, .T. ) ; +#1950 = VERTEX_POINT ( 'NONE', #2139 ) ; +#1951 = CYLINDRICAL_SURFACE ( 'NONE', #1116, 1.000000000000000888 ) ; +#1952 = FACE_BOUND ( 'NONE', #1381, .T. ) ; +#1953 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1954 = VERTEX_POINT ( 'NONE', #1266 ) ; +#1955 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#1956 = EDGE_CURVE ( 'NONE', #1609, #1065, #841, .T. ) ; +#1957 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708859768, 6.000000000000000000 ) ) ; +#1958 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708859768, 0.000000000000000000 ) ) ; +#1959 = ORIENTED_EDGE ( 'NONE', *, *, #791, .F. ) ; +#1960 = VECTOR ( 'NONE', #2314, 1000.000000000000000 ) ; +#1961 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.8312337827360068, 10.00000000000000000 ) ) ; +#1962 = ORIENTED_EDGE ( 'NONE', *, *, #73, .F. ) ; +#1963 = LINE ( 'NONE', #2204, #1622 ) ; +#1964 = DIRECTION ( 'NONE', ( 1.000000000000000000, 5.242475914186690410E-16, 0.000000000000000000 ) ) ; +#1965 = FACE_OUTER_BOUND ( 'NONE', #1275, .T. ) ; +#1966 = ORIENTED_EDGE ( 'NONE', *, *, #2424, .T. ) ; +#1967 = LINE ( 'NONE', #30, #600 ) ; +#1968 = VECTOR ( 'NONE', #1444, 1000.000000000000000 ) ; +#1969 = ADVANCED_FACE ( 'NONE', ( #2570 ), #630, .T. ) ; +#1970 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 17.45660499452100112, 0.000000000000000000 ) ) ; +#1971 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 0.000000000000000000 ) ) ; +#1972 = ORIENTED_EDGE ( 'NONE', *, *, #420, .T. ) ; +#1973 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1974 = ORIENTED_EDGE ( 'NONE', *, *, #2366, .T. ) ; +#1975 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, 21.45660400000000223, 10.00000000000000000 ) ) ; +#1976 = AXIS2_PLACEMENT_3D ( 'NONE', #903, #1551, #1766 ) ; +#1977 = AXIS2_PLACEMENT_3D ( 'NONE', #1758, #1543, #1608 ) ; +#1978 = VERTEX_POINT ( 'NONE', #2625 ) ; +#1979 = AXIS2_PLACEMENT_3D ( 'NONE', #664, #890, #55 ) ; +#1980 = FACE_OUTER_BOUND ( 'NONE', #1592, .T. ) ; +#1981 = AXIS2_PLACEMENT_3D ( 'NONE', #432, #2598, #1504 ) ; +#1982 = EDGE_CURVE ( 'NONE', #883, #1248, #2305, .T. ) ; +#1983 = LINE ( 'NONE', #57, #2160 ) ; +#1984 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398939978, 10.00000000000000000 ) ) ; +#1985 = ORIENTED_EDGE ( 'NONE', *, *, #2748, .F. ) ; +#1986 = FACE_OUTER_BOUND ( 'NONE', #589, .T. ) ; +#1987 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, 18.96120903081409637, 0.000000000000000000 ) ) ; +#1988 = ORIENTED_EDGE ( 'NONE', *, *, #1825, .T. ) ; +#1989 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1990 = VERTEX_POINT ( 'NONE', #1331 ) ; +#1991 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 26.00000000000000000 ) ) ; +#1992 = ORIENTED_EDGE ( 'NONE', *, *, #2753, .F. ) ; +#1993 = EDGE_CURVE ( 'NONE', #604, #604, #2079, .T. ) ; +#1994 = AXIS2_PLACEMENT_3D ( 'NONE', #1064, #862, #1126 ) ; +#1995 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#1996 = CIRCLE ( 'NONE', #562, 2.000000000000001776 ) ; +#1997 = EDGE_CURVE ( 'NONE', #1006, #1006, #1625, .T. ) ; +#1998 = EDGE_LOOP ( 'NONE', ( #2061, #98, #1793, #922 ) ) ; +#1999 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2000 = EDGE_CURVE ( 'NONE', #2089, #1613, #2759, .T. ) ; +#2001 = DIRECTION ( 'NONE', ( -1.000000000000000000, -3.229739708000460410E-16, 0.000000000000000000 ) ) ; +#2002 = VERTEX_POINT ( 'NONE', #2407 ) ; +#2003 = FACE_OUTER_BOUND ( 'NONE', #2465, .T. ) ; +#2004 = ORIENTED_EDGE ( 'NONE', *, *, #970, .T. ) ; +#2005 = LINE ( 'NONE', #1561, #2036 ) ; +#2006 = EDGE_LOOP ( 'NONE', ( #1948, #985, #2489, #1448 ) ) ; +#2007 = ADVANCED_FACE ( 'NONE', ( #2420 ), #1951, .T. ) ; +#2008 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 10.95660477088670071, 0.000000000000000000 ) ) ; +#2009 = VERTEX_POINT ( 'NONE', #252 ) ; +#2010 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2011 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2012 = VERTEX_POINT ( 'NONE', #10 ) ; +#2013 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2014 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435079057, -28.54339599999969934, 0.000000000000000000 ) ) ; +#2015 = EDGE_CURVE ( 'NONE', #28, #1192, #2592, .T. ) ; +#2016 = VECTOR ( 'NONE', #2232, 1000.000000000000000 ) ; +#2017 = ORIENTED_EDGE ( 'NONE', *, *, #1590, .T. ) ; +#2018 = EDGE_CURVE ( 'NONE', #2332, #2332, #2035, .T. ) ; +#2019 = LINE ( 'NONE', #74, #848 ) ; +#2020 = ORIENTED_EDGE ( 'NONE', *, *, #2724, .F. ) ; +#2021 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2022 = ORIENTED_EDGE ( 'NONE', *, *, #2190, .T. ) ; +#2023 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2024 = VERTEX_POINT ( 'NONE', #1130 ) ; +#2025 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2026 = ORIENTED_EDGE ( 'NONE', *, *, #1169, .T. ) ; +#2027 = ORIENTED_EDGE ( 'NONE', *, *, #2620, .F. ) ; +#2028 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2029 = ORIENTED_EDGE ( 'NONE', *, *, #2356, .T. ) ; +#2030 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2031 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#2032 = AXIS2_PLACEMENT_3D ( 'NONE', #1225, #2276, #779 ) ; +#2033 = VECTOR ( 'NONE', #925, 1000.000000000000000 ) ; +#2034 = ORIENTED_EDGE ( 'NONE', *, *, #1982, .T. ) ; +#2035 = CIRCLE ( 'NONE', #1979, 1.250000000000001110 ) ; +#2036 = VECTOR ( 'NONE', #1776, 1000.000000000000000 ) ; +#2037 = EDGE_CURVE ( 'NONE', #433, #374, #651, .T. ) ; +#2038 = PLANE ( 'NONE', #1033 ) ; +#2039 = EDGE_CURVE ( 'NONE', #205, #516, #222, .T. ) ; +#2040 = ORIENTED_EDGE ( 'NONE', *, *, #2683, .F. ) ; +#2041 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2042 = ORIENTED_EDGE ( 'NONE', *, *, #663, .F. ) ; +#2043 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2044 = VERTEX_POINT ( 'NONE', #468 ) ; +#2045 = ORIENTED_EDGE ( 'NONE', *, *, #1488, .T. ) ; +#2046 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999990185, 0.000000000000000000 ) ) ; +#2047 = EDGE_LOOP ( 'NONE', ( #1139 ) ) ; +#2048 = PLANE ( 'NONE', #1481 ) ; +#2049 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 10.00000000000000000 ) ) ; +#2050 = VERTEX_POINT ( 'NONE', #2813 ) ; +#2051 = AXIS2_PLACEMENT_3D ( 'NONE', #1708, #2176, #1947 ) ; +#2052 = VERTEX_POINT ( 'NONE', #1100 ) ; +#2053 = VECTOR ( 'NONE', #1870, 1000.000000000000000 ) ; +#2054 = EDGE_CURVE ( 'NONE', #1251, #1251, #1707, .T. ) ; +#2055 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2056 = EDGE_LOOP ( 'NONE', ( #495, #629, #293, #1815 ) ) ; +#2057 = CARTESIAN_POINT ( 'NONE', ( 94.70660470435079503, -155.9433975800039889, 2.000000000000000000 ) ) ; +#2058 = ORIENTED_EDGE ( 'NONE', *, *, #324, .T. ) ; +#2059 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, 12.95660477088670071, 10.00000000000000000 ) ) ; +#2060 = ORIENTED_EDGE ( 'NONE', *, *, #2421, .T. ) ; +#2061 = ORIENTED_EDGE ( 'NONE', *, *, #2362, .T. ) ; +#2062 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#2063 = ORIENTED_EDGE ( 'NONE', *, *, #2124, .F. ) ; +#2064 = LINE ( 'NONE', #303, #623 ) ; +#2065 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#2066 = ORIENTED_EDGE ( 'NONE', *, *, #2015, .T. ) ; +#2067 = ORIENTED_EDGE ( 'NONE', *, *, #204, .F. ) ; +#2068 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2069 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -154.5433969945210038, 0.000000000000000000 ) ) ; +#2070 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#2071 = ADVANCED_FACE ( 'NONE', ( #920 ), #1511, .T. ) ; +#2072 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, 10.95660477088670071, 6.000000000000000000 ) ) ; +#2073 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2074 = DIRECTION ( 'NONE', ( -1.734723475976809806E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2075 = PLANE ( 'NONE', #2032 ) ; +#2076 = AXIS2_PLACEMENT_3D ( 'NONE', #843, #1020, #391 ) ; +#2077 = VERTEX_POINT ( 'NONE', #2380 ) ; +#2078 = AXIS2_PLACEMENT_3D ( 'NONE', #1573, #1151, #2265 ) ; +#2079 = CIRCLE ( 'NONE', #1344, 0.9483045201146705905 ) ; +#2080 = FACE_BOUND ( 'NONE', #1131, .T. ) ; +#2081 = VECTOR ( 'NONE', #216, 1000.000000000000000 ) ; +#2082 = COLOUR_RGB ( '',0.7921568627450980005, 0.8196078431372548767, 0.9333333333333333481 ) ; +#2083 = VERTEX_POINT ( 'NONE', #1889 ) ; +#2084 = LINE ( 'NONE', #142, #2053 ) ; +#2085 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2086 = LINE ( 'NONE', #1907, #618 ) ; +#2087 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2088 = EDGE_CURVE ( 'NONE', #2581, #802, #170, .T. ) ; +#2089 = VERTEX_POINT ( 'NONE', #1525 ) ; +#2090 = ORIENTED_EDGE ( 'NONE', *, *, #1590, .F. ) ; +#2091 = ADVANCED_FACE ( 'NONE', ( #1071 ), #2193, .T. ) ; +#2092 = VECTOR ( 'NONE', #2336, 1000.000000000000000 ) ; +#2093 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2094 = ADVANCED_FACE ( 'NONE', ( #482 ), #1113, .T. ) ; +#2095 = CARTESIAN_POINT ( 'NONE', ( 84.20660467332518806, 13.45660483974599941, 0.000000000000000000 ) ) ; +#2096 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2097 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 15.95660437425509848, 6.000000000000000000 ) ) ; +#2098 = PLANE ( 'NONE', #2568 ) ; +#2099 = ADVANCED_FACE ( 'NONE', ( #1980 ), #426, .T. ) ; +#2100 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2101 = FACE_BOUND ( 'NONE', #2410, .T. ) ; +#2102 = EDGE_LOOP ( 'NONE', ( #1209, #1197, #59, #1097 ) ) ; +#2103 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2104 = CARTESIAN_POINT ( 'NONE', ( -41.84509216189962189, -8.943396160106200199, 10.00000000000000000 ) ) ; +#2105 = FACE_OUTER_BOUND ( 'NONE', #528, .T. ) ; +#2106 = FACE_OUTER_BOUND ( 'NONE', #1604, .T. ) ; +#2107 = EDGE_CURVE ( 'NONE', #932, #1521, #238, .T. ) ; +#2108 = LINE ( 'NONE', #1658, #392 ) ; +#2109 = LINE ( 'NONE', #2087, #2172 ) ; +#2110 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2111 = ORIENTED_EDGE ( 'NONE', *, *, #551, .F. ) ; +#2112 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2113 = AXIS2_PLACEMENT_3D ( 'NONE', #499, #454, #67 ) ; +#2114 = FACE_OUTER_BOUND ( 'NONE', #2210, .T. ) ; +#2115 = VECTOR ( 'NONE', #2456, 1000.000000000000000 ) ; +#2116 = ADVANCED_FACE ( 'NONE', ( #937 ), #1407, .F. ) ; +#2117 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2118 = CYLINDRICAL_SURFACE ( 'NONE', #837, 0.9483045201146705905 ) ; +#2119 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2120 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2121 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2122 = ORIENTED_EDGE ( 'NONE', *, *, #1169, .F. ) ; +#2123 = FACE_OUTER_BOUND ( 'NONE', #2226, .T. ) ; +#2124 = EDGE_CURVE ( 'NONE', #535, #2569, #1300, .T. ) ; +#2125 = AXIS2_PLACEMENT_3D ( 'NONE', #887, #2808, #1081 ) ; +#2126 = EDGE_CURVE ( 'NONE', #2357, #1091, #71, .T. ) ; +#2127 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2128 = ORIENTED_EDGE ( 'NONE', *, *, #1085, .F. ) ; +#2129 = VECTOR ( 'NONE', #1092, 1000.000000000000000 ) ; +#2130 = FACE_OUTER_BOUND ( 'NONE', #1160, .T. ) ; +#2131 = EDGE_CURVE ( 'NONE', #928, #757, #1890, .T. ) ; +#2132 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2133 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800770615, -282.6748670226160129, 0.000000000000000000 ) ) ; +#2134 = FACE_OUTER_BOUND ( 'NONE', #2346, .T. ) ; +#2135 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2136 = ORIENTED_EDGE ( 'NONE', *, *, #803, .T. ) ; +#2137 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435079057, -28.54339599999969934, 6.000000000000000000 ) ) ; +#2138 = ORIENTED_EDGE ( 'NONE', *, *, #2168, .T. ) ; +#2139 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 12.95660477088670071, 6.000000000000000000 ) ) ; +#2140 = VECTOR ( 'NONE', #1503, 1000.000000000000000 ) ; +#2141 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2142 = DIRECTION ( 'NONE', ( 1.301042606982600390E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2143 = EDGE_CURVE ( 'NONE', #1367, #2735, #2717, .T. ) ; +#2144 = CYLINDRICAL_SURFACE ( 'NONE', #1589, 1.249999999999997558 ) ; +#2145 = ORIENTED_EDGE ( 'NONE', *, *, #2565, .F. ) ; +#2146 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2147 = ORIENTED_EDGE ( 'NONE', *, *, #2766, .T. ) ; +#2148 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2149 = EDGE_CURVE ( 'NONE', #622, #217, #564, .T. ) ; +#2150 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 12.95660477088670071, 10.00000000000000000 ) ) ; +#2151 = EDGE_CURVE ( 'NONE', #1367, #93, #534, .T. ) ; +#2152 = ORIENTED_EDGE ( 'NONE', *, *, #1040, .F. ) ; +#2153 = AXIS2_PLACEMENT_3D ( 'NONE', #690, #1356, #39 ) ; +#2154 = FACE_OUTER_BOUND ( 'NONE', #967, .T. ) ; +#2155 = CIRCLE ( 'NONE', #31, 0.9483043470089811411 ) ; +#2156 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2157 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 10.95660477088670071, 0.000000000000000000 ) ) ; +#2158 = CIRCLE ( 'NONE', #2205, 0.9483045201146705905 ) ; +#2159 = AXIS2_PLACEMENT_3D ( 'NONE', #1688, #2534, #1428 ) ; +#2160 = VECTOR ( 'NONE', #1327, 1000.000000000000000 ) ; +#2161 = ORIENTED_EDGE ( 'NONE', *, *, #1575, .F. ) ; +#2162 = FACE_OUTER_BOUND ( 'NONE', #2269, .T. ) ; +#2163 = VERTEX_POINT ( 'NONE', #2458 ) ; +#2164 = CARTESIAN_POINT ( 'NONE', ( 92.20660470435079503, -1.599529618207509792E-14, 10.00000000000000000 ) ) ; +#2165 = ORIENTED_EDGE ( 'NONE', *, *, #1993, .F. ) ; +#2166 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2167 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2168 = EDGE_CURVE ( 'NONE', #104, #1852, #92, .T. ) ; +#2169 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2170 = EDGE_LOOP ( 'NONE', ( #1369, #636, #1320, #875 ) ) ; +#2171 = FACE_OUTER_BOUND ( 'NONE', #840, .T. ) ; +#2172 = VECTOR ( 'NONE', #1445, 1000.000000000000000 ) ; +#2173 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 10.95660477088670071, 0.000000000000000000 ) ) ; +#2174 = AXIS2_PLACEMENT_3D ( 'NONE', #15, #642, #884 ) ; +#2175 = ORIENTED_EDGE ( 'NONE', *, *, #1202, .T. ) ; +#2176 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2177 = ORIENTED_EDGE ( 'NONE', *, *, #296, .F. ) ; +#2178 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2179 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433960000000013, 10.00000000000000000 ) ) ; +#2180 = ADVANCED_FACE ( 'NONE', ( #1618 ), #2287, .F. ) ; +#2181 = CYLINDRICAL_SURFACE ( 'NONE', #1627, 1.000000000000000888 ) ; +#2182 = ORIENTED_EDGE ( 'NONE', *, *, #505, .T. ) ; +#2183 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433960000000013, 26.00000000000000000 ) ) ; +#2184 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2185 = FILL_AREA_STYLE ('',( #1747 ) ) ; +#2186 = VERTEX_POINT ( 'NONE', #519 ) ; +#2187 = AXIS2_PLACEMENT_3D ( 'NONE', #2462, #1559, #948 ) ; +#2188 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2189 = ORIENTED_EDGE ( 'NONE', *, *, #939, .T. ) ; +#2190 = EDGE_CURVE ( 'NONE', #794, #794, #2798, .T. ) ; +#2191 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2192 = VERTEX_POINT ( 'NONE', #1782 ) ; +#2193 = CYLINDRICAL_SURFACE ( 'NONE', #2436, 1.000000000000000888 ) ; +#2194 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2195 = DIRECTION ( 'NONE', ( 1.000000000000000000, 9.251858538542973800E-16, 0.000000000000000000 ) ) ; +#2196 = VERTEX_POINT ( 'NONE', #1636 ) ; +#2197 = AXIS2_PLACEMENT_3D ( 'NONE', #2133, #821, #1044 ) ; +#2198 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2199 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2200 = ORIENTED_EDGE ( 'NONE', *, *, #2707, .T. ) ; +#2201 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2202 = VERTEX_POINT ( 'NONE', #320 ) ; +#2203 = EDGE_CURVE ( 'NONE', #828, #828, #1258, .T. ) ; +#2204 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2205 = AXIS2_PLACEMENT_3D ( 'NONE', #285, #2013, #2073 ) ; +#2206 = ORIENTED_EDGE ( 'NONE', *, *, #2792, .F. ) ; +#2207 = EDGE_CURVE ( 'NONE', #367, #367, #1070, .T. ) ; +#2208 = VECTOR ( 'NONE', #475, 1000.000000000000000 ) ; +#2209 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.273191542001329768E-16, 0.000000000000000000 ) ) ; +#2210 = EDGE_LOOP ( 'NONE', ( #270, #1765, #1076, #1415 ) ) ; +#2211 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2212 = EDGE_CURVE ( 'NONE', #1724, #2285, #2263, .T. ) ; +#2213 = FACE_OUTER_BOUND ( 'NONE', #558, .T. ) ; +#2214 = ORIENTED_EDGE ( 'NONE', *, *, #94, .T. ) ; +#2215 = EDGE_CURVE ( 'NONE', #93, #1950, #1397, .T. ) ; +#2216 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, -156.0480010736139889, 10.00000000000000000 ) ) ; +#2217 = ORIENTED_EDGE ( 'NONE', *, *, #2088, .F. ) ; +#2218 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2219 = AXIS2_PLACEMENT_3D ( 'NONE', #143, #163, #807 ) ; +#2220 = ORIENTED_EDGE ( 'NONE', *, *, #1956, .T. ) ; +#2221 = ADVANCED_FACE ( 'NONE', ( #959 ), #121, .T. ) ; +#2222 = CYLINDRICAL_SURFACE ( 'NONE', #1133, 1.250000000000001110 ) ; +#2223 = ORIENTED_EDGE ( 'NONE', *, *, #652, .T. ) ; +#2224 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2225 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2226 = EDGE_LOOP ( 'NONE', ( #1187, #1833, #2696, #123 ) ) ; +#2227 = DIRECTION ( 'NONE', ( -1.734723475976809806E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2228 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2229 = VERTEX_POINT ( 'NONE', #2049 ) ; +#2230 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2231 = ORIENTED_EDGE ( 'NONE', *, *, #1534, .T. ) ; +#2232 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2233 = EDGE_LOOP ( 'NONE', ( #2251 ) ) ; +#2234 = DIRECTION ( 'NONE', ( 1.301042606982600390E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2235 = ORIENTED_EDGE ( 'NONE', *, *, #416, .F. ) ; +#2236 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2237 = EDGE_LOOP ( 'NONE', ( #2261, #1080, #2328, #2361 ) ) ; +#2238 = EDGE_LOOP ( 'NONE', ( #21, #101, #1717, #1596 ) ) ; +#2239 = FACE_OUTER_BOUND ( 'NONE', #566, .T. ) ; +#2240 = ORIENTED_EDGE ( 'NONE', *, *, #1125, .T. ) ; +#2241 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2242 = ADVANCED_FACE ( 'NONE', ( #975 ), #1819, .T. ) ; +#2243 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2244 = VERTEX_POINT ( 'NONE', #108 ) ; +#2245 = EDGE_CURVE ( 'NONE', #2052, #2288, #1836, .T. ) ; +#2246 = ADVANCED_FACE ( 'NONE', ( #334 ), #2048, .T. ) ; +#2247 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999999546, 0.000000000000000000 ) ) ; +#2248 = LINE ( 'NONE', #77, #1150 ) ; +#2249 = EDGE_LOOP ( 'NONE', ( #856, #2635, #2374, #63 ) ) ; +#2250 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2251 = ORIENTED_EDGE ( 'NONE', *, *, #94, .F. ) ; +#2252 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2253 = ORIENTED_EDGE ( 'NONE', *, *, #891, .T. ) ; +#2254 = ORIENTED_EDGE ( 'NONE', *, *, #1210, .F. ) ; +#2255 = FACE_OUTER_BOUND ( 'NONE', #2437, .T. ) ; +#2256 = EDGE_LOOP ( 'NONE', ( #930, #2029, #1735, #1348 ) ) ; +#2257 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2258 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999990185, 26.00000000000000000 ) ) ; +#2259 = AXIS2_PLACEMENT_3D ( 'NONE', #2810, #410, #635 ) ; +#2260 = AXIS2_PLACEMENT_3D ( 'NONE', #1876, #2093, #376 ) ; +#2261 = ORIENTED_EDGE ( 'NONE', *, *, #2037, .F. ) ; +#2262 = VERTEX_POINT ( 'NONE', #2688 ) ; +#2263 = CIRCLE ( 'NONE', #1931, 1.000000000000000888 ) ; +#2264 = AXIS2_PLACEMENT_3D ( 'NONE', #24, #1132, #1102 ) ; +#2265 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2266 = EDGE_CURVE ( 'NONE', #720, #2077, #1375, .T. ) ; +#2267 = ORIENTED_EDGE ( 'NONE', *, *, #239, .F. ) ; +#2268 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -157.5433960000000013, 0.000000000000000000 ) ) ; +#2269 = EDGE_LOOP ( 'NONE', ( #1838, #1779, #109, #311 ) ) ; +#2270 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433960000000013, 10.00000000000000000 ) ) ; +#2271 = ORIENTED_EDGE ( 'NONE', *, *, #764, .T. ) ; +#2272 = ORIENTED_EDGE ( 'NONE', *, *, #489, .F. ) ; +#2273 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231109991, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2274 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, -28.54339599999969934, 0.000000000000000000 ) ) ; +#2275 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2276 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2277 = AXIS2_PLACEMENT_3D ( 'NONE', #298, #1989, #2025 ) ; +#2278 = ORIENTED_EDGE ( 'NONE', *, *, #151, .F. ) ; +#2279 = AXIS2_PLACEMENT_3D ( 'NONE', #343, #1219, #806 ) ; +#2280 = LINE ( 'NONE', #111, #1437 ) ; +#2281 = EDGE_CURVE ( 'NONE', #802, #1781, #1835, .T. ) ; +#2282 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2283 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2284 = CYLINDRICAL_SURFACE ( 'NONE', #2439, 0.9483043470089741467 ) ; +#2285 = VERTEX_POINT ( 'NONE', #2257 ) ; +#2286 = LINE ( 'NONE', #1205, #485 ) ; +#2287 = PLANE ( 'NONE', #134 ) ; +#2288 = VERTEX_POINT ( 'NONE', #532 ) ; +#2289 = ORIENTED_EDGE ( 'NONE', *, *, #1089, .T. ) ; +#2290 = VECTOR ( 'NONE', #2184, 1000.000000000000000 ) ; +#2291 = FACE_OUTER_BOUND ( 'NONE', #683, .T. ) ; +#2292 = LINE ( 'NONE', #1041, #946 ) ; +#2293 = EDGE_CURVE ( 'NONE', #2493, #2052, #1194, .T. ) ; +#2294 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2295 = CARTESIAN_POINT ( 'NONE', ( 63.45660399999999868, -156.0480010736139889, 0.000000000000000000 ) ) ; +#2296 = ORIENTED_EDGE ( 'NONE', *, *, #151, .T. ) ; +#2297 = DIRECTION ( 'NONE', ( -2.618450504386019881E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2298 = EDGE_CURVE ( 'NONE', #1248, #760, #70, .T. ) ; +#2299 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2300 = EDGE_LOOP ( 'NONE', ( #317, #2220, #1261, #545 ) ) ; +#2301 = VERTEX_POINT ( 'NONE', #1848 ) ; +#2302 = EDGE_CURVE ( 'NONE', #614, #2647, #1359, .T. ) ; +#2303 = AXIS2_PLACEMENT_3D ( 'NONE', #1310, #661, #2648 ) ; +#2304 = CIRCLE ( 'NONE', #2260, 1.000000000000000888 ) ; +#2305 = CIRCLE ( 'NONE', #944, 1.000000000000000888 ) ; +#2306 = FACE_BOUND ( 'NONE', #513, .T. ) ; +#2307 = VECTOR ( 'NONE', #68, 1000.000000000000000 ) ; +#2308 = EDGE_CURVE ( 'NONE', #2301, #2569, #2064, .T. ) ; +#2309 = VERTEX_POINT ( 'NONE', #1229 ) ; +#2310 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -8.943396160106200199, 10.00000000000000000 ) ) ; +#2311 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2312 = VERTEX_POINT ( 'NONE', #987 ) ; +#2313 = FACE_OUTER_BOUND ( 'NONE', #542, .T. ) ; +#2314 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2315 = ORIENTED_EDGE ( 'NONE', *, *, #1075, .T. ) ; +#2316 = EDGE_CURVE ( 'NONE', #152, #152, #2158, .T. ) ; +#2317 = ORIENTED_EDGE ( 'NONE', *, *, #700, .F. ) ; +#2318 = CIRCLE ( 'NONE', #2399, 1.000000000000000888 ) ; +#2319 = AXIS2_PLACEMENT_3D ( 'NONE', #1056, #1920, #2360 ) ; +#2320 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2321 = VERTEX_POINT ( 'NONE', #1453 ) ; +#2322 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -129.5433960000000013, 0.000000000000000000 ) ) ; +#2323 = DIRECTION ( 'NONE', ( 1.301042606982600390E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2324 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 0.000000000000000000 ) ) ; +#2325 = CARTESIAN_POINT ( 'NONE', ( -33.54339600000000132, -148.0433967708870000, 6.000000000000000000 ) ) ; +#2326 = FACE_BOUND ( 'NONE', #1386, .T. ) ; +#2327 = EDGE_CURVE ( 'NONE', #1689, #614, #761, .T. ) ; +#2328 = ORIENTED_EDGE ( 'NONE', *, *, #2308, .T. ) ; +#2329 = EDGE_CURVE ( 'NONE', #1689, #691, #1617, .T. ) ; +#2330 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2331 = AXIS2_PLACEMENT_3D ( 'NONE', #16, #2805, #1332 ) ; +#2332 = VERTEX_POINT ( 'NONE', #2725 ) ; +#2333 = DIRECTION ( 'NONE', ( 1.000000000000000000, 1.076579902666819972E-16, 0.000000000000000000 ) ) ; +#2334 = FACE_OUTER_BOUND ( 'NONE', #969, .T. ) ; +#2335 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2336 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2337 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2338 = ADVANCED_FACE ( 'NONE', ( #1163 ), #550, .F. ) ; +#2339 = EDGE_LOOP ( 'NONE', ( #1941, #1316, #2589, #913 ) ) ; +#2340 = VECTOR ( 'NONE', #2514, 1000.000000000000000 ) ; +#2341 = ADVANCED_FACE ( 'NONE', ( #1419 ), #90, .T. ) ; +#2342 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -130.5433960000000013, 0.000000000000000000 ) ) ; +#2343 = VECTOR ( 'NONE', #2418, 1000.000000000000000 ) ; +#2344 = VERTEX_POINT ( 'NONE', #2104 ) ; +#2345 = AXIS2_PLACEMENT_3D ( 'NONE', #1196, #2472, #2672 ) ; +#2346 = EDGE_LOOP ( 'NONE', ( #110 ) ) ; +#2347 = CIRCLE ( 'NONE', #1171, 0.9483045201146705905 ) ; +#2348 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2349 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 16.74444178273600059, 0.000000000000000000 ) ) ; +#2350 = LINE ( 'NONE', #1671, #494 ) ; +#2351 = CARTESIAN_POINT ( 'NONE', ( 63.45989629800760667, 145.5880750226160103, 10.00000000000000000 ) ) ; +#2352 = FACE_BOUND ( 'NONE', #178, .T. ) ; +#2353 = VERTEX_POINT ( 'NONE', #1602 ) ; +#2354 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 10.00000000000000000 ) ) ; +#2355 = AXIS2_PLACEMENT_3D ( 'NONE', #2351, #371, #800 ) ; +#2356 = EDGE_CURVE ( 'NONE', #1759, #738, #2286, .T. ) ; +#2357 = VERTEX_POINT ( 'NONE', #346 ) ; +#2358 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2359 = LINE ( 'NONE', #474, #2290 ) ; +#2360 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2361 = ORIENTED_EDGE ( 'NONE', *, *, #239, .T. ) ; +#2362 = EDGE_CURVE ( 'NONE', #758, #2809, #131, .T. ) ; +#2363 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2364 = ORIENTED_EDGE ( 'NONE', *, *, #652, .F. ) ; +#2365 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2366 = EDGE_CURVE ( 'NONE', #2024, #1544, #1861, .T. ) ; +#2367 = FACE_BOUND ( 'NONE', #1874, .T. ) ; +#2368 = ORIENTED_EDGE ( 'NONE', *, *, #2126, .F. ) ; +#2369 = CYLINDRICAL_SURFACE ( 'NONE', #227, 0.9483043470089811411 ) ; +#2370 = AXIS2_PLACEMENT_3D ( 'NONE', #582, #616, #389 ) ; +#2371 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2372 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435079768, -1.989736071784766818E-15, 0.000000000000000000 ) ) ; +#2373 = EDGE_CURVE ( 'NONE', #2426, #503, #787, .T. ) ; +#2374 = ORIENTED_EDGE ( 'NONE', *, *, #409, .F. ) ; +#2375 = LINE ( 'NONE', #188, #867 ) ; +#2376 = VERTEX_POINT ( 'NONE', #726 ) ; +#2377 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2378 = ORIENTED_EDGE ( 'NONE', *, *, #441, .F. ) ; +#2379 = EDGE_CURVE ( 'NONE', #2196, #1141, #2108, .T. ) ; +#2380 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2381 = LINE ( 'NONE', #2593, #541 ) ; +#2382 = ORIENTED_EDGE ( 'NONE', *, *, #2658, .F. ) ; +#2383 = CIRCLE ( 'NONE', #1976, 0.9483045201146705905 ) ; +#2384 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2385 = VECTOR ( 'NONE', #1824, 1000.000000000000000 ) ; +#2386 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -7.543395999999999546, 0.000000000000000000 ) ) ; +#2387 = VECTOR ( 'NONE', #2394, 1000.000000000000000 ) ; +#2388 = VECTOR ( 'NONE', #929, 1000.000000000000000 ) ; +#2389 = ORIENTED_EDGE ( 'NONE', *, *, #1471, .T. ) ; +#2390 = FACE_OUTER_BOUND ( 'NONE', #492, .T. ) ; +#2391 = VERTEX_POINT ( 'NONE', #2538 ) ; +#2392 = ADVANCED_FACE ( 'NONE', ( #1054 ), #1693, .T. ) ; +#2393 = LINE ( 'NONE', #1323, #2718 ) ; +#2394 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2395 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 0.000000000000000000 ) ) ; +#2396 = EDGE_CURVE ( 'NONE', #2186, #278, #597, .T. ) ; +#2397 = ORIENTED_EDGE ( 'NONE', *, *, #621, .T. ) ; +#2398 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2399 = AXIS2_PLACEMENT_3D ( 'NONE', #2270, #2043, #329 ) ; +#2400 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#2401 = CARTESIAN_POINT ( 'NONE', ( 113.7877534231109991, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2402 = VECTOR ( 'NONE', #2726, 1000.000000000000000 ) ; +#2403 = ORIENTED_EDGE ( 'NONE', *, *, #908, .T. ) ; +#2404 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2405 = ORIENTED_EDGE ( 'NONE', *, *, #1607, .T. ) ; +#2406 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#2407 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -28.54339599999990185, 0.000000000000000000 ) ) ; +#2408 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -108.5433960000000013, 0.000000000000000000 ) ) ; +#2409 = FACE_OUTER_BOUND ( 'NONE', #234, .T. ) ; +#2410 = EDGE_LOOP ( 'NONE', ( #1598, #1826, #418, #1180 ) ) ; +#2411 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2412 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -154.5433969945210038, 10.00000000000000000 ) ) ; +#2413 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.301042606982600390E-16, 0.000000000000000000 ) ) ; +#2414 = VERTEX_POINT ( 'NONE', #1457 ) ; +#2415 = VECTOR ( 'NONE', #2597, 1000.000000000000000 ) ; +#2416 = LINE ( 'NONE', #6, #2543 ) ; +#2417 = ORIENTED_EDGE ( 'NONE', *, *, #921, .F. ) ; +#2418 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, -0.000000000000000000 ) ) ; +#2419 = ORIENTED_EDGE ( 'NONE', *, *, #2245, .F. ) ; +#2420 = FACE_OUTER_BOUND ( 'NONE', #299, .T. ) ; +#2421 = EDGE_CURVE ( 'NONE', #503, #2186, #2086, .T. ) ; +#2422 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#2423 = ADVANCED_FACE ( 'NONE', ( #1706 ), #1895, .T. ) ; +#2424 = EDGE_CURVE ( 'NONE', #429, #2691, #2350, .T. ) ; +#2425 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2426 = VERTEX_POINT ( 'NONE', #2525 ) ; +#2427 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433960000000013, 0.000000000000000000 ) ) ; +#2428 = ORIENTED_EDGE ( 'NONE', *, *, #2207, .T. ) ; +#2429 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435079768, -1.989736071784766818E-15, 10.00000000000000000 ) ) ; +#2430 = VECTOR ( 'NONE', #1282, 1000.000000000000000 ) ; +#2431 = AXIS2_PLACEMENT_3D ( 'NONE', #306, #2674, #323 ) ; +#2432 = ORIENTED_EDGE ( 'NONE', *, *, #1223, .T. ) ; +#2433 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2434 = VERTEX_POINT ( 'NONE', #1682 ) ; +#2435 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -129.5433960000000013, 0.000000000000000000 ) ) ; +#2436 = AXIS2_PLACEMENT_3D ( 'NONE', #2179, #1995, #692 ) ; +#2437 = EDGE_LOOP ( 'NONE', ( #213, #650, #2026, #2136 ) ) ; +#2438 = VECTOR ( 'NONE', #126, 1000.000000000000000 ) ; +#2439 = AXIS2_PLACEMENT_3D ( 'NONE', #515, #86, #130 ) ; +#2440 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION ( '', ( #844 ), #1212 ) ; +#2441 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2442 = ORIENTED_EDGE ( 'NONE', *, *, #2565, .T. ) ; +#2443 = CARTESIAN_POINT ( 'NONE', ( 1.004228145085051048E-13, -108.5433959999999729, 0.000000000000000000 ) ) ; +#2444 = ORIENTED_EDGE ( 'NONE', *, *, #498, .F. ) ; +#2445 = EDGE_CURVE ( 'NONE', #760, #1413, #2564, .T. ) ; +#2446 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, 10.00000000000000000 ) ) ; +#2447 = ORIENTED_EDGE ( 'NONE', *, *, #26, .T. ) ; +#2448 = LINE ( 'NONE', #510, #1440 ) ; +#2449 = ORIENTED_EDGE ( 'NONE', *, *, #390, .F. ) ; +#2450 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2451 = ORIENTED_EDGE ( 'NONE', *, *, #498, .T. ) ; +#2452 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2453 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2454 = ORIENTED_EDGE ( 'NONE', *, *, #1697, .F. ) ; +#2455 = AXIS2_PLACEMENT_3D ( 'NONE', #2526, #408, #823 ) ; +#2456 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2457 = EDGE_CURVE ( 'NONE', #1954, #957, #767, .T. ) ; +#2458 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -28.54339599999969934, 10.00000000000000000 ) ) ; +#2459 = ORIENTED_EDGE ( 'NONE', *, *, #75, .T. ) ; +#2460 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, 16.45660499452100112, 0.000000000000000000 ) ) ; +#2461 = VERTEX_POINT ( 'NONE', #186 ) ; +#2462 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800039889, 10.00000000000000000 ) ) ; +#2463 = ORIENTED_EDGE ( 'NONE', *, *, #1055, .F. ) ; +#2464 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2465 = EDGE_LOOP ( 'NONE', ( #1281 ) ) ; +#2466 = LINE ( 'NONE', #2497, #1363 ) ; +#2467 = ORIENTED_EDGE ( 'NONE', *, *, #984, .F. ) ; +#2468 = ORIENTED_EDGE ( 'NONE', *, *, #568, .F. ) ; +#2469 = FACE_OUTER_BOUND ( 'NONE', #2047, .T. ) ; +#2470 = ORIENTED_EDGE ( 'NONE', *, *, #148, .T. ) ; +#2471 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -130.5433960000000013, 10.00000000000000000 ) ) ; +#2472 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2473 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -150.0433967708859768, 6.000000000000000000 ) ) ; +#2474 = ADVANCED_FACE ( 'NONE', ( #2313 ), #2098, .T. ) ; +#2475 = ORIENTED_EDGE ( 'NONE', *, *, #1240, .F. ) ; +#2476 = LINE ( 'NONE', #255, #358 ) ; +#2477 = EDGE_LOOP ( 'NONE', ( #149 ) ) ; +#2478 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2479 = ORIENTED_EDGE ( 'NONE', *, *, #1834, .F. ) ; +#2480 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2481 = ORIENTED_EDGE ( 'NONE', *, *, #1738, .F. ) ; +#2482 = ORIENTED_EDGE ( 'NONE', *, *, #2203, .T. ) ; +#2483 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -150.0433967708859768, 0.000000000000000000 ) ) ; +#2484 = ORIENTED_EDGE ( 'NONE', *, *, #2784, .T. ) ; +#2485 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, -148.0433967708870000, 0.000000000000000000 ) ) ; +#2486 = CARTESIAN_POINT ( 'NONE', ( 85.45660399999999868, 10.95660477088670071, 6.000000000000000000 ) ) ; +#2487 = AXIS2_PLACEMENT_3D ( 'NONE', #2363, #620, #166 ) ; +#2488 = CIRCLE ( 'NONE', #2431, 126.6268659918020063 ) ; +#2489 = ORIENTED_EDGE ( 'NONE', *, *, #187, .T. ) ; +#2490 = ORIENTED_EDGE ( 'NONE', *, *, #1877, .F. ) ; +#2491 = AXIS2_PLACEMENT_3D ( 'NONE', #762, #2501, #1376 ) ; +#2492 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#2493 = VERTEX_POINT ( 'NONE', #2324 ) ; +#2494 = FACE_OUTER_BOUND ( 'NONE', #476, .T. ) ; +#2495 = EDGE_CURVE ( 'NONE', #1273, #1759, #144, .T. ) ; +#2496 = ORIENTED_EDGE ( 'NONE', *, *, #440, .T. ) ; +#2497 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2498 = LINE ( 'NONE', #2011, #2800 ) ; +#2499 = EDGE_LOOP ( 'NONE', ( #1152 ) ) ; +#2500 = DIRECTION ( 'NONE', ( 1.000000000000000000, -1.734723475976809806E-16, 0.000000000000000000 ) ) ; +#2501 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2502 = EDGE_LOOP ( 'NONE', ( #1992 ) ) ; +#2503 = AXIS2_PLACEMENT_3D ( 'NONE', #1933, #901, #1520 ) ; +#2504 = ORIENTED_EDGE ( 'NONE', *, *, #1864, .F. ) ; +#2505 = AXIS2_PLACEMENT_3D ( 'NONE', #162, #1230, #1905 ) ; +#2506 = ADVANCED_FACE ( 'NONE', ( #1872 ), #380, .F. ) ; +#2507 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2508 = EDGE_CURVE ( 'NONE', #2202, #2581, #155, .T. ) ; +#2509 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2510 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2511 = EDGE_CURVE ( 'NONE', #601, #2781, #1010, .T. ) ; +#2512 = DIRECTION ( 'NONE', ( -3.089316108853050465E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2513 = ORIENTED_EDGE ( 'NONE', *, *, #2797, .T. ) ; +#2514 = DIRECTION ( 'NONE', ( 9.361563035194100268E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2515 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 0.000000000000000000 ) ) ; +#2516 = FACE_OUTER_BOUND ( 'NONE', #1562, .T. ) ; +#2517 = ORIENTED_EDGE ( 'NONE', *, *, #780, .F. ) ; +#2518 = ADVANCED_FACE ( 'NONE', ( #833 ), #2550, .T. ) ; +#2519 = FACE_OUTER_BOUND ( 'NONE', #1898, .T. ) ; +#2520 = EDGE_CURVE ( 'NONE', #553, #1367, #1431, .T. ) ; +#2521 = CARTESIAN_POINT ( 'NONE', ( 95.65490922446547017, 18.85660558000369846, 2.000000000000000000 ) ) ; +#2522 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2523 = EDGE_CURVE ( 'NONE', #1124, #2009, #2742, .T. ) ; +#2524 = CYLINDRICAL_SURFACE ( 'NONE', #269, 126.6268659918020063 ) ; +#2525 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -6.543395999999999546, 10.00000000000000000 ) ) ; +#2526 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 2.000000000000000000 ) ) ; +#2527 = ORIENTED_EDGE ( 'NONE', *, *, #2652, .T. ) ; +#2528 = ORIENTED_EDGE ( 'NONE', *, *, #1808, .F. ) ; +#2529 = MANIFOLD_SOLID_BREP ( 'Çгý-À­Éì1', #1166 ) ; +#2530 = AXIS2_PLACEMENT_3D ( 'NONE', #1619, #976, #361 ) ; +#2531 = CIRCLE ( 'NONE', #1298, 126.6268659918020063 ) ; +#2532 = AXIS2_PLACEMENT_3D ( 'NONE', #1487, #2358, #1545 ) ; +#2533 = CARTESIAN_POINT ( 'NONE', ( 88.47471376020789080, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2534 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2535 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2536 = EDGE_CURVE ( 'NONE', #2196, #2002, #1762, .T. ) ; +#2537 = LINE ( 'NONE', #1681, #1200 ) ; +#2538 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 0.000000000000000000 ) ) ; +#2539 = CARTESIAN_POINT ( 'NONE', ( -42.79339650890860014, -128.1433958398939978, 3.000000000000000000 ) ) ; +#2540 = EDGE_CURVE ( 'NONE', #1950, #904, #450, .T. ) ; +#2541 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, -153.0433963742549963, 0.000000000000000000 ) ) ; +#2542 = ORIENTED_EDGE ( 'NONE', *, *, #1997, .T. ) ; +#2543 = VECTOR ( 'NONE', #2789, 1000.000000000000000 ) ; +#2544 = CIRCLE ( 'NONE', #2771, 1.000000000000000888 ) ; +#2545 = CARTESIAN_POINT ( 'NONE', ( 80.45660399999999868, 15.95660437425509848, 10.00000000000000000 ) ) ; +#2546 = CARTESIAN_POINT ( 'NONE', ( 95.65490922446547017, 18.85660558000369846, 10.00000000000000000 ) ) ; +#2547 = LINE ( 'NONE', #1690, #2626 ) ; +#2548 = EDGE_CURVE ( 'NONE', #2312, #957, #1106, .T. ) ; +#2549 = LINE ( 'NONE', #1880, #2783 ) ; +#2550 = CYLINDRICAL_SURFACE ( 'NONE', #1340, 1.000000000000000888 ) ; +#2551 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2552 = LINE ( 'NONE', #157, #809 ) ; +#2553 = ORIENTED_EDGE ( 'NONE', *, *, #1498, .F. ) ; +#2554 = PLANE ( 'NONE', #1524 ) ; +#2555 = CIRCLE ( 'NONE', #695, 1.000000000000000888 ) ; +#2556 = VERTEX_POINT ( 'NONE', #1878 ) ; +#2557 = ORIENTED_EDGE ( 'NONE', *, *, #2652, .F. ) ; +#2558 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2559 = CARTESIAN_POINT ( 'NONE', ( -15.29339670435079412, -28.54339599999969934, 0.000000000000000000 ) ) ; +#2560 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2561 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2562 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 17.45660499452100112, 10.00000000000000000 ) ) ; +#2563 = ORIENTED_EDGE ( 'NONE', *, *, #2039, .T. ) ; +#2564 = CIRCLE ( 'NONE', #1851, 1.000000000000000888 ) ; +#2565 = EDGE_CURVE ( 'NONE', #40, #2426, #1930, .T. ) ; +#2566 = FACE_BOUND ( 'NONE', #2502, .T. ) ; +#2567 = VECTOR ( 'NONE', #335, 1000.000000000000000 ) ; +#2568 = AXIS2_PLACEMENT_3D ( 'NONE', #2335, #1918, #583 ) ; +#2569 = VERTEX_POINT ( 'NONE', #1987 ) ; +#2570 = FACE_OUTER_BOUND ( 'NONE', #1372, .T. ) ; +#2571 = CYLINDRICAL_SURFACE ( 'NONE', #752, 1.000000000000000888 ) ; +#2572 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, -150.0433967708859768, 6.000000000000000000 ) ) ; +#2573 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2574 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2575 = ORIENTED_EDGE ( 'NONE', *, *, #2000, .T. ) ; +#2576 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2577 = VECTOR ( 'NONE', #1030, 1000.000000000000000 ) ; +#2578 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2579 = ADVANCED_FACE ( 'NONE', ( #686 ), #1079, .T. ) ; +#2580 = AXIS2_PLACEMENT_3D ( 'NONE', #1961, #659, #845 ) ; +#2581 = VERTEX_POINT ( 'NONE', #1958 ) ; +#2582 = FACE_OUTER_BOUND ( 'NONE', #2249, .T. ) ; +#2583 = ADVANCED_FACE ( 'NONE', ( #1333 ), #17, .F. ) ; +#2584 = LINE ( 'NONE', #643, #2140 ) ; +#2585 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, 17.45660499452100112, 10.00000000000000000 ) ) ; +#2586 = ORIENTED_EDGE ( 'NONE', *, *, #2658, .T. ) ; +#2587 = CARTESIAN_POINT ( 'NONE', ( -31.04339667332519781, -150.5433968397460092, -13.00000000000000000 ) ) ; +#2588 = EDGE_CURVE ( 'NONE', #2781, #158, #1944, .T. ) ; +#2589 = ORIENTED_EDGE ( 'NONE', *, *, #2724, .T. ) ; +#2590 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2591 = ORIENTED_EDGE ( 'NONE', *, *, #1899, .F. ) ; +#2592 = LINE ( 'NONE', #1742, #2387 ) ; +#2593 = CARTESIAN_POINT ( 'NONE', ( -36.56150576020790055, -158.5433960000000013, 10.00000000000000000 ) ) ; +#2594 = ADVANCED_FACE ( 'NONE', ( #463 ), #47, .T. ) ; +#2595 = ORIENTED_EDGE ( 'NONE', *, *, #1699, .F. ) ; +#2596 = PLANE ( 'NONE', #1643 ) ; +#2597 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2598 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2599 = EDGE_LOOP ( 'NONE', ( #122 ) ) ; +#2600 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2601 = ORIENTED_EDGE ( 'NONE', *, *, #2266, .T. ) ; +#2602 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2603 = ORIENTED_EDGE ( 'NONE', *, *, #2054, .F. ) ; +#2604 = PRODUCT ( '\X2\914d4ef6\X0\4.25', '\X2\914d4ef6\X0\4.25', '', ( #2623 ) ) ; +#2605 = CARTESIAN_POINT ( 'NONE', ( -11.54339599999999955, 18.96120907361379793, 10.00000000000000000 ) ) ; +#2606 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2607 = EDGE_LOOP ( 'NONE', ( #1860, #714, #2206, #740 ) ) ; +#2608 = VECTOR ( 'NONE', #1897, 1000.000000000000000 ) ; +#2609 = LINE ( 'NONE', #1501, #1679 ) ; +#2610 = VECTOR ( 'NONE', #782, 1000.000000000000000 ) ; +#2611 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2612 = SURFACE_STYLE_FILL_AREA ( #2185 ) ; +#2613 = AXIS2_PLACEMENT_3D ( 'NONE', #304, #2650, #552 ) ; +#2614 = VECTOR ( 'NONE', #1529, 1000.000000000000000 ) ; +#2615 = VERTEX_POINT ( 'NONE', #1319 ) ; +#2616 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2617 = EDGE_LOOP ( 'NONE', ( #190 ) ) ; +#2618 = LINE ( 'NONE', #2435, #770 ) ; +#2619 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2620 = EDGE_CURVE ( 'NONE', #7, #2615, #814, .T. ) ; +#2621 = FACE_OUTER_BOUND ( 'NONE', #1162, .T. ) ; +#2622 = DIRECTION ( 'NONE', ( -0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ; +#2623 = PRODUCT_CONTEXT ( 'NONE', #1739, 'mechanical' ) ; +#2624 = ORIENTED_EDGE ( 'NONE', *, *, #2293, .T. ) ; +#2625 = CARTESIAN_POINT ( 'NONE', ( -30.29339670435077991, -108.5433960000000013, 6.000000000000000000 ) ) ; +#2626 = VECTOR ( 'NONE', #2522, 1000.000000000000000 ) ; +#2627 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 17.45660499452100112, 10.00000000000000000 ) ) ; +#2628 = PRESENTATION_STYLE_ASSIGNMENT (( #1306 ) ) ; +#2629 = AXIS2_PLACEMENT_3D ( 'NONE', #2322, #785, #378 ) ; +#2630 = ORIENTED_EDGE ( 'NONE', *, *, #229, .F. ) ; +#2631 = EDGE_CURVE ( 'NONE', #1059, #116, #1720, .T. ) ; +#2632 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2633 = EDGE_LOOP ( 'NONE', ( #183 ) ) ; +#2634 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2635 = ORIENTED_EDGE ( 'NONE', *, *, #1003, .T. ) ; +#2636 = EDGE_CURVE ( 'NONE', #1594, #28, #1292, .T. ) ; +#2637 = DIRECTION ( 'NONE', ( -5.242475914186690410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2638 = EDGE_CURVE ( 'NONE', #977, #2288, #874, .T. ) ; +#2639 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -7.543395999999999546, 10.00000000000000000 ) ) ; +#2640 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #2801, 'distance_accuracy_value', 'NONE'); +#2641 = PLANE ( 'NONE', #1436 ) ; +#2642 = ORIENTED_EDGE ( 'NONE', *, *, #2734, .T. ) ; +#2643 = DIRECTION ( 'NONE', ( 1.076579902666819972E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2644 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2645 = ORIENTED_EDGE ( 'NONE', *, *, #2683, .T. ) ; +#2646 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2647 = VERTEX_POINT ( 'NONE', #1517 ) ; +#2648 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2649 = VERTEX_POINT ( 'NONE', #493 ) ; +#2650 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2651 = ORIENTED_EDGE ( 'NONE', *, *, #2018, .F. ) ; +#2652 = EDGE_CURVE ( 'NONE', #307, #2192, #1891, .T. ) ; +#2653 = PLANE ( 'NONE', #711 ) ; +#2654 = EDGE_LOOP ( 'NONE', ( #647, #916, #2364, #531 ) ) ; +#2655 = CARTESIAN_POINT ( 'NONE', ( 82.95660467332518806, 13.45660483974599941, -13.00000000000000000 ) ) ; +#2656 = EDGE_LOOP ( 'NONE', ( #722, #1322, #1831, #1189 ) ) ; +#2657 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2658 = EDGE_CURVE ( 'NONE', #423, #40, #1610, .T. ) ; +#2659 = VECTOR ( 'NONE', #836, 1000.000000000000000 ) ; +#2660 = VECTOR ( 'NONE', #1839, 1000.000000000000000 ) ; +#2661 = VERTEX_POINT ( 'NONE', #1595 ) ; +#2662 = CARTESIAN_POINT ( 'NONE', ( 100.9566039999999987, -129.5433960000000013, 10.00000000000000000 ) ) ; +#2663 = ORIENTED_EDGE ( 'NONE', *, *, #390, .T. ) ; +#2664 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2665 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, 21.45660400000000223, 10.00000000000000000 ) ) ; +#2666 = AXIS2_PLACEMENT_3D ( 'NONE', #1324, #1964, #2637 ) ; +#2667 = ORIENTED_EDGE ( 'NONE', *, *, #1391, .F. ) ; +#2668 = VECTOR ( 'NONE', #4, 1000.000000000000000 ) ; +#2669 = DIRECTION ( 'NONE', ( 1.000000000000000000, 2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2670 = VECTOR ( 'NONE', #1797, 1000.000000000000000 ) ; +#2671 = EDGE_CURVE ( 'NONE', #2434, #718, #776, .T. ) ; +#2672 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2673 = ORIENTED_EDGE ( 'NONE', *, *, #708, .T. ) ; +#2674 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2675 = ORIENTED_EDGE ( 'NONE', *, *, #2316, .F. ) ; +#2676 = CARTESIAN_POINT ( 'NONE', ( -42.79339670435079768, -155.9433975800039889, 3.000000000000000000 ) ) ; +#2677 = ORIENTED_EDGE ( 'NONE', *, *, #1075, .F. ) ; +#2678 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, -153.0433963742549963, 10.00000000000000000 ) ) ; +#2679 = ORIENTED_EDGE ( 'NONE', *, *, #1226, .F. ) ; +#2680 = AXIS2_PLACEMENT_3D ( 'NONE', #688, #2404, #248 ) ; +#2681 = LINE ( 'NONE', #1158, #1452 ) ; +#2682 = ORIENTED_EDGE ( 'NONE', *, *, #470, .F. ) ; +#2683 = EDGE_CURVE ( 'NONE', #1722, #1178, #981, .T. ) ; +#2684 = ORIENTED_EDGE ( 'NONE', *, *, #518, .F. ) ; +#2685 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2686 = ORIENTED_EDGE ( 'NONE', *, *, #1556, .F. ) ; +#2687 = VECTOR ( 'NONE', #1914, 1000.000000000000000 ) ; +#2688 = CARTESIAN_POINT ( 'NONE', ( -49.04339600000000132, -154.5433969945210038, 0.000000000000000000 ) ) ; +#2689 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2690 = ORIENTED_EDGE ( 'NONE', *, *, #2748, .T. ) ; +#2691 = VERTEX_POINT ( 'NONE', #701 ) ; +#2692 = CARTESIAN_POINT ( 'NONE', ( 99.95660399999999868, -157.5433960000000013, 10.00000000000000000 ) ) ; +#2693 = ORIENTED_EDGE ( 'NONE', *, *, #2143, .T. ) ; +#2694 = LINE ( 'NONE', #2429, #136 ) ; +#2695 = EDGE_CURVE ( 'NONE', #1613, #2376, #2005, .T. ) ; +#2696 = ORIENTED_EDGE ( 'NONE', *, *, #2540, .T. ) ; +#2697 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2698 = ORIENTED_EDGE ( 'NONE', *, *, #625, .T. ) ; +#2699 = ORIENTED_EDGE ( 'NONE', *, *, #627, .T. ) ; +#2700 = DIRECTION ( 'NONE', ( -1.000000000000000000, 8.673617379884039170E-17, 0.000000000000000000 ) ) ; +#2701 = ORIENTED_EDGE ( 'NONE', *, *, #908, .F. ) ; +#2702 = CARTESIAN_POINT ( 'NONE', ( 10.45660428948129983, 15.95660437425509848, 0.000000000000000000 ) ) ; +#2703 = VECTOR ( 'NONE', #2779, 1000.000000000000000 ) ; +#2704 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.734723475976809806E-16, 0.000000000000000000 ) ) ; +#2705 = ORIENTED_EDGE ( 'NONE', *, *, #1672, .F. ) ; +#2706 = EDGE_LOOP ( 'NONE', ( #765 ) ) ; +#2707 = EDGE_CURVE ( 'NONE', #1730, #1748, #2694, .T. ) ; +#2708 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2709 = ORIENTED_EDGE ( 'NONE', *, *, #2722, .F. ) ; +#2710 = LINE ( 'NONE', #769, #212 ) ; +#2711 = VERTEX_POINT ( 'NONE', #2282 ) ; +#2712 = VECTOR ( 'NONE', #2297, 1000.000000000000000 ) ; +#2713 = CYLINDRICAL_SURFACE ( 'NONE', #1677, 126.6268659918020063 ) ; +#2714 = LINE ( 'NONE', #2665, #1932 ) ; +#2715 = EDGE_LOOP ( 'NONE', ( #1814, #1401, #2690, #411 ) ) ; +#2716 = CARTESIAN_POINT ( 'NONE', ( -61.87454542311059669, -130.5433960000000013, 0.000000000000000000 ) ) ; +#2717 = LINE ( 'NONE', #2031, #1856 ) ; +#2718 = VECTOR ( 'NONE', #2602, 1000.000000000000000 ) ; +#2719 = ORIENTED_EDGE ( 'NONE', *, *, #1715, .T. ) ; +#2720 = ORIENTED_EDGE ( 'NONE', *, *, #951, .T. ) ; +#2721 = AXIS2_PLACEMENT_3D ( 'NONE', #41, #905, #2148 ) ; +#2722 = EDGE_CURVE ( 'NONE', #749, #2089, #2710, .T. ) ; +#2723 = DIRECTION ( 'NONE', ( -3.229739708000460410E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2724 = EDGE_CURVE ( 'NONE', #278, #1059, #1805, .T. ) ; +#2725 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, -150.5433968397460092, 10.00000000000000000 ) ) ; +#2726 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2727 = PLANE ( 'NONE', #2761 ) ; +#2728 = AXIS2_PLACEMENT_3D ( 'NONE', #2483, #2685, #1387 ) ; +#2729 = DIRECTION ( 'NONE', ( 9.361563035194100268E-17, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2730 = PRODUCT_DEFINITION ( 'æœ', '', #1855, #628 ) ; +#2731 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2732 = ORIENTED_EDGE ( 'NONE', *, *, #244, .F. ) ; +#2733 = VECTOR ( 'NONE', #1190, 1000.000000000000000 ) ; +#2734 = EDGE_CURVE ( 'NONE', #7, #2581, #62, .T. ) ; +#2735 = VERTEX_POINT ( 'NONE', #326 ) ; +#2736 = VECTOR ( 'NONE', #1430, 1000.000000000000000 ) ; +#2737 = ADVANCED_FACE ( 'NONE', ( #2494 ), #1399, .T. ) ; +#2738 = CARTESIAN_POINT ( 'NONE', ( -36.54339600000000132, 16.45660499452100112, 10.00000000000000000 ) ) ; +#2739 = CARTESIAN_POINT ( 'NONE', ( -29.79339667332519781, 13.45660483974599941, 10.00000000000000000 ) ) ; +#2740 = LINE ( 'NONE', #404, #1048 ) ; +#2741 = CARTESIAN_POINT ( 'NONE', ( 88.45660399999999868, -153.5433969945210038, 10.00000000000000000 ) ) ; +#2742 = LINE ( 'NONE', #798, #1968 ) ; +#2743 = LINE ( 'NONE', #1659, #147 ) ; +#2744 = PLANE ( 'NONE', #2530 ) ; +#2745 = ORIENTED_EDGE ( 'NONE', *, *, #2327, .F. ) ; +#2746 = AXIS2_PLACEMENT_3D ( 'NONE', #2446, #292, #1775 ) ; +#2747 = CYLINDRICAL_SURFACE ( 'NONE', #1167, 2.000000000000001776 ) ; +#2748 = EDGE_CURVE ( 'NONE', #673, #2262, #1260, .T. ) ; +#2749 = FACE_OUTER_BOUND ( 'NONE', #1865, .T. ) ; +#2750 = ADVANCED_FACE ( 'NONE', ( #294 ), #557, .T. ) ; +#2751 = CARTESIAN_POINT ( 'NONE', ( 97.20660470435079503, -108.5433960000000013, 10.00000000000000000 ) ) ; +#2752 = FACE_OUTER_BOUND ( 'NONE', #2237, .T. ) ; +#2753 = EDGE_CURVE ( 'NONE', #783, #783, #1668, .T. ) ; +#2754 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ; +#2755 = PLANE ( 'NONE', #1901 ) ; +#2756 = FACE_BOUND ( 'NONE', #1508, .T. ) ; +#2757 = EDGE_LOOP ( 'NONE', ( #1510, #451, #2705, #1293 ) ) ; +#2758 = AXIS2_PLACEMENT_3D ( 'NONE', #11, #868, #854 ) ; +#2759 = CIRCLE ( 'NONE', #850, 1.000000000000000888 ) ; +#2760 = CARTESIAN_POINT ( 'NONE', ( 82.45660399999999868, 10.95660477088670071, 10.00000000000000000 ) ) ; +#2761 = AXIS2_PLACEMENT_3D ( 'NONE', #2273, #1584, #332 ) ; +#2762 = VERTEX_POINT ( 'NONE', #1474 ) ; +#2763 = CARTESIAN_POINT ( 'NONE', ( -28.54339599999999777, 16.74444178273600059, 10.00000000000000000 ) ) ; +#2764 = PLANE ( 'NONE', #2370 ) ; +#2765 = CARTESIAN_POINT ( 'NONE', ( -48.04339600000000132, 20.45660399999999868, 10.00000000000000000 ) ) ; +#2766 = EDGE_CURVE ( 'NONE', #601, #1722, #2448, .T. ) ; +#2767 = FACE_OUTER_BOUND ( 'NONE', #775, .T. ) ; +#2768 = FACE_BOUND ( 'NONE', #1111, .T. ) ; +#2769 = ORIENTED_EDGE ( 'NONE', *, *, #697, .F. ) ; +#2770 = AXIS2_PLACEMENT_3D ( 'NONE', #759, #2700, #742 ) ; +#2771 = AXIS2_PLACEMENT_3D ( 'NONE', #897, #2398, #2804 ) ; +#2772 = PLANE ( 'NONE', #2758 ) ; +#2773 = CARTESIAN_POINT ( 'NONE', ( -41.84509218423612964, 18.85660558000369846, 10.00000000000000000 ) ) ; +#2774 = ORIENTED_EDGE ( 'NONE', *, *, #1940, .F. ) ; +#2775 = LINE ( 'NONE', #1455, #1771 ) ; +#2776 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2777 = DIRECTION ( 'NONE', ( -2.153159805333639945E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2778 = EDGE_CURVE ( 'NONE', #2309, #2309, #2347, .T. ) ; +#2779 = DIRECTION ( 'NONE', ( 1.734723475976809806E-16, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2780 = PLANE ( 'NONE', #2259 ) ; +#2781 = VERTEX_POINT ( 'NONE', #1156 ) ; +#2782 = CARTESIAN_POINT ( 'NONE', ( 25.95660400000000223, 21.45660400000000223, 0.000000000000000000 ) ) ; +#2783 = VECTOR ( 'NONE', #842, 1000.000000000000000 ) ; +#2784 = EDGE_CURVE ( 'NONE', #2044, #1351, #113, .T. ) ; +#2785 = ORIENTED_EDGE ( 'NONE', *, *, #1734, .T. ) ; +#2786 = DIRECTION ( 'NONE', ( -9.361563035194100268E-17, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2787 = DIRECTION ( 'NONE', ( 1.301042606982600390E-16, -1.000000000000000000, 0.000000000000000000 ) ) ; +#2788 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2789 = DIRECTION ( 'NONE', ( -1.000000000000000000, -2.153159805333639945E-16, 0.000000000000000000 ) ) ; +#2790 = PLANE ( 'NONE', #584 ) ; +#2791 = ORIENTED_EDGE ( 'NONE', *, *, #1938, .F. ) ; +#2792 = EDGE_CURVE ( 'NONE', #221, #662, #79, .T. ) ; +#2793 = VECTOR ( 'NONE', #2119, 1000.000000000000000 ) ; +#2794 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2795 = VECTOR ( 'NONE', #467, 1000.000000000000000 ) ; +#2796 = VECTOR ( 'NONE', #2330, 1000.000000000000000 ) ; +#2797 = EDGE_CURVE ( 'NONE', #877, #954, #1811, .T. ) ; +#2798 = CIRCLE ( 'NONE', #1571, 0.9483045201146705905 ) ; +#2799 = AXIS2_PLACEMENT_3D ( 'NONE', #417, #1953, #2169 ) ; +#2800 = VECTOR ( 'NONE', #1832, 1000.000000000000000 ) ; +#2801 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) ); +#2802 = ADVANCED_FACE ( 'NONE', ( #2114 ), #1666, .T. ) ; +#2803 = ORIENTED_EDGE ( 'NONE', *, *, #1997, .F. ) ; +#2804 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2805 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ; +#2806 = CARTESIAN_POINT ( 'NONE', ( -45.29339670435079768, -108.5433960000000013, 0.000000000000000000 ) ) ; +#2807 = ORIENTED_EDGE ( 'NONE', *, *, #1790, .F. ) ; +#2808 = DIRECTION ( 'NONE', ( -0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ; +#2809 = VERTEX_POINT ( 'NONE', #2127 ) ; +#2810 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ; +#2811 = ADVANCED_FACE ( 'NONE', ( #2749 ), #569, .T. ) ; +#2812 = EDGE_LOOP ( 'NONE', ( #698, #1558, #460, #768 ) ) ; +#2813 = CARTESIAN_POINT ( 'NONE', ( -30.54339600000000132, -148.0433967708870000, 6.000000000000000000 ) ) ; +#2814 = LINE ( 'NONE', #1924, #1665 ) ; +#2815 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #2730 ) ; +#2816 = CIRCLE ( 'NONE', #2319, 2.000000000000001776 ) ; +#2817 = EDGE_CURVE ( 'NONE', #2163, #1422, #2292, .T. ) ; +ENDSEC; +END-ISO-10303-21; diff --git a/README.md b/README.md index 7c35c56..17d5953 100755 --- a/README.md +++ b/README.md @@ -18,25 +18,24 @@ │ waf │ │ gateway │ │ static │ │ dnfs │ │ db │ │ ai_review │ │ WAF 网关 │ │ 应用层网关 │ │前端托管│ │ 树状菜单 │ │ 通用数据库 │ │ AI内容审核 │ │ :443 (入口) │ │ :8443 (内部) │ │ :9200 │ │ :8006 │ │ :8005 │ │ :8007 │ - │ coraza+反代 │ │ 鉴权 + 反代 │ │静态/媒体│ │ 节点CRUD │ │ SQL+日志收集 │ │ DeepSeek+RAG │ - └──────┬───────┘ └──────┬───────┘ └────────┘ └──────┬───────┘ └──────────────┘ └──────────────┘ - │ HTTPS终止 │ 反向代理 │ 调用 - └──────────────────►│ ├──────────► db:8005 - ├────────────────► static:9200 - └────────────────► dnfs:8006 ──► ai_review:8007 - - 日志链路: waf / gateway / static / dnfs / ai_review / captcha ──(log_client)──► db:8005/log/ingest + │ coraza+反代 │ │ 鉴权 + 反代 │ │静态/媒体│ │ 节点CRUD │ │ pymsg/TCP │ │ DeepSeek+RAG │ + └──────┬───────┘ └──────┬───────┘ └───┬────┘ └──────┬───────┘ └──────▲───────┘ └──────▲───────┘ + │ HTTPS终止 │ 反向代理 │ 代理笔记请求 │ pymsg │ pymsg │ HTTP + └──────────────────►│ ├─────────────►│─────────────────┘ │ + ├────────────►│ └─────── HTTP /review ──────────────┘ + └────────────►│ + 日志链路: waf / gateway / static / dnfs / ai_review / captcha / smtp / aibox ──(log_client, pymsg)──► db:8005 (Logs 表) ``` ### 请求链路 1. 客户端所有请求先打到 `waf:443`(HTTPS),WAF 终止 TLS、运行 coraza 规则匹配,命中则直接返回 403。 2. 未命中规则的请求由 WAF 以明文 HTTP 转发到 `gateway:8443`,并设置 `X-Forwarded-For` / `X-Forwarded-Proto` 头。 -3. `gateway` 对 `/login`、`/register` 做账号鉴权(SQLite + PBKDF2 密码哈希 + RSA 签名 Token + 可选 CAPTCHA + 速率限制)。 +3. `gateway` 对 `/login`、`/register` 做账号鉴权(PBKDF2 密码哈希 + RSA 签名 Token + 可选 CAPTCHA + 速率限制),用户数据通过 pymsg/TCP 调用 `db:8005` 存取。 4. 其余请求携带 Token,经 `gateway` 校验后反向代理到 `Proxy.opened` 中放开的内部服务(`static:9200` / `dnfs:8006`)。 5. `db:8005` 与 `ai_review:8007` 在 `Proxy.closed` 中,仅允许内部服务间调用,不对外暴露。 -6. `dnfs` 处理节点增删改查时,通过 HTTP 调用 `db` 服务完成数据持久化,新增节点前调用 `ai_review` 进行内容审核。 -7. 各服务通过 `log_client.py` SDK 异步批量推送运行日志到 `db:8005/log/ingest`,实现集中式日志收集(fail-safe,db 不可用时静默丢弃)。 +6. `dnfs` 处理节点增删改查时,通过 pymsg/TCP 调用 `db` 服务完成数据持久化,新增节点前调用 `ai_review` 进行内容审核。 +7. 各服务通过 `log_client.py` SDK 异步批量推送运行日志(pymsg/TCP 写入 db 的 `Logs` 表),实现集中式日志收集(fail-safe,db 不可用时静默丢弃)。 ## 各服务说明 @@ -47,15 +46,18 @@ | [gateway](gateway/) | C++20 | 8443 | 应用层网关(内部 HTTP),用户注册/登录鉴权、Token 签发与校验、反向代理到内部服务 | | [static](static/) | Python(Flask) | 9200 | 前端托管服务,社区首页、静态页面与文件浏览、视频/音频流媒体播放、路径遍历防护 | | [dnfs](dnfs/) | Python(Flask) | 8006 | 树状网络文件系统(Dendrachy Network File-System),基于父子 pid 的节点树增删改查,集成 AI 内容审核 | -| [db](db/) | Python(Flask) | 8005 | 通用数据库服务,基于 SQLAlchemy Core 的 SQL-over-HTTP,支持 select/insert/update/delete,参数化查询防注入;内置集中式日志收集(/log/* 路由) | +| [db](db/) | Python(pymsg) | 8005 | 通用数据库服务,基于 pymsg 协议(TCP 长度前缀帧 + JSON)的 SQL-over-TCP,SQLAlchemy Core 参数化查询防注入;内置集中式日志收集(Logs 表 + 自动清理) | | [ai_review](ai_review/) | Python(Flask) | 8007 | AI 内容审核服务,DeepSeek LLM + ChromaDB RAG,支持人工反馈纠偏 | +| [captcha](captcha/) | Python(pymsg) | 8009 | 验证码服务(pymsg/TCP),生成图形验证码(5 分钟过期、一次性),经 gateway 的 `GET /captcha/image` 代理给浏览器 | +| [smtp](smtp/) | Python(Flask) | 8008 | 邮件服务,发送/校验邮箱验证码(/send_email、/verify_email),注册流程的邮件验证码后端,SMTP 账号配置在 .env | +| [aibox](aibox/) | Python | 8765 | 独立 AI 智能体系统(DeepSeek + WebSocket),自带技能系统/记忆/任务调度,由 core 拉起但与主干微服务无调用关系 | ### core(核心模块 · 进程托管服务) -- 可执行文件 `nidus.out`,作为 systemd 服务(`Nidus.service`)常驻运行。 +- 可执行文件 `nidus.out`,作为 systemd 服务(`Nidus.service`)常驻运行(崩溃守护由 systemd 负责,core 自身不含自动重启逻辑)。 - 支持两种工作模式:命令行子系统调用(`--send/--exec/--list/--kill`)与 HTTP 伺服器模式(`--serve `)。 - 通过命名管道(Pipe)与消息队列(Mq)实现进程间通信。 -- 读取 `init.txt` 自启动列表,按行拉起各业务服务(ai_review / db / dnfs / static / waf / gateway / captcha)。 +- 读取 `init.txt` 自启动列表,按行拉起各业务服务(ai_review / db / dnfs / smtp / static / waf / gateway / captcha / aibox)。 ### waf(WAF 网关) @@ -66,13 +68,15 @@ - 极客操作:`kill -HUP ` 热加载规则;`waf -list` 列规则;`waf -test ` 校验语法;`waf -check ""` 测试单条输入。 - 配置见 [waf/config.yaml](waf/config.yaml),详见 [waf/README.md](waf/README.md)。 -### gateway(应用层网关 · v0.3.0-security) +### gateway(应用层网关 · v0.4.3) - 内部 HTTP 服务,默认监听 127.0.0.1:8443,不再承载 TLS(TLS 已由 WAF 终止)。 - 通过 `Server.tls = on/off` 配置切换 HTTPS/HTTP 模式([example.ini](gateway/example.ini)),独立部署时仍可启用 TLS。 -- **密码安全**:PBKDF2-HMAC-SHA256(10 万轮 + 16 字节随机盐),密码强度校验(8+ 字符、4 类中至少 3 类),登录时自动迁移旧 SHA256 哈希,常数时间比较防 timing attack。 -- **Token 机制**:`Base64(payload) + "_" + RSA-Sign(payload)`,默认 1 小时过期,验签通过才放行。 -- **CAPTCHA**:`/captcha` 接口生成验证码(5 分钟过期、一次性使用),登录与注册均可选启用。 +- **密码安全**:PBKDF2-HMAC-SHA256(10 万轮 + 16 字节随机盐),密码强度校验(8+ 字符、4 类中至少 3 类),常数时间比较防 timing attack。 +- **用户存储**:用户数据通过 pymsg/TCP 调用 `db:8005`(`DbC::call_msg`)存取,不再直连本地 SQLite。 +- **Token 机制**:`Base64(payload) + "_" + RSA-Sign(payload)`,默认 1 小时过期,验签通过才放行;RSA 密钥对启动时内存生成,重启后旧 Token 全部失效。 +- **Cookie 认证**:登录成功同时签发 `HttpOnly + Secure + SameSite=Lax` 的 `q4_token` Cookie;代理时无 `Authorization` 头则回退读 Cookie 验签,并向下游注入 `Authorization: Bearer`(下游零改动);`POST /logout` 清除 Cookie。公开目标(`Proxy.default`)不做凭证校验,避免旧 Cookie 影响公开页面。 +- **CAPTCHA**:`/captcha` 接口生成验证码(5 分钟过期、一次性使用),登录与注册均可选启用;`GET /captcha/image` 为 captcha 服务(pymsg/TCP :8009)的图形验证码代理路由。 - **速率限制**:登录 5 次/5 分钟、注册 3 次/10 分钟,按 `X-Forwarded-For`(WAF 注入)客户端 IP 计数。 - **反向代理**:`Target-Url` 必须在 `Proxy.opened` 白名单中(`closed` 仅记录用途,实际隔离靠"不在 opened 中即拒绝"),缺省走 `Proxy.default`(不需 Token,服务前端静态资源)。 - **自动建表**:启动时若 `Users` 表不存在则自动创建,首位注册者即为管理员。 @@ -81,44 +85,66 @@ ### static(前端托管服务) - 托管 `public/` 下的前端页面:社区首页(`index.html`)、登录/注册、树状笔记(`dnfs.html`)、文件浏览(`__view.html`)等。 -- 支持文件浏览、视频/音频在线播放(HTTP Range 分段请求)、一键下载。 -- 路径遍历防护,仅允许访问 `directory.root` 之内。 +- 支持文件浏览、视频/音频在线播放(HTTP Range 分段请求,返回 206/416)、一键下载。 +- 路径遍历防护(`safe_path_join`:realpath 前缀校验),仅允许访问 `directory.root` 之内。 +- **dnfs 代理**:`/get_notes`、`/add_note`、`/delete_note`、`/update_note` 透传 Authorization 转发到 `dnfs:8006`(解决浏览器跨域)。 +- **账号旁路**:`/api/check_user`、`/api/reset_password` 等接口直接读写 `gateway/sqlite3.db` 的 Users 表;`/yhdet_callback`、`/api/yhdet_*` 对接 yhdet.top OAuth 登录。 - 统一品牌"树状菜单",支持深色模式(`css/theme.css`)。 - 可使用 Nuitka 编译为独立二进制(`fsys.bin`)。 -- 配置见 [static/config.ini](static/config.ini)。 +- 配置见 [static/config.ini](static/config.ini)(注:CORS 白名单硬编码于 `fsys.py`,config.ini 的 cors 段未生效)。 ### dnfs(树状菜单服务) - 基于 `pid`(父节点 id)组织的树状节点,节点含 `title` 与 `content`。 - 提供 `/get_notes`、`/add_note`、`/delete_note`、`/update_note` 四个接口。 -- 数据持久化通过 HTTP 调用 `db` 服务(`http://127.0.0.1:8005/execute`),不再直接操作数据库。 +- 数据持久化通过 pymsg/TCP 调用 `db` 服务(`127.0.0.1:8005`,execute 路由),不再直接操作数据库。 - 新增节点前调用 `ai_review` 服务(`http://127.0.0.1:8007/review`)进行内容审核,审核不通过则拒绝写入。 ### db(通用数据库服务) -- 单一接口 `POST /execute`,接收结构化 JSON(action + table + where + values),翻译为 SQL 执行。 +- 基于自研 [pymsg](pymsg/) 协议(TCP 长度前缀帧 + JSON),单一路由 `_route: "execute"`,接收结构化 JSON(action + table + where + values),翻译为 SQL 执行。 - 支持 select / insert / update / delete,运算符包括 eq、ne、gt、lt、ge、le、like、in,支持排序与分页。 - 基于 SQLAlchemy Core 表反射,参数化查询,零 SQL 注入风险。 -- 仅监听 127.0.0.1,单线程,自动回滚,不暴露 DDL 操作。 +- 仅监听 127.0.0.1,自动提交/回滚,不暴露 DDL 操作。 - 默认使用 SQLite(`database.db`),可通过 `DATABASE_URL` 环境变量切换至 PostgreSQL / MySQL。 -- **内置日志子模块**([log_module.py](db/log_module.py)): - - `log_internal()` — db 进程内部直接写 Logs 表,无 HTTP 往返,防递归设计。 - - `/log/ingest` — 接收外部服务批量推送日志(单次上限 100 条,校验 service / level / message)。 - - `/log/query` — 结构化查询(service / level / trace_id / 时间区间 / 关键字模糊搜索 / 排序分页)。 - - `/log/stats` — 按 service / level 分组统计。 - - `/log/purge` — 手动清理指定时间之前的日志。 - - `/log/health` — 健康检查。 +- **内置日志子模块**: + - 启动时自动建 `Logs` 表(service / level / message / trace_id / extra + 4 个索引)。 + - 外部服务通过 `log_client.py` 以 pymsg 调 execute 路由逐条 INSERT 写入日志。 + - `_log_internal()` — db 进程内部直接写 Logs 表,无网络往返,防递归设计。 - 后台守护线程每小时自动清理:保留 30 天 / 上限 100 万条。 -- **统一日志客户端 SDK**([log_client.py](db/log_client.py)):各服务复制即用,纯标准库实现(urllib),异步非阻塞(内存队列 + 后台线程,50 条/2 秒批量 flush),fail-safe 设计(db 不可用时静默丢弃,不影响业务)。 + - 注:`db/log_module.py`(Flask `/log/*` Blueprint)为旧版 HTTP 接口的遗留文件,当前 dbv2 未挂载。 +- **统一日志客户端 SDK**(各服务目录下的 `log_client.py`,如 [dnfs/log_client.py](dnfs/log_client.py)):各服务复制即用,纯标准库实现,异步非阻塞(内存队列 + 后台线程,50 条/2 秒批量 flush),fail-safe 设计(db 不可用时静默丢弃,不影响业务)。 ### ai_review(AI 内容审核服务) - 基于 DeepSeek LLM + ChromaDB 向量检索的 RAG 审核架构。 - 审核类别:色情、违禁药品、赌博、诈骗、仇恨/暴力/恐怖主义,灰色地带内容从严判定。 - 接口:`POST /review`(提交审核)、`POST /rag/feedback`(人工纠偏)、`GET /rag/list`(知识库列表)、`GET /health`(健康检查)。 -- RAG 检索 top-3 相似已标注样本注入 prompt,MD5 去重,API 异常时 fail-open。 +- RAG 检索 top-3 相似已标注样本注入 prompt,MD5 去重。 +- **fail-closed 设计**:API 异常或响应解析失败时一律返回 `{"invalid": "true"}`(拦截),宁可误拦不可漏放。 - 配置通过 `.env` 文件(已 gitignore),含 DeepSeek API 密钥、模型参数、监听地址。 +### captcha(验证码服务) + +- 生成图形验证码,Token 一次性使用、5 分钟过期;基于 [pymsg](pymsg/) 协议(TCP 长度前缀帧 + JSON),仅依赖 PIL。 +- pymsg 路由:`image`(生成,返回 token + base64 PNG)、`verify`(校验,一次性消费)、`health`。 +- 答案比较采用 XOR 防时序攻击;错误答案与无效 Token 分别返回 `{valid:false}` 与 `{valid:false, error:...}`。 +- **gateway 代理路由**:`GET /captcha/image` 经 pymsg 调 captcha 后解码 PNG,以 `image/png` + `X-Captcha-Token` 响应头返回浏览器(`Cache-Control: no-store`)。 +- 由 `gateway` 在 `/login`、`/register` 中可选启用 CAPTCHA 校验(字段 `captcha_token` / `captcha_answer`)。 +- 内存存储,不支持多实例水平扩展(需换 Redis);详见 [captcha/README.md](captcha/README.md)。 + +### smtp(邮件服务) + +- 注册流程的邮箱验证码后端,基于 Flask + waitress,监听 127.0.0.1:8008。 +- 接口:`POST /send_email`(生成 6 位验证码并经 SMTP_SSL 发送至收件人,60 秒有效)、`POST /verify_email`(校验)。 +- 验证码存于进程内存,SMTP 账号通过 `.env` 配置(`SMTP_SERVER` / `SMTP_PORT` / `SMTP_USER` / `__PASSWORD`)。 + +### aibox(独立 AI 智能体系统) + +- 一套相对独立的单智能体产品,基于 DeepSeek + WebSocket(:8765),由 `core` 拉起但与 waf / gateway / dnfs 等主干微服务无调用关系。 +- 自带技能系统(`skills/`)、任务调度器、记忆管理、前端页面与语音客户端(`voice_client.py`)。 +- 默认模型 `deepseek-v4-flash`,配置在 `config.json`;详见 [aibox/README.md](aibox/README.md)。 + ## 共享基础库 | 库 | 说明 | @@ -132,8 +158,9 @@ | 文件 | 说明 | |------|------| -| [log_client.py](db/log_client.py) | 统一日志客户端 SDK,各服务复制即用(纯标准库,异步批量推送) | -| [security_middleware.py](db/security_middleware.py) | Flask 安全响应头中间件(CSP / X-Frame-Options / nosniff 等),各服务各持一份副本 | +| [pymsg](pymsg/) | 自研 RPC 基础库(setuptools 包),协议为 `[4字节大端长度][UTF-8 JSON]`,提供 `send/recv/MsgClient/MsgServer`;db 服务端与各 log_client 的基础依赖,requirements 以 `../pymsg` 本地路径引用 | +| log_client.py | 统一日志客户端 SDK,各服务目录各持一份副本(如 [dnfs/log_client.py](dnfs/log_client.py)),纯标准库 + pymsg,异步批量推送 | +| security_middleware.py | Flask 安全响应头中间件(CSP / X-Frame-Options / nosniff 等),各服务各持一份副本 | ## 端口一览 @@ -144,9 +171,11 @@ | 5200 | core | — | PMC HTTP 管理接口 | | 9200 | static | 127.0.0.1 | 前端托管(经 gateway 代理) | | 8006 | dnfs | 127.0.0.1 | 树状菜单(经 gateway 代理) | -| 8005 | db | 127.0.0.1 | 数据库服务(仅内部调用) | +| 8005 | db | 127.0.0.1 | 数据库服务(pymsg/TCP,仅内部调用) | | 8007 | ai_review | 127.0.0.1 | AI 审核(仅内部调用) | -| 8009 | captcha | 127.0.0.1 | 验证码服务(独立组件) | +| 8009 | captcha | 127.0.0.1 | 验证码服务(pymsg/TCP,经 gateway 代理) | +| 8008 | smtp | 127.0.0.1 | 邮件服务(仅内部调用,注册验证码邮件后端) | +| 8765 | aibox | 127.0.0.1 | AI 智能体(WebSocket,独立产品) | ## 依赖 @@ -189,10 +218,12 @@ bash _run.sh # 运行 bash /opt/micro_servers/ai_review/_run.sh bash /opt/micro_servers/db/_run.sh bash /opt/micro_servers/dnfs/_run.sh +bash /opt/micro_servers/smtp/_run.sh bash /opt/micro_servers/static/_run.sh bash /opt/micro_servers/waf/_run.sh bash /opt/micro_servers/gateway/_run.sh bash /opt/micro_servers/captcha/_run.sh +bash /opt/micro_servers/aibox/_run.sh ``` 启动 `core`(需 root 或 systemd): @@ -223,10 +254,10 @@ gateway 改为内部 HTTP 模式([example.ini](gateway/example.ini) 中 `tls = - **服务按业务能力拆分**:WAF 网关、应用网关、前端托管、节点树、数据库、内容审核各自独立、独立端口、独立数据存储。 - **API 网关模式**:`waf` 作为边缘网关统一入口,`gateway` 承担鉴权与反向代理,内部服务通过 `closed` 列表隔离。 - **进程编排/守护**:`core` 作为服务管理器拉起并守护子进程,类似简易版 supervisor。 -- **多语言异构**:C++(core / gateway)、Python(static / dnfs / db / ai_review)、Go(waf)混合,通过 HTTP 通信。 -- **数据访问层解耦**:`db` 服务将数据库操作收敛为统一的 HTTP 接口,业务服务无需直连数据库。 +- **多语言异构**:C++(core / gateway)、Python(static / dnfs / db / ai_review)、Go(waf)混合,对外 HTTP、内部数据访问走 pymsg/TCP。 +- **数据访问层解耦**:`db` 服务将数据库操作收敛为统一的 pymsg/TCP 接口,业务服务无需直连数据库。 - **AI 能力集成**:`ai_review` 以 RAG 增强的 LLM 审核为业务层提供内容安全能力,支持人工反馈闭环。 -- **集中式可观测性**:`db` 内置日志收集服务(/log/* 路由),各服务通过 `log_client.py` SDK 异步推送日志,实现全链路汇聚、查询与统计,无需引入额外中间件。 +- **集中式可观测性**:`db` 内置日志表与自动清理,各服务通过 `log_client.py` SDK 异步推送日志(pymsg),实现全链路汇聚,无需引入额外中间件。 - **安全分层**:`waf` 在边缘做规则匹配(OWASP CRS / 自定义 SecLang 规则),`gateway` 在应用层做鉴权,`db` 仅监听本机,多层防护。 与云原生微服务的差异:未引入服务注册发现、容器编排、消息总线,服务地址在 `waf/config.yaml` 与 `gateway/example.ini` 中静态配置。对于个人/中小规模的 DIY 场景,这种取舍在简洁性与可控性上是合理的。 diff --git a/_setup.deb.sh b/_setup.deb.sh index 42ad15e..be788a8 100755 --- a/_setup.deb.sh +++ b/_setup.deb.sh @@ -2,4 +2,4 @@ # Debian sudo apt update -sudo apt install libsqlite3-dev libboost-all-dev libcurl4-gnutls-dev python3 python3-venv python3-pip g++ patchelf golang-go +sudo apt install libsqlite3-dev libboost-all-dev libcurl4-gnutls-dev python3 python3-venv python3-pip g++ patchelf golang-go libportaudio-ocaml-dev diff --git a/ai_review/security_middleware.py b/ai_review/security_middleware.py index ea9e040..be880f6 100644 --- a/ai_review/security_middleware.py +++ b/ai_review/security_middleware.py @@ -12,7 +12,7 @@ def apply_security_headers(app, csp_policy=None): @app.after_request def set_security_headers(response): # Prevent clickjacking - response.headers['X-Frame-Options'] = 'DENY' + response.headers['X-Frame-Options'] = 'SAMEORIGIN' # XSS protection (legacy browsers) response.headers['X-XSS-Protection'] = '1; mode=block' # Prevent MIME type sniffing @@ -30,10 +30,10 @@ def apply_security_headers(app, csp_policy=None): "default-src 'self'; " "script-src 'self' 'unsafe-inline'; " "style-src 'self' 'unsafe-inline'; " - "img-src 'self' data:; " + "img-src 'self' data: blob:; " "font-src 'self'; " "connect-src 'self'; " - "frame-ancestors 'none'" + "frame-ancestors 'self'" ) # Remove server header info diff --git a/aibox/README.md b/aibox/README.md index b2f9666..9ae1e2e 100644 --- a/aibox/README.md +++ b/aibox/README.md @@ -1,21 +1,24 @@ # 单AI智能体系统 - WebSocket版本(增强版) -一个功能强大的AI智能体系统,通过WebSocket与客户端交互,支持文件操作、网页访问、记忆管理、任务调度、扩展技能等功能。所有任务都通过AI对话执行,支持实时流式输出和任务状态广播。 +一个基于 DeepSeek API 的**单 AI 智能体**系统,通过 WebSocket 与客户端交互。所有任务(文件操作、网页访问、记忆管理、任务调度等)都由 AI 对话驱动执行,支持实时流式输出与任务状态广播。内置可热重载的技能系统,智能体可通过工具自我进化(更新角色定义、自主创建技能)。 + +> 本模块为 `micro_servers` 项目中的独立组件,由 `core`(`PMC`)通过 `init.txt` 中的 `bash /opt/micro_servers/aibox/_run.sh` 拉起。它与主干微服务(waf/gateway/static/dnfs/db/ai_review)解耦,是另一套 AI 助手产品。 ## ✨ 核心特性 -- 🤖 **单AI智能体**:基于DeepSeek API的智能对话系统,支持思考模式 -- 🔌 **WebSocket通信**:实时双向通信,支持流式输出和任务状态广播 -- 📁 **文件操作**:读写文件、目录列表(支持大文件分页) -- 🌐 **网页访问**:获取网页内容、提取标题、链接、搜索信息 -- 🧠 **记忆管理**:自动保存和检索对话记忆,保持对话连贯性 -- ⏰ **任务系统**:支持一次性、重复(daily/weekly/monthly/custom)、即时任务,自动触发AI对话 -- 🔧 **扩展技能**:动态加载`~/.aibox/skills/`目录下的可执行脚本或Markdown技能文件 -- 📦 **对话压缩**:当消息数或Token数达到阈值时自动压缩,保持上下文质量 +- 🤖 **单 AI 智能体**:基于 DeepSeek API 的智能对话系统,支持思考模式(reasoning 流式输出) +- 🔌 **WebSocket 通信**:实时双向通信,支持流式输出与任务状态广播 +- 📁 **文件操作**:读写文件、目录列表(支持大文件分页 head/tail) +- 🌐 **网页访问**:获取网页内容、提取标题、链接与正文 +- 🧠 **记忆管理**:自动保存与检索对话记忆,保持对话连贯性 +- ⏰ **任务系统**:支持一次性、重复(daily/weekly/monthly/custom)、即时任务,自动触发 AI 对话 +- 🔧 **扩展技能**:动态加载 `~/.aibox/skills/` 下的可执行脚本或 Markdown 技能文件 - 🌍 **多语言支持**:自动检测系统语言,支持中英文 -- 🧬 **智能体自我进化**:通过`update_soul`工具动态更新角色定位和性格定义 +- 🧬 **智能体自我进化**:通过 `update_soul` / `update_identity` 工具动态更新角色定位与用户画像 - 🔄 **技能热重载**:无需重启即可添加、修改或删除扩展技能 -- 💾 **对话管理**:历史对话归档、开始新对话(重置AI记忆) +- 🔐 **SOCKS5 代理**:通过 `set_proxy` / `get_proxy` 工具为网页访问与 API 调用配置代理,可持久化 +- 💾 **对话管理**:历史对话归档、开始新对话(重置 AI 记忆并重新加载提示词) +- 📦 **对话压缩**:消息数或 Token 数达到阈值时自动压缩,保持上下文质量 ## 🚀 快速开始 @@ -23,46 +26,72 @@ - Python 3.8+ - DeepSeek API Key -- 操作系统:Linux/macOS/Windows +- 操作系统:Linux / macOS / Windows ### 安装 ```bash -# 克隆或下载代码 -# 安装依赖 +# 克隆或下载代码后,安装依赖 pip install websockets requests beautifulsoup4 ``` ### 配置 -1. **设置DeepSeek API Key**: +1. **设置 DeepSeek API Key**: ```bash export DEEPSEEK_API_KEY="your-api-key" ``` -2. **(可选)配置文件**:`~/.aibox/config.json`(系统会自动创建默认配置) +2. **(可选)配置文件**:`~/.aibox/config.json`(首次启动时自动创建默认配置) 3. **启动服务器**: ```bash -python agent.py +python main.py ``` -启动后,WebSocket服务器将运行在 `ws://localhost:8765` +启动后,WebSocket 服务器将运行在 `ws://localhost:8765`(地址与端口可在 `config.json` 的 `system.websocket_host` / `system.websocket_port` 中修改)。 + +> 注意:本模块入口文件为 `main.py`(不是 `agent.py`)。`client.py` 为示例 WebSocket 客户端,`voice_client.py` 为语音客户端,`_run.sh` 为被 `core` 拉起的启动脚本。 ## 📁 目录结构 +``` +aibox/ +├── main.py # 服务主程序(WebSocket 服务器 + AI 引擎 + 工具/技能系统) +├── client.py # 示例 WebSocket 客户端 +├── voice_client.py # 语音客户端 +├── entry.html # 前端入口页 +├── entry1.html # 前端入口页(变体) +├── frontend.html # 前端主页面 +├── skills/ # 内置扩展技能(*.py 可执行脚本 / *.md Markdown 技能) +│ ├── hello-world.py +│ ├── aes-crypto.py +│ ├── bing_search.py +│ ├── facerec.py +│ ├── gitclient.py +│ ├── ssh-exec.py +│ ├── sftp-transfer.py +│ └── ... +├── SKILLS_FORMAT.md # 技能文件格式说明 +├── _run.sh # 启动脚本(被 core 守护时调用) +├── _runcli.sh # 命令行启动脚本 +├── _set.sh # 安装脚本 +├── _setenv.sh # 环境设置脚本 +└── README.md +``` + +运行期数据存放于 `~/.aibox/`: + ``` ~/.aibox/ ├── config.json # 配置文件 ├── prompts/ # 系统提示词目录 │ ├── 00_IDENTITY.md # 用户身份信息 │ ├── 1_*.md # 基础技能提示词(文件操作、网页访问等) -│ ├── 99_SOUL.md # AI灵魂定义(角色、性格、能力边界) -│ └── 100_STATUS.md # AI状态记录 -├── skills/ # 扩展技能目录 -│ ├── my_skill # 可执行技能(无扩展名) -│ └── guide.md # Markdown技能 -├── memories.db # 记忆和任务数据库 +│ ├── 99_SOUL.md # AI 灵魂定义(角色、性格、能力边界) +│ └── 100_STATUS.md # AI 状态记录 +├── skills/ # 扩展技能目录(运行时从仓库 skills/ 复制或用户自建) +├── memories.db # 记忆和任务数据库(SQLite) ├── current_conversation.json # 当前对话 ├── conversation_history.json # 对话索引 ├── archive/ # 历史对话归档 @@ -71,7 +100,7 @@ python agent.py ## 🔧 可用工具 -AI智能体可以调用以下工具来完成任务: +AI 智能体可以调用以下工具来完成任务(由 `Tool` 基类派生,在 `DeepSeekChat` 中注册): | 工具名称 | 功能描述 | |---------|---------| @@ -82,15 +111,17 @@ AI智能体可以调用以下工具来完成任务: | `memory` | 保存、搜索(支持分页)、删除记忆 | | `memo` | 创建、查看、完成、搜索任务 | | `run_command` | 执行系统命令(实时输出,支持超时控制) | -| `search_skills` | 搜索扩展技能(支持Markdown和可执行技能) | +| `search_skills` | 搜索扩展技能(支持 Markdown 和可执行技能) | | `reload_skills` | 热重载扩展技能 | -| `create_skill` | 创建新技能(AI自主编写Python脚本) | +| `create_skill` | 创建新技能(AI 自主编写 Python 脚本) | | `install_skill` | 技能安装指引 | -| `update_identity` | 更新用户身份信息 | -| `update_soul` | 更新AI自我定义(智能体进化) | +| `update_identity` | 更新用户身份信息(`00_IDENTITY.md`) | +| `update_soul` | 更新 AI 自我定义(`99_SOUL.md`,智能体进化) | | `save_memory_and_end_conversation` | 保存记忆并结束对话 | | `get_current_time` | 获取当前时间 | | `calculator` | 数学计算 | +| `set_proxy` | 设置 SOCKS5 代理(host/port/可选账号密码,可持久化,即时生效) | +| `get_proxy` | 查看当前 SOCKS5 代理配置 | ## 💬 WebSocket API @@ -140,14 +171,15 @@ const ws = new WebSocket('ws://localhost:8765'); ### 支持的命令 +> 注意:记忆搜索通过 `memory` 工具(在对话中由 AI 调用)完成,本系统**不存在** `/search` 斜杠命令。 + | 命令 | 功能 | |-----|------| | `/exit` | 退出连接 | -| `/new` | 开始新对话(保存当前,重置AI记忆,重新加载提示词) | +| `/new` | 开始新对话(保存当前,重置 AI 记忆,重新加载提示词) | | `/list` | 列出所有历史对话 | | `/memories` | 查看最近记忆(支持分页) | | `/memos` | 查看待办任务 | -| `/search <关键词>` | 搜索记忆 | | `/config` | 查看配置 | | `/reload` | 重载配置 | | `/reload_prompts` | 重载提示词 | @@ -159,17 +191,17 @@ const ws = new WebSocket('ws://localhost:8765'); | 类型 | 说明 | |-----|------| -| `chunk` | AI响应的片段(流式输出) | -| `complete` | AI响应完成 | -| `reasoning` | AI思考过程(调试模式) | +| `chunk` | AI 响应的片段(流式输出) | +| `complete` | AI 响应完成 | +| `reasoning` | AI 思考过程(思考模式) | | `error` | 错误信息 | | `command_result` | 命令执行结果 | | `task_status` | 任务状态更新(executing/complete/failed) | -| `task_process` | 任务执行过程中的AI输出 | +| `task_process` | 任务执行过程中的 AI 输出 | | `dialogue_ended` | 对话结束通知 | | `dialogue_reset` | 对话重置完成 | | `info` | 系统信息 | -| `pong` | Ping响应 | +| `pong` | Ping 响应 | ## ⏰ 任务系统 @@ -188,51 +220,38 @@ const ws = new WebSocket('ws://localhost:8765'); ```json // 每天提醒 { - "type": "task", - "action": "add", - "title": "每日健康提醒", - "repeat_type": "daily" + "type": "task", "action": "add", "title": "每日健康提醒", "repeat_type": "daily" } ``` ```json // 5分钟后执行 { - "type": "task", - "action": "add", - "title": "5分钟后提醒", - "delay": 300 + "type": "task", "action": "add", "title": "5分钟后提醒", "delay": 300 } ``` ```json // 每30分钟重复 { - "type": "task", - "action": "add", - "title": "定时检查", - "repeat_type": "custom", - "repeat_interval": 30, - "repeat_interval_unit": "minutes" + "type": "task", "action": "add", "title": "定时检查", "repeat_type": "custom", + "repeat_interval": 30, "repeat_interval_unit": "minutes" } ``` ```json // 即时任务 { - "type": "task", - "action": "add", - "title": "检查服务器状态", - "is_immediate": true + "type": "task", "action": "add", "title": "检查服务器状态", "is_immediate": true } ``` ### 任务执行流程 1. 任务到期后,系统自动标记为已触发 -2. 创建新的AI对话,将任务内容作为用户输入 -3. AI处理任务,使用工具执行操作 -4. 任务执行结果实时广播到所有WebSocket客户端 +2. 创建新的 AI 对话,将任务内容作为用户输入 +3. AI 处理任务,使用工具执行操作 +4. 任务执行结果实时广播到所有 WebSocket 客户端 5. 重复任务自动计算下一次执行时间 ## 🔧 扩展技能 @@ -241,9 +260,8 @@ const ws = new WebSocket('ws://localhost:8765'); #### 1. 可执行技能 - 放在 `~/.aibox/skills/` 目录 -- 文件必须可执行(`chmod +x`) -- 支持 `--help` 选项 -- `--help` 第一行为一句话简介,其余为使用说明 +- 文件必须可执行(`chmod +x`),建议不带扩展名 +- 支持 `--help` 选项;`--help` 第一行为一句话简介,其余为使用说明 **示例**: ```python @@ -251,13 +269,9 @@ const ws = new WebSocket('ws://localhost:8765'); import argparse def main(): - parser = argparse.ArgumentParser( - description="温度转换工具 - 摄氏度转华氏度" - ) - parser.add_argument("-t", "--temp", type=float, required=True, - help="摄氏温度值") + parser = argparse.ArgumentParser(description="温度转换工具 - 摄氏度转华氏度") + parser.add_argument("-t", "--temp", type=float, required=True, help="摄氏温度值") args = parser.parse_args() - fahrenheit = args.temp * 9/5 + 32 print(f"{args.temp}°C = {fahrenheit:.1f}°F") @@ -265,15 +279,14 @@ if __name__ == "__main__": main() ``` -#### 2. Markdown技能 +#### 2. Markdown 技能 - 文件以 `.md` 结尾 -- 第一行为简介(`# 标题` 或纯文本) -- 其余为完整的技能内容 +- 第一行为简介(`# 标题` 或纯文本),其余为完整技能内容 **示例**: ```markdown # 代码审查指南 -提供代码审查的检查清单和最佳实践... +提供代码审查的检查清单和最佳实践…… ## 检查要点 1. 代码风格一致性 @@ -284,12 +297,12 @@ if __name__ == "__main__": ### 创建技能 -#### 方式1:AI自主创建(推荐) -直接告诉AI: +#### 方式1:AI 自主创建(推荐) +直接告诉 AI: ``` 创建一个技能,功能是将摄氏度转换为华氏度,接受 -c 参数输入温度 ``` -AI会自动使用 `create_skill` 工具编写脚本并部署。 +AI 会自动使用 `create_skill` 工具编写脚本并部署到 `~/.aibox/skills/`。 #### 方式2:手动创建 1. 编写脚本,确保支持 `--help` @@ -304,48 +317,40 @@ chmod +x ~/.aibox/skills/my_skill #### 方式3:使用安装指引 ```json -{ - "type": "message", - "content": "使用 install_skill 工具安装 /path/to/script.py" -} +{ "type": "message", "content": "使用 install_skill 工具安装 /path/to/script.py" } ``` +技能格式详见 [SKILLS_FORMAT.md](SKILLS_FORMAT.md)。 + ## 🧠 智能体自我进化 -AI可以通过 `update_soul` 工具动态更新 `99_SOUL.md` 文件: +AI 可以通过 `update_soul` 工具动态更新 `99_SOUL.md`,通过 `update_identity` 工具更新 `00_IDENTITY.md`: ```json -{ - "type": "message", - "content": "使用 update_soul 更新我的角色,强调我更注重创造性思维" -} +{ "type": "message", "content": "使用 update_soul 更新我的角色,强调我更注重创造性思维" } ``` -这允许AI在对话中不断优化自己的: -- 角色定位 -- 性格特点 -- 能力边界 -- 行为准则 -- 价值观 +这允许 AI 在对话中不断优化自己的:角色定位、性格特点、能力边界、行为准则、价值观。 ## 📦 对话压缩 当对话达到阈值时自动压缩: ```json -// 配置示例 -"context": { - "max_history_messages": 500, - "compress_enabled": true, - "compress_message_threshold": 200, // 消息数阈值 - "compress_token_threshold": 120000, // Token数阈值 - "compress_keep_recent": 8 // 保留最近消息数 +// 配置示例(config.json -> context) +{ + "max_history_messages": 500, // 历史消息上限 + "compress_enabled": true, // 是否启用压缩 + "compress_message_threshold": 200, // 消息数阈值 + "compress_token_threshold": 120000, // Token 数阈值 + "compress_ratio": 0.2, // 压缩保留比例(早期对话压缩为原长的该比例) + "compress_keep_recent": 8 // 保留最近消息数 } ``` 压缩过程: -1. 检测到消息数或Token数超过阈值 -2. 调用AI压缩早期对话内容 +1. 检测到消息数或 Token 数超过阈值 +2. 调用 AI 压缩早期对话内容 3. 保留最近的重要消息 4. 将压缩摘要作为系统消息 5. 压缩过程静默执行,不影响用户体验 @@ -356,14 +361,14 @@ AI可以通过 `update_soul` 工具动态更新 `99_SOUL.md` 文件: | 文件 | 用途 | 更新方式 | |-----|------|---------| -| `00_IDENTITY.md` | 用户身份信息 | AI通过 `update_identity` 工具更新 | -| `1_*.md` | 基础技能提示词 | 手动编辑,AI通过 `reload_prompts` 重载 | -| `99_SOUL.md` | AI灵魂定义(角色、性格) | AI通过 `update_soul` 工具更新 | -| `100_STATUS.md` | AI状态记录 | AI通过 `save_memory_and_end_conversation` 更新 | +| `00_IDENTITY.md` | 用户身份信息 | AI 通过 `update_identity` 工具更新 | +| `1_*.md` | 基础技能提示词 | 手动编辑,AI 通过 `reload_prompts` 重载 | +| `99_SOUL.md` | AI 灵魂定义(角色、性格) | AI 通过 `update_soul` 工具更新 | +| `100_STATUS.md` | AI 状态记录 | AI 通过 `save_memory_and_end_conversation` 更新 | ## ⚙️ 配置说明 -主要配置项(`~/.aibox/config.json`): +主要配置项(`~/.aibox/config.json`,首次启动自动生成): ```json { @@ -372,13 +377,16 @@ AI可以通过 `update_soul` 工具动态更新 `99_SOUL.md` 文件: "websocket_host": "localhost", "websocket_port": 8765, "debug_level": 1, - "log_file": "~/.aibox/ai.log" + "log_file": "~/.aibox/ai.log", + "skills_dir": "~/.aibox/skills", + "prompts_dir": "~/.aibox/prompts" }, "context": { "max_history_messages": 500, "compress_enabled": true, "compress_message_threshold": 200, "compress_token_threshold": 120000, + "compress_ratio": 0.2, "compress_keep_recent": 8 }, "scheduler": { @@ -388,7 +396,7 @@ AI可以通过 `update_soul` 工具动态更新 `99_SOUL.md` 文件: }, "api": { "deepseek_api_url": "https://api.deepseek.com/chat/completions", - "deepseek_model": "deepseek-chat", + "deepseek_model": "deepseek-v4-flash", "api_key_env": "DEEPSEEK_API_KEY" }, "memory": { @@ -400,17 +408,19 @@ AI可以通过 `update_soul` 工具动态更新 `99_SOUL.md` 文件: } ``` +> 默认模型为 `deepseek-v4-flash`(通过 `api.deepseek_model` 修改)。API Key 从环境变量 `DEEPSEEK_API_KEY` 读取(亦支持 `~/.cert/deepseek.key` 文件)。 + ## 🛠️ 命令行参数 ```bash -python agent.py [选项] +python main.py [选项] 选项: --verbose, -v 显示详细日志 --debug LEVEL 调试级别 (0-3) --lang zh|en 强制语言 - --host HOST WebSocket主机 - --port PORT WebSocket端口 + --host HOST WebSocket 主机 + --port PORT WebSocket 端口 --no-scheduler 禁用任务调度器 --scheduler-interval 调度器检查间隔(秒) --config PATH 指定配置文件路径 @@ -424,19 +434,19 @@ python agent.py [选项] ```bash # 启动服务器(详细日志) -python agent.py --verbose +python main.py --verbose # 指定端口 -python agent.py --port 9000 +python main.py --port 9000 # 检查任务 -python agent.py --check-memo +python main.py --check-memo # 添加任务(命令行) -python agent.py --memo-add "提醒开会|下午3点会议室A|+1h" +python main.py --memo-add "提醒开会|下午3点会议室A|+1h" # 查看所有任务 -python agent.py --memo-list +python main.py --memo-list ``` ## 🔄 架构流程 @@ -452,7 +462,7 @@ python agent.py --memo-list │ ┌─────────────┐ ┌─────────────┐ ┌───────────────┐ │ │ │ 消息处理器 │ │ 命令处理器 │ │ 任务调度器 │ │ │ └─────────────┘ └─────────────┘ └───────────────┘ │ -└─────────────────┬───────────────────────────────────────┘ +└─────────────────┬──────────────────────────────────────┘ │ ┌─────────────────▼───────────────────────────────────────┐ │ AI 对话引擎 (DeepSeek) │ @@ -502,16 +512,54 @@ Server -> Client: {type: "command_result", content: "🔄 开始新对话..."} Server -> Client: {type: "dialogue_reset", content: "✅ 对话状态已完全重置"} ``` +## 📝 开发指南 + +### 添加新工具 + +1. 继承 `Tool` 基类(位于 `main.py`) +2. 实现 `get_name()`、`get_description()`、`get_parameters()`、`execute()` +3. 可选实现 `execute_streaming()` 支持流式输出 +4. 在 `DeepSeekChat` 的工具注册处注册 + +```python +class MyTool(Tool): + def get_name(self) -> str: + return "my_tool" + + def get_description(self) -> str: + return "我的自定义工具" + + def get_parameters(self) -> Dict: + return { + "type": "object", + "properties": {"param": {"type": "string"}}, + "required": ["param"] + } + + def execute(self, param: str, **kwargs) -> str: + return f"执行结果: {param}" +``` + +### 添加新命令 + +在 `WebSocketHandler` 的命令处理分支(`handle_command`)中添加: + +```python +elif command == "/mycommand": + result = "命令执行结果" + await self.send_message(websocket, {"type": "command_result", "content": result}) +``` + ## ❓ 常见问题 -### Q: API Key无效怎么办? -**A:** +### Q: API Key 无效怎么办? +**A:** 1. 确认环境变量已设置:`echo $DEEPSEEK_API_KEY` 2. 检查配置文件中的 `api_key_env` 设置 -3. 创建 `~/.cert/deepseek.key` 文件并写入API Key +3. 创建 `~/.cert/deepseek.key` 文件并写入 API Key ### Q: 技能不生效? -**A:** +**A:** 1. 确认文件在 `~/.aibox/skills/` 目录 2. 确认文件可执行(`chmod +x`) 3. 调用 `reload_skills` 工具 @@ -519,7 +567,7 @@ Server -> Client: {type: "dialogue_reset", content: "✅ 对话状态已完全 5. 检查文件命名(不能有扩展名) ### Q: 任务没有执行? -**A:** +**A:** 1. 检查调度器是否启用:`/tasks` 2. 查看任务状态:`/memos` 3. 检查系统时间是否正确 @@ -527,118 +575,57 @@ Server -> Client: {type: "dialogue_reset", content: "✅ 对话状态已完全 5. 确认任务有 `reminder_time` ### Q: 对话压缩丢失了重要信息? -**A:** 调整配置: +**A:** 调整 `config.json` 的 `context` 配置: ```json "compress_message_threshold": 300, // 调大阈值 "compress_keep_recent": 20 // 保留更多最近消息 ``` -### Q: 如何备份数据? -**A:** -```bash -# 备份整个目录 -tar -czf aibox_backup_$(date +%Y%m%d).tar.gz ~/.aibox/ - -# 恢复 -tar -xzf aibox_backup_20260101.tar.gz -C ~/ -``` - -### Q: WebSocket连接断开? -**A:** -1. 检查服务器是否运行:`ps aux | grep agent.py` -2. 确认端口未被占用:`netstat -tlnp | grep 8765` -3. 检查防火墙设置 -4. 查看服务器日志 -5. 考虑使用 `--host 0.0.0.0` 允许外部连接 - -### Q: 如何让AI使用特定技能? +### Q: 如何让 AI 使用特定技能? **A:** 在对话中明确指示: ``` 使用 search_skills 搜索天气相关技能,然后用 run_command 执行它 ``` ### Q: 内存或日志占用过大? -**A:** -1. 调整日志配置: -```json -"log_max_size": 5242880, // 5MB -"log_backup_count": 3 -``` +**A:** +1. 调整日志配置:`log_max_size`、`log_backup_count` 2. 清理旧对话归档 3. 定期清理工具结果缓存 +### Q: WebSocket 连接断开? +**A:** +1. 检查服务器是否运行:`ps aux | grep main.py` +2. 确认端口未被占用:`netstat -tlnp | grep 8765` +3. 检查防火墙设置 +4. 查看服务器日志:`tail -f ~/.aibox/ai.log` +5. 考虑使用 `--host 0.0.0.0` 允许外部连接 + ## 📄 更新日志 ### v2.0 (当前版本) - ✅ 新增 `update_soul` 工具(智能体自我进化) -- ✅ 新增 `create_skill` 工具(AI自主创建技能) +- ✅ 新增 `create_skill` 工具(AI 自主创建技能) - ✅ 新增 `install_skill` 工具(技能安装指引) +- ✅ 新增 `set_proxy` / `get_proxy` 工具(SOCKS5 代理) - ✅ 新增 `task_process` 消息类型(任务执行过程广播) -- ✅ 支持Markdown格式技能文件 -- ✅ 对话压缩支持Token数阈值判断 -- ✅ 开始新对话时完全重置AI状态并重新加载提示词 -- ✅ 智能体主动结束对话后重置状态 -- ✅ 任务执行时显示AI完整处理过程 -- ✅ 增强的流式输出支持(思考内容显示) -- ✅ 技能热重载支持(`reload_skills`) -- ✅ 记忆搜索支持分页 -- ✅ 任务调度器支持即时任务 +- ✅ 支持 Markdown 格式技能文件 +- ✅ 对话压缩支持 Token 数阈值判断 +- ✅ 技能热重载(`reload_skills`) +- ✅ 记忆搜索支持分页、任务调度器支持即时任务 - ✅ 命令执行支持超时控制 ### v1.0 -- ✅ WebSocket服务器支持 -- ✅ 文件操作、网页访问、记忆管理 -- ✅ 任务调度系统 -- ✅ 扩展技能支持 -- ✅ 多语言支持 -- ✅ 对话管理 +- ✅ WebSocket 服务器、文件/网页/记忆操作、任务调度、扩展技能、多语言、对话管理 -## 📝 开发指南 +## 📝 开发指南补充 -### 添加新工具 - -1. 继承 `Tool` 基类 -2. 实现 `get_name()`, `get_description()`, `get_parameters()`, `execute()` -3. 可选实现 `execute_streaming()` 支持流式输出 -4. 在 `DeepSeekChat._register_tools()` 中注册 - -```python -class MyTool(Tool): - def get_name(self) -> str: - return "my_tool" - - def get_description(self) -> str: - return "我的自定义工具" - - def get_parameters(self) -> Dict: - return { - "type": "object", - "properties": { - "param": {"type": "string"} - }, - "required": ["param"] - } - - def execute(self, param: str, **kwargs) -> str: - return f"执行结果: {param}" -``` - -### 添加新命令 - -在 `WebSocketHandler.handle_command()` 中添加: - -```python -elif command == "/mycommand": - result = "命令执行结果" - await self.send_message(websocket, { - "type": "command_result", - "content": result - }) -``` +### 扩展技能格式 +技能文件命名与格式详见 [SKILLS_FORMAT.md](SKILLS_FORMAT.md):可执行脚本需支持 `--help`,Markdown 技能首行为简介。 ## 🤝 贡献 -欢迎提交Issue和Pull Request! +欢迎提交 Issue 和 Pull Request! ## 📄 许可证 @@ -646,4 +633,4 @@ MIT License --- -**注意**:本项目需要DeepSeek API Key,请确保遵守API使用条款。 \ No newline at end of file +**注意**:本项目需要 DeepSeek API Key,请确保遵守 API 使用条款。 diff --git a/aibox/requirements.txt b/aibox/requirements.txt index 2953e7e..255a394 100644 --- a/aibox/requirements.txt +++ b/aibox/requirements.txt @@ -10,7 +10,7 @@ rich>=13.0.0 colorama>=0.4.6 # voice -SpeechRecognition>=3.10.0 -pyttsx3>=2.90 -pyaudio>=0.2.13 +#SpeechRecognition>=3.10.0 +#pyttsx3>=2.90 +#pyaudio>=0.2.13 # sudo apt install libportaudio2 portaudio19-dev diff --git a/aibox/skills/163mail.py b/aibox/skills/163mail.py index 0a9d0f4..69e0389 100755 --- a/aibox/skills/163mail.py +++ b/aibox/skills/163mail.py @@ -198,7 +198,6 @@ def fetch_emails(limit=10, folder="INBOX", mark_seen=False, since_days=None): status, messages = imap.select(folder) if status != 'OK': - imap.close() imap.logout() return False, f"❌ 无法打开邮件夹 {folder}" @@ -209,7 +208,6 @@ def fetch_emails(limit=10, folder="INBOX", mark_seen=False, since_days=None): status, message_ids = imap.search(None, search_criteria) if status != 'OK': - imap.close() imap.logout() return False, "❌ 搜索邮件失败" @@ -217,7 +215,6 @@ def fetch_emails(limit=10, folder="INBOX", mark_seen=False, since_days=None): total = len(msg_ids) if total == 0: - imap.close() imap.logout() return True, f"📭 邮件夹 '{folder}' 中没有邮件" @@ -275,7 +272,6 @@ def fetch_emails(limit=10, folder="INBOX", mark_seen=False, since_days=None): except Exception as e: continue - imap.close() imap.logout() result = f"📨 邮件夹 '{folder}' 中共有 {total} 封邮件,显示最新 {len(emails)} 封:\n\n" @@ -308,13 +304,11 @@ def read_email(msg_id, folder="INBOX", mark_seen=True): status, messages = imap.select(folder) if status != 'OK': - imap.close() imap.logout() return False, f"❌ 无法打开邮件夹 {folder}" status, msg_data = imap.fetch(str(msg_id).encode(), '(RFC822)') if status != 'OK': - imap.close() imap.logout() return False, f"❌ 无法获取邮件 ID: {msg_id}" @@ -351,7 +345,6 @@ def read_email(msg_id, folder="INBOX", mark_seen=True): if not mark_seen: imap.store(str(msg_id).encode(), '-FLAGS', '\\Seen') - imap.close() imap.logout() result = f"📧 邮件详情 (ID: {msg_id})\n" @@ -391,7 +384,6 @@ def list_folders(): status, folders = imap.list() if status != 'OK': - imap.close() imap.logout() return False, "❌ 无法获取邮件夹列表" @@ -403,7 +395,6 @@ def list_folders(): folder_name = parts[1].strip('"') folder_list.append(folder_name) - imap.close() imap.logout() result = "📂 邮件夹列表:\n" @@ -447,7 +438,6 @@ def get_email_stats(): except: continue - imap.close() imap.logout() result = f"📊 邮箱统计 ({username})\n" diff --git a/aibox/tasks/ITIL.md b/aibox/tasks/ITIL.md index dcc3792..7f5219b 100644 --- a/aibox/tasks/ITIL.md +++ b/aibox/tasks/ITIL.md @@ -1,12 +1,13 @@ # ITIL - 定时任务 -你接到一份运维工作,现在创建一个定时任务,每 30分钟 执行一次,立即开始第一次执行。 +你接到一份运维工作,现在创建一个定时任务,每 30分钟 执行一次,半分钟后开始第一次执行。 # ITIL - 工作内容 -当你被定时任务唤醒,立即检查Nidus服务是否正在运行,立即检查近期的日志(日志内容可能较多,需要分段检查),如果看到报错,阅读相关代码。然后生成报告,如果可以的话,向管理员发送邮件警告。 +当你被定时任务唤醒,立即检查Nidus服务是否正在运行,立即检查近期的日志(日志内容可能较多,需要分段检查),如果看到报错,阅读相关代码。然后生成报告,如果可以的话,向管理员发送邮件警告,管理员的邮箱位于~/.cert/my_mail.txt。 注意: 1. **不要试图修改文件内容**。 2. **量力而行**,如果尝试了几次无果,就可以开始写总结了。 +3. **不要在定时任务中再次启动相同的定时任务**,通常它是循环进行的。 # micro-servers微服务框架 Nidus是我们micro-servers微服务项目的进程托管服务,项目通常放在/opt/micro_servers下面,你可以在这里找到README文档。通常每个微服务模块,单独是一个文件夹,里面都是有README.md的,你可以在定位到报错模块时阅读相关内容。 diff --git a/bot4cj/.gitignore b/bot4cj/.gitignore new file mode 100644 index 0000000..1961e05 --- /dev/null +++ b/bot4cj/.gitignore @@ -0,0 +1,38 @@ +# prjs +nn/ +bot +bot? +test_* + +.git/ +.vscode/ +.idea/ +.cache/ + +# +*.so +*.o +*.cjo +*.dll +*.exe +*.lib +*.exp +main + +# cangjie +build/ +target/ +output/ +module-resolve.json +module-lock.json +cjpm.lock +.cjpm-history +*.macrocall +*.gcda +*.gcno + + +# 其他 +log +report +tmp diff --git a/bot4cj/LICENSE b/bot4cj/LICENSE new file mode 100644 index 0000000..c58cae3 --- /dev/null +++ b/bot4cj/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 卿松 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/bot4cj/Makefile b/bot4cj/Makefile new file mode 100644 index 0000000..538d2ba --- /dev/null +++ b/bot4cj/Makefile @@ -0,0 +1,60 @@ +MODE ?= cpu +VERSION := 0.0.2 +APP_NAME := bot +CC:= gcc +CXX:= g++ +NVCC:= nvcc +LIBS := -lpthread +FLAGS := -O3 -pipe #-Wall -Werror + +#----------- +all: libi2c4cj.so libsnd4cj.so libmt4cj.so libfft4cj.so #libcnn4cj.so + +# I2C +libi2c4cj.so: src/cpp/I2C.c + $(CC) $(FLAGS) -shared -fPIC $^ -o $@ + +# SOUND +libsnd4cj.so: src/cpp/snd.cpp + $(CC) $(FLAGS) -shared -fPIC $^ -o $@ + +# cpu nn +ifeq ($(MODE), cpu) +libmt4cj.so: src/cpp/Matrix.cpp + $(CC) $(FLAGS) -shared -fPIC $^ -o $@ +endif + +ifeq ($(MODE), cuda)# GPU矩阵 +libmt4cj.so: src/cuda/matrix.cu + #$(NVCC) -arch=compute_61 -code=sm_61 -O3 -Xcompiler -fPIC -shared src/cuda/matrix.cu -o libmt4cj.so + $(NVCC) -fPIC -shared src/cuda/matrix.cu -o libmt4cj.so + +endif + +# 快速傅里叶变换fft +libfft4cj.so: src/cpp/fft1.c src/cpp/fft.cpp + $(CC) $(FLAGS) -shared -fPIC $^ -lm -o $@ + +# 卷积神经网络cnn +libcnn4cj.so: src/cpp/cnn/cnn_i.cpp conv.o pooling.o ga_pooling.o flatten.o imgl.o + $(CC) $(FLAGS) -std=c++17 -shared -fPIC $^ -lm -o $@ + +conv.o: src/cpp/cnn/conv.cpp + $(CC) $(FLAGS) -shared -fPIC -c $^ -o $@ + +pooling.o: src/cpp/cnn/pooling.cpp + $(CC) $(FLAGS) -shared -fPIC -c $^ -o $@ + +ga_pooling.o: src/cpp/cnn/ga_pooling.cpp + $(CC) $(FLAGS) -shared -fPIC -c $^ -o $@ + +flatten.o: src/cpp/cnn/flatten.cpp + $(CC) $(FLAGS) -shared -fPIC -c $^ -o $@ + +imgl.o: src/cpp/cnn/imgl.cpp + $(CC) $(FLAGS) -shared -fPIC -c $^ -o $@ + + +clear: + rm -f *.o + rm -f *.so diff --git a/bot4cj/README.md b/bot4cj/README.md new file mode 100644 index 0000000..d7dc83d --- /dev/null +++ b/bot4cj/README.md @@ -0,0 +1,134 @@ +# bot4cj + +bot4cj是基于仓颉和 Linux I2C 接口的机器人硬件脚本解析器。 + +## 依赖库 +libc、libpthread、liblua-5.4 + +You may need this + +``` bash +sudo ln -s /usr/lib/aarch64-linux-gnu/liblua5.4.so /usr/lib/aarch64-linux-gnu/liblua.so +sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.4.so /usr/lib/x86_64-linux-gnu/liblua.so +``` + +## 项目介绍 +想要得到一个机器人软件通常比一个普通的软件更为困难,这是因为这个世界上的机器人五花八门,所以它们的软件往往都是独特的,所以我想写一种用于描述机器人硬件的通用的脚本。 + +`bot4cj` 基于仓颉编程语言和 Linux I2C 接口,提供了便捷的硬件控制能力,支持pca9685、mpu6050,我通常使用树莓派作为宿主机。 + +## 解析器 + +树莓派通过I2C接口连接pca9685后使用如下方法使用: + +```bash +cat ss/test.mt | cjpm run # 蜘蛛机器人脚本 +``` + +## 动作脚本 + +项目中包含的动作脚本在ss文件夹下面,这些动作脚本的适配机器人型号如下 + +```textplain +# PCA9685 +1号舵机(s1) => 左下水平关节 +2号舵机(s2) => 左下垂直关节 +3号舵机(s3) => 右下水平关节 +4号舵机(s4) => 右下垂直关节 +5号舵机(s5) => 右上水平关节 +6号舵机(s6) => 右上垂直关节 +7号舵机(s7) => 左上水平关节 +8号舵机(s8) => 左上垂直关节 +9号舵机(s9) => 云台1 +10号舵机(s10) => 云台2 +扬声器(spk) => 仅负责延时 +``` + +适用的机器人建模文件[仓库链接](https://github.com/gopsc/Dashun) + +### 机器人脚本语法(.mt) + +**.bot文件是旧版动作脚本** + +机器人脚本是行列式表格,每列之间以一个或多个空格、制表符分隔,每行以分号(;)结尾。 + +每个矩阵对象以@name 行开头,@ 行结束。 + + +示例: + +```mt + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + + +# 定义I2C硬件 +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + + +# 定义pca9685硬件 +@PCA9685 + name I2C path; +pca9685-0 i2c-1 0x40; +@ + + +# 定义mpu6050硬件 +@MPU6050 + name I2C path; +mpu6050-0 i2c-1 0x69; +mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +# 定义扬声器硬件 +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +# 定义舵机硬件 +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵为硬件变量输入参数 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + 90 - - - - - - - - - - 20; # left-behind + + 45 - - - - - - - - - 0 500; # stand + - - 90 - - - 45 - - - - 20; # right-behind + + - - 45 - - - - - - - 200 500; # stand + - - - - 90 - - - - - 0 20; # right-front + + - - - - 45 - - - - - - 500; # stand + - - - - - - 90 - - - - 20; # left-front + + - - - - - - 45 - - - - 500; # stand + - - - - - - - - - - - 20; # stand +@ + +``` diff --git a/bot4cj/_run.sh b/bot4cj/_run.sh new file mode 100755 index 0000000..8d2e8e1 --- /dev/null +++ b/bot4cj/_run.sh @@ -0,0 +1,5 @@ +#!/bin/bash +cd "$(dirname "$0")" || exit +export cjStackSize=64MB +export cjHeapSize=64MB +exec cjpm run --run-args="$@" diff --git a/bot4cj/_set.sh b/bot4cj/_set.sh new file mode 100755 index 0000000..73a5625 --- /dev/null +++ b/bot4cj/_set.sh @@ -0,0 +1,5 @@ +#!/bin/bash +cd "$(dirname "$0")" || exit +export cjHeapSize=16MB +cjpm update +exec cjpm build diff --git a/bot4cj/cjpm.toml b/bot4cj/cjpm.toml new file mode 100644 index 0000000..ebf451e --- /dev/null +++ b/bot4cj/cjpm.toml @@ -0,0 +1,39 @@ + +[package] + cjc-version = "1.1.3" + name = "bot4cj" + description = "nothing here" + version = "0.0.3" + target-dir = "" + src-dir = "" + output-type = "executable" + compile-option = "-l c -l pthread -l lua" # Linux + override-compile-option = "" + link-option = "" + package-configuration = {} + +[dependencies] + #ctype4cj = { git = "https://gitcode.com/qingss0/ctype4cj.git", branch="main" } + ctype4cj = "1.0.3" + #pthread4cj = { git = "https://gitcode.com/qingss0/pthread4cj.git", branch="main"} + pthread4cj = "1.0.0" + #spi4cj = { git = "https://gitcode.com/qingss0/spi4cj.git", branch="main"} + spi4cj = "1.0.0" + #lua4cj = { git = "https://gitcode.com/qingss0/lua4cj.git", branch="main" } + lua4cj = "1.0.0" +# 这种x86机器人开发板感觉不经常使用,我没用过,不知道里面的i2c调用是不是参数是一样的 +[target.x86_64-unknown-linux-gnu] + [target.x86_64-unknown-linux-gnu.dependencies] + [target.x86_64-unknown-linux-gnu.bin-dependencies] + path-option = ["${CANGJIE_STDX_PATH}/linux_x86_64_cjnative/static/stdx"] + +[target.aarch64-unknown-linux-gnu] + [target.aarch64-unknown-linux-gnu.dependencies] + [target.aarch64-unknown-linux-gnu.bin-dependencies] + path-option = ["${CANGJIE_STDX_PATH}/linux_aarch64_cjnative/static/stdx"] + +# 为什么不支持Windows了? +# 因为新版我们加载了Linux的glibc,通常Windows中没有这个 +#[target.x86_64-w64-mingw32] +# [target.x86_64-w64-mingw32.bin-dependencies] +# path-option = ["${CANGJIE_STDX_PATH}\\windows_x86_64_cjnative\\dynamic\\stdx"] diff --git a/bot4cj/compile.ps1 b/bot4cj/compile.ps1 new file mode 100644 index 0000000..ed7bed2 --- /dev/null +++ b/bot4cj/compile.ps1 @@ -0,0 +1,11 @@ +nvcc -shared -o libmt4cj.dll src/cuda/matrix.cu -allow-unsupported-compiler +#nvcc -shared -o libmt4cj.dll src/cpp/Matrix.cpp -allow-unsupported-compiler +nvcc -shared -o libi2c4cj.dll src/cpp/I2C.c -allow-unsupported-compiler +nvcc -shared -o libfft4cj.dll src/cpp/fft.cpp src/cpp/Matrix.cpp src/cpp/fft1.c -allow-unsupported-compiler +nvcc -shared -o conv.lib -c src/cpp/cnn/conv.cpp -allow-unsupported-compiler +nvcc -shared -o imgl.lib -c src/cpp/cnn/imgl.cpp -allow-unsupported-compiler +nvcc -shared -o pooling.lib -c src/cpp/cnn/pooling.cpp -allow-unsupported-compiler +nvcc -shared -o ga_pooling.lib -c src/cpp/cnn/ga_pooling.cpp -allow-unsupported-compiler +nvcc -shared -o flatten.lib -c src/cpp/cnn/flatten.cpp -allow-unsupported-compiler +nvcc -shared --std=c++17 -o libcnn4cj.dll src/cpp/cnn/cnn_i.cpp conv.lib imgl.lib pooling.lib ga_pooling.lib flatten.lib -allow-unsupported-compiler +nvcc -shared -o libsnd4cj.dll src/cpp/snd.cpp -allow-unsupported-compiler \ No newline at end of file diff --git a/bot4cj/docs/Reports/analysis_20260525_00.html b/bot4cj/docs/Reports/analysis_20260525_00.html new file mode 100644 index 0000000..0f37373 --- /dev/null +++ b/bot4cj/docs/Reports/analysis_20260525_00.html @@ -0,0 +1,1084 @@ + + + + + + bot4cj 项目深度分析文档 + + + + + + + + +
+ +

🤖 bot4cj 项目深度分析文档

+
本文档对 bot4cj 项目进行全面、详细的分析,涵盖项目架构、每个模块的实现细节、算法原理、数据流、缺陷与改进建议。目标读者为零基础学习者。
+ + +

1. 项目总览

+ +

1.1 项目是什么

+

bot4cj 是一个机器人硬件脚本解析器,基于仓颉(Cangjie)编程语言和 Linux I2C 接口。它的核心思想是:

+
用一种自定义的"矩阵式脚本语言"来描述机器人的硬件构成和动作序列,然后解析并驱动真实硬件执行这些动作。
+

简单类比:如果把机器人比作一个演员,那么 .mt 脚本就是剧本,bot4cj 就是导演——它读剧本、安排演员(硬件)、指挥表演(执行动作)。

+ +

1.2 项目能做什么

+
+
📝 解析矩阵式脚本
读取 .mt 文件,解析出硬件定义和动作序列
+
🔌 驱动 PCA9685
通过 I2C 控制最多 16 路舵机
+
📐 读取 MPU6050
实时获取姿态数据,带卡尔曼滤波
+
🔊 控制扬声器
以声音频率替代延时
+
🌐 HTTP 服务器
通过网络接口远程提交脚本并执行
+
🧠 神经网络
全连接前馈网络,支持反向传播训练
+
🎯 深度强化学习
DRL 对机器人动作微调(已注释)
+
👁️ CNN
卷积神经网络用于视觉识别(C++/FFI)
+
📊 FFT 频谱分析
对信号进行快速傅里叶变换
+
⚡ CUDA GPU 加速
矩阵运算和激活函数在 GPU 上执行
+
+ +

1.3 技术栈

+
+ + + + + + + + +
层级技术用途
应用层仓颉 (Cangjie)主程序、解析器、机器人结构、数学库
系统层C/C++I2C 驱动、矩阵运算、FFT、CNN、音频
加速层CUDAGPU 矩阵运算、GPU 激活函数
脚本层.mt 矩阵式脚本硬件定义和动作描述
前端层HTML + TailwindWeb 管理界面
工具层Python图片标注工具、API 测试
+
+ +
+ + +

2. 项目架构与目录结构

+
bot4cj/
+├── src/                          # 源代码根目录
+│   ├── main.cj                   # 程序入口:命令行解析、分支选择
+│   ├── P.cj                      # 解析器:MatrixObject、MatrixParser、MatrixSaver
+│   ├── r.cj                      # 机器人结构:RobotStruct、硬件变量类
+│   ├── math/                     # 数学库
+│   │   ├── Matrix.cj             # FP32 结构体 + Matrix1 矩阵类(仓颉原生)
+│   │   ├── Tensor.cj             # 张量类(多维数组)
+│   │   ├── nn.cj                 # 神经网络层 Nn1 + 训练/推理函数
+│   │   ├── nns.cj                # 多层神经网络训练/推理(旧版,已注释)
+│   │   ├── Af.cj                 # 激活函数枚举
+│   │   ├── Ini.cj                # 权重初始化:Xavier 正态/均匀
+│   │   ├── kalman.cj             # 一维卡尔曼滤波器(仓颉实现)
+│   │   └── fft.cj                # FFT 接口(已注释,改用 C 实现)
+│   ├── hd/                       # 硬件驱动
+│   │   ├── I2C.cj                # I2C 通信:直接调用 glibc + 互斥锁系统
+│   │   ├── PCA9685.cj            # PCA9685 舵机驱动板控制
+│   │   ├── MPU6050.cj            # MPU6050 陀螺仪/加速度计 + 守护线程
+│   │   ├── Servo.cj              # 舵机类:角度限制 + 偏移 + 回调
+│   │   └── snd.cj                # 扬声器类(目前仅延时占位)
+│   ├── th/                       # 线程与同步
+│   │   ├── mutex.cj              # pthread 互斥锁封装
+│   │   └── pthread.cj            # pthread 线程封装
+│   ├── cpp/                      # C/C++ 共享库源码
+│   │   ├── I2C.c                 # 旧版 I2C 驱动(使用 i2c-smbus)
+│   │   ├── Matrix.cpp + .hh      # C++ 模板矩阵类 + C 接口封装
+│   │   ├── kalman.c + .h         # 旧版卡尔曼滤波器(C 实现)
+│   │   ├── fft1.c                # 基-2 FFT 算法(纯 C)
+│   │   ├── fft.cpp + .h          # FFT 封装层(C++ → C 接口)
+│   │   ├── snd.cpp               # 音频播放(Windows WaveAPI / Linux ALSA)
+│   │   ├── bot4cj.h              # C 头文件:I2C 常量和函数声明
+│   │   └── cnn/                  # CNN 卷积神经网络
+│   ├── cuda/                     # CUDA GPU 加速
+│   └── py/                       # 图片标注工具
+├── scripts/                      # 动作脚本
+├── public/                       # Web 前端页面
+├── test/                         # API 测试
+├── Makefile                      # C/C++ 共享库构建
+├── cjpm.toml                     # 仓颉包管理配置
+└── _run.sh / _set.sh             # 运行和构建脚本
+ +
+ + +

3. 核心数据流:从脚本到硬件

+

这是理解整个项目最关键的部分。以下是数据从脚本文件到硬件执行的完整流程:

+
┌─────────────┐
+│  .mt 脚本文件  │  例如:scripts/test.mt
+└──────┬──────┘
+       │ 文件读取 (InputStream)
+       ▼
+┌─────────────┐
+│  MatrixParser │  逐字符解析,输出 MatrixObject 对象
+│  (src/P.cj)  │  每个 @name...@ 块变成一个 MatrixObject
+└──────┬──────┘
+       │ LinkedList<MatrixObject>
+       ▼
+┌─────────────┐
+│  RobotStruct  │  从 MatrixObject 列表构建硬件变量字典
+│  (src/r.cj)  │  HashMap<String, MatrixVars_Hardware>
+└──────┬──────┘
+       │
+       ├── createAliasVars()     从 @Alias 矩阵创建别名变量
+       ├── createI2CVars()       从 @I2C 矩阵创建 I2C 设备变量
+       ├── createMPU6050Bind()   从 @MPU6050_BIND 矩阵创建陀螺仪变量
+       ├── createPCA9685Vars()   从 @PCA9685 矩阵创建舵机控制板变量
+       ├── createServoVars()     从 @Servo 矩阵创建舵机变量
+       └── createSpeakerVars()   从 @Speaker 矩阵创建扬声器变量
+       │
+       ▼
+┌─────────────┐
+│  active()    │  调用所有硬件变量的 build() 方法(初始化硬件)
+└──────┬──────┘
+       │
+       ▼
+┌─────────────┐
+│  run()       │  逐行执行 @Action 矩阵中的动作
+│  run_drl_    │  每行解析出各硬件的参数,调用 play() 执行
+│  action()    │
+└──────┬──────┘
+       │
+       ▼
+┌─────────────┐
+│  deactive()  │  以倒序调用所有硬件变量的 destroy() 方法
+└─────────────┘
+ +

关键概念:MatrixVars_Hardware(硬件变量)

+

这是整个项目的核心抽象。每种硬件(I2C、PCA9685、Servo、Speaker...)都被封装为一个硬件变量,它们:

+
    +
  1. 通过闭包持有真实的硬件对象(如 I2C_Orig、PCA9685、Servo)
  2. +
  3. 通过 JsonValue 进行统一接口通信(输入 JsonValue,输出 JsonValue)
  4. +
  5. 有生命周期:build() 初始化,play() 执行,destroy() 释放
  6. +
+ +
+ + +

4. 矩阵式脚本语言(.mt)详解

+ +

4.1 语法规则

+

矩阵式脚本是一种声明式、表格型的领域特定语言(DSL),用于描述机器人的硬件构成和动作序列。

+

基本结构:

+
@MatrixName          ← 矩阵开始,@ 后跟名称
+ col1  col2  col3;   ← 第 0 行:列名声明
+ val1  val2  val3;   ← 第 1 行起:数据行
+ val4  -    val6;    ← "-" 表示沿用上一行同列的值
+@
+
    +
  • 注释:以 # 开头到行末
  • +
  • 占位符 -:在数据行中,- 表示"与上一行同一列的值相同",减少重复书写。
  • +
+ +

4.2 各矩阵对象的含义

+
+ + + + + + + + + +
矩阵名用途关键列
@Alias定义参数别名name, alias
@I2C定义 I2C 总线设备name, path
@PCA9685定义舵机控制板name, I2C, addr
@MPU6050_BIND定义陀螺仪name, I2C, addr
@Speaker定义扬声器name, channels, sample_rate, volumn, max_f, min_f
@Servo定义舵机name, max, min, offset, controller, channel
@Action定义动作序列格式为 硬件名.参数名
+
+ +

4.3 @Action 矩阵详解

+

@Action 是最核心的矩阵,它定义了机器人的动作序列:

+
@Action
+s1.A  s2.A  s3.A  ...  spk.F  spk.delay;   ← 列名:硬件变量.参数名
+  45     -    45  ...     10        200;     ← 第1行:站立姿态
+  90     -     -  ...      -         20;     ← 第2行:左后方抬起
+  ...
+@
+ +

4.4 蜘蛛机器人动作示例解读

+

以 scripts/test.mt 为例,这是一个 8 足蜘蛛机器人的行走步态:

+
@Action
+s1.A  s2.A  s3.A  s4.A  s5.A  s6.A  s7.A  s8.A  s9.A  s10.A  spk.F  spk.delay;
+  45     -    45     -    45     -    45     -    90     90     10        200;  # 站立
+  90     -     -     -     -     -     -     -     -      -      -         20;  # 左后方抬起
+  45     -     -     -     -     -     -     -     -      -      0        500;  # 恢复站立
+   -     -    90     -     -     -    45     -     -      -      -         20;  # 右后方抬起
+  ...
+@
+
    +
  • s1-s8 是 8 个舵机(4 条腿,每腿 2 个关节)
  • +
  • s9-s10 是云台舵机
  • +
  • spk.F 是扬声器频率,spk.delay 是延时
  • +
+ +
+ + +

5. 解析器模块详解

+ +

5.1 MatrixObject 类

+

用途:表示解析后的一个矩阵对象,对应脚本中 @name ... @ 之间的内容。

+
MatrixObject {
+    name: String                         ← 矩阵名称
+    values: ArrayList<ArrayList<String>> ← 二维字符串矩阵
+}
+
+ + + + + + + + + + +
方法功能
hasName()是否已命名
[](row, col)像数组一样用下标访问
indexOfCol(row, key)在某行中查找列号
addRune(c)添加字符到缓冲区
submitName()提交名字
submitItem()提交元素
submitLine(count)提交一行,检查列数一致性
save(output)将矩阵对象写回文件流
+
+ +

5.2 MatrixParser 类

+

用途:将输入流逐字符解析为 MatrixObject 对象。

+

算法:有限状态机(FSM)

+
+ + + + + + +
标志含义
flag是否遇到结束的 @
nl是否处于新行起始位置
cm是否处于注释中
nm是否正在解析名称行(@ 后的第一行)
+
+ +
输入字符 c
+├── 如果在注释中 (cm=true)
+│   ├── c == '\n' → 注释结束,nl=true, cm=false
+│   └── 其他 → 忽略
+├── 如果在新行起始 (nl=true)
+│   ├── c 是空白 → 维持现状
+│   ├── c == '\n' → 空行,行号+1
+│   ├── c == '@' 且未命名 → 开始名称行,nm=true
+│   ├── c == '@' 且已命名 → 结束标志,flag=true
+│   └── 其他 → 内容字符,加入缓冲区
+├── 如果不在新行 (nl=false)
+│   ├── 在名称行且遇空白 → 提交名字
+│   ├── 遇空白/制表符 → 提交当前元素
+│   ├── c == ';' → 提交元素并提交行
+│   └── 其他 → 加入缓冲区
+ +

5.4 异常体系

+
+ + + + + + +
异常类含义
ParseExcept解析异常基类
BufOverTheLine缓冲区过长
DoesNotSync矩阵行没对齐(列数不一致)
UnknowExcept未知异常兜底
+
+ +
+ + +

6. 机器人结构模块详解

+ +

6.1 MatrixVars_Hardware 基类

+

这是整个硬件抽象的核心。

+
MatrixVars_Hardware(基类)
+├── things: (JsonValue) → JsonValue    ← 事件回调(核心!)
+├── rise: Option<() → Unit>           ← 初始化回调
+├── free: Option<() → Unit>           ← 释放回调
+├── play(input) → things(input)        ← 执行动作
+├── build() → rise()                   ← 初始化硬件
+└── destroy() → free()                 ← 释放硬件
+ +

为什么用 JsonValue 通信?不同硬件需要不同参数:

+
    +
  • PCA9685 需要 {"channel": 0, "angle": 90.0}
  • +
  • I2C 需要 {"mode": "set_addr", "addr": 0x40}
  • +
  • Servo 需要 {"angle": 180.0}
  • +
  • Speaker 需要 {"frequency": 1000.0, "delay": 400}
  • +
+ +

6.2 各硬件变量类

+ +

MtVars_I2C(I2C 变量)

+

things 支持 4 种模式:

+
    +
  • get_fd:获取文件描述符
  • +
  • set_addr:设置从机地址
  • +
  • set_val:写寄存器
  • +
  • get_val:读寄存器
  • +
+ +

MtVars_Servo(舵机变量)

+

Servo.setAngle() 逻辑:

+
角度 = 输入角度 + 偏移值(offset)
+如果 角度 > 最大值(max) → 角度 = max
+如果 角度 < 最小值(min) → 角度 = min
+调用回调函数设置角度
+ +

6.3 RobotStruct 类

+
RobotStruct(input)
+  ├── readMatrix(input)         解析所有矩阵对象
+  └── createHardVars()          创建硬件变量字典
+        ├── createAliasVars()
+        ├── createI2CVars()
+        ├── createMPU6050Bind()
+        ├── createPCA9685Vars()
+        ├── createServoVars()
+        └── createSpeakerVars()
+
+active()                         初始化所有硬件
+run() → run_drl_action()         执行动作
+deactive()                       倒序释放所有硬件
+ +
+ + +

7. 硬件驱动层详解

+ +

7.1 I2C 通信

+

项目直接在仓颉中通过 foreign func 声明并调用 Linux glibc 的原生函数:

+
foreign func open(path: CString, flag: Int32, ...): Int32
+foreign func close(fd: Int32): Int32
+foreign func ioctl(fd: Int32, addr: UInt64, ...): Int32
+foreign func read(fd: Int32, buf: CPointer<Unit>, count: UIntNative): IntNative
+foreign func write(fd: Int32, buf: CPointer<Unit>, count: UIntNative): IntNative
+ +

7.2 I2C 互斥锁系统

+
MAIN_LOCK (主锁)          ← 保护 LOCKS 数组的操作
+  └── LOCKS[0..19] (锁具数组)   ← 每个 I2C 设备一个锁
+        └── I2C_Lock {
+              i2c_fd: Int32      ← 绑定的 I2C 设备文件句柄
+              lock: CPointer     ← pthread_mutex_t 指针
+              is_active: Bool    ← 是否激活
+            }
+ +

7.3 PCA9685 舵机控制板

+

角度转 PWM:

+
脉宽 = 0.5 + (2.5 - 0.5) * (angle / 180.0)    ← 0°→0.5ms, 180°→2.5ms
+OFF值 = 脉宽 * 4096 / 20                        ← 20ms 周期, 12位分辨率
+setPWM(channel, ON=0, OFF=计算值)
+ +

7.4 MPU6050 陀螺仪/加速度计

+

守护线程 mpu6050_main():

+
    +
  1. 读取原始传感器数据
  2. +
  3. 对 6 个轴分别进行卡尔曼滤波
  4. +
  5. 打印滤波后的数据
  6. +
  7. 睡眠 10ms
  8. +
+ +

7.6 Spk 扬声器类

+

当前状态:仅实现了延时功能,实际发声被注释掉。C++ 实现的音频播放(src/cpp/snd.cpp)是完整的,支持 Windows WaveAPI 和 Linux ALSA。

+ +
+ + +

8. 数学库详解

+ +

8.2 Matrix1 矩阵类

+

数据布局:一维数组 Array<FP32>,行优先存储。

+
arr[row * col + col]  ← 元素访问公式
+ +
+ + + + + + + + +
运算符号含义形状要求
矩阵加法A + B逐元素相加同形状
广播加法A + s每个元素加标量-
矩阵减法A - B逐元素相减同形状
逐元素乘A * B逐元素相乘(Hadamard积)同形状
矩阵乘法A.dot(B)矩阵点积(MatMul)A.col == B.row
转置A.T()行列互换-
+
+ +

矩阵乘法算法(dot):

+
对于结果矩阵的每个元素 (i, j):
+    sum = 0
+    对于 k in 0..A.col:
+        sum += A[i, k] * B[k, j]
+    结果[i, j] = sum
+

时间复杂度:O(m × n × k)

+ +
+ + +

9. 神经网络模块详解

+ +

9.1 Nn1 全连接层

+
class Nn1 {
+    inputno: Int64          ← 输入维度
+    outputno: Int64         ← 输出维度
+    weights: Matrix1        ← 权重矩阵 (inputno, outputno)
+    bias: Matrix1           ← 偏置向量 (1, outputno)
+    learning_rate: FP32     ← 学习率
+    f: Af                   ← 激活函数
+}
+ +

forward() 前向传播: a = f(Wx + b)

+

backward() 反向传播:

+
δ = errs * f'(z)             ← 误差 × 激活函数导数
+weights_grad = x^T · δ       ← 权重梯度
+bias_grad = δ                ← 偏置梯度
+errs_up = δ · W^T            ← 传给上一层的误差
+ +

9.2 激活函数

+
+ + + + + + + +
函数公式导数用途
Sigmoidf(x) = 1/(1+e^(-x))f'(x) = f(x)(1-f(x))二分类输出层
ReLUf(x) = max(0, x)f'(x) = 1 if x>0, else 0隐藏层
Leaky_ReLUf(x) = x if x>0, else αxf'(x) = 1 if x>0, else α隐藏层
Tanhf(x) = tanh(x)f'(x) = 1 - tanh²(x)隐藏层
Softmaxf(x_i) = e^(x_i) / Σe^(x_j)雅可比矩阵多分类输出层
+
+ +

9.3 Xavier 权重初始化

+
σ = sqrt(2 / (fan_in + fan_out))      ← Xavier 正态
+limit = sqrt(6 / (fan_in + fan_out))    ← Xavier 均匀(Glorot)
+ +
+ + +

10. 卡尔曼滤波详解

+

卡尔曼滤波是一种最优估计算法,用于从含有噪声的测量数据中估计系统的真实状态。

+ +

一维卡尔曼滤波器 5 个核心公式

+
+ + + + + + + +
步骤公式含义
预测状态X_mid = A · X_last根据上一次最优估计预测当前状态
预测协方差P_mid = A · P_last + Q预测的不确定性增大(+系统噪声Q)
计算卡尔曼增益kg = P_mid / (P_mid + R)测量越可靠(R小),增益越大
更新状态X_now = X_mid + kg · (dat - X_mid)用测量值修正预测值
更新协方差P_now = (1 - kg) · P_mid估计的不确定性减小
+
+ +
+ + +

11. FFT 快速傅里叶变换详解

+

快速傅里叶变换(FFT)是一种高效计算离散傅里叶变换(DFT)的算法。将时域信号转换为频域表示。

+

DFT 公式: X[k] = Σ x[n] · e^(-j·2π·k·n/N)

+

算法:Cooley-Tukey 基-2 FFT —— 将 N 点 DFT 分解为两个 N/2 点 DFT,递归分解,时间复杂度从 O(N²) 降低到 O(N·log N)。

+ +

蝶形运算

+
对于每一级 l:
+    对于每一组 j:
+        对于每个蝶形 k:
+            t = A[jl1k] · W[ij]           ← 旋转因子乘法
+            A[jl1k] = A[jl0k] - t         ← 蝶形运算上支
+            A[jl0k] = A[jl0k] + t         ← 蝶形运算下支
+ +
+ + +

12. CNN 卷积神经网络详解

+ +

12.1 CNN 架构

+

CNN 模块完全用 C++ 实现,通过 C 接口(extern "C")暴露给仓颉调用。

+
+ + + + + + + +
层文件功能
ConvLayerconv.cpp/h2D 卷积层 + 反向传播 + 参数更新
PoolingLayerpooling.cpp/h最大/平均池化
GlobalAveragePoolingga_pooling.cpp/h全局平均池化
FlattenLayerflatten.cpp/h展平(4D → 2D)
ImageLoaderimgl.cpp/h图像加载 + 归一化
+
+ +

卷积层前向传播

+
对于每个输出通道 oc:
+    对于每个空间位置 (oh, ow):
+        sum = bias[oc]
+        对于每个输入通道 ic:
+            对于每个核位置 (kh, kw):
+                sum += weight[oc,ic,kh,kw] * input[ic,oh*stride+kh,ow*stride+kw]
+        output[oc,oh,ow] = sum
+ +
+ + +

13. CUDA GPU 加速详解

+ +

13.1 CUDA 矩阵运算

+
__global__ void _devAdd(float* d1, float* d2, float* r, int64_t n) {
+    int i = blockIdx.x * blockDim.x + threadIdx.x;  ← 计算全局线程ID
+    if (i < n) {
+        r[i] = d1[i] + d2[i];                        ← 每个线程处理一个元素
+    }
+}
+ +
+ + + + + + + +
函数功能
Cu4cj_Orig(n)在 GPU 上分配 n 个 float 的内存
Cu4cj_Zero(n)在 GPU 上分配并清零
Cu4cj_ToDev(h, n)主机 → 设备拷贝
Cu4cj_ToHost(d, h, n)设备 → 主机拷贝
Cu4cj_Free(d)释放 GPU 内存
+
+ +
+ + +

14. 线程与同步模块详解

+

直接封装 pthread 互斥锁和线程:

+
foreign func pthread_mutex_init(mutex, attr): Int32
+foreign func pthread_mutex_destroy(mutex): Int32
+foreign func pthread_mutex_lock(mutex): Int32
+foreign func pthread_mutex_unlock(mutex): Int32
+ +
public class Pth {
+    init(_main, args) → pthread_create(...)   ← 创建线程
+    join(retval) → pthread_join(...)           ← 等待线程结束
+    close() → pthread_cancel(...)              ← 取消线程
+}
+ +
+ + +

15. HTTP 服务器模块详解

+ +
+ + + + + +
路径方法功能
/api/v2/bot_runPOST接收动作脚本并执行
/GET返回前端页面
/api/v1/fsPOST文件系统操作(列表目录)
+
+ +
+ + +

16. 辅助工具详解

+
    +
  • 图片标注工具(src/py/labeled.py):Python + Tkinter + PIL + OpenCV,用于 CNN 训练数据标注
  • +
  • 前端页面(public/index.html):科技感展示页面,Tailwind CSS,暗色模式
  • +
  • API 测试(test/test_api_fs.py):测试文件系统 API
  • +
+ +
+ + +

17. 构建系统详解

+
+ + + + + + + +
目标源文件输出用途
libi2c4cj.soI2C.cI2C 驱动旧版(已弃用)
libsnd4cj.sosnd.cpp音频播放WaveAPI / ALSA
libmt4cj.soMatrix.cpp / matrix.cu矩阵运算CPU 或 GPU 版本
libfft4cj.sofft1.c + fft.cppFFT快速傅里叶变换
libcnn4cj.socnn_i.cpp + ...CNN卷积神经网络
+
+ +
+ + +

18. 全局缺陷与改进建议

+ +

18.1 严重缺陷

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
编号缺陷位置详细说明严重程度
D1析构器调用时间不确定r.cj:28仓颉的 GC 不保证析构器调用时间,I2C 文件描述符可能泄漏高
D2扬声器仅延时未发声hd/snd.cj:17play() 只 sleep,C++ 实现的 play_frequency() 未被调用高
D3MPU6050 线程无法安全退出hd/MPU6050.cj:115mpu6050_main() 是无限循环,pthread_cancel 可能在不安全点中断高
D4I2C 锁系统线性扫描hd/I2C.cj:129每次加锁/解锁都遍历 20 个元素的数组,O(n) 复杂度中
D5xavierUniformInit 每个元素新建 Randommath/Ini.cj:30循环内每次 DateTime.now().nanosecond + Random(),种子可能重复中
D6Softmax 雅可比矩阵反向传播未正确使用math/Af.cj:246softmax_jacobian 返回 n×n 矩阵,但 backward 调用者期望与输入同形状高
D8tanh 导数输入错误math/Af.cj:194-206计算 1 - x*x 用的是原始输入 x,应改为 1 - y*y高
D9I2C 读寄存器返回 Int8 而非 UInt8hd/I2C.cj:81负值寄存器数据会出错中
D10MPU6050 ADDR_0 和 ADDR_1 相同hd/MPU6050.cj:14-15两个地址常量都是 0x68,ADDR_1 应为 0x69中
+
+ +

18.2 设计缺陷

+
+ + + + + + + +
编号缺陷详细说明建议
D12JsonValue 通信开销大每次硬件操作都要构造/解析 JSON对高频路径提供直接调用接口
D13硬件变量创建顺序硬编码createHardVars() 中顺序固定使用依赖图自动排序
D14无 batch 训练支持神经网络每次只训练一个样本增加 batch 维度
D15无 Adam 优化器仓颉版 Nn1 只有 SGD实现 Adam 优化器
D20无单元测试数学库、解析器等无自动化测试添加测试框架
+
+ +

18.3 安全缺陷

+
+ + + + + +
编号缺陷详细说明
D21文件系统 API 无认证/api/v1/fs 可列出任意目录内容
D22HTTP 服务器无认证/api/v2/bot_run 可执行任意脚本
D23路径遍历风险文件系统 API 接受用户输入的路径
+
+ +
+ + +

19. 学习路线图

+ +
+
+
📝 第一阶段(1-2天)
+
理解脚本语言
阅读 scripts/test.mt,理解 .mt 语法,手动写一个简单脚本
+
+
+
🔍 第二阶段(2-3天)
+
理解解析器
从 MatrixObject 开始,跟踪 MatrixParser 的状态机逻辑
+
+
+
🔌 第三阶段(3-5天)
+
理解硬件驱动
学习 I2C 通信原理,阅读 PCA9685、MPU6050 驱动代码
+
+
+
🏗️ 第四阶段(2-3天)
+
理解机器人结构
理解闭包设计,跟踪硬件变量创建和 run_drl_action() 流程
+
+
+
🧠 第五阶段(3-5天)
+
理解神经网络
学习矩阵运算、激活函数,手动计算前向/反向传播
+
+
+
🚀 第六阶段(选学)
+
理解高级功能
卡尔曼滤波、FFT 蝶形运算、CNN、CUDA GPU 编程
+
+
+ +
+ +

附录 A:仓颉语言关键语法速查

+
+ + + + + + + + + + + + + + + + + +
语法含义对应语言
package foo声明包Java package
import std.io.*导入Java import
class A <: B继承Java extends
open class允许继承Java 非 final
let / var不可变/可变Kotlin val/var
Option<T>可选类型Java Optional
Some(v) / None有值/无值Optional.of/present
if (let Some(v) <- expr)if-let 解构Swift if-let
match(expr) { case ... }模式匹配Kotlin when / Rust match
foreign funcFFI 声明Java native / Rust extern
unsafe { }不安全块Rust unsafe
CPointer<T>C 指针Rust *mut T
@CC 兼容注解使结构体内存布局兼容 C
operator func []运算符重载C++ operator[]
extend A { }扩展方法Kotlin extension
+
+ +
+ +

附录 B:术语表

+
+ + + + + + + + + + + + + + + + + + +
术语英文含义
舵机Servo一种可以精确控制角度的电机
I2CInter-Integrated Circuit一种两线制串行总线协议
PWMPulse Width Modulation脉宽调制,通过改变脉冲宽度控制输出
陀螺仪Gyroscope测量角速度的传感器
前向传播Forward Propagation神经网络从输入到输出的计算过程
反向传播Backpropagation神经网络从输出到输入的梯度计算过程
梯度下降Gradient Descent沿梯度反方向更新参数以最小化损失
学习率Learning Rate每次参数更新的步长
激活函数Activation Function引入非线性的函数(如 ReLU、Sigmoid)
卡尔曼增益Kalman Gain决定多大程度上相信测量值 vs 预测值
傅里叶变换Fourier Transform将信号从时域转换到频域
蝶形运算Butterfly OperationFFT 中的基本计算单元
卷积Convolution滑动窗口加权求和的运算
池化Pooling降采样操作(取最大值或平均值)
FFIForeign Function Interface调用其他语言函数的接口
DRLDeep Reinforcement Learning深度强化学习
+
+ +
+ + +
↑
+ + + + + \ No newline at end of file diff --git a/bot4cj/docs/Reports/analysis_20260525_00.md b/bot4cj/docs/Reports/analysis_20260525_00.md new file mode 100644 index 0000000..5c1128d --- /dev/null +++ b/bot4cj/docs/Reports/analysis_20260525_00.md @@ -0,0 +1,1406 @@ +# bot4cj 项目深度分析文档 + +> 本文档对 bot4cj 项目进行全面、详细的分析,涵盖项目架构、每个模块的实现细节、算法原理、数据流、缺陷与改进建议。目标读者为零基础学习者。 + +--- + +## 目录 + +1. [项目总览](#1-项目总览) +2. [项目架构与目录结构](#2-项目架构与目录结构) +3. [核心数据流:从脚本到硬件](#3-核心数据流从脚本到硬件) +4. [矩阵式脚本语言(.mt)详解](#4-矩阵式脚本语言mt详解) +5. [解析器模块详解](#5-解析器模块详解) +6. [机器人结构模块详解](#6-机器人结构模块详解) +7. [硬件驱动层详解](#7-硬件驱动层详解) +8. [数学库详解](#8-数学库详解) +9. [神经网络模块详解](#9-神经网络模块详解) +10. [卡尔曼滤波详解](#10-卡尔曼滤波详解) +11. [FFT 快速傅里叶变换详解](#11-fft-快速傅里叶变换详解) +12. [CNN 卷积神经网络详解](#12-cnn-卷积神经网络详解) +13. [CUDA GPU 加速详解](#13-cuda-gpu-加速详解) +14. [线程与同步模块详解](#14-线程与同步模块详解) +15. [HTTP 服务器模块详解](#15-http-服务器模块详解) +16. [辅助工具详解](#16-辅助工具详解) +17. [构建系统详解](#17-构建系统详解) +18. [全局缺陷与改进建议](#18-全局缺陷与改进建议) +19. [学习路线图](#19-学习路线图) + +--- + +## 1. 项目总览 + +### 1.1 项目是什么 + +**bot4cj** 是一个**机器人硬件脚本解析器**,基于仓颉(Cangjie)编程语言和 Linux I2C 接口。它的核心思想是: + +> 用一种自定义的"矩阵式脚本语言"来**描述机器人的硬件构成和动作序列**,然后解析并驱动真实硬件执行这些动作。 + +简单类比:如果把机器人比作一个演员,那么 `.mt` 脚本就是剧本,`bot4cj` 就是导演——它读剧本、安排演员(硬件)、指挥表演(执行动作)。 + +### 1.2 项目能做什么 + + +| 功能 | 说明 | +| ---------------------------- | ------------------------------------------- | +| 解析矩阵式脚本 | 读取`.mt` 文件,解析出硬件定义和动作序列 | +| 驱动 PCA9685 舵机控制板 | 通过 I2C 控制最多 16 路舵机 | +| 读取 MPU6050 陀螺仪/加速度计 | 实时获取姿态数据,带卡尔曼滤波 | +| 控制扬声器发声 | 以声音频率替代延时(或同时发声和延时) | +| HTTP 服务器模式 | 通过网络接口远程提交脚本并执行 | +| 神经网络推理与训练 | 全连接前馈网络,支持反向传播训练 | +| 深度强化学习微调 | 用 DRL 对机器人动作进行微调(旧版,已注释) | +| CNN 卷积神经网络 | 用于视觉识别(C++ 实现,通过 FFI 调用) | +| FFT 频谱分析 | 对信号进行快速傅里叶变换 | +| CUDA GPU 加速 | 矩阵运算和激活函数可在 GPU 上执行 | + +### 1.3 技术栈 + + +| 层级 | 技术 | 用途 | +| ------ | --------------- | ---------------------------------- | +| 应用层 | 仓颉 (Cangjie) | 主程序、解析器、机器人结构、数学库 | +| 系统层 | C/C++ | I2C 驱动、矩阵运算、FFT、CNN、音频 | +| 加速层 | CUDA | GPU 矩阵运算、GPU 激活函数 | +| 脚本层 | .mt 矩阵式脚本 | 硬件定义和动作描述 | +| 前端层 | HTML + Tailwind | Web 管理界面 | +| 工具层 | Python | 图片标注工具、API 测试 | + +--- + +## 2. 项目架构与目录结构 + +``` +bot4cj/ +├── src/ # 源代码根目录 +│ ├── main.cj # 程序入口:命令行解析、分支选择 +│ ├── P.cj # 解析器:MatrixObject、MatrixParser、MatrixSaver +│ ├── r.cj # 机器人结构:RobotStruct、硬件变量类 +│ ├── math/ # 数学库 +│ │ ├── Matrix.cj # FP32 结构体 + Matrix1 矩阵类(仓颉原生) +│ │ ├── Tensor.cj # 张量类(多维数组) +│ │ ├── nn.cj # 神经网络层 Nn1 + 训练/推理函数 +│ │ ├── nns.cj # 多层神经网络训练/推理(旧版,已注释) +│ │ ├── Af.cj # 激活函数枚举:Sigmoid/ReLU/Leaky_ReLU/Tanh/Softmax +│ │ ├── Ini.cj # 权重初始化:Xavier 正态/均匀 +│ │ ├── kalman.cj # 一维卡尔曼滤波器(仓颉实现) +│ │ └── fft.cj # FFT 接口(已注释,改用 C 实现) +│ ├── hd/ # 硬件驱动 +│ │ ├── I2C.cj # I2C 通信:直接调用 glibc + 互斥锁系统 +│ │ ├── PCA9685.cj # PCA9685 舵机驱动板控制 +│ │ ├── MPU6050.cj # MPU6050 陀螺仪/加速度计 + 守护线程 +│ │ ├── Servo.cj # 舵机类:角度限制 + 偏移 + 回调 +│ │ └── snd.cj # 扬声器类(目前仅延时占位) +│ ├── th/ # 线程与同步 +│ │ ├── mutex.cj # pthread 互斥锁封装 +│ │ └── pthread.cj # pthread 线程封装 +│ ├── cpp/ # C/C++ 共享库源码 +│ │ ├── I2C.c # 旧版 I2C 驱动(使用 i2c-smbus) +│ │ ├── Matrix.cpp + .hh # C++ 模板矩阵类 + C 接口封装 +│ │ ├── kalman.c + .h # 旧版卡尔曼滤波器(C 实现) +│ │ ├── fft1.c # 基-2 FFT 算法(纯 C) +│ │ ├── fft.cpp + .h # FFT 封装层(C++ → C 接口) +│ │ ├── snd.cpp # 音频播放(Windows WaveAPI / Linux ALSA) +│ │ ├── bot4cj.h # C 头文件:I2C 常量和函数声明 +│ │ └── cnn/ # CNN 卷积神经网络 +│ │ ├── cnn_i.cpp # CNN C 接口封装层 +│ │ ├── conv.cpp + .h # 卷积层 +│ │ ├── pooling.cpp + .h # 池化层(最大/平均) +│ │ ├── ga_pooling.cpp + .h # 全局平均池化 +│ │ ├── flatten.cpp + .h # 展平层 +│ │ └── imgl.cpp + .h # 图像加载器 +│ ├── cuda/ # CUDA GPU 加速 +│ │ ├── matrix.cu # GPU 矩阵运算 + 激活函数 +│ │ └── error.cuh # CUDA 错误检查宏 +│ └── py/ +│ └── labeled.py # 图片标注工具(Python + Tkinter) +├── scripts/ # 动作脚本 +│ ├── test.mt # 新版矩阵式脚本(蜘蛛机器人) +│ ├── std.bot # 旧版脚本(站立动作) +│ ├── test.bot # 旧版脚本(行走动作) +│ └── ... # 其他旧版脚本 +├── public/ +│ └── index.html # Web 前端页面 +├── test/ +│ └── test_api_fs.py # 文件系统 API 测试 +├── Makefile # C/C++ 共享库构建 +├── cjpm.toml # 仓颉包管理配置 +├── _run.sh / _set.sh # 运行和构建脚本 +└── cangjie.md # 仓颉语言参考文档 +``` + +--- + +## 3. 核心数据流:从脚本到硬件 + +这是理解整个项目最关键的部分。以下是数据从脚本文件到硬件执行的完整流程: + +``` +┌─────────────┐ +│ .mt 脚本文件 │ 例如:scripts/test.mt +└──────┬──────┘ + │ 文件读取 (InputStream) + ▼ +┌─────────────┐ +│ MatrixParser│ 逐字符解析,输出 MatrixObject 对象 +│ (src/P.cj) │ 每个 @name...@ 块变成一个 MatrixObject +└──────┬──────┘ + │ LinkedList + ▼ +┌─────────────┐ +│ RobotStruct │ 从 MatrixObject 列表构建硬件变量字典 +│ (src/r.cj) │ HashMap +└──────┬──────┘ + │ + ├── createAliasVars() 从 @Alias 矩阵创建别名变量 + ├── createI2CVars() 从 @I2C 矩阵创建 I2C 设备变量 + ├── createMPU6050Bind() 从 @MPU6050_BIND 矩阵创建陀螺仪变量 + ├── createPCA9685Vars() 从 @PCA9685 矩阵创建舵机控制板变量 + ├── createServoVars() 从 @Servo 矩阵创建舵机变量 + └── createSpeakerVars() 从 @Speaker 矩阵创建扬声器变量 + │ + ▼ +┌─────────────┐ +│ active() │ 调用所有硬件变量的 build() 方法(初始化硬件) +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ run() │ 逐行执行 @Action 矩阵中的动作 +│ run_drl_ │ 每行解析出各硬件的参数,调用 play() 执行 +│ action() │ +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ deactive() │ 以倒序调用所有硬件变量的 destroy() 方法(释放资源) +└─────────────┘ +``` + +### 关键概念:MatrixVars_Hardware(硬件变量) + +这是整个项目的核心抽象。每种硬件(I2C、PCA9685、Servo、Speaker...)都被封装为一个**硬件变量**,它们: + +1. **通过闭包持有真实的硬件对象**(如 `I2C_Orig`、`PCA9685`、`Servo`) +2. **通过 JsonValue 进行统一接口通信**(输入 JsonValue,输出 JsonValue) +3. **有生命周期**:`build()` 初始化,`play()` 执行,`destroy()` 释放 + +这种设计使得 `@Action` 矩阵中的每一列(如 `s1.A`)都能通过统一的 `play()` 接口驱动对应的硬件。 + +--- + +## 4. 矩阵式脚本语言(.mt)详解 + +### 4.1 语法规则 + +矩阵式脚本是一种**声明式、表格型**的领域特定语言(DSL),用于描述机器人的硬件构成和动作序列。 + +**基本结构:** + +``` +@MatrixName ← 矩阵开始,@ 后跟名称 + col1 col2 col3; ← 第 0 行:列名声明 + val1 val2 val3; ← 第 1 行起:数据行 + val4 - val6; ← "-" 表示沿用上一行同列的值 +@ +``` + +**注释:** 以 `#` 开头到行末 + +**占位符 `-`:** 在数据行中,`-` 表示"与上一行同一列的值相同"。这是为了减少重复书写。 + +### 4.2 各矩阵对象的含义 + + +| 矩阵名 | 用途 | 关键列 | +| --------------- | ----------------- | ------------------------------------------------- | +| `@Alias` | 定义参数别名 | name, alias | +| `@I2C` | 定义 I2C 总线设备 | name, path | +| `@PCA9685` | 定义舵机控制板 | name, I2C, addr | +| `@MPU6050_BIND` | 定义陀螺仪 | name, I2C, addr | +| `@Speaker` | 定义扬声器 | name, channels, sample_rate, volumn, max_f, min_f | +| `@Servo` | 定义舵机 | name, max, min, offset, controller, channel | +| `@Action` | 定义动作序列 | 格式为`硬件名.参数名`,如 `s1.A` | + +### 4.3 @Action 矩阵详解 + +`@Action` 是最核心的矩阵,它定义了机器人的动作序列: + +``` +@Action +s1.A s2.A s3.A ... spk.F spk.delay; ← 列名:硬件变量.参数名 + 45 - 45 ... 10 200; ← 第1行:站立姿态 + 90 - - ... - 20; ← 第2行:左后方抬起 + ... +@ +``` + +- **列名格式**:`硬件变量名.参数名`,如 `s1.A` 表示舵机 s1 的角度(Angle) +- **参数别名**:`@Alias` 中定义了 `A → angle`、`F → frequency`,所以 `s1.A` 实际传给 s1 的是 `angle` 参数 +- **执行方式**:逐行执行,每行同时设置所有硬件的参数值 + +### 4.4 蜘蛛机器人动作示例解读 + +以 `scripts/test.mt` 为例,这是一个 8 足蜘蛛机器人的行走步态: + +``` +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; + 45 - 45 - 45 - 45 - 90 90 10 200; # 站立 + 90 - - - - - - - - - - 20; # 左后方抬起 + 45 - - - - - - - - - 0 500; # 恢复站立 + - - 90 - - - 45 - - - - 20; # 右后方抬起 + ... +@ +``` + +**解读:** + +- s1-s8 是 8 个舵机(4 条腿,每腿 2 个关节) +- s9-s10 是云台舵机 +- spk.F 是扬声器频率,spk.delay 是延时 +- 第 1 行:所有舵机设为 45°/90°,这是**站立姿态** +- 第 2 行:s1 设为 90°,其余不变,这是**左后方腿抬起** +- 频率 0 + 延时 500ms = 静默等待 500ms +- 频率 10 + 延时 200ms = 发出 10Hz 声音 200ms(同时作为延时) + +--- + +## 5. 解析器模块详解 + +### 5.1 MatrixObject 类(src/P.cj:11-97) + +**用途:** 表示解析后的一个矩阵对象,对应脚本中 `@name ... @` 之间的内容。 + +**数据结构:** + +``` +MatrixObject { + name: String ← 矩阵名称(如 "I2C"、"Servo") + values: ArrayList> ← 二维字符串矩阵 +} +``` + +**关键方法:** + + +| 方法 | 功能 | 零基础解释 | +| ---------------------- | ---------------- | ---------------------------------------------------- | +| `hasName()` | 是否已命名 | 检查这个矩阵有没有名字(@ 后面的字符串) | +| `[](row, col)` | 取元素 | 像数组一样用下标访问,如`obj[0, 1]` 取第 0 行第 1 列 | +| `indexOfCol(row, key)` | 在某行中查找列号 | 在第 row 行中找值为 key 的列,返回列号 | +| `addRune(c)` | 添加字符到缓冲区 | 一个字符一个字符地积累,最终组成一个完整的元素 | +| `submitName()` | 提交名字 | 把缓冲区里的字符拼成名字字符串 | +| `submitItem()` | 提交元素 | 把缓冲区里的字符拼成一个矩阵元素 | +| `submitLine(count)` | 提交一行 | 检查当前行的列数是否与之前一致,不一致则报错 | +| `save(output)` | 储存对象 | 将矩阵对象写回文件流 | + +**设计要点:** 矩阵的元素是 `String` 类型,不是数值。这是因为矩阵既包含数值(如 `0x40`),也包含字符串引用(如 `pca9685-0`)。数值解析延迟到使用时进行。 + +### 5.2 MatrixParser 类(src/P.cj:112-216) + +**用途:** 将输入流(文件或标准输入)逐字符解析为 `MatrixObject` 对象。 + +**算法:有限状态机(FSM)** + +解析器是一个典型的**有限状态机**,通过一组布尔标志位来跟踪当前状态: + + +| 标志 | 含义 | +| ------ | ---------------------------------- | +| `flag` | 是否遇到结束的`@` | +| `nl` | 是否处于新行起始位置 | +| `cm` | 是否处于注释中 | +| `nm` | 是否正在解析名称行(@ 后的第一行) | + +**状态转换逻辑(`_next` 方法):** + +``` +输入字符 c +├── 如果在注释中 (cm=true) +│ ├── c == '\n' → 注释结束,nl=true, cm=false +│ └── 其他 → 忽略 +├── 如果在新行起始 (nl=true) +│ ├── c 是空白 → 维持现状 +│ ├── c == '\n' → 空行,行号+1 +│ ├── c == '@' 且未命名 → 开始名称行,nm=true +│ ├── c == '@' 且已命名 → 结束标志,flag=true +│ └── 其他 → 内容字符,加入缓冲区 +├── 如果不在新行 (nl=false) +│ ├── 在名称行且遇空白 → 提交名字 +│ ├── 遇空白/制表符 → 提交当前元素 +│ ├── c == ';' → 提交元素并提交行 +│ └── 其他 → 加入缓冲区 +``` + +**循环不变式(在代码注释中声明):** + +- **初始化:** `input` 是一个动作脚本的输入流 +- **保持:** 每次循环后,`input` 剩余部分仍是未解析的脚本 +- **终止:** 当输入流为空或遇到结束 `@` 时,循环终止 + +### 5.3 MatrixSaver 类(src/P.cj:221-231) + +**用途:** 将 `LinkedList` 序列化回文本格式。 + +**格式:** + +``` +@MatrixName +elem elem elem ; +elem elem elem ; +@ + +@NextMatrix +... +@ +``` + +### 5.4 异常体系(src/P.cj:239-260) + + +| 异常类 | 含义 | +| ---------------- | ------------------------------ | +| `ParseExcept` | 解析异常基类 | +| `BufOverTheLine` | 缓冲区过长(单元素字符数超限) | +| `DoesNotSync` | 矩阵行没对齐(列数不一致) | +| `UnknowExcept` | 未知异常兜底 | + +--- + +## 6. 机器人结构模块详解 + +### 6.1 MatrixVars_Hardware 基类(src/r.cj:22-89) + +**这是整个硬件抽象的核心。** 所有硬件变量都继承自这个类。 + +**设计思想:** + +``` +MatrixVars_Hardware(基类) +├── things: (JsonValue) -> JsonValue ← 事件回调(核心!) +├── rise: Option<() -> Unit> ← 初始化回调 +├── free: Option<() -> Unit> ← 释放回调 +├── play(input) → things(input) ← 执行动作 +├── build() → rise() ← 初始化硬件 +└── destroy() → free() ← 释放硬件 +``` + +**为什么用 JsonValue 通信?** + +因为不同硬件需要不同的参数: + +- PCA9685 需要 `{"channel": 0, "angle": 90.0}` +- I2C 需要 `{"mode": "set_addr", "addr": 0x40}` +- Servo 需要 `{"angle": 180.0}` +- Speaker 需要 `{"frequency": 1000.0, "delay": 400}` + +用 JsonValue 作为统一的数据交换格式,避免为每种硬件写不同的接口。 + +**静态工具方法:** + + +| 方法 | 功能 | +| --------------------------- | -------------------------------- | +| `getMt(obj, row, col)` | 获取矩阵元素,`-` 自动沿用上一行 | +| `parseMt(obj, row, col)` | 获取并解析为数值类型 T | + +`parseMt` 的 `-` 处理逻辑: + +- 如果当前值是 `-` 且行号 > 1:递归取上一行同列的值 +- 如果当前值是 `-` 且行号 == 1:返回 0(首行的 `-` 默认为 0) + +### 6.2 各硬件变量类 + +#### MtVars_Alias(别名变量,src/r.cj:92-115) + +**用途:** 定义参数别名,如 `A → angle`、`F → frequency`。 + +**工作方式:** `play()` 时直接返回别名对应的字符串。 + +#### MtVars_I2C(I2C 变量,src/r.cj:118-185) + +**用途:** 封装 I2C 设备的打开、关闭、读写操作。 + +**工厂函数 `Factory()` 流程:** + +1. 从 `@I2C` 矩阵中读取 name 和 path +2. 创建 `I2C_Orig(path)` 对象(打开 I2C 设备文件) +3. 通过闭包将 `I2C_Orig` 保存在 `things` 回调中 +4. `things` 支持 4 种模式: + - `get_fd`:获取文件描述符 + - `set_addr`:设置从机地址 + - `set_val`:写寄存器 + - `get_val`:读寄存器 +5. `free` 回调中关闭 I2C 设备 + +#### MtVars_PCA9685(PCA9685 变量,src/r.cj:244-314) + +**用途:** 封装 PCA9685 舵机控制板。 + +**工厂函数流程:** + +1. 从 `@PCA9685` 矩阵读取 name、I2C 引用名、地址 +2. 从硬件变量字典中找到对应的 I2C 变量 +3. 通过 I2C 变量的 `play({"mode": "get_fd"})` 获取文件描述符 +4. 创建 `PCA9685(fd, addr)` 对象 +5. `things` 回调:接收 `{"channel": n, "angle": a}`,调用 `pca9685.setAngle(n, a)` +6. `rise` 回调:调用 `pca9685.setup()` 初始化 PWM 频率 + +#### MtVars_MPU6050_BIND(MPU6050 变量,src/r.cj:188-241) + +**用途:** 封装 MPU6050 陀螺仪/加速度计。 + +**工厂函数流程:** + +1. 从 `@MPU6050_BIND` 矩阵读取参数 +2. 通过 I2C 变量获取文件描述符 +3. 创建 `MPU6050(fd, addr)` 对象 +4. `rise` 回调:`mpu6050.setup()` + `mpu6050.startDaemon()`(启动采样线程) +5. `free` 回调:`mpu6050.stopDaemon()` + `mpu6050.waitDaemon()`(停止并等待线程) + +#### MtVars_Servo(舵机变量,src/r.cj:320-373) + +**用途:** 封装单个舵机,包含角度限制和偏移。 + +**工厂函数流程:** + +1. 从 `@Servo` 矩阵读取 name、max、min、offset、controller、channel +2. 从字典中找到控制器(如 pca9685-0) +3. 创建 `Servo(max, min, offset, callback_setAngle)` 对象 +4. `callback_setAngle` 闭包:将角度通过控制器的 `play()` 发送给 PCA9685 +5. `things` 回调:接收 `{"angle": a}`,调用 `servo.setAngle(a)` + +**Servo.setAngle() 的逻辑(src/hd/Servo.cj:18-24):** + +``` +角度 = 输入角度 + 偏移值(offset) +如果 角度 > 最大值(max) → 角度 = max +如果 角度 < 最小值(min) → 角度 = min +调用回调函数设置角度 +``` + +#### MtVars_Speaker(扬声器变量,src/r.cj:380-426) + +**用途:** 封装扬声器,支持频率限制。 + +**工厂函数流程:** + +1. 从 `@Speaker` 矩阵读取参数 +2. 创建 `Spk(channels, sample_rate)` 对象 +3. `things` 回调: + - 接收 `{"frequency": f, "delay": d}` + - 频率限制在 `[min_f, max_f]` 范围内 + - 调用 `spk.play(f, volume, d)` + +### 6.3 RobotStruct 类(src/r.cj:435-626) + +**用途:** 机器人的完整结构,从脚本构建并执行。 + +**核心流程:** + +``` +RobotStruct(input) + ├── readMatrix(input) 解析所有矩阵对象 + └── createHardVars() 创建硬件变量字典 + ├── createAliasVars() + ├── createI2CVars() + ├── createMPU6050Bind() + ├── createPCA9685Vars() + ├── createServoVars() + └── createSpeakerVars() + +active() 初始化所有硬件 +run() → run_drl_action() 执行动作 +deactive() 倒序释放所有硬件 +``` + +**run_drl_action() 的执行逻辑(src/r.cj:578-596):** + +```python +对于 @Action 矩阵的每一行 i (从1开始): + 创建空的 JsonObject: set + 对于每一列 j: + 解析列名 "s1.A" → 设备名="s1", 参数名="A" + 检查参数名是否是别名(如 A → angle) + 获取该列的数值(处理 "-" 占位符) + 将参数加入 set: set["s1"]["angle"] = 45.0 + + 对于 set 中的每个设备: + 调用 M[设备名].play(参数) ← 驱动硬件! +``` + +**parse_action_matrixObject() 详解(src/r.cj:599-625):** + +这个方法解析 `@Action` 矩阵的一列: + +1. 取列名(第 0 行),如 `s1.A` +2. 按 `.` 分割为设备名和参数名 +3. 检查参数名是否在 `@Alias` 中定义了别名,如有则替换 +4. 将数值加入对应设备的参数集合 + +--- + +## 7. 硬件驱动层详解 + +### 7.1 I2C 通信(src/hd/I2C.cj) + +**核心设计:直接调用 glibc 函数** + +项目没有使用自定义的 C 共享库来操作 I2C,而是直接在仓颉中通过 `foreign func` 声明并调用 Linux glibc 的原生函数: + +```cangjie +foreign func open(path: CString, flag: Int32, ...): Int32 +foreign func close(fd: Int32): Int32 +foreign func ioctl(fd: Int32, addr: UInt64, ...): Int32 +foreign func read(fd: Int32, buf: CPointer, count: UIntNative): IntNative +foreign func write(fd: Int32, buf: CPointer, count: UIntNative): IntNative +``` + +**I2C 操作流程:** + +1. `openI2cDev(path)` → 打开 `/dev/i2c-N` 设备文件 +2. `setI2cAddr(fd, addr)` → 通过 `ioctl` 设置从机地址 +3. `writeI2cReg(fd, reg, val)` → 写入寄存器:先写寄存器地址,再写值 +4. `readI2cReg(fd, reg)` → 读取寄存器:先写寄存器地址,再读值 + +### 7.2 I2C 互斥锁系统(src/hd/I2C.cj:99-243) + +**为什么需要锁?** + +I2C 总线是共享资源。当多个线程(如 MPU6050 采样线程和主线程)同时访问同一个 I2C 设备时,必须保证操作的原子性。 + +**锁系统架构:** + +``` +MAIN_LOCK (主锁) ← 保护 LOCKS 数组的操作 + └── LOCKS[0..19] (锁具数组) ← 每个 I2C 设备一个锁 + └── I2C_Lock { + i2c_fd: Int32 ← 绑定的 I2C 设备文件句柄 + lock: CPointer ← pthread_mutex_t 指针 + is_active: Bool ← 是否激活 + } +``` + +**操作流程:** + + +| 函数 | 功能 | +| --------------------- | -------------------------------------------------------------------------- | +| `I2cLock_create(fd)` | 为 I2C 设备创建锁:获取主锁 → 找空位 → 初始化互斥锁 → 释放主锁 | +| `I2cLock_destroy(fd)` | 销毁锁:获取主锁 → 找到对应锁 → 销毁互斥锁 → 如无活跃锁则释放整个锁系统 | +| `I2cLock_lock(fd)` | 加锁:获取主锁 → 找到对应锁 → 对该锁加锁 → 释放主锁 | +| `I2cLock_unlock(fd)` | 解锁:获取主锁 → 找到对应锁 → 对该锁解锁 → 释放主锁 | + +### 7.3 PCA9685 舵机控制板(src/hd/PCA9685.cj) + +**PCA9685 是什么?** 一个通过 I2C 控制的 16 通道 PWM 信号发生器,常用于驱动舵机。 + +**setup() 初始化流程:** + +1. 加锁 +2. 设置 I2C 地址 +3. 写寄存器 0x00 = 0x20(开启地址自增,退出睡眠) +4. 等待振荡器启动(5ms) +5. 计算预分频值:`prescale = 25000000 / (4096 * 50) - 1 ≈ 100`(50Hz PWM) +6. 写寄存器 0x00 = 0x10(进入睡眠模式,允许改频率) +7. 写寄存器 0xFE = prescale(设置预分频值) +8. 写寄存器 0x00 = 0x20(退出睡眠) +9. 解锁 + +**setAngle() 角度转 PWM:** + +``` +脉宽 = 0.5 + (2.5 - 0.5) * (angle / 180.0) ← 0°→0.5ms, 180°→2.5ms +OFF值 = 脉宽 * 4096 / 20 ← 20ms 周期, 12位分辨率 +setPWM(channel, ON=0, OFF=计算值) +``` + +### 7.4 MPU6050 陀螺仪/加速度计(src/hd/MPU6050.cj) + +**MPU6050 是什么?** 一个 6 轴运动跟踪设备,包含 3 轴加速度计和 3 轴陀螺仪。 + +**setup() 初始化:** + +1. 退出睡眠模式(写 PWR_MGMT_1 = 0x00) +2. 设置陀螺仪量程 ±500°/s +3. 设置加速度计量程 ±8g +4. 等待 100ms 稳定 + +**readSensor() 读取数据:** + +- 读取 6 个 16 位寄存器(加速度 X/Y/Z + 陀螺仪 X/Y/Z) +- 每个轴需要读高字节和低字节,组合为 16 位有符号整数 + +**守护线程 mpu6050_main():** + +这是一个持续运行的线程,不断采样并滤波: + +1. 读取原始传感器数据 +2. 对 6 个轴分别进行卡尔曼滤波 +3. 打印滤波后的数据 +4. 睡眠 10ms + +### 7.5 Servo 舵机类(src/hd/Servo.cj) + +**设计:** 通过回调函数实现与控制器的解耦。 + +``` +Servo { + max: Float32 ← 最大角度限制 + min: Float32 ← 最小角度限制 + offset: Float32 ← 角度偏移(校准用) + callback_setAngle ← 设置角度的回调函数 +} +``` + +`setAngle(angle)` 的处理顺序:加偏移 → 限制范围 → 调用回调 + +### 7.6 Spk 扬声器类(src/hd/snd.cj) + +**当前状态:** 仅实现了延时功能,实际发声被注释掉。 + +```cangjie +public func play(frequency, volume, durations_ms): Bool { + // 实际发声被注释 + sleep(Duration.millisecond * Int64(durations_ms)) // 仅延时 + return true +} +``` + +**C++ 实现的音频播放(src/cpp/snd.cpp)** 是完整的,支持: + +- **Windows:** 使用 WaveAPI(`waveOutOpen`/`waveOutWrite`)+ 回调通知 +- **Linux:** 使用 ALSA(`snd_pcm_open`/`snd_pcm_writei`) +- 生成正弦波数据,带 5ms 淡入淡出避免咔嗒声 +- 支持多声道、可调采样率和音量 + +--- + +## 8. 数学库详解 + +### 8.1 FP32 结构体(src/math/Matrix.cj:29-55) + +**用途:** 包装 `Float32` 为值类型,支持运算符重载。 + +```cangjie +public struct FP32 { + private var val: Float32 + // 运算符重载:+、-、*、/(支持 FP32 和 Float32 两种参数) +} +``` + +**为什么需要 FP32?** 仓颉的 `Float32` 是内置类型,不能直接重载运算符。通过包装为 `struct FP32`,可以定义 `+`、`-`、`*`、`/` 运算符,使矩阵运算代码更简洁。 + +### 8.2 Matrix1 矩阵类(src/math/Matrix.cj:73-291) + +**用途:** 仓颉原生实现的二维浮点矩阵,是神经网络的基础。 + +**数据布局:** 一维数组 `Array`,行优先存储。 + +``` + ___col___ +/ \ ++---------+ \ +| 0 1 2 3 | | row - 第一维度 +| 4 5 6 7 | | ++---------+ / + +arr[row * col + col] ← 元素访问公式 +``` + +**支持的运算:** + + +| 运算 | 符号 | 含义 | 形状要求 | +| -------- | ----------- | ------------------------ | -------------- | +| 矩阵加法 | `A + B` | 逐元素相加 | 同形状 | +| 广播加法 | `A + s` | 每个元素加标量 | - | +| 矩阵减法 | `A - B` | 逐元素相减 | 同形状 | +| 广播减法 | `A - s` | 每个元素减标量 | - | +| 逐元素乘 | `A * B` | 逐元素相乘(Hadamard积) | 同形状 | +| 广播乘法 | `A * s` | 每个元素乘标量 | - | +| 逐元素除 | `A / B` | 逐元素相除 | 同形状 | +| 广播除法 | `A / s` | 每个元素除标量 | - | +| 矩阵乘法 | `A.dot(B)` | 矩阵点积(MatMul) | A.col == B.row | +| 转置 | `A.T()` | 行列互换 | - | +| 克隆 | `A.clone()` | 深拷贝 | - | + +**矩阵乘法算法(dot):** + +这是最核心的运算,三重循环实现: + +``` +对于结果矩阵的每个元素 (i, j): + sum = 0 + 对于 k in 0..A.col: + sum += A[i, k] * B[k, j] + 结果[i, j] = sum +``` + +时间复杂度:O(m × n × k),其中 A 是 m×k,B 是 k×n。 + +### 8.3 Tensor 张量类(src/math/Tensor.cj) + +**用途:** 多维数组的泛型实现,是 Matrix1 的多维推广。 + +```cangjie +class Tensor { + data: Array ← 一维扁平存储 + dims: Array ← 维度列表(形状) + size: Int64 ← 总元素数 +} +``` + +**oneByOne() 方法:** 逐元素运算,接受另一个张量和一个二元函数,要求两个张量形状相同。 + +**当前状态:** 基础框架,功能有限,未在项目中实际使用。 + +--- + +## 9. 神经网络模块详解 + +### 9.1 Nn1 全连接层(src/math/nn.cj:20-99) + +**用途:** 神经网络的一个全连接层(Dense Layer / Fully Connected Layer)。 + +**数据结构:** + +```cangjie +class Nn1 { + inputno: Int64 ← 输入维度 + outputno: Int64 ← 输出维度 + weights: Matrix1 ← 权重矩阵 (inputno, outputno) + bias: Matrix1 ← 偏置向量 (1, outputno) + learning_rate: FP32 ← 学习率 + f: Af ← 激活函数 + + // 前向传播缓存 + prev_inputs: Option ← 本次输入 + prev_raw_inputs: Option ← 激活前的输出(z = Wx + b) + prev_outputs: Option ← 激活后的输出(a = f(z)) + + // 梯度缓存 + weights_grad: Option ← 权重梯度 + bias_grad: Option ← 偏置梯度 +} +``` + +**forward() 前向传播(src/math/nn.cj:53-61):** + +``` +z = x · weights + bias ← 矩阵乘法 + 广播加法 +a = f(z) ← 激活函数 +缓存 x, z, a +返回 a +``` + +数学公式:**a = f(Wx + b)** + +**backward() 反向传播(src/math/nn.cj:64-72):** + +``` +δ = errs * f'(z) ← 误差 × 激活函数导数(逐元素乘) +weights_grad = x^T · δ ← 权重梯度 +bias_grad = δ ← 偏置梯度 +errs_up = δ · W^T ← 传给上一层的误差 +返回 errs_up +``` + +数学推导: + +- 设损失为 L,本层输出为 a = f(z),z = Wx + b +- δ = ∂L/∂z = (∂L/∂a) · f'(z) = errs · f'(z) +- ∂L/∂W = x^T · δ +- ∂L/∂b = δ +- ∂L/∂x = δ · W^T + +**update() 权重更新(src/math/nn.cj:76-79):** + +``` +weights = weights + weights_grad * learning_rate * discount +bias = bias + bias_grad * learning_rate * discount +``` + +注意:这里是**加号**,不是减号。这意味着 `weights_grad` 已经包含了负号(因为 `errs = t - res`,即目标减预测),或者学习率本身为负值。实际上,`errs = t - res` 确实是 `(target - prediction)`,而梯度下降应该是 `weights -= lr * grad`,所以这里用加号是**正确的**——因为 `grad` 已经是 `(t - res)` 方向的,加上去就是往目标方向移动。 + +### 9.2 Af 激活函数枚举(src/math/Af.cj) + +**支持的激活函数:** + + +| 函数 | 公式 | 导数 | 用途 | +| ---------- | ---------------------------- | ------------------------- | ---------------------------- | +| None | f(x) = x | f'(x) = 1 | 恒等变换 | +| Sigmoid | f(x) = 1/(1+e^(-x)) | f'(x) = f(x)(1-f(x)) | 二分类输出层 | +| ReLU | f(x) = max(0, x) | f'(x) = 1 if x>0, else 0 | 隐藏层(解决梯度消失) | +| Leaky_ReLU | f(x) = x if x>0, else αx | f'(x) = 1 if x>0, else α | 隐藏层(解决 ReLU 死亡问题) | +| Tanh | f(x) = tanh(x) | f'(x) = 1 - tanh²(x) | 隐藏层 | +| Softmax | f(x_i) = e^(x_i) / Σe^(x_j) | 雅可比矩阵 | 多分类输出层 | + +**Softmax 实现(src/math/Af.cj:209-241):** + +使用**数值稳定**的实现方式: + +1. 找到最大值 `max_val` +2. 计算 `exp(x_i - max_val)` 避免指数溢出 +3. 除以总和归一化 + +**Softmax 雅可比矩阵(src/math/Af.cj:246-271):** + +``` +J[i][j] = y_i * (1 - y_i) 如果 i == j(对角线) +J[i][j] = -y_i * y_j 如果 i != j(非对角线) +``` + +### 9.3 Ini 权重初始化(src/math/Ini.cj) + +**Xavier 正态初始化:** + +``` +σ = sqrt(2 / (fan_in + fan_out)) +权重 ~ N(0, σ²) +``` + +**Xavier 均匀初始化(Glorot):** + +``` +limit = sqrt(6 / (fan_in + fan_out)) +权重 ~ U(-limit, limit) +``` + +**原理:** Xavier 初始化的目的是让每一层的输出方差与输入方差相同,避免梯度消失或爆炸。推导基于 Tanh 激活函数的线性近似。 + +### 9.4 训练函数 train1()(src/math/nns.cj:40-75) + +**完整训练流程:** + +``` +1. 正向传播:逐层计算 forward +2. 计算误差:errs = target - output +3. 反向传播:从最后一层到第一层,逐层计算 backward +4. 梯度更新:逐层调用 update +5. 计算 MSE 损失:loss = 0.5 * (t - y)² +``` + +**与门测试 prepare_andDoor()(src/math/nns.cj:11-21):** + +随机生成两个 0/1 输入,目标输出为同或(XNOR): + +- (0,0) → 1 +- (1,1) → 1 +- (0,1) → 0 +- (1,0) → 0 + +--- + +## 10. 卡尔曼滤波详解 + +### 10.1 什么是卡尔曼滤波 + +卡尔曼滤波是一种**最优估计算法**,用于从含有噪声的测量数据中估计系统的真实状态。 + +**直觉理解:** 想象你在开车,GPS 给出位置但有误差,车速表给出速度也有误差。卡尔曼滤波就是综合这两个不完美的信息源,给出最优的位置和速度估计。 + +### 10.2 一维卡尔曼滤波器(src/math/kalman.cj) + +**5 个核心公式:** + + +| 步骤 | 公式 | 含义 | +| -------------- | ----------------------------------- | ------------------------------------- | +| 预测状态 | X_mid = A · X_last | 根据上一次最优估计预测当前状态 | +| 预测协方差 | P_mid = A · P_last + Q | 预测的不确定性增大(+系统噪声Q) | +| 计算卡尔曼增益 | kg = P_mid / (P_mid + R) | 测量越可靠(R小),增益越大,越相信测量 | +| 更新状态 | X_now = X_mid + kg · (dat - X_mid) | 用测量值修正预测值 | +| 更新协方差 | P_now = (1 - kg) · P_mid | 估计的不确定性减小 | + +**参数含义:** + + +| 参数 | 值 | 含义 | +| ---- | --- | -------------------------------------- | +| A | 1 | 状态转移矩阵(恒等,因为假设状态不变) | +| B | 0 | 控制输入矩阵(无控制输入) | +| H | 1 | 观测矩阵(直接观测) | +| Q | 20 | 系统噪声协方差(越大越信任测量值) | +| R | 200 | 测量噪声协方差(越大越信任模型预测) | + +**在 MPU6050 中的应用:** 为加速度计和陀螺仪的每个轴各创建一个卡尔曼滤波器,持续滤波以获得平滑的姿态数据。 + +--- + +## 11. FFT 快速傅里叶变换详解 + +### 11.1 什么是 FFT + +快速傅里叶变换(FFT)是一种高效计算离散傅里叶变换(DFT)的算法。它将时域信号转换为频域表示,让你看到信号中包含哪些频率成分。 + +**DFT 公式:** + +``` +X[k] = Σ x[n] · e^(-j·2π·k·n/N) 对于 k = 0, 1, ..., N-1 +``` + +### 11.2 基-2 FFT 实现(src/cpp/fft1.c) + +**算法:Cooley-Tukey 基-2 FFT** + +**核心思想:分治法** + +- 将 N 点 DFT 分解为两个 N/2 点 DFT(偶数项和奇数项) +- 递归分解直到 1 点 DFT(直接返回) +- 时间复杂度从 O(N²) 降低到 O(N·log N) + +**关键函数:** + + +| 函数 | 功能 | +| -------------------- | ------------------------------------------ | +| `initial()` | 初始化旋转因子 W^k = e^(-j·2π·k/N) | +| `fft1(A, ifft)` | 复序列基-2 FFT(ifft=1 正变换,-1 逆变换) | +| `fft1r2(A, B, ifft)` | 双实序列 FFT(同时变换两个实序列) | +| `fft1r1(A, ifft)` | 单实序列 FFT(利用对称性优化) | +| `inverseq(i, imax)` | 比特逆序(用于蝶形运算的地址重排) | + +**蝶形运算:** + +``` +对于每一级 l: + 对于每一组 j: + 对于每个蝶形 k: + t = A[jl1k] · W[ij] ← 旋转因子乘法 + A[jl1k] = A[jl0k] - t ← 蝶形运算上支 + A[jl0k] = A[jl0k] + t ← 蝶形运算下支 +``` + +### 11.3 FFT 封装层(src/cpp/fft.cpp) + +提供 C 接口给仓颉调用: + +- `gen_wave()` → 生成 10Hz 正弦波测试数据 +- `start_fft(M)` → 对矩阵 M 执行 FFT,返回频谱幅度 + +--- + +## 12. CNN 卷积神经网络详解 + +### 12.1 CNN 架构 + +CNN 模块完全用 C++ 实现,通过 C 接口(`extern "C"`)暴露给仓颉调用。 + +**包含的层:** + + +| 层 | 文件 | 功能 | +| -------------------- | ---------------- | ------------------------------- | +| ConvLayer | conv.cpp/h | 2D 卷积层 + 反向传播 + 参数更新 | +| PoolingLayer | pooling.cpp/h | 最大/平均池化 | +| GlobalAveragePooling | ga_pooling.cpp/h | 全局平均池化 | +| FlattenLayer | flatten.cpp/h | 展平(4D → 2D) | +| DynamicFlattenLayer | flatten.cpp/h | 动态形状展平 | +| ImageLoader | imgl.cpp/h | 图像加载 + 归一化 | + +### 12.2 C 接口设计(src/cpp/cnn/cnn_i.cpp) + +所有函数遵循统一模式: + +```c +void* cnn_create_xxx_layer(...) ← 创建层 +void cnn_destroy_xxx_layer(void*) ← 销毁层 +float* cnn_xxx_forward(void*, ...) ← 前向传播 +float* cnn_xxx_backward(void*, ...) ← 反向传播 +void cnn_xxx_update_parameters(void*, lr, ...) ← 更新参数 +``` + +**内存管理:** 输出数组通过 `new float[]` 分配,调用方负责 `delete[]`。 + +**错误处理:** 使用 `thread_local` 错误缓冲区 + `cnn_get_last_error()` 查询。 + +### 12.3 卷积层 ConvLayer + +**前向传播:** + +``` +对于每个输出通道 oc: + 对于每个空间位置 (oh, ow): + sum = bias[oc] + 对于每个输入通道 ic: + 对于每个核位置 (kh, kw): + sum += weight[oc,ic,kh,kw] * input[ic,oh*stride+kh,ow*stride+kw] + output[oc,oh,ow] = sum +``` + +**支持特性:** + +- 任意 stride 和 padding +- Leaky ReLU 激活(内置,negative_slope 参数) +- SGD + Momentum 优化器 +- Adam 优化器 + +### 12.4 图像加载器 ImageLoader + +**功能:** + +- 加载单张图片或批量图片 +- 支持通道数、尺寸调整 +- 归一化:[0,1] 归一化 或 mean/std 归一化 +- 自动计算数据集统计量(mean/std) +- 从目录批量加载 + +--- + +## 13. CUDA GPU 加速详解 + +### 13.1 CUDA 矩阵运算(src/cuda/matrix.cu) + +**架构:** 两层设计 + +1. **底层 CUDA kernel**:`_devAdd`、`_devSub`、`_devMul`、`_devMatDot` 等 +2. **上层 C 接口**:`Cu4cj_Add`、`Cu4cj_Sub`、`Cu4cj_MatDot` 等 + +**内存管理:** + + +| 函数 | 功能 | +| ----------------------- | ------------------------------- | +| `Cu4cj_Orig(n)` | 在 GPU 上分配 n 个 float 的内存 | +| `Cu4cj_Zero(n)` | 在 GPU 上分配并清零 | +| `Cu4cj_ToDev(h, n)` | 主机 → 设备拷贝 | +| `Cu4cj_ToHost(d, h, n)` | 设备 → 主机拷贝 | +| `Cu4cj_Free(d)` | 释放 GPU 内存 | + +**CUDA kernel 示例(向量加法):** + +```cuda +__global__ void _devAdd(float* d1, float* d2, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; ← 计算全局线程ID + if (i < n) { + r[i] = d1[i] + d2[i]; ← 每个线程处理一个元素 + } +} +``` + +**调用方式:** + +```c +Cu4cj_Add(d1, d2, d_r, n) { + _devAdd<<<(n + 255) / 256, 256>>>(d1, d2, d_r, n); + // ↑ grid大小 ↑ block大小 + // 每个block 256个线程,共 ceil(n/256) 个block +} +``` + +**矩阵乘法 kernel:** + +```cuda +__global__ void _devMatDot(float* d1, float* d2, float* r, int64_t m, int64_t n, int64_t k) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + int j = blockIdx.y * blockDim.y + threadIdx.y; + if (i < m && j < k) { + float sum = 0.0f; + for (int p = 0; p < n; p++) { + sum += d1[i * n + p] * d2[p * k + j]; + } + r[i * k + j] = sum; + } +} +``` + +使用 2D 线程块 (16×16),每个线程计算结果矩阵的一个元素。 + +### 13.2 GPU 激活函数 + +所有激活函数都在 GPU 上实现: + +- `_devSigmoid` / `_devSigmoidDerivative` +- `_devReLU` / `_devReLUDerivative` +- `_devLeakyReLU` / `_devLeakyReLU_Derivative` +- `_devTanh` / `_devTanhDerivative` + +### 13.3 C++ Matrix 类(CUDA 版) + +在 `matrix.cu` 中还定义了一个 C++ `Matrix` 类,数据存储在 GPU 上,运算通过 CUDA kernel 执行。对外暴露与 CPU 版相同的 C 接口,使得仓颉代码无需修改即可切换 CPU/GPU。 + +--- + +## 14. 线程与同步模块详解 + +### 14.1 mutex 互斥锁(src/th/mutex.cj) + +直接封装 pthread 互斥锁: + +```cangjie +foreign func pthread_mutex_init(mutex, attr): Int32 +foreign func pthread_mutex_destroy(mutex): Int32 +foreign func pthread_mutex_lock(mutex): Int32 +foreign func pthread_mutex_unlock(mutex): Int32 +``` + +**关键常量:** `SIZE_PTHREAD_MUTEX_TYPE_BYTE = 48`(ARM64 上 pthread_mutex_t 的大小) + +**辅助函数:** + +- `_mutex_create()` → malloc 分配 48 字节 + 返回指针 +- `_mutex_free(p)` → free 释放 +- `_mutex_init(mutex)` → pthread_mutex_init +- `_mutex_destroy(mutex)` → pthread_mutex_destroy +- `_mutex_lock(mutex)` / `_mutex_unlock(mutex)` → 加锁/解锁 + +### 14.2 pthread 线程(src/th/pthread.cj) + +```cangjie +public class Pth { + private var pthread: UInt64 = 0 + + init(_main, args) → pthread_create(...) ← 创建线程 + join(retval) → pthread_join(...) ← 等待线程结束 + close() → pthread_cancel(...) ← 取消线程 +} +``` + +--- + +## 15. HTTP 服务器模块详解 + +### 15.1 服务器配置(src/main.cj:192-294) + +**端点:** + + +| 路径 | 方法 | 功能 | +| ----------------- | ---- | ------------------------ | +| `/api/v2/bot_run` | POST | 接收动作脚本并执行 | +| `/` | GET | 返回前端页面 | +| `/api/v1/fs` | POST | 文件系统操作(列表目录) | + +### 15.2 文件系统 API + +请求格式: + +```json +{"mode": "list", "path": "/path/to/directory"} +``` + +响应:返回目录内容的 JSON 数组,每项包含: + +- `name`:文件名 +- `type`:Directory / SymbolicLink / Regular +- `writable` / `readable`:权限 +- `size`:文件大小(仅普通文件) + +--- + +## 16. 辅助工具详解 + +### 16.1 图片标注工具(src/py/labeled.py) + +**用途:** 用于 CNN 训练数据的标注,手动在图片上画矩形框。 + +**技术栈:** Python + Tkinter + PIL + OpenCV + +**功能:** + +- 打开图片、缩放、平移 +- 绘制矩形标注框 +- 保存/加载标注(百分比坐标格式:top right bottom left) +- 删除/编辑标注 + +### 16.2 前端页面(public/index.html) + +一个科技感的展示页面,使用 Tailwind CSS,支持暗色模式、移动端适配。 + +### 16.3 API 测试(test/test_api_fs.py) + +测试文件系统 API 的 Python 脚本,支持不同路径格式。 + +--- + +## 17. 构建系统详解 + +### 17.1 Makefile + +构建 C/C++ 共享库: + + +| 目标 | 源文件 | 输出 | 用途 | +| -------------- | ---------------------- | -------- | ---------------------------- | +| `libi2c4cj.so` | I2C.c | I2C 驱动 | 旧版 I2C(已弃用) | +| `libsnd4cj.so` | snd.cpp | 音频播放 | Windows WaveAPI / Linux ALSA | +| `libmt4cj.so` | Matrix.cpp / matrix.cu | 矩阵运算 | CPU 或 GPU 版本 | +| `libfft4cj.so` | fft1.c + fft.cpp | FFT | 快速傅里叶变换 | +| `libcnn4cj.so` | cnn_i.cpp + ... | CNN | 卷积神经网络 | + +**MODE 变量:** `MODE=cpu` 使用 C++ Matrix,`MODE=cuda` 使用 CUDA Matrix。 + +### 17.2 cjpm.toml + +仓颉包管理配置: + +- 目标平台:`aarch64-unknown-linux-gnu`(树莓派 ARM64) +- 编译选项:`-l c -l pthread`(链接 C 库和 pthread) +- 不支持 Windows(因为依赖 glibc) + +### 17.3 运行脚本 + +```bash +# 构建 +_set.sh → cjpm build + +# 运行(设置大栈空间) +_run.sh → export cjStackSize=10000kb && ./target/release/bin/main $@ +``` + +--- + +## 18. 全局缺陷与改进建议 + +### 18.1 严重缺陷 + + +| 编号 | 缺陷 | 位置 | 详细说明 | 严重程度 | +| ---- | ----------------------------------------- | ------------------- | -------------------------------------------------------------------------------------- | ------------ | +| D1 | **析构器调用时间不确定** | r.cj:28 | 仓颉的 GC 不保证析构器调用时间,I2C 文件描述符可能泄漏 | 高 | +| D2 | **扬声器仅延时未发声** | hd/snd.cj:17 | `play()` 只 sleep,C++ 实现的 `play_frequency()` 未被调用 | 高 | +| D3 | **MPU6050 线程无法安全退出** | hd/MPU6050.cj:115 | `mpu6050_main()` 是无限循环,`pthread_cancel` 可能在不安全点中断 | 高 | +| D4 | **I2C 锁系统线性扫描** | hd/I2C.cj:129 | 每次加锁/解锁都遍历 20 个元素的数组,O(n) 复杂度 | 中 | +| D5 | **xavierUniformInit 每个元素新建 Random** | math/Ini.cj:30 | 循环内每次`DateTime.now().nanosecond` + `Random()`,种子可能重复 | 中 | +| D6 | **Softmax 雅可比矩阵反向传播未正确使用** | math/Af.cj:246 | `softmax_jacobian` 返回 n×n 矩阵,但 `backward` 调用者期望与输入同形状 | 高 | +| D7 | **旧版 Nn 反向传播有错误** | math/nn.cj:186 | 旧版代码注释中标注 "This is Wrong" | 中(已弃用) | +| D8 | **tanh 导数输入错误** | math/Af.cj:194-206 | `tanh_dot` 接收的是激活后的输出 y,但计算 `1 - x*x` 用的是原始输入 x,应改为 `1 - y*y` | 高 | +| D9 | **I2C 读寄存器返回 Int8 而非 UInt8** | hd/I2C.cj:81 | `readI2cReg` 返回 `Int8`,负值寄存器数据会出错 | 中 | +| D10 | **MPU6050 ADDR_0 和 ADDR_1 相同** | hd/MPU6050.cj:14-15 | 两个地址常量都是 0x68,ADDR_1 应为 0x69 | 中 | +| D11 | **矩阵列数不一致时的错误信息不清晰** | P.cj:93 | `DoesNotSync` 异常只报行号,不报期望列数和实际列数 | 低 | + +### 18.2 设计缺陷 + + +| 编号 | 缺陷 | 详细说明 | 建议 | +| ---- | -------------------------- | ------------------------------------------------------- | -------------------------- | +| D12 | **JsonValue 通信开销大** | 每次硬件操作都要构造/解析 JSON,对于高频 I2C 操作性能差 | 对高频路径提供直接调用接口 | +| D13 | **硬件变量创建顺序硬编码** | `createHardVars()` 中顺序固定,无法处理依赖关系变化 | 使用依赖图自动排序 | +| D14 | **无 batch 训练支持** | 神经网络每次只训练一个样本 | 增加 batch 维度 | +| D15 | **无 Adam 优化器** | 仓颉版 Nn1 只有 SGD | 实现 Adam 优化器 | +| D16 | **Tensor 类未使用** | Tensor 类已实现但未集成到神经网络中 | 统一 Matrix1 和 Tensor | +| D17 | **FFT 未集成** | C++ FFT 已实现但仓颉接口被注释 | 恢复 FFT 接口 | +| D18 | **CNN 未集成** | C++ CNN 已实现但仓颉端无调用代码 | 添加仓颉端 CNN 接口 | +| D19 | **DRL 代码全部注释** | 深度强化学习微调功能被注释 | 重构后重新启用 | +| D20 | **无单元测试** | 数学库、解析器等无自动化测试 | 添加测试框架 | + +### 18.3 安全缺陷 + + +| 编号 | 缺陷 | 详细说明 | +| ---- | ----------------------- | ------------------------------------------------- | +| D21 | **文件系统 API 无认证** | `/api/v1/fs` 可列出任意目录内容,无权限检查 | +| D22 | **HTTP 服务器无认证** | `/api/v2/bot_run` 可执行任意脚本,无认证 | +| D23 | **路径遍历风险** | 文件系统 API 接受用户输入的路径,可能遍历敏感目录 | + +### 18.4 代码质量问题 + + +| 编号 | 问题 | 位置 | +| ---- | --------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| D24 | 大量注释掉的旧代码 | P.cj(300+ 行注释)、nn.cj、nns.cj、main.cj | +| D25 | `print(s)` 调试输出未移除 | P.cj:147 | +| D26 | `FIXME` 和 `TODO` 标记散布各处 | 全项目约 30+ 处 | +| D27 | C++ Matrix 的`get()` 索引方式与仓颉版不同 | Matrix.cpp:24 用`col * row + row`,Matrix.cj:91 用 `row * col + col` | +| D28 | CUDA 转置函数`Cu4cj_Transport` 分配内存大小可能错误 | matrix.cu:330 用`Cu4cj_Zero(c * r * sizeof(float))`,但 `Cu4cj_Zero` 参数是元素个数不是字节数 | +| D29 | CUDA`Cu4cj_Zero` 注释说 n=10000 时被杀死 | matrix.cu:74 可能是 GPU 内存不足 | + +--- + +## 19. 学习路线图 + +### 第一阶段:理解脚本语言(1-2天) + +1. 阅读 `scripts/test.mt`,理解 `.mt` 脚本语法 +2. 对照 `README.md` 中的语法说明 +3. 手动写一个简单的 `.mt` 脚本 + +### 第二阶段:理解解析器(2-3天) + +1. 从 `MatrixObject` 开始,理解数据结构 +2. 跟踪 `MatrixParser.parse()` 的状态机逻辑 +3. 用纸笔画出状态转换图 + +### 第三阶段:理解硬件驱动(3-5天) + +1. 学习 I2C 通信原理 +2. 阅读 `I2C.cj`,理解 `open`/`ioctl`/`read`/`write` 系统调用 +3. 阅读 `PCA9685.cj`,理解 PWM 和舵机控制 +4. 阅读 `MPU6050.cj`,理解传感器读取和卡尔曼滤波 + +### 第四阶段:理解机器人结构(2-3天) + +1. 理解 `MatrixVars_Hardware` 的闭包设计 +2. 跟踪一个完整的硬件变量创建流程(如 MtVars_Servo) +3. 跟踪 `run_drl_action()` 的执行流程 + +### 第五阶段:理解神经网络(3-5天) + +1. 学习矩阵运算(Matrix1 类) +2. 学习激活函数(Af 枚举) +3. 手动计算一次前向传播和反向传播 +4. 理解 Xavier 初始化 + +### 第六阶段:理解高级功能(选学) + +1. 卡尔曼滤波:从数学公式到代码实现 +2. FFT:理解蝶形运算 +3. CNN:理解卷积、池化、展平 +4. CUDA:理解 GPU 编程模型 + +--- + +## 附录 A:仓颉语言关键语法速查 + + +| 语法 | 含义 | 对应语言 | +| -------------------------- | ----------- | ------------------------- | +| `package foo` | 声明包 | Java package | +| `import std.io.*` | 导入 | Java import | +| `class A <: B` | 继承 | Java extends | +| `open class` | 允许继承 | Java 非 final | +| `let / var` | 不可变/可变 | Kotlin val/var | +| `Option` | 可选类型 | Java Optional | +| `Some(v) / None` | 有值/无值 | Optional.of/present | +| `if (let Some(v) <- expr)` | if-let 解构 | Swift if-let | +| `match(expr) { case ... }` | 模式匹配 | Kotlin when / Rust match | +| `foreign func` | FFI 声明 | Java native / Rust extern | +| `unsafe { }` | 不安全块 | Rust unsafe | +| `CPointer` | C 指针 | Rust *mut T | +| `@C` | C 兼容注解 | 使结构体内存布局兼容 C | +| `operator func []` | 运算符重载 | C++ operator[] | +| `mut prop` | 可变属性 | Kotlin mutable property | +| `init()` | 构造函数 | Java constructor | +| `~init()` | 终结器 | Java finalize | +| `extend A { }` | 扩展方法 | Kotlin extension | + +--- + +## 附录 B:术语表 + + +| 术语 | 英文 | 含义 | +| ---------- | --------------------------- | ------------------------------------ | +| 舵机 | Servo | 一种可以精确控制角度的电机 | +| I2C | Inter-Integrated Circuit | 一种两线制串行总线协议 | +| PWM | Pulse Width Modulation | 脉宽调制,通过改变脉冲宽度控制输出 | +| 陀螺仪 | Gyroscope | 测量角速度的传感器 | +| 加速度计 | Accelerometer | 测量加速度的传感器 | +| 前向传播 | Forward Propagation | 神经网络从输入到输出的计算过程 | +| 反向传播 | Backpropagation | 神经网络从输出到输入的梯度计算过程 | +| 梯度下降 | Gradient Descent | 沿梯度反方向更新参数以最小化损失 | +| 学习率 | Learning Rate | 每次参数更新的步长 | +| 损失函数 | Loss Function | 衡量预测与真实值差距的函数 | +| 激活函数 | Activation Function | 引入非线性的函数(如 ReLU、Sigmoid) | +| 卡尔曼增益 | Kalman Gain | 决定多大程度上相信测量值 vs 预测值 | +| 协方差 | Covariance | 衡量不确定性的量 | +| 傅里叶变换 | Fourier Transform | 将信号从时域转换到频域 | +| 蝶形运算 | Butterfly Operation | FFT 中的基本计算单元 | +| 卷积 | Convolution | 滑动窗口加权求和的运算 | +| 池化 | Pooling | 降采样操作(取最大值或平均值) | +| 展平 | Flatten | 将多维数据变为一维 | +| FFI | Foreign Function Interface | 调用其他语言函数的接口 | +| DRL | Deep Reinforcement Learning | 深度强化学习 | diff --git a/bot4cj/modules/ADS1115.lua b/bot4cj/modules/ADS1115.lua new file mode 100644 index 0000000..226ef30 --- /dev/null +++ b/bot4cj/modules/ADS1115.lua @@ -0,0 +1,325 @@ +-- ADS1115模数转换器 硬件脚本(测试) + + +-- 这个函数是辅助用的,它能够打印一张表出来 +function print_table(t, indent) + indent = indent or 0 + for k, v in pairs(t) do + if type(v) == 'table' then + print(string.rep(' ', indent) .. k .. ":") + print_table(v, indent + 2) + else + print(string.rep(' ', indent) .. k .. ": " .. tostring(v)) + end + end +end + +ADS1115_ADDR = 0x48 -- ADS1115的I2C地址 +ADS1115_REG_CONVERSION = 0x00 -- 转换结果(只读) +ADS1115_REG_CONFIG = 0x01 -- 配置寄存器(读/写) +ADS1115_REG_LO_THRESH = 0x02 -- 低阈值比较 +ADS1115_REG_HI_THRESH = 0x03 -- 高阈值比较 +-- ==================================== +-- ADS1115 配置寄存器 bit 定义(16位) +-- ==================================== +-- BIT15: OS[0] => 单次转换启动位(1=开始) +-- BIT14-12: MUX[2:0] => 输入多路选择 +-- BIT11-9: PGA[2:0] => 可编程增益放大器 +-- BIT8: MODE => 0=连续转换,1=单次(省电) +-- BIT7-5: DR[2:0] => 数据速率 +-- BIT4: COMP_MODE => 比较模式(0=传统) +-- BIT3: COMP_POL => 比较极性(0=低有效) +-- BIT2: COMP_LAT => 比较锁存(0=不锁存) +-- BIT1-0: COMP_QUE => 比较器队列(11=禁用) +-- +-- ==== MUX 输入通道 ==== +ADS1115_MUX_AIN0_AIN1 = 0x0000 -- 差分:P=AIN0,N=AIN1(默认) +ADS1115_MUX_AIN0_AIN3 = 0x1000 -- 差分:P=AIN0,N=AIN3 +ADS1115_MUX_AIN1_AIN3 = 0x2000 -- 差分:P=AIN1,N=AIN3 +ADS1115_MUX_AIN2_AIN3 = 0x3000 -- 差分:P=AIN2,N=AIN3 +ADS1115_MUX_AIN0_GND = 0x4000 -- 单端:AIN0 +ADS1115_MUX_AIN1_GND = 0x5000 -- 单端:AIN1 +ADS1115_MUX_AIN2_GND = 0x6000 -- 单端:AIN2 +ADS1115_MUX_AIN3_GND = 0x7000 -- 单端:AIN3 + +-- ==== PGA 增益(满量程范围)==== +ADS1115_PGA_6_144V = 0x0000 -- ±6.144V (1LSB=0.1875mV) +ADS1115_PGA_4_096V = 0x0200 -- ±4.096V (1LSB=0.125mV) +ADS1115_PGA_2_048V = 0x0400 -- ±2.048V (1LSB=0.0625mV)(默认) +ADS1115_PGA_1_024V = 0x0600 -- ±1.024V (1LSB=0.03125mV) +ADS1115_PGA_0_512V = 0x0800 -- ±0.512V (1LSB=0.015625mV) +ADS1115_PGA_0_256V = 0x0A00 -- ±0.256V (1LSB=0.0078125mV) + +-- ==== 数据速率 ==== +ADS1115_DR_8SPS = 0x0000 -- 8 SPS +ADS1115_DR_16SPS = 0x0020 -- 16 SPS +ADS1115_DR_32SPS = 0x0040 -- 32 SPS +ADS1115_DR_64SPS = 0x0060 -- 64 SPS +ADS1115_DR_128SPS = 0x0080 -- 128 SPS (默认) +ADS1115_DR_250SPS = 0x00A0 -- 250 SPS +ADS1115_DR_475SPS = 0x00C0 -- 475 SPS +ADS1115_DR_860SPS = 0x00E0 -- 860 SPS + +-- ==== 比较器队列(COMP_QUE)==== +ADS1115_COMP_QUE_1 = 0x0000 -- 1次后触发 +ADS1115_COMP_QUE_2 = 0x0001 -- 2次后触发 +ADS1115_COMP_QUE_4 = 0x0002 -- 4次后触发 +ADS1115_COMP_QUE_DISABLE = 0x0003 -- 禁用比较器(默认) + +-- ==== 操作模式 ==== +ADS1115_MODE_CONTINUOUS = 0x0000 -- 连续转换 +ADS1115_MODE_SINGLE = 0x0100 -- 单次转换(默认,省电) + +-- ==== 启动转换 ==== +ADS1115_OS_START = 0x8000 -- 启动单次转换 + +-- ADS1115 配置上下文 +ads1115_t = { + addr = 0x00, + config = 0x00, -- 16bits + fs_valtage = 0.0 -- 满量程电压(取决于PGA) +} + +-- PGA对应的满量程电压(单位:V) +pga_fs = { + 6.144, -- ADS1115_PGA_6_144V [0] + 4.096, -- ADS1115_PGA_4_096V [1] + 2.048, -- ADS1115_PGA_2_048V [2] + 1.024, -- ADS1115_PGA_1_024V [3] + 0.512, -- ADS1115_PGA_0_512V [4] + 0.256 -- ADS1115_PGA_0_256V [5] +} + +-- PGA 增益对应的满量程电压名 +pga_names = { + "±6.144V", -- [0] + "±4.096V", -- [1] + "±2.048V", -- [2] + "±1.024V", -- [3] + "±0.512V", -- [4] + "±0.256V" -- [5] +} + +-- 数据速率字符串 +dr_names = { + "8 SPS", -- [0] + "16 SPS", -- [1] + "32 SPS", -- [2] + "64 SPS", -- [3] + "128 SPS", -- [4] + "250 SPS", -- [5] + "475 SPS", -- [6] + "860 SPS" -- [7] +} + + + +-- I2C写2字节(大端) +function i2c_write_word(fd, reg, val) + i2c_write_reg(fd, reg + 0, (val >> 8) | 0xFF) + i2c_write_reg(fd, reg + 1, val & 0xFF) +end + +-- +-- 【配置脚本】 +-- FIXME(20260602-qing): 异常处理 +function build(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua builder func get a table --------") + print_table(data) + print("----------------------------------------------") + local fd = data.fd + + -- 检查文件句柄参数是否存在 + if fd == nil then + return { + result = "ERR", + message = "Invalid Arguments: fd" + } + end + + local addr = data.address + + -- 检查地址参数是否存在 + if addr == nil then + return { + result = "ERR", + message = "Invalid Arguments: addr" + } + end + + addr = tonumber(addr) + + -- 写进配置表 + ads1115.addr = addr + + + -- 开始配置PCA9685 + i2c_set_addr(fd, addr) + + -- 重启PCA9685 + i2c_write_reg(fd, 0x00, 0x80) + + -- 等待振荡器启动 + milli_sleep(5) + + i2c_write_reg(fd, 0x00, 0x10) -- 进入SLEEP模式(允许改频率) + i2c_write_reg(fd, 0xFE, math.floor(prescale)) + i2c_write_reg(fd, 0x00, 0x20) -- 退出SLEEP模式 + + -- 等待振荡器启动 + milli_sleep(5) + + -- 返回成功信号 + return { + result = "OK" + } + +end + +-- 【销毁PCA9685的脚本】 +-- 重置PCA9685 +-- NOTE(20260612-qing): 其实可以不需要,因为我们只是清空设置 +function destroy(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua ender func get a table --------") + print_table(data) + print("--------------------------------------------") + + local fd = data.fd + + -- 检查fd参数是否存在 + if fd == nil then + return { + result = "ERR", + message = "Invalid Arguments: fd" + } + end + + local addr = data.address + + -- 检查address参数是否存在 + if addr == nil then + return { + result = "ERR", + message = "Invalid Arguments: addr" + } + end + + addr = tonumber(addr) + + -- 准备配置 + i2c_set_addr(fd, addr) + + -- 重启PCA9685 + i2c_write_reg(fd, 0x00, 0x80) + + -- 返回成功信号 + return { + result = "OK" + } + +end + + +-- 【调用PCA9685】 +-- 将一个舵机通道转动到一个角度 +-- NOTE(20260612-qing): 接收一个参数(表),返回一个结果(表) +function call(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua caller func get a table --------") + print_table(data) + print("---------------------------------------------") + + + local fd = data.fd + + -- 检查fd参数是否存在 + if fd == nil then + return { + result = "ERR", + message = "Invalid Argument: fd" + } + end + + local addr = data.address + + -- 检查address参数是否存在 + if addr == nil then + return { + result = "ERR", + message = "Invalid Argument: addr" + } + end + + addr = tonumber(addr) + + local channel = data.channel + + -- 检查channel参数是否存在 + if channel == nil then + return { + result = "ERR", + message = "Invalid Argument: channel" + } + end + + local angle = data.angle + + -- 检查angle参数是否存在 + if angle == nil then + return { + result = "ERR", + message = "Invalid Argument: angle" + } + end + + print(string.format("Lua hardware drive set angle: %d", angle)) + + -- 设置I2C地址 + i2c_set_addr(fd, addr) + + -- 计算需要的参数 + local min = 0.5 -- 0度对应0.5ms + local max = 2.5 -- 180度对应2.5ms + local width = min + (max - min) * (angle / 180.0) + local offval = math.floor(width * 4096.0 / 20.0) + local reg = 0x06 + 4 * channel + + -- 写I2C寄存器 + i2c_write_reg(fd, reg + 0, (0 >> 0) & 0xFF) -- 1 * 8 + i2c_write_reg(fd, reg + 1, (0 >> 8) & 0xFF) -- 2 * 8 + i2c_write_reg(fd, reg + 2, (offval >> 0) & 0xFF) -- 3 * 8 + i2c_write_reg(fd, reg + 3, (offval >> 8) & 0xFF) -- 4 * 8 + + -- 返回字典 + return { + result = "OK" + } + +end + diff --git a/bot4cj/modules/ADS1256.lua b/bot4cj/modules/ADS1256.lua new file mode 100644 index 0000000..036eb19 --- /dev/null +++ b/bot4cj/modules/ADS1256.lua @@ -0,0 +1,10 @@ +-- ADS1256 模数转换器 - SPI接口 + +function build(data) +end + +function destroy(data) +end + +function call(data) +end diff --git a/bot4cj/modules/PCA9685.lua b/bot4cj/modules/PCA9685.lua new file mode 100644 index 0000000..4e4cddd --- /dev/null +++ b/bot4cj/modules/PCA9685.lua @@ -0,0 +1,223 @@ +-- PCA9685 PWM控制板 硬件脚本(测试) + + +-- 这个函数是辅助用的,它能够打印一张表出来 +function print_table(t, indent) + indent = indent or 0 + for k, v in pairs(t) do + if type(v) == 'table' then + print(string.rep(' ', indent) .. k .. ":") + print_table(v, indent + 2) + else + print(string.rep(' ', indent) .. k .. ": " .. tostring(v)) + end + end +end + + + + +-- 【配置脚本】 +-- 该脚本负责初始化PCA9685 +-- FIXME(20260602-qing): 异常处理 +function build(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua builder func get a table --------") + print_table(data) + print("----------------------------------------------") + local fd = data.fd + + -- 检查文件句柄参数是否存在 + if fd == nil then + return { + result = "ERR", + message = "Invalid Arguments: fd" + } + end + + local addr = data.address + + -- 检查地址参数是否存在 + if addr == nil then + return { + result = "ERR", + message = "Invalid Arguments: addr" + } + end + + addr = tonumber(addr) + + -- 设置PWM频率 + local freq = 50.0 + local prescale_val = 25000000.0 / (4096.0 * freq) - 1.0 -- 25MHz主频 + local prescale = prescale_val + 0.5 + + -- 开始配置PCA9685 + i2c_set_addr(fd, addr) + + -- 重启PCA9685 + i2c_write_reg(fd, 0x00, 0x80) + + -- 等待振荡器启动 + milli_sleep(5) + + i2c_write_reg(fd, 0x00, 0x10) -- 进入SLEEP模式(允许改频率) + i2c_write_reg(fd, 0xFE, math.floor(prescale)) + i2c_write_reg(fd, 0x00, 0x20) -- 退出SLEEP模式 + + -- 等待振荡器启动 + milli_sleep(5) + + -- 返回成功信号 + return { + result = "OK" + } + +end + +-- 【销毁PCA9685的脚本】 +-- 重置PCA9685 +-- NOTE(20260612-qing): 其实可以不需要,因为我们只是清空设置 +function destroy(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua ender func get a table --------") + print_table(data) + print("--------------------------------------------") + + local fd = data.fd + + -- 检查fd参数是否存在 + if fd == nil then + return { + result = "ERR", + message = "Invalid Arguments: fd" + } + end + + local addr = data.address + + -- 检查address参数是否存在 + if addr == nil then + return { + result = "ERR", + message = "Invalid Arguments: addr" + } + end + + addr = tonumber(addr) + + -- 准备配置 + i2c_set_addr(fd, addr) + + -- 重启PCA9685 + i2c_write_reg(fd, 0x00, 0x80) + + -- 返回成功信号 + return { + result = "OK" + } + +end + + +-- 【调用PCA9685】 +-- 将一个舵机通道转动到一个角度 +-- NOTE(20260612-qing): 接收一个参数(表),返回一个结果(表) +function call(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua caller func get a table --------") + print_table(data) + print("---------------------------------------------") + + + local fd = data.fd + + -- 检查fd参数是否存在 + if fd == nil then + return { + result = "ERR", + message = "Invalid Argument: fd" + } + end + + local addr = data.address + + -- 检查address参数是否存在 + if addr == nil then + return { + result = "ERR", + message = "Invalid Argument: addr" + } + end + + addr = tonumber(addr) + + local channel = data.channel + + -- 检查channel参数是否存在 + if channel == nil then + return { + result = "ERR", + message = "Invalid Argument: channel" + } + end + + local angle = data.angle + + -- 检查angle参数是否存在 + if angle == nil then + return { + result = "ERR", + message = "Invalid Argument: angle" + } + end + + print(string.format("Lua hardware drive set angle: %d", angle)) + + -- 设置I2C地址 + i2c_set_addr(fd, addr) + + -- 计算需要的参数 + local min = 0.5 -- 0度对应0.5ms + local max = 2.5 -- 180度对应2.5ms + local width = min + (max - min) * (angle / 180.0) + local offval = math.floor(width * 4096.0 / 20.0) + local reg = 0x06 + 4 * channel + + -- 写I2C寄存器 + i2c_write_reg(fd, reg + 0, (0 >> 0) & 0xFF) -- 1 * 8 + i2c_write_reg(fd, reg + 1, (0 >> 8) & 0xFF) -- 2 * 8 + i2c_write_reg(fd, reg + 2, (offval >> 0) & 0xFF) -- 3 * 8 + i2c_write_reg(fd, reg + 3, (offval >> 8) & 0xFF) -- 4 * 8 + + -- 返回字典 + return { + result = "OK" + } + +end + diff --git a/bot4cj/modules/SPI.lua b/bot4cj/modules/SPI.lua new file mode 100644 index 0000000..9f2a3e7 --- /dev/null +++ b/bot4cj/modules/SPI.lua @@ -0,0 +1,163 @@ +-- SPI 硬件 + +-- +SPI_SUCCESS = 0 +SPI_FAILED = 1 + +-- 全局文件句柄 +fd = 0 + +-- 这个函数是辅助用的,它能够打印一张表出来 +function print_table(t, indent) + indent = indent or 0 + for k, v in pairs(t) do + if type(v) == 'table' then + print(string.rep(' ', indent) .. k .. ":") + print_table(v, indent + 2) + else + print(string.rep(' ', indent) .. k .. ": " .. tostring(v)) + end + end +end + + + +function build(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- SPI.Lua builder func get a table --------") + print_table(data) + print("--------------------------------------------------") + local path = data.path + + -- 检查文件句柄参数是否存在 + if path == nil then + return { + result = "ERR", + message = "Invalid Arguments: path" + } + end + + -- 模式 + local spi_mode = data.spi_mode + if spi_mode == nil then + return { + result = "ERR", + message = "Invalid Arguments: spi_mode" + } + end + print(spi_mode) + spi_mode = tonumber(spi_mode) + + -- 比特 + local bits = data.bits + if bits == nil then + return { + result = "ERR", + message = "Invalid Arguments: bits" + } + end + bits = tonumber(bits) + + + -- 速率 + local speed = data.speed + if speed == nil then + return { + result = "ERR", + message = "Invalid Arguments: speed" + } + end + speed = tonumber(speed) + + -- + local delay = data.delay + if delay == nil then + return { + result = "ERR", + message = "Invalid Arguments: delay" + } + end + delay = tonumber(delay) + + -- 开始执行 + fd = spi_open(path) + if fd <= 0 then + return { + result = "ERR", + message = "Failed to open SPI file" + } + end + + local res = spi_setup(fd, spi_mode, bits, speed, delay) + if res ~= 0 then + return { + result = "ERR", + message = "Failed to setup SPI device" + } + end + + return { + result = "OK", + fd = fd + } + +end + + + + +function destroy(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- SPI.Lua ender func get a table --------") + print_table(data) + print(string.format("now fd: %i", fd)) + print("------------------------------------------------") + + spi_close(fd) + fd = -1 + + return { + result = "OK" + } + +end + + + + + +function call(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- SPI.Lua caller func get a table --------") + print_table(data) + print("-------------------------------------------------") + + return { + fd = fd + } + +end diff --git a/bot4cj/modules/TEST.lua b/bot4cj/modules/TEST.lua new file mode 100644 index 0000000..3dc8abd --- /dev/null +++ b/bot4cj/modules/TEST.lua @@ -0,0 +1,86 @@ +-- PCA9685 PWM控制板 硬件脚本(测试) + +-- 这个函数是辅助用的,它能够打印一张表出来 +function print_table(t, indent) + indent = indent or 0 + for k, v in pairs(t) do + if type(v) == 'table' then + print(string.rep(' ', indent) .. k .. ":") + print_table(v, indent + 2) + else + print(string.rep(' ', indent) .. k .. ": " .. tostring(v)) + end + end +end + + + + +-- 【配置脚本】 +function build(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua builder func get a table --------") + print_table(data) + print("----------------------------------------------") + + -- 返回成功信号 + return { + result = "OK" + } + +end + +-- 【销毁用的脚本】 +function destroy(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua ender func get a table --------") + print_table(data) + print("--------------------------------------------") + + + -- 返回成功信号 + return { + result = "OK" + } + +end + + +-- 【调用的脚本】 +function call(data) + + -- 检查该参数是否是一张表 + if type(data) ~= "table" then + return { + result = "ERR", + message = "Invalid Arguments: table" + } + end + + print("-------- Lua caller func get a table --------") + print_table(data) + print("---------------------------------------------") + + -- 返回字典 + return { + result = "OK" + } + +end + diff --git a/bot4cj/run.ps1 b/bot4cj/run.ps1 new file mode 100644 index 0000000..27b46c9 --- /dev/null +++ b/bot4cj/run.ps1 @@ -0,0 +1 @@ +cjpm run --run-args="$($args -join ' ')" \ No newline at end of file diff --git a/bot4cj/scripts/jump.mt b/bot4cj/scripts/jump.mt new file mode 100644 index 0000000..409ebda --- /dev/null +++ b/bot4cj/scripts/jump.mt @@ -0,0 +1,55 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - 10 - 10 - 10 - 10 - - - 20; + - 20 - 20 - 20 - 20 - - - 20; + - 30 - 30 - 30 - 30 - - - 20; + 45 0 45 0 45 0 45 0 90 90 10 200; # stand +@ diff --git a/bot4cj/scripts/left-hand.mt b/bot4cj/scripts/left-hand.mt new file mode 100644 index 0000000..2494af0 --- /dev/null +++ b/bot4cj/scripts/left-hand.mt @@ -0,0 +1,54 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - - - - - - - - - - 400 200; + 0 - - - - - - 150 - - 1000 1000; + 45 - - - - - - 0 - - 10 20; +@ diff --git a/bot4cj/scripts/left-turn.mt b/bot4cj/scripts/left-turn.mt new file mode 100644 index 0000000..5b2b2dd --- /dev/null +++ b/bot4cj/scripts/left-turn.mt @@ -0,0 +1,63 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - 45 - - - 45 - - - - - 100; + 90 - - - 90 - - - - - - 50; # stand +# + - 0 - - - 0 - - - - - 50; + - - - 45 - - - 45 - - - 100; + 45 - - - 45 - - - - - - 10; + - - 0 - - - 0 - - - - 50; +# + - - - 0 - - - 0 - - - 50; + - 45 - - - 45 - - - - - 100; + - - 45 - - - 45 - - - - 10; + - 0 - - - 0 - - - - - 50; +@ diff --git a/bot4cj/scripts/left.bot b/bot4cj/scripts/left.bot new file mode 100644 index 0000000..205c659 --- /dev/null +++ b/bot4cj/scripts/left.bot @@ -0,0 +1,53 @@ +# ONE STEP +# +# legs | neck | free | speaker | delay +~s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 - - - - - - spk delay; # column name +!90 180 -90 -180 90 180 -90 -180 180 180 - - - - - - 5000 1000; # 4-legs spider robot +!- - - - - - - - - 90 - - - - - - - -; # 4-legs spider robot +!- - - - - - - - - - - - - - - - - -; # offset +45 - 45 - 45 - 45 - 90 90 - - - - - - 1000 100; # stand + - - - - - - - - - - - - - - - - 1000 -; # stand + + - - - 30 - - - 30 - - - - - - - - 0 50; # right behind up & left front up + - - 40 - - - 90 - - - - - - - - - - -; # right behind forward & left front forward + - - - 0 - - - 0 - - - - - - - - - -; # right behind down & left front down + - 30 - - - 30 - - - - - - - - - - - -; # right front up & left behind up + 0 - 90 - 90 - 0 - - - - - - - - - - -; # right front forward & left behind forward + - 0 - - - 0 - - - - - - - - - - - -; # right front down & left behind down + +90 - - 30 40 - - 30 - - - - - - - - - -; # right behind up & left front up + - - 40 - - - 90 - - - - - - - - - - -; # right behind forward & left front forward + - - - 0 - - - 0 - - - - - - - - - -; # right behind down & left front down + - 30 - - - 30 - - - - - - - - - - - -; # right front up & left behind up + 0 - 90 - 90 - 0 - - - - - - - - - - -; # + - 0 - - - 0 - - - - - - - - - - - -; # + +90 - - 30 40 - - 30 - - - - - - - - - -; # right behind up & left front up + - - 40 - - - 90 - - - - - - - - - - -; # right behind forward & left front forward + - - - 0 - - - 0 - - - - - - - - - -; # right behind down & left front down + - 30 - - - 30 - - - - - - - - - - - -; # right front up & left behind up + 0 - 90 - 90 - 0 - - - - - - - - - - -; # + - 0 - - - 0 - - - - - - - - - - - -; # + +90 - - 30 40 - - 30 - - - - - - - - - -; # right behind up & left front up + - - 40 - - - 90 - - - - - - - - - - -; # right behind forward & left front forward + - - - 0 - - - 0 - - - - - - - - - -; # right behind down & left front down + - 30 - - - 30 - - - - - - - - - - - -; # right front up & left behind up + 0 - 90 - 90 - 0 - - - - - - - - - - -; # + - 0 - - - 0 - - - - - - - - - - - -; # + +90 - - 30 40 - - 30 - - - - - - - - - -; # right behind up & left front up + - - 40 - - - 90 - - - - - - - - - - -; # right behind forward & left front forward + - - - 0 - - - 0 - - - - - - - - - -; # right behind down & left front down + - 30 - - - 30 - - - - - - - - - - - -; # right front up & left behind up + 0 - 90 - 90 - 0 - - - - - - - - - - -; # + - 0 - - - 0 - - - - - - - - - - - -; # + +90 - - 30 40 - - 30 - - - - - - - - - -; # right behind up & left front up + - - 40 - - - 90 - - - - - - - - - - -; # right behind forward & left front forward + - - - 0 - - - 0 - - - - - - - - - -; # right behind down & left front down + - 30 - - - 30 - - - - - - - - - - - -; # right front up & left behind up +45 - 45 - 45 - 45 - - - - - - - - - - -; # right front forward & left behind forward + - 0 - - - 0 - - - - - - - - - - - -; # right front down & left behind down + + diff --git a/bot4cj/scripts/lie-down.mt b/bot4cj/scripts/lie-down.mt new file mode 100644 index 0000000..6259a21 --- /dev/null +++ b/bot4cj/scripts/lie-down.mt @@ -0,0 +1,56 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - 10 - 10 - 10 - 10 - - - 20; + - 15 - 15 - 15 - 15 - - - 20; + - 20 - 20 - 20 - 20 - - - 20; + - 25 - 25 - 25 - 25 - - - 20; + - 30 - 30 - 30 - 30 - - - 20; +@ diff --git a/bot4cj/scripts/nintyd.bot b/bot4cj/scripts/nintyd.bot new file mode 100644 index 0000000..836ecd1 --- /dev/null +++ b/bot4cj/scripts/nintyd.bot @@ -0,0 +1,26 @@ +# SNNEAK +# legs | neck | free | delay +~s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 - - - - - - spk delay; # column name +!90 180 -90 -180 90 180 -90 -180 180 180 - - - - - - 5000 1000; # 4-legs spider robot +! - - - - - - - - - - - - - - - - - -; # 4-legs spider robot +! - - - - - - - - - - - - - - - - - -10; # offset +# 俯卧撑 +# + 90 0 90 0 90 0 90 0 90 90 - - - - - - 1000 200; + - 5 - 5 - 5 - 5 - - - - - - - - 0 50; + - 10 - 10 - 10 - 10 - - - - - - - - - -; + - 15 - 15 - 15 - 15 - - - - - - - - - -; + - 20 - 20 - 20 - 20 - - - - - - - - - -; + - 25 - 25 - 25 - 25 - - - - - - - - - -; + - 30 - 30 - 30 - 30 - - - - - - - - - -; + - 35 - 35 - 35 - 35 - - - - - - - - - -; + +#r + - 35 - 35 - 35 - 35 - - - - - - - - 1000 200; + - 30 - 30 - 30 - 30 - - - - - - - - 0 50; + - 25 - 25 - 25 - 25 - - - - - - - - - -; + - 20 - 20 - 20 - 20 - - - - - - - - - -; + - 15 - 15 - 15 - 15 - - - - - - - - - -; + - 10 - 10 - 10 - 10 - - - - - - - - - -; + - 5 - 5 - 5 - 5 - - - - - - - - - -; + - 0 - 0 - 0 - 0 - - - - - - - - - -; diff --git a/bot4cj/scripts/rght-hand.mt b/bot4cj/scripts/rght-hand.mt new file mode 100644 index 0000000..45d2a42 --- /dev/null +++ b/bot4cj/scripts/rght-hand.mt @@ -0,0 +1,54 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - - - - - 0 - - - - 400 200; + - - 0 - - 150 - - - - 1000 1000; + - - 45 - - 0 - - - - 10 20; +@ diff --git a/bot4cj/scripts/rght.bot b/bot4cj/scripts/rght.bot new file mode 100644 index 0000000..203c9ee --- /dev/null +++ b/bot4cj/scripts/rght.bot @@ -0,0 +1,56 @@ +# ONE STEP +# legs | neck | free | delay +~s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 - - - - - - spk delay; # column name +!90 180 -90 -180 90 180 -90 -180 180 180 - - - - - - 5000 1000; # 4-legs spider robot +! - - - - - - - - - - - - - - - - - -; # 4-legs spider robot +! - - - - - - - - - - - - - - - - - -; # offset + + + 45 - 45 - 45 - 45 - 90 90 - - - - - - 1000 100; # stand + - - - - - - - - - - - - - - - - - -; # stand + +#---------------------------------------------------------------- + - 30 - - - 25 40 - - - - - - - - - 0 50; + 0 - - - 90 - - - - - - - - - - - - -; + - 0 - - - 0 - - - - - - - - - - - -; + - - - 25 - - - 30 - - - - - - - - - -; + 50 - 0 - 0 - 90 - - - - - - - - - - -; + - - - 0 - - - 0 - - - - - - - - - -; + +#---------------------------------------------------------------- + + - 30 90 - - 25 40 - - - - - - - - - - -; + 0 - - - 90 - - - - - - - - - - - - -; + - 0 - - - 0 - - - - - - - - - - - -; + - - - 25 - - - 30 - - - - - - - - - -; + 50 - 0 - 0 - 90 - - - - - - - - - - -; + - - - 0 - - - 0 - - - - - - - - - -; + + - 30 90 - - 25 40 - - - - - - - - - - -; + 0 - - - 90 - - - - - - - - - - - - -; + - 0 - - - 0 - - - - - - - - - - - -; + - - - 25 - - - 30 - - - - - - - - - -; + 50 - 0 - 0 - 90 - - - - - - - - - - -; + - - - 0 - - - 0 - - - - - - - - - -; + + - 30 90 - - 25 40 - - - - - - - - - - -; + 0 - - - 90 - - - - - - - - - - - - -; + - 0 - - - 0 - - - - - - - - - - - -; + - - - 25 - - - 30 - - - - - - - - - -; + 50 - 0 - 0 - 90 - - - - - - - - - - -; + - - - 0 - - - 0 - - - - - - - - - -; + + - 30 90 - - 25 40 - - - - - - - - - - -; + 0 - - - 90 - - - - - - - - - - - - -; + - 0 - - - 0 - - - - - - - - - - - -; + - - - 25 - - - 30 - - - - - - - - - -; + 50 - 0 - 0 - 90 - - - - - - - - - - -; + - - - 0 - - - 0 - - - - - - - - - -; + +#---------------------------------------------------------------- + - 30 90 - - 25 40 - - - - - - - - - - -; + 0 - - - 90 - - - - - - - - - - - - -; + - 0 - - - 0 - - - - - - - - - - - -; + - - - 25 - - - 30 - - - - - - - - - -; + 45 - 45 - 45 - 45 - - - - - - - - - - -; + - - - 0 - - - 0 - - - - - - - - - -; diff --git a/bot4cj/scripts/std.mt b/bot4cj/scripts/std.mt new file mode 100644 index 0000000..3e4f7c2 --- /dev/null +++ b/bot4cj/scripts/std.mt @@ -0,0 +1,51 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand +@ diff --git a/bot4cj/scripts/stdd.mt b/bot4cj/scripts/stdd.mt new file mode 100644 index 0000000..3dd0d66 --- /dev/null +++ b/bot4cj/scripts/stdd.mt @@ -0,0 +1,57 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - 10 - 10 - 10 - 10 - - - 50; + - 20 - 20 - 20 - 20 - - - -; + - 30 - 30 - 30 - 30 - - - -; + - 20 - 20 - 20 - 20 - - - -; + - 10 - 10 - 10 - 10 - - - -; + - 0 - 0 - 0 - 0 - - - 200; # stand +@ diff --git a/bot4cj/scripts/t0.mt b/bot4cj/scripts/t0.mt new file mode 100644 index 0000000..e612ca1 --- /dev/null +++ b/bot4cj/scripts/t0.mt @@ -0,0 +1,56 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +#i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + 90 - - - - - - - - - - 20; # left-behind + + 45 - - - - - - - - - 0 500; # stand + - - 90 - - - 45 - - - - 20; # right-behind + + - - 45 - - - - - - 45 200 500; # stand + - - - - 90 - - - - - 0 20; # right-front + + - - - - 45 - - - - - - 500; # stand + - - - - - - 90 - - - - 20; # left-front + + - - - - - - 45 - - - - 500; # stand + - - - - - - - - - 90 - 20; # stand +@ diff --git a/bot4cj/scripts/t1.mt b/bot4cj/scripts/t1.mt new file mode 100644 index 0000000..0babd10 --- /dev/null +++ b/bot4cj/scripts/t1.mt @@ -0,0 +1,21 @@ +# 无硬件情况下的测试脚本 + + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@TEST +name parameter0 patameter1; + t0 p0 p1; + t1 p2 p3; +@ + + +@Action +t0.A t1.F; + 10 20; +@ diff --git a/bot4cj/scripts/tilt-b.mt b/bot4cj/scripts/tilt-b.mt new file mode 100644 index 0000000..07bbebb --- /dev/null +++ b/bot4cj/scripts/tilt-b.mt @@ -0,0 +1,57 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - 10 - 10 - - - - - - - 50; + - 20 - 20 - - - - - - - -; + - 30 - 30 - - - - - - - -; + - 20 - 20 - - - - - - - -; + - 10 - 10 - - - - - - - -; + - 0 - 0 - - - - - - - 200; # stand +@ diff --git a/bot4cj/scripts/tilt-f.mt b/bot4cj/scripts/tilt-f.mt new file mode 100644 index 0000000..26a728c --- /dev/null +++ b/bot4cj/scripts/tilt-f.mt @@ -0,0 +1,57 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - - - - - 10 - 10 - - - 50; + - - - - - 20 - 20 - - - -; + - - - - - 30 - 30 - - - -; + - - - - - 20 - 20 - - - -; + - - - - - 10 - 10 - - - -; + - - - - - 0 - 0 - - - 200; # stand +@ diff --git a/bot4cj/scripts/tilt-l.mt b/bot4cj/scripts/tilt-l.mt new file mode 100644 index 0000000..7d0c219 --- /dev/null +++ b/bot4cj/scripts/tilt-l.mt @@ -0,0 +1,57 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - 10 - - - - - 10 - - - 50; + - 20 - - - - - 20 - - - -; + - 30 - - - - - 30 - - - -; + - 20 - - - - - 20 - - - -; + - 10 - - - - - 10 - - - -; + - 0 - - - - - 0 - - - 200; # stand +@ diff --git a/bot4cj/scripts/tilt-r.mt b/bot4cj/scripts/tilt-r.mt new file mode 100644 index 0000000..ffce973 --- /dev/null +++ b/bot4cj/scripts/tilt-r.mt @@ -0,0 +1,57 @@ + +# 在 @Action 矩阵中,硬件变量的参数可以使用别名 +@Alias +name alias; + A angle; + F frequency; +@ + +@I2C + name path; +i2c-0 /dev/i2c-0; +i2c-1 /dev/i2c-1; +@ + +@PCA9685 + name I2C address; +pca9685-0 i2c-1 0x40; +@ + +@MPU6050_BIND + name I2C addr; +#mpu6050-0 i2c-1 0x69; +#mpu6050-1 i2c-1 0x68; +#mpu6050-2 i2c-0 0x68; +#mpu6050-3 i2c-0 0x69; +@ + +@Speaker +name channels sample_rate volumn max_f min_f; + spk 2 48000 0.6 5000 -; +@ + +@Servo + name max min offset controller channel; + s1 90 - - pca9685-0 0; # rb0 + s2 180 - - - 1; # rb1 + s3 -90 - - - 2; # lb0 + s4 -180 - - - 3; # lb1 + s5 90 - - - 4; # lf0 + s6 180 - - - 5; # lf1 + s7 -90 - - - 6; # rf0 + s8 -180 - - - 7; # rf1 + s9 180 - - - 8; # cam0 + s10 180 - - - 9; # cam1 +@ + +# 行动矩阵 +@Action +s1.A s2.A s3.A s4.A s5.A s6.A s7.A s8.A s9.A s10.A spk.F spk.delay; # column name + 45 - 45 - 45 - 45 - 90 90 10 200; # stand + - - - 10 - 10 - - - - - 50; + - - - 20 - 20 - - - - - -; + - - - 30 - 30 - - - - - -; + - - - 20 - 20 - - - - - -; + - - - 10 - 10 - - - - - -; + - - - 0 - 0 - - - - - 200; # stand +@ diff --git a/bot4cj/scripts/zerod.bot b/bot4cj/scripts/zerod.bot new file mode 100644 index 0000000..5a66bb7 --- /dev/null +++ b/bot4cj/scripts/zerod.bot @@ -0,0 +1,29 @@ +# SNNEAK +# legs | neck | free | delay +#lb rb rf lf +~s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 - - - - - - spk delay; # column name +!90 180 -90 -180 90 180 -90 -180 180 180 - - - - - - 5000 1000; # 4-legs spider robot +! - - - - - - - - - - - - - - - - - -; # 4-legs spider robot +! - - - - - - - - - - - - - - - - - -; # 4-legs spider robot + +# 俯卧撑 +# + - 0 - 0 - 0 - 0 90 90 - - - - - - 1000 200; + - 5 - 5 - 5 - 5 - - - - - - - - 0 50; + - 10 - 10 - 10 - 10 - - - - - - - - - -; + - 15 - 15 - 15 - 15 - - - - - - - - - -; + - 20 - 20 - 20 - 20 - - - - - - - - - -; + - 25 - 25 - 25 - 25 - - - - - - - - - -; + - 30 - 30 - 30 - 30 - - - - - - - - - -; + - 35 - 35 - 35 - 35 - - - - - - - - - -; + +#r + - 35 - 35 - 35 - 35 - - - - - - - - 1000 200; + - 30 - 30 - 30 - 30 - - - - - - - - 0 50; + - 25 - 25 - 25 - 25 - - - - - - - - - -; + - 20 - 20 - 20 - 20 - - - - - - - - - -; + - 15 - 15 - 15 - 15 - - - - - - - - - -; + - 10 - 10 - 10 - 10 - - - - - - - - - -; + - 5 - 5 - 5 - 5 - - - - - - - - - -; + - 0 - 0 - 0 - 0 - - - - - - - - - -; + diff --git a/bot4cj/src/P.cj b/bot4cj/src/P.cj new file mode 100644 index 0000000..56f4ada --- /dev/null +++ b/bot4cj/src/P.cj @@ -0,0 +1,263 @@ +package bot4cj +import std.io.* +import std.math.* +import std.convert.* +import std.collection.* +import bot4cj.math.* + +/* -------- 矩阵编程语言 - 基本对象 -------- + * TODO:增加储存到文件系统的功能 + * TODO:神经网络层转换为矩阵对象 + -------- */ +class MatrixObject { + private var name: String = "" /* -------- 名字 -------- */ + private var tmp = ArrayList() /* ---- rune buf 字符缓冲区 ---- */ + private var grp = ArrayList() /* ---- one line 整行缓冲区 ---- */ + private var values = ArrayList>() /* ---- 原始矩阵 ---- */ + + /* -------- 是否已命名 -------- */ + public func hasName(): Bool { !(name == "") } + + /* --------- 获得名字 --------- */ + public func getName(): String { return name } + + /* ------- 取动作的长度 ------- */ + public mut prop size: Int64 { + get() { values.size } + set(_) {} + } + + /* -------- 取动作的列数 -------- */ + public mut prop col: Int64 { + get() { + if (this.size > 0) { + return values[0].size } + else { return 0 } + } + + + set(_) {} + } + + /* ------- 获取矩阵元素,只能取,不能修改 ------- */ + public operator func [](row: Int64, col: Int64): String { + return values[row][col] + } + + /** -- 在某一行中寻找某一个字符串的列号 -- */ + public func indexOfCol(row: Int64, key: String): Int64 { + for (col in 0..values[row].size) { + if (values[row][col] == key) { + return col } + } + + /* ---- 没找到 ---- */ + throw IllegalArgumentException("The key does not found.") + } + + /* ----- 储存对象 ----- */ + public func save(output: StringWriter) { + output.writeln("@${getName()}") + for (vec in values) { + for (item in vec) { + output.write(item) + output.write(" ") + } + output.writeln(";") + } + output.writeln("@") + } + + /* -------- 添加字符 -------- */ + public func addRune(c: Rune) { tmp.add(c) } + + /* -------- 提交名字 -------- */ + public func submitName() { + if (tmp.size == 0) { return } + let s = String(tmp) + tmp.clear() + name = s + } + + /* -------- 提交元素 -------- */ + public func submitItem() { + if (tmp.size == 0) { return } + let s = String(tmp) + tmp = ArrayList() + grp.add(s) + } + + /* -------- 提交行 -------- */ + public func submitLine(count: Int64) { + if (grp.size == 0) { return } + if (!values.size == 0 && !grp.size == values[values.size - 1].size) + { throw DoesNotSync(count) } + values.add(grp) + grp = ArrayList() + } +} + +/* ---------------- 对Nn1进行扩展 ---------------- */ +extend Nn1 { + /* -------- 转换为MatrixObject对象 -------- */ + public func toMto(): MatrixObject { + let mto = MatrixObject() + return mto + } +} + +/* -------- 矩阵式解析器 -------- + * TODO(20260514-qing): 这个类输入流数据,输出MatrixObject对象 + * 它是与其深度绑定的,我倾向于将其与MatrixObject融合 + * 即持有HashMap>> */ +class MatrixParser { + + /* ---- 静态判断Option是否有值 ---- + - 该方法用于文本文件遍历时判空 */ + private static func hasValue(co: Option): Bool { + match(co) { + case Some(_) => true + case None => false + } + } + + /* -------- 主初始化器(构造函数) -------- + - 设置目标输入流 */ + private var input: StringReader + public init(input: StringReader) { + this.input = input } + + /* -------- 切换目标输入流 -------- */ + public func reset(input: StringReader) { + this.input = input } + + /* -------- 解析器 - 循环不变式 ---------------------- + * -------- 初始化: ss是一个动作脚本的输入流 -------- + * -------- 保持: ss是动作脚本剩余部分的输入流 ------ + * -------- 终止: 当输入流为空时,循环终止 ---------- */ + private var obj = MatrixObject() + public func parse(): Option { + var count = 1i64 /* 行计数器始于1 */ + flag = false /* 重置结束标志 */ + this.obj = MatrixObject() /* 创建一个新的对象,一次只解析一个对象 */ + var so = input.read() /* 获取初始状态 */ + while (!flag && hasValue(so)) { + try { + let s = so.getOrThrow() + print(s) /* debug */ + count = _next(s, count) /* 进行解析解析 */ + so = input.read() /* 为下一次循环提供条件 */ + } + catch (exp: BufOverTheLine) { throw exp } + catch (exp: IllegalArgumentException) { throw IllegalArgumentException("Parse failed at line ${count}") } + catch (exp: Exception) { throw UnknowExcept(count) } /* FIXME: 还是暴露出原来的错误位置来更好? */ + } + + /* 如果没有新的矩阵式对象(意外终止)则返回空 */ + if (!obj.hasName()) { return None } + return obj /* 否则为解析成功正常退出,返回解析到的矩阵式对象 */ + } + + private var flag = false /* 结束标志 */ + private var nl: Bool = true /* new line */ + private var cm: Bool = false /* comment */ + private var nm: Bool = false /* name-line */ + private func _next(c: Rune, ct: Int64): Int64 { + var count = ct + /* ------------ COMMENTS ------------ */ + if (!cm && c == r'#') { cm = true } /* 注释开始时 */ + else if (cm && c == r'\n') { /* 注释结束时 */ + nl = true + cm = false + count += 1 + } + else if (cm && c != r'\n') { ; } /* 注释进行时 */ + /* FIXME: EOF情况 */ + /* ------------ new line ------------ */ + else if (nl && (c == r' ' || c == r'\t' || c == r'\r')) { ; } /* 新行空字符,维持现状 */ + else if (nl && c == r'\n') { /* 新行空行 */ + count += 1 + } + else if (nl && c == r'@' && !obj.hasName()) { + nl = false + nm = true + } + else if (nl && c == r'@' && obj.hasName()) { + flag =true + nl = false + nm = true + } + else if (nl && c != r'@') { /* 新行内容 */ + nl = false + obj.addRune(c) + } + /* ------------- not nl ------------- */ + else if (!nl && nm && (c == r' ' || c == r'\t' || c == r'\n')) { /* 添加名字 */ + obj.submitName() + nl = true + nm = false + } + else if (!nl && !nm && (c == r' ' || c == r'\t' || c == r"\n")) { /* 添加命名项 */ + obj.submitItem() + if (c == r"\n") { count += 1 } + } + else if (!nl && c == r';') { /* 普通行结束 */ + obj.submitItem() + obj.submitLine(count) + nl = true + } + else if (!nl) { // 非空格、非制表符、非分号 + obj.addRune(c) + } + + /* -------- 返回行号 -------- */ + return count + } + +} + +/* -------- 矩阵式储存器 -------- + * - 接收矩阵式的哈希表(HashMap) + * - 以及一个输出流(在构造函数)。 */ +class MatrixSaver { + private let stringWriter: StringWriter + public init(output: OutputStream) { + stringWriter = StringWriter(output) } + public func save(C: LinkedList) { + for (item in C) { + item.save(stringWriter) + stringWriter.writeln() /* 对象之间空一行 */ + stringWriter.flush() } + } +} + + +/* --------------------------------------------------------- */ +/* --------------------------------------------------------- */ +/* TODO(20260516-qing): 继续完善异常种类 */ + +/* -------- 解析异常 -------- */ +open class ParseExcept <: Exception { + public ParseExcept(msg: String, line: Int64) { + super('${msg}. we got line: ${line}') } +} + +/* -------- 缓冲区过长 -------- */ +class BufOverTheLine <: ParseExcept { + BufOverTheLine(count: Int64) { + super('Buffer length over the line', count) } +} + +/* -------- 行没对齐 -------- */ +class DoesNotSync <: ParseExcept { + DoesNotSync(count: Int64) { + super("Matrix Line Does Not Sync", count) } +} + +/* -------- 未知异常 -------- */ +class UnknowExcept <: ParseExcept { + UnknowExcept(count: Int64) { + super("I don't understand what happened", count) } +} + + diff --git a/bot4cj/src/cpp/I2C.c b/bot4cj/src/cpp/I2C.c new file mode 100644 index 0000000..5de87c6 --- /dev/null +++ b/bot4cj/src/cpp/I2C.c @@ -0,0 +1,152 @@ +/* + * i2c - 用户界面 + * + * 这里已经提供了I2C通用接口,可以将上层代码移动到仓颉下面 + */ + +#include +#include +#include +#ifdef __linux__ +#include +#include +#include /* 其中宏的取值可能具有平台特异性 */ +#include +#endif + +#include "bot4cj.h" /* 有没有可能在仓颉代码中解析C头文件取得宏 */ + + +/* + * 初始化i2c设备 + * + * 动态指定设备文件 + * + * 返回打开的文件句柄或者错误码 + */ +#ifdef __linux__ +int16_t I2C_init(const char* filepath) { + int16_t fd; + if ((fd = open(filepath, O_RDWR)) < 0) { + perror("Failed to open I2C bus"); + return BOT4CJ_I2C_OPENED_FAILED; + } + else { + return fd; + } +} +#endif +#ifdef _WIN64 +int16_t I2C_init(const char* filepath) { + return BOT4CJ_I2C_OPENED_FAILED; +} +#endif + +/* 释放I2C设备文件 */ +#ifdef __linux__ +void I2C_free(int16_t fd) { + close(fd); +} +#endif +#ifdef _WIN64 +void I2C_free(int16_t fd) { + /* Windows平台下无需操作 */ +} +#endif + + + +/* 设置I2C地址 */ +#ifdef __linux__ +int I2C_setAddr(int16_t fd, uint8_t addr) { + if (ioctl(fd, I2C_SLAVE, addr) < 0) { + perror("Failed to set I2C address"); + return BOT4CJ_I2C_ERR; + } + else { + return BOT4CJ_I2C_OK; + } +} +#endif +#ifdef _WIN64 +int I2C_setAddr(int16_t fd, uint8_t addr) { + return BOT4CJ_I2C_ERR; +} +#endif + +/* 写寄存器 */ +#ifdef __linux__ +int I2C_writeReg(int16_t fd, uint8_t reg, uint8_t val) { + /*uint8_t buf[] = {reg, val}; + if (write(fd, buf, 2) != 2) { + perror("I2C write error"); + return BOT4CJ_I2C_ERR; + } + else { + return BOT4CJ_I2C_OK; + }*/ + + return i2c_smbus_write_byte_data(fd, reg, val); +} +#endif +#ifdef _WIN64 +int I2C_writeReg(int16_t fd, uint8_t reg, uint8_t val) { + return BOT4CJ_I2C_ERR; +} +#endif + +/* 读寄存器 失败返回0 */ +#ifdef __linux__ +uint8_t I2C_readReg(int16_t fd, uint8_t reg) { + + uint8_t value; + + /*if (write(fd, ®, 1) != 1) { + perror("I2C read error"); + return 0; + } + + if (read(fd, &value, 1)!= 1) { + perror("I2C read error"); + return 0; + }*/ + + //return value; + + int8_t a = i2c_smbus_read_byte_data(fd, reg); + return *(uint8_t *)& a; +} +#endif +#ifdef _WIN64 +uint8_t I2C_readReg(int16_t fd, uint8_t reg) { + return 0; +} +#endif + +/* 读寄存器 - 有符号 + * 失败返回0 */ +#ifdef __linux__ +int8_t I2C_readRegFlag(int16_t fd, uint8_t reg) { + + int8_t value; + + //if (write(fd, ®, 1) != 1) { + //perror("I2C read error"); + //return 0; + //} + + //if (read(fd, &value, 1)!= 1) { + //perror("I2C read error"); + //return 0; + //} + + //return value; + + return i2c_smbus_read_byte_data(fd, reg); +} +#endif +#ifdef _WIN64 +int8_t I2C_readRegFlag(int16_t fd, uint8_t reg) { + return 0; +} +#endif diff --git a/bot4cj/src/cpp/Matrix.cpp b/bot4cj/src/cpp/Matrix.cpp new file mode 100644 index 0000000..cfa0da0 --- /dev/null +++ b/bot4cj/src/cpp/Matrix.cpp @@ -0,0 +1,516 @@ +#include +#include +#include "Matrix.hh" + +namespace qing { + + template + Matrx::Matrx(): row(0), col(0) {} + + template + Matrx::Matrx(const uint64_t row, const uint64_t col) + : row(row), col(col) { /* 该构造函数用于从头开始构造 */ + arr = std::vector(col * row); + } + + template + Matrx::Matrx(const uint64_t row, const uint64_t col, const std::vector& src) + : row(row), col(col) { /* 该构造函数用于通过已有的vector进行构造 */ + arr = src; + } + + template + const T& Matrx::get(uint64_t row, uint64_t col) const { /* 访问器 - 访问矩阵元素 */ + return arr[col * this->row + row]; + } + + template + T& Matrx::witch(uint64_t row, uint64_t col) { /* 访问器 - 访问矩阵元素 */ + return arr[col * this->row + row]; + } + + template + void Matrx::set(uint64_t row, uint64_t col, T v) { /* 设置矩阵元素 */ + arr[col * this->row + row] = v; + } + + template + const std::vector& Matrx::get_data() const{ /* 访问器 - 用于获取原始数据 */ + return arr; + } + + template + const uint64_t Matrx::get_col() const { /* 获取列数 */ + return col; + } + + template + const uint64_t Matrx::get_row() const { /* 获取行数 */ + return row; + } + + template + bool Matrx::has_same_shape(const Matrx& other) { /* 两个矩阵是否具有相同形状 */ + return other.get_col() == this->get_col() && other.get_row() == this->get_row(); + } + + template + bool Matrx::has_dot_shape(const Matrx& other) { /* 具有矩阵乘法的形状 */ + return this->get_col() == other.get_row(); + } + + template + void Matrx::assert_same_shape(const Matrx& other) { /* 断言两个矩阵具有相同形状 */ + if (!has_same_shape(other)) + throw std::invalid_argument("The shapes of matrix are not same."); + } + + template + void Matrx::assert_dot_shape(const Matrx& other) { /* 断言两个矩阵具有点积前置形状 */ + if (!has_dot_shape(other)) { + throw std::invalid_argument("The shapes of matrix can not be dot."); + } + } + + template + Matrx Matrx::operator+(const Matrx& other) { /* 加法操作符重定义 - 矩阵加法 */ + //assert_same_shape(other); /* 检查两个矩阵形状是否一致 */ + std::vector v0 = this->get_data(); + std::vector vec = other.get_data(); + for (auto it = v0.begin(), it_or = vec.begin(); it != v0.end(); ++it, ++it_or ) + *it += *it_or; + return Matrx{this->get_row(), this->get_col(), v0}; + } + + template + Matrx Matrx::operator+(T& item) { /* 矩阵加法广播 */ + auto len = this->get_data().size(); + auto v0 = std::vector (len, item); + auto matrix = (*this) + Matrx(get_row(), get_col(), v0); + + //auto matrix = *this; + //for (auto it = arr.begin(); it != arr.end(); ++it) + // *it += item; + return matrix; + } + + template + Matrx Matrx::operator-(const Matrx& other) { /* 操作符重载 - 矩阵减法 */ + //assert_same_shape(other); /* 检查两个矩阵形状是否一致 */ + std::vector v0 = this->get_data(); + std::vector vec = other.get_data(); + for (auto it = v0.begin(), it_or = vec.begin(); it != v0.end(); ++it, ++it_or ) + *it -= *it_or; + return Matrx{this->get_row(), this->get_col(), v0}; + } + + template + Matrx Matrx::operator-(T& item) { /* 操作符重载 - 矩阵减法广播 */ + auto len = this->get_data().size(); + auto v0 = std::vector (len, item); + auto matrix = (*this) - Matrx(get_row(), get_col(), v0); + + //Matrx matrix = *this; + //for (auto it = arr.begin(); it != arr.end(); ++it) + // *it -= item; + return matrix; + } + + template + Matrx Matrx::dot(const Matrx& other) { /* 操作符重载 - 矩阵乘法 */ + //assert_dot_shape(other); /* 它们的形状是否能够点积 */ + auto matrix = Matrx(this->get_row(), other.get_col()); + for (uint64_t i=0; iget_row(); ++i) /* 点积运算 */ + for (uint64_t j=0; jget_col(); ++k) + sum += this->get(i, k) * other.get(k, j); + matrix.witch(i, j) = sum; + } + return matrix; + } + + template + Matrx Matrx::operator*(T& item) { /* 操作符重载 - 矩阵乘法广播 */ + std::vector vec = this->get_data(); + for (auto it = vec.begin(); it != vec.end(); ++it) + *it *= item; + return Matrx{this->get_row(), this->get_col(), vec}; + } + + template + Matrx Matrx::operator*(const Matrx& other) { /* 加法操作符重定义 - 矩阵加法 */ + //assert_same_shape(other); /* 检查两个矩阵形状是否一致 */ + std::vector v0 = this->get_data(); + std::vector vec = other.get_data(); + for (auto it = v0.begin(), it_or = vec.begin(); it != v0.end(); ++it, ++it_or ) + *it *= *it_or; + return Matrx{this->get_row(), this->get_col(), v0}; + } + + template + Matrx Matrx::operator/(T& item) { /* 操作符重载 - 矩阵除法广播 */ + std::vector vec = this->get_data(); + for (auto it = vec.begin(); it != vec.end(); ++it) + *it /= item; + return Matrx(this->get_row(), this->get_col(), vec); + } + + template + Matrx Matrx::operator/(const Matrx& other) { /* 加法操作符重定义 - 矩阵加法 */ + //assert_same_shape(other); /* 检查两个矩阵形状是否一致 */ + std::vector v0 = this->get_data(); + std::vector vec = other.get_data(); + for (auto it = v0.begin(), it_or = vec.begin(); it != v0.end(); ++it, ++it_or ) + *it /= *it_or; + return Matrx{this->get_row(), this->get_col(), v0}; + } + + template class Matrx; /* 显式实例化 */ + template class Matrx; + +} + +/* FIXME: 形状不合法时返回空指针 */ +using namespace qing; +extern "C" { + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* createMatrix(uint64_t row, uint64_t col) { + return (void *) new Matrx(row, col); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void freeMatrix(void* M) { + delete (Matrx*) M; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + float* witchMatrix(void *m, uint64_t row, uint64_t col) { + Matrx *M = (Matrx*) m; + return &(M->witch(row, col)); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + float getMatrix(void *m, uint64_t row, uint64_t col) { + Matrx *M = (Matrx*) m; + return M->get(row, col); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void setMatrix(void *m, uint64_t row, uint64_t col, float v) { + Matrx *M = (Matrx*) m; + M->set(row, col, v); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + uint64_t getrowMatrix(void *m) { + Matrx *M = (Matrx*) m; + return M->get_row(); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + uint64_t getcolMatrix(void *m) { + Matrx *M = (Matrx*) m; + return M->get_col(); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + bool sameShapeMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + return M->has_same_shape(*S); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + bool dotShapeMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + return M->has_dot_shape(*S); + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* plusMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + auto a = new Matrx((*M) + (*S)); + return (void *) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* plusBroadcastMatrix(void *m, float t) { + Matrx *M = (Matrx*) m; + auto a = new Matrx ((*M) + t); + return (void*) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* subMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + auto a = new Matrx((*M) - (*S)); + return (void *) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void * subBroadcastMatrix(void *m, float t) { + Matrx *M = (Matrx *) m; + auto a = new Matrx ((*M) - t); + return (void *) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* multiMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + auto a = new Matrx((*M) * (*S)); + return (void *) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* multiBroadcastMatrix(void *m, float t) { + Matrx *M = (Matrx *) m; + auto a = new Matrx((*M) * t); + return (void*) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* divMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + auto a = new Matrx((*M) / (*S)); + return (void *) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* divBroadcastMatrix(void *m, float t) { + Matrx *M = (Matrx *) m; + auto a = new Matrx((*M) / t); + return (void*) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* dotMatrix(void *m, void *s) { + Matrx *M = (Matrx*) m; + Matrx *S = (Matrx*) s; + auto a = new Matrx(M->dot(*S)); + return (void *) a; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* transposeMatrix(void *m) { + Matrx *M = (Matrx *)m; + auto N= new Matrx(M->get_col(), M->get_row()); + for (uint64_t row = 0; row< N->get_row(); row++) { + for (uint64_t col = 0; col < N->get_col(); col++) { + N->witch(row, col) = M->get(col, row); + } + } + return (void *)N; + } + + /* 正态分布Xavier初始化 */ + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* xavierNormalInit(uint64_t fan_in, uint64_t fan_out) + { + /* 构建空数组 */ + std::vector weights(fan_in * fan_out); + + /* 高质量的随机数生成器 */ + static std::mt19937 generator(std::random_device{}()); + + /* 计算标准差 */ + float sigma = std::sqrt(2.0f / (fan_in + fan_out)); + + /* 创建正态分布对象,均值为0,标准差为sigma */ + std::normal_distribution distribution(0.0f, sigma); + + /* 遍历权重矩阵,进行赋值 */ + uint64_t k=0; + for (uint64_t i=0; i(fan_in, fan_out, weights); + return (void *)matrix; + } + + /* 均匀分布Xavier初始化函数 */ + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* xavierUniformInit(uint64_t fan_in, uint64_t fan_out) + { + /* 构建空的数组 */ + auto weights = std::vector(fan_in * fan_out); + + /* 使用高质量的随机数生成器 */ + static std::mt19937 generator(std::random_device{}()); + + /* 计算区间范围:sqrt(2 / (fan_in + fan_out)) */ + float scale = std::sqrt(2.0f / (fan_in + fan_out)); + + /* 创建均匀分布对象,范围为[-scale, scale] */ + std::uniform_real_distribution distribution(-scale, scale); + + /* 遍历权重矩阵,进行赋值 */ + uint64_t k=0; + for (uint64_t i=0; i (fan_in, fan_out, weights); + return (void *)matrix; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* Sigmoid_do(void *m) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + x = 1.0 / (1.0 + std::exp(-x)); + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* Sigmoid_dot(void *m) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& o: v) { + o = o * (1.0 - o); + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* ReLU_do(void *m) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + x = x > 0 ? x : 0; + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* ReLU_dot(void *m) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + x = x > 0 ? 1.0f : 0.0f; + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* Leaky_ReLU_do(void *m, float alpha) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + x = x > 0 ? x : alpha * x; + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* Leaky_ReLU_dot(void *m, float alpha) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + x = x > 0 ? 1.0 : alpha; + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* Tanh_do(void *m) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + x = std::tanh(x); + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } + + #ifdef _WIN64 + _declspec(dllexport) + #endif + void* Tanh_dot(void *m) { + Matrx *M = (Matrx*) m; + std::vector v = M->get_data(); + for (float& x: v) { + if (x > 20.0) x = 0.0; // tanh(x) ≈ 1, 导数≈0 + else if (x < -20.0) x = 0.0; // tanh(x) ≈ -1, 导数≈0 + else { + float t = tanh(x); + x = 1.0 - t * t; + } + } + auto N = new Matrx (M->get_row(), M->get_col(), v); + return (void *)N; + } +} diff --git a/bot4cj/src/cpp/Matrix.hh b/bot4cj/src/cpp/Matrix.hh new file mode 100644 index 0000000..b32ced1 --- /dev/null +++ b/bot4cj/src/cpp/Matrix.hh @@ -0,0 +1,60 @@ +/* + + ___col___ +/ \ ++---------+ \ +| + + + + | | row - 第一维度 +| + + + + | | ++---------+ / + +*/ + +#pragma once +#include +#include +#include +#include +#include +namespace qing { +template +class Matrx { +public: + Matrx(); + Matrx(const uint64_t row, const uint64_t col); + Matrx(const uint64_t row, const uint64_t col, const std::vector& src); + const T& get(uint64_t row, uint64_t col) const; + //-------------旧接口---------------- + T& witch(uint64_t row, uint64_t col); + //-------------新接口---------------- + void set(uint64_t row, uint64_t col, T v); + //----------------------------------- + const std::vector& get_data() const; + const uint64_t get_col() const; + const uint64_t get_row() const; + bool has_same_shape(const Matrx& other); + bool has_dot_shape(const Matrx& other); + void assert_same_shape(const Matrx& other); + void assert_dot_shape(const Matrx& other); + Matrx operator+(const Matrx& other); + Matrx operator+(T& item); + Matrx operator-(const Matrx& other); + Matrx operator-(T& item); + Matrx operator*(const Matrx& other); + Matrx operator*(T& item); + Matrx operator/(T& item); + Matrx operator/(const Matrx& other); + Matrx dot(const Matrx& other); + + void save(std::ostream& out) { + out << row << " " << col; + for (const auto& item : arr) { + out << " "; + out << item; + } + } + +private: + uint64_t row, col; + std::vector arr; +}; +} \ No newline at end of file diff --git a/bot4cj/src/cpp/bot4cj.h b/bot4cj/src/cpp/bot4cj.h new file mode 100644 index 0000000..52c098c --- /dev/null +++ b/bot4cj/src/cpp/bot4cj.h @@ -0,0 +1,21 @@ +/* I2C操作库 - PCA9685 - MPU6050 */ +#ifndef QING_I2C +#define QING_I2C +/* I2C */ +#define BOT4CJ_I2C_OK 0 +#define BOT4CJ_I2C_ERR 1 +#define BOT4CJ_I2C_OPENED_FAILED -1 + +#ifdef _WIN64 +#define DLLEXPORT __declspec(dllexport) +#else +#define DLLEXPORT +#endif + +DLLEXPORT int16_t I2C_init(const char* filepath); +DLLEXPORT void I2C_free(int16_t fd); +DLLEXPORT int I2C_setAddr(int16_t fd, uint8_t addr); +DLLEXPORT int I2C_writeReg(int16_t fd, uint8_t reg, uint8_t val); +DLLEXPORT uint8_t I2C_readReg(int16_t fd, uint8_t reg); +DLLEXPORT int8_t I2C_readRegFlag(int16_t fd, uint8_t reg); +#endif diff --git a/bot4cj/src/cpp/fft.cpp b/bot4cj/src/cpp/fft.cpp new file mode 100644 index 0000000..61981a4 --- /dev/null +++ b/bot4cj/src/cpp/fft.cpp @@ -0,0 +1,80 @@ +#define _USE_MATH_DEFINES +#include +#include +#include "fft.h" +#include "Matrix.hh" +using namespace qing; + + + +void functf1d(float A[DN]) +{ + unsigned long int i; + float dt, tt; + float p = 0.1; + float freq = 10.0; // 10Hz + float fs = DN; // 采样率65536Hz + + dt = 1.0 / fs; + + for(i = 0; i < DN; i++) + { + tt = (float)i * dt; + A[i] = sin(2.0 * M_PI * freq * tt) * p; // 正弦波 + //A[1][i] = 0.0; // 虚部为0 + } +} + + +// 初始化FFT数组 +static void fft_init(float A[2][DN], Matrx& M) +{ + for (int i = 0; i < DN; i++) { + float a = M.witch(i, 0); + A[0][i] = a; + A[1][i] = 0; + } +} + +// 计算FFT结果 +static void fft_result(std::vector& R, float A[2][DN]) +{ + for (int i = 0; i < DN/2; i++) { + float a = pow(A[0][i], 2) + pow(A[1][i], 2); + R[i] = sqrt(a) / (DN/2); + //std::cout << i << ":\t" << R[i] << std::endl; + } +} + +extern "C" { + + // 生成正弦波 +#ifdef _WIN64 + __declspec(dllexport) void* gen_wave() +#else + void* gen_wave() +#endif + { + std::vector A(DN); + functf1d(A.data()); + return (void *)new Matrx(DN, 1, A); + } + + // 开始FFT +#ifdef _WIN64 + __declspec(dllexport) void* start_fft(void* M) +#else + void* start_fft(void* M) +#endif + { + float A[2][DN]; + std::vector R(N); + fft_init(A, *(Matrx *)M); + //fft1(A, 1); // 复序列基2 FFT + fft1r1(A, 1); // 单实序列 + fft_result(R, A); + return (void*) new Matrx(N/2, 1, R); + } + +} + diff --git a/bot4cj/src/cpp/fft.h b/bot4cj/src/cpp/fft.h new file mode 100644 index 0000000..78de2b3 --- /dev/null +++ b/bot4cj/src/cpp/fft.h @@ -0,0 +1,29 @@ +#ifndef FFT_H +#define FFT_H + +#ifndef N +#define N 32768 +#endif + +#ifndef DN +#define DN (N*2) +#endif + +#define eps 1.0e-9 + +#ifdef __cplusplus +extern "C" { +#endif + +void initial(void); +void fft1(float A[2][N], int ifft); +unsigned long int inverseq(unsigned long int i1, + unsigned long int imax); +void fft1r2(float A[2][N], float B[2][N], int ifft); +void fft1r1(float A[2][DN], int ifft); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bot4cj/src/cpp/fft1.c b/bot4cj/src/cpp/fft1.c new file mode 100644 index 0000000..05f7875 --- /dev/null +++ b/bot4cj/src/cpp/fft1.c @@ -0,0 +1,231 @@ +/* fft1.c: fast Fourier transform base on 2 for one dimensional + complex array, direct and inverse, + This program is contributed by Jiang Yong, 2003. 1. */ +#include +#include +#include +#include "fft.h" +static int ifirst=0, sign=-1; +static unsigned M, jup[64], kup[64]; +static float pi, wr[N], wi[N]; +/********* initial **************/ +void initial(void) +{ + unsigned long int i, j, ni; + float unit, tt; + ni = N; + M = 0; + while (ni > 1) { ni=ni/2; M=M+1; } + ni = 1; + for(j=0; j %i, ni -> %lu)\n", N, ni); + exit(1); + } + kup[0] = N/2; /* kup[l] = 2 ^ (M - l - 1) */ + jup[0] =1; + for (j=1;jFFT ** ifft=-1<-->IFFT **/ +void fft1(float A[2][N], int ifft) +{ + unsigned long int l, k, i, j, jl0, jl0k, jl1k, reseq, ij; + float wrc, wis, ar, ai, x[2][N]; + if (ifirst == 0) { initial(), ifirst=1; } + if (ifft == -1) + for(i=0;i FFT ** ifft=-1 <--> IFFT */ +void fft1r2(float A[2][N], float B[2][N], int ifft) +{ + unsigned long int k, j; + float norm, c[2][N]; + if (ifft != -1) + { + for (k=0; k eps) + { + printf("The IDFT of the series isn't real!\n"); + exit(0); + } + } + for (j=0; j FFT ** ifft = -1 <--> IFFT */ +void fft1r1(float A[2][DN], int ifft) +{ + unsigned long int j, k, dk; + float norm, c[2][N], d[2][N], tt, hunit, cosj, sinj; + hunit = 4.0 * atan(1.0) / (float)N; + if ( ifft != -1) + { + for (k=0; k eps) + { + printf("The IDFT of the series {xj} isn't real!\n"); + exit(0); + } + } + for (j = 0; j X_last = (float)0; + p->P_last = 0; + p->Q = T_Q; + p->R = T_R; + p->A = 1; + p->B = 0; + p->H = 1; + p->X_mid = p->X_last; +} + +/** + * @name KalmanFilter + * @brief 卡尔曼滤波器 + * @param p: 滤波器 + * dat:待滤波数据 + * @retval 滤波后的数据 + * @attention Z(k)是系统输入,即测量值 X(k|k)是卡尔曼滤波后的值,即最终输出 + * A=1 B=0 H=1 I=1 W(K) V(k)是高斯白噪声,叠加在测量值上了,可以不用管 + * 以下是卡尔曼的5个核心公式 + * 一阶H'即为它本身,否则为转置矩阵 + */ + +float KalmanFilter(extKalman_t* p, float dat) +{ + p->X_mid = p->A * p->X_last; //百度对应公式(1) x(k|k-1) = A*X(k-1|k-1)+B*U(k)+W(K) + p->P_mid = p->A * p->P_last + p->Q; //百度对应公式(2) p(k|k-1) = A*p(k-1|k-1)*A'+Q + p->kg = p->P_mid / (p->P_mid + p->R); //百度对应公式(4) kg(k) = p(k|k-1)*H'/(H*p(k|k-1)*H'+R) + p->X_now = p->X_mid + p->kg * (dat - p->X_mid); //百度对应公式(3) x(k|k) = X(k|k-1)+kg(k)*(Z(k)-H*X(k|k-1)) + p->P_now = (1 - p->kg) * p->P_mid; //百度对应公式(5) p(k|k) = (I-kg(k)*H)*P(k|k-1) + p->P_last = p->P_now; //状态更新 + p->X_last = p->X_now; + return p->X_now; //输出预测结果x(k|k) +} diff --git a/bot4cj/src/cpp/kalman.h b/bot4cj/src/cpp/kalman.h new file mode 100644 index 0000000..8e3db5d --- /dev/null +++ b/bot4cj/src/cpp/kalman.h @@ -0,0 +1,25 @@ + +#ifndef _KALMAN_H +#define _KALMAN_H + + +typedef struct +{ + float X_last; //上一时刻的最优结果 X(k-|k-1) + float X_mid; //当前时刻的预测结果 X(k|k-1) + float X_now; //当前时刻的最优结果 X(k|k) + float P_mid; //当前时刻预测结果的协方差 P(k|k-1) + float P_now; //当前时刻最优结果的协方差 P(k|k) + float P_last; //上一时刻最优结果的协方差 P(k-1|k-1) + float kg; //kalman增益 + float A; //系统参数 + float B; + float Q; + float R; + float H; +} extKalman_t; + +void KalmanCreate(extKalman_t* p, float T_Q, float T_R); +float KalmanFilter(extKalman_t* p, float dat); + +#endif diff --git a/bot4cj/src/cpp/snd.cpp b/bot4cj/src/cpp/snd.cpp new file mode 100644 index 0000000..df83060 --- /dev/null +++ b/bot4cj/src/cpp/snd.cpp @@ -0,0 +1,354 @@ +#ifdef _WIN32 + #include + #include + #pragma comment(lib, "winmm.lib") + #pragma comment(lib, "user32.lib") + #define _USE_MATH_DEFINES + #include +#else + #include + #include +#endif + +#include +#include +#include +#include + +#ifndef M_PI + #define M_PI 3.14159265358979323846 +#endif + +#ifndef M_LN2 + #define M_LN2 0.693147180559945309417 +#endif + +#ifdef _WIN32 +// Windows 回调结构 +struct PlaybackContext { + volatile bool done; + WAVEHDR* header; +}; + +// Windows 播放完成回调函数 +void CALLBACK waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, + DWORD_PTR dwParam1, DWORD_PTR dwParam2) { + if (uMsg == WOM_DONE) { + PlaybackContext* ctx = reinterpret_cast(dwInstance); + ctx->done = true; + } +} +#endif + +extern "C" { + +#ifdef _WIN32 +#define SND_EXPORT __declspec(dllexport) +#else +#define SND_EXPORT +#endif + +SND_EXPORT bool play_frequency(float frequency, int32_t duration_ms, + double volume, int32_t channels, + int32_t sample_rate) { + // 参数验证 + if (frequency <= 0.0f || duration_ms <= 0 || + volume <= 0.0 || volume > 1.0 || + channels <= 0 || channels > 8 || + sample_rate <= 0) { + std::cerr << "Invalid parameters" << std::endl; + return false; + } + + // 精确计算帧数:使用 round 而非截断 + // duration_ms / 1000.0 得到秒数,乘以采样率得到帧数 + int64_t num_frames = static_cast( + std::round(static_cast(sample_rate) * duration_ms / 1000.0) + ); + + if (num_frames <= 0) { + std::cerr << "Duration too short to generate any frames" << std::endl; + return false; + } + + // 计算实际播放时长(用于调试) + double actual_duration_ms = static_cast(num_frames) / sample_rate * 1000.0; + std::cout << "Requested duration: " << duration_ms << " ms, " + << "Actual duration: " << actual_duration_ms << " ms, " + << "Frames: " << num_frames << std::endl; + + // 计算总采样点数 + int32_t total_samples = static_cast(num_frames * channels); + std::vector buffer(total_samples); + + // 计算振幅(应用对数音量缩放以获得更自然的音量控制) + int32_t amplitude = static_cast(32767.0 * volume); + + // 生成正弦波数据 + for (int64_t i = 0; i < num_frames; i++) { + // 使用 double 计算以提高精度 + double t = static_cast(i) / sample_rate; + double value = sin(2.0 * M_PI * frequency * t); + + // 应用淡入淡出以避免咔嗒声 + int64_t fade_samples = static_cast(sample_rate * 0.005); // 5ms 淡入淡出 + double fade_factor = 1.0; + + if (i < fade_samples) { + // 淡入:从 0 到 1 + fade_factor = static_cast(i) / fade_samples; + } else if (i >= num_frames - fade_samples) { + // 淡出:从 1 到 0 + fade_factor = static_cast(num_frames - 1 - i) / fade_samples; + } + + int16_t sample = static_cast( + amplitude * value * fade_factor + ); + + // 填充所有声道 + for (int32_t ch = 0; ch < channels; ch++) { + buffer[i * channels + ch] = sample; + } + } + +#ifdef _WIN32 + // ===== Windows 实现(带回调,精确计时) ===== + WAVEFORMATEX wfx; + wfx.wFormatTag = WAVE_FORMAT_PCM; + wfx.nChannels = channels; + wfx.nSamplesPerSec = sample_rate; + wfx.wBitsPerSample = 16; + wfx.nBlockAlign = channels * 2; // 16-bit = 2 bytes per sample + wfx.nAvgBytesPerSec = sample_rate * wfx.nBlockAlign; + wfx.cbSize = 0; + + PlaybackContext context; + context.done = false; + context.header = new WAVEHDR(); + + // 打开波形设备,使用回调函数 + HWAVEOUT hWaveOut; + MMRESULT result = waveOutOpen( + &hWaveOut, + WAVE_MAPPER, + &wfx, + reinterpret_cast(waveOutProc), // 回调函数 + reinterpret_cast(&context), // 传递给回调的数据 + CALLBACK_FUNCTION + ); + + if (result != MMSYSERR_NOERROR) { + std::cerr << "Cannot open audio device. Error code: " << result << std::endl; + delete context.header; + return false; + } + + // 准备 WAVEHDR + WAVEHDR& header = *context.header; + ZeroMemory(&header, sizeof(WAVEHDR)); + header.lpData = reinterpret_cast(buffer.data()); + header.dwBufferLength = static_cast(total_samples * sizeof(int16_t)); + header.dwFlags = 0; + header.dwLoops = 0; + + result = waveOutPrepareHeader(hWaveOut, &header, sizeof(WAVEHDR)); + if (result != MMSYSERR_NOERROR) { + std::cerr << "Failed to prepare audio header. Error code: " << result << std::endl; + waveOutClose(hWaveOut); + delete context.header; + return false; + } + + // 写入音频数据 + result = waveOutWrite(hWaveOut, &header, sizeof(WAVEHDR)); + if (result != MMSYSERR_NOERROR) { + std::cerr << "Failed to write audio data. Error code: " << result << std::endl; + waveOutUnprepareHeader(hWaveOut, &header, sizeof(WAVEHDR)); + waveOutClose(hWaveOut); + delete context.header; + return false; + } + + // 等待播放完成(使用事件等待而非轮询) + auto start_time = timeGetTime(); + while (!context.done) { + // 使用 MsgWaitForMultipleObjects 等待消息或超时 + // 这样可以在等待的同时处理 Windows 消息 + DWORD wait_result = MsgWaitForMultipleObjects(0, NULL, FALSE, 100, QS_ALLINPUT); + + if (wait_result == WAIT_OBJECT_0) { + // 处理 Windows 消息 + MSG msg; + while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + // 超时检查(防止无限等待) + DWORD elapsed = timeGetTime() - start_time; + if (elapsed > static_cast(duration_ms + 1000)) { + std::cerr << "Playback timeout" << std::endl; + waveOutReset(hWaveOut); + break; + } + } + + auto end_time = timeGetTime(); + DWORD actual_play_time = end_time - start_time; + std::cout << "Actual playback time: " << actual_play_time << " ms" << std::endl; + + // 清理 + waveOutUnprepareHeader(hWaveOut, &header, sizeof(WAVEHDR)); + waveOutClose(hWaveOut); + delete context.header; + +#else + // ===== Linux ALSA 实现 ===== + snd_pcm_t *pcm_handle = nullptr; + const char* device = "default"; + + int rc = snd_pcm_open(&pcm_handle, device, SND_PCM_STREAM_PLAYBACK, 0); + if (rc < 0) { + std::cerr << "Cannot open device '" << device << "': " + << snd_strerror(rc) << std::endl; + return false; + } + + // 设置硬件参数 + snd_pcm_hw_params_t *hw_params; + snd_pcm_hw_params_alloca(&hw_params); + + rc = snd_pcm_hw_params_any(pcm_handle, hw_params); + if (rc < 0) { + std::cerr << "Cannot get hardware parameters: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + rc = snd_pcm_hw_params_set_access(pcm_handle, hw_params, + SND_PCM_ACCESS_RW_INTERLEAVED); + if (rc < 0) { + std::cerr << "Cannot set access type: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + rc = snd_pcm_hw_params_set_format(pcm_handle, hw_params, + SND_PCM_FORMAT_S16_LE); + if (rc < 0) { + std::cerr << "Cannot set sample format: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + rc = snd_pcm_hw_params_set_channels(pcm_handle, hw_params, channels); + if (rc < 0) { + std::cerr << "Cannot set channel count: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + unsigned int hw_sample_rate = static_cast(sample_rate); + rc = snd_pcm_hw_params_set_rate_near(pcm_handle, hw_params, + &hw_sample_rate, 0); + if (rc < 0) { + std::cerr << "Cannot set sample rate: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + if (hw_sample_rate != static_cast(sample_rate)) { + std::cout << "Requested sample rate " << sample_rate + << " Hz not supported, using " << hw_sample_rate << " Hz" << std::endl; + } + + // 设置缓冲区大小和周期 + snd_pcm_uframes_t buffer_size; + rc = snd_pcm_hw_params_get_buffer_size_max(hw_params, &buffer_size); + if (buffer_size > static_cast(num_frames)) { + snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hw_params, + &reinterpret_cast(num_frames)); + } + + rc = snd_pcm_hw_params(pcm_handle, hw_params); + if (rc < 0) { + std::cerr << "Cannot set hardware parameters: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + // 设置软件参数 + snd_pcm_sw_params_t *sw_params; + snd_pcm_sw_params_alloca(&sw_params); + + rc = snd_pcm_sw_params_current(pcm_handle, sw_params); + if (rc < 0) { + std::cerr << "Cannot get software parameters: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + rc = snd_pcm_sw_params_set_start_threshold(pcm_handle, sw_params, + static_cast(num_frames)); + if (rc < 0) { + std::cerr << "Cannot set start threshold: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + rc = snd_pcm_sw_params(pcm_handle, sw_params); + if (rc < 0) { + std::cerr << "Cannot set software parameters: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + // 播放音频(写入数据) + snd_pcm_sframes_t frames_written = 0; + snd_pcm_uframes_t frames_to_write = static_cast(num_frames); + + // 循环写入直到所有数据都播放完毕 + while (frames_written < static_cast(num_frames)) { + snd_pcm_uframes_t remaining = static_cast(num_frames - frames_written); + + rc = snd_pcm_writei(pcm_handle, + buffer.data() + (frames_written * channels), + remaining); + + if (rc == -EPIPE) { + // 缓冲区下溢,需要恢复 + std::cerr << "Buffer underrun occurred" << std::endl; + snd_pcm_prepare(pcm_handle); + rc = snd_pcm_writei(pcm_handle, + buffer.data() + (frames_written * channels), + remaining); + } + + if (rc < 0) { + std::cerr << "Error writing to PCM device: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + if (rc > 0) { + frames_written += rc; + } + } + + // 等待所有数据播放完成 + rc = snd_pcm_drain(pcm_handle); + if (rc < 0) { + std::cerr << "Error draining PCM device: " << snd_strerror(rc) << std::endl; + snd_pcm_close(pcm_handle); + return false; + } + + snd_pcm_close(pcm_handle); +#endif + + return true; +} + +} // extern "C" \ No newline at end of file diff --git a/bot4cj/src/cuda/error.cuh b/bot4cj/src/cuda/error.cuh new file mode 100644 index 0000000..96aaad1 --- /dev/null +++ b/bot4cj/src/cuda/error.cuh @@ -0,0 +1,12 @@ +#pragma once +#include +#include + +#define CHECK(call) do {\ + cudaError_t err = call;\ + if (err != cudaSuccess) {\ + fprintf(stderr, "CUDA error at %s:%d\n", __FILE__, __LINE__);\ + fprintf(stderr, "%s\n", cudaGetErrorString(err));\ + exit(EXIT_FAILURE);\ + }\ +} while (0) diff --git a/bot4cj/src/cuda/matrix.cu b/bot4cj/src/cuda/matrix.cu new file mode 100644 index 0000000..505ba2a --- /dev/null +++ b/bot4cj/src/cuda/matrix.cu @@ -0,0 +1,872 @@ +#include +#include +#include +#include +#include "error.cuh" +extern "C" { +/* 创建一个设备数组 */ +static void* _crtDevArr(const size_t m) +{ + void *d; + CHECK(cudaMalloc(&d, m)); + return d; +} + +/* 释放一个设备数组 */ +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_Free(void* d) +#else +void Cu4cj_Free(void* d) +#endif +{ + CHECK(cudaFree(d)); +} + + +/* 创建一个单精度浮点数组 输入数组的长度(不初始化) */ +#ifdef _WIN64 +__declspec(dllexport) void* Cu4cj_Orig(uint64_t n) +#else +void* Cu4cj_Orig(int64_t n) +#endif +{ + return _crtDevArr(n * sizeof(float)); +} + + +/* + * 从主机内存拷贝数据到设备内存 + * FIXME: 是否需要做成输入目的地址 + */ +#ifdef _WIN64 +__declspec(dllexport) float* Cu4cj_ToDev(float* h, uint64_t n) +#else +float* Cu4cj_ToDev(float* h, int64_t n) +#endif +{ + float* d = (float*)Cu4cj_Orig(n); + CHECK(cudaMemcpy(d, h, n * sizeof(float), cudaMemcpyHostToDevice)); + return d; +} + + +/* 从设备内存拷贝数据到主机内存 */ +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_ToHost(float* d, float* h, const uint64_t n) +#else +void Cu4cj_ToHost(float* d, float* h, int64_t n) +#endif +{ + CHECK(cudaMemcpy(h, d, n * sizeof(float), cudaMemcpyDeviceToHost)); +} + + +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_Copy(float* d, float* h, const uint64_t n) +#else +void Cu4cj_Copy(float* d, float* h, int64_t n) +#endif +{ + CHECK(cudaMemcpy(h, d, n * sizeof(float), cudaMemcpyDeviceToHost)); +} + +/* 创建一个单精度浮点数组并将其初始化为零 + * FIXME: 当n == 10000 时进程被杀死 */ +#ifdef _WIN64 +__declspec(dllexport) float* Cu4cj_Zero(const uint64_t n) +#else +float* Cu4cj_Zero(int64_t n) +#endif +{ + float* d = (float*)Cu4cj_Orig(n); + CHECK(cudaMemset(d, 0, n*sizeof(float))); + return d; +} + + +/* 正态分布初始化(适用于神经网络权重) */ +#ifdef _WIN64 +__declspec(dllexport) float* Cu4cj_Normal(uint64_t n, uint64_t fan_in, uint64_t fan_out) +#else +float* Cu4cj_Normal(int64_t n, int64_t fan_in, int64_t fan_out) +#endif +{ + // 计算 Xavier/Glorot 初始化的标准差 + float std = sqrt(2.0f / (fan_in + fan_out)); + + // 先在主机上分配内存并生成正态分布随机数 + float* h = (float*)malloc(n * sizeof(float)); + + /* 初始化随机数种子 */ + srand(time(NULL)); + + for (size_t i = 0; i < n; i++) { + // 使用 Box-Muller 变换生成正态分布随机数 + float u1 = (float)rand() / RAND_MAX; + float u2 = (float)rand() / RAND_MAX; + float z = sqrt(-2.0f * log(u1)) * cos(2.0f * 3.1415926535f * u2); + h[i] = z * std; + } + + // 在设备上分配内存 + float* d = (float*)Cu4cj_Orig(n); + + // 将主机内存中的数据拷贝到设备内存 + CHECK(cudaMemcpy(d, h, n * sizeof(float), cudaMemcpyHostToDevice)); + + // 释放主机内存 + free(h); + + return d; +} + + + + +// 向量加法 +static void __global__ _devAdd(float* d1, float* d2, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] + d2[i]; + } +} + +// 向量加法 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_Add(float* d1, float* d2, float* d_r, uint64_t n) +#else +void Cu4cj_Add(float* d1, float* d2, float* d_r, int64_t n) +#endif +{ + _devAdd<<<(n + 255) / 256, 256>>>(d1, d2, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 向量减法 +static void __global__ _devSub(float* d1, float* d2, float* r, int64_t n) +{ + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] - d2[i]; + } +} + +// 向量减法 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_Sub(float* d1, float* d2, float* d_r, uint64_t n) +#else +void Cu4cj_Sub(float* d1, float* d2, float* d_r, int64_t n) +#endif +{ + _devSub<<<(n + 255) / 256, 256>>>(d1, d2, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 向量依次相乘 +static void __global__ _devMul(float* d1, float* d2, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] * d2[i]; + } +} + +// 向量依次相乘 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_Mul(float* d1, float* d2, float* d_r, uint64_t n) +#else +void Cu4cj_Mul(float* d1, float* d2, float* d_r, int64_t n) +#endif +{ + _devMul<<<(n + 255) / 256, 256>>>(d1, d2, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 向量依次相除 +static void __global__ _devDiv(float* d1, float* d2, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] / d2[i]; + } +} + +// 向量依次相除 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_Div(float* d1, float* d2, float* d_r, uint64_t n) +#else +void Cu4cj_Div(float* d1, float* d2, float* d_r, int64_t n) +#endif +{ + _devDiv<<<(n + 255) / 256, 256>>>(d1, d2, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 向量加法广播 +static void __global__ _devAddBroadcast(float* d1, float a, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] + a; + } +} + +// 加法广播 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_AddBroadcast(float* d1, float a, float* d_r, uint64_t n) +#else +void Cu4cj_AddBroadcast(float* d1, float a, float* d_r, int64_t n) +#endif +{ + _devAddBroadcast<<<(n + 255) / 256, 255>>>(d1, a, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 减法广播 +static void __global__ _devSubBroadcast(float* d1, float a, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] - a; + } +} + +// 减法广播 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_SubBroadcast(float* d1, float a, float* d_r, uint64_t n) +#else +void Cu4cj_SubBroadcast(float* d1, float a, float* d_r, int64_t n) +#endif +{ + _devSubBroadcast<<<(n + 255) / 256, 256>>>(d1, a, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 乘法广播 +static void __global__ _devMulBroadcast(float* d1, float a, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] * a; + } +} + +// 乘法广播 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_MulBroadcast(float* d1, float a, float* d_r, uint64_t n) +#else +void Cu4cj_MulBroadcast(float* d1, float a, float* d_r, int64_t n) +#endif +{ + _devMulBroadcast<<<(n + 255) / 256, 256>>>(d1, a, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 除法广播 +static void __global__ _devDivBroadcast(float* d1, float a, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] / a; + } +} + +// 除法广播 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_DivBroadcast(float* d1, float a, float* d_r, uint64_t n) +#else +void Cu4cj_DivBroadcast(float* d1, float a, float* d_r, int64_t n) +#endif +{ + _devDivBroadcast<<<(n + 255) / 256, 256>>>(d1, a, d_r, n); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 矩阵乘法 +static void __global__ _devMatDot(float* d1, float* d2, float* r, int64_t m, int64_t n, int64_t k) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + int j = blockIdx.y * blockDim.y + threadIdx.y; + if (i < m && j < k) { + float sum = 0.0f; + for (int p = 0; p < n; p++) { + sum += d1[i * n + p] * d2[p * k + j]; + } + r[i * k + j] = sum; + } +} + +// 矩阵乘法 +// m、n、k 分别为矩阵 A、B、C 的行数、列数 +// 其中 n 为矩阵 A 的列数,也为矩阵 B 的行数 +#ifdef _WIN64 +__declspec(dllexport) void Cu4cj_MatDot(float* d1, float* d2, float* d_r, uint64_t m, uint64_t n, uint64_t k) +#else +void Cu4cj_MatDot(float* d1, float* d2, float* d_r, int64_t m, int64_t n, int64_t k) +#endif +{ + dim3 blockDim(16, 16); + dim3 gridDim((m + blockDim.x - 1) / blockDim.x, (k + blockDim.y - 1) / blockDim.y); + _devMatDot<<>>(d1, d2, d_r, m, n, k); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); +} + +// 矩阵转置 +static void __global__ _devTransport(float* d1, float* d2, int64_t m, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + int j = blockIdx.y * blockDim.y + threadIdx.y; + if (i < m && j < n) { + d2[j * m + i] = d1[i * n + j]; + } +} +#ifdef _WIN64 +__declspec(dllexport) float* Cu4cj_Transport(float *m, uint64_t r, uint64_t c) +#else +float* Cu4cj_Transport(float *m, uint64_t r, uint64_t c) +#endif +{ + float *d_r = (float*)Cu4cj_Zero(c * r * sizeof(float)); + _devTransport<<<1, c * r>>>(m, d_r, c, r); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return d_r; +} + + +// Sigmoid 激活函数,输入为矩阵,输出为矩阵 +static void __global__ _devSigmoid(float* d1, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = 1.0f / (1.0f + exp(-d1[i])); + } +} + +// Sigmoid 导数 +static void __global__ _devSigmoidDerivative(float* d1, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] * (1.0f - d1[i]); + } +} + +// ReLU +static void __global__ _devReLU(float* d1, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] > 0.0f ? d1[i] : 0.0f; + } +} + +// ReLU 导数 +static void __global__ _devReLUDerivative(float* d1, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] > 0.0f ? 1.0f : 0.0f; + } +} + +// Leaky_ReLU +static void __global__ _devLeakyReLU(float* d1, float* r, int64_t n, float a) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] > 0.0f ? d1[i] : a * d1[i]; + } +} + +// Leaky_ReLU 导数 +static void __global__ _devLeakyReLU_Derivative(float* d1, float* r, int64_t n, float a) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = d1[i] > 0.0f ? 1.0f : a; + } +} + +// Tanh 激活函数,输入为矩阵,输出为矩阵 +static void __global__ _devTanh(float* d1, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = (exp(d1[i]) - exp(-d1[i])) / (exp(d1[i]) + exp(-d1[i])); + } +} + +// Tanh 导数 +static void __global__ _devTanhDerivative(float* d1, float* r, int64_t n) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + r[i] = 1.0f - d1[i] * d1[i]; + } +} + +} + +namespace qing { + class Matrix { + public: + Matrix(uint64_t r, uint64_t c) { + this->r = r; + this->c = c; + this->d = (float*)Cu4cj_Zero(r * c * sizeof(float)); + } + Matrix(uint64_t r, uint64_t c, float* d) { + this->r = r; + this->c = c; + this->d = d; + } + Matrix(const Matrix& m) { + this->r = m.getR(); + this->c = m.getC(); + this->d = (float*)Cu4cj_Zero(m.getR() * m.getC() * sizeof(float)); + Cu4cj_Copy(m.getD(), d, m.getR() * m.getC() * sizeof(float)); + } + ~Matrix() { + Cu4cj_Free(d); + } + uint64_t getR() const { + return r; + } + uint64_t getC() const { + return c; + } + float* getD() const { + return d; + } + float get(uint64_t r, uint64_t c) const { + float h; + CHECK(cudaMemcpy(&h, &d[c * this->r + r], sizeof(float), cudaMemcpyDeviceToHost)); + return h; + } + void set(uint64_t r, uint64_t c, float v) { + CHECK(cudaMemcpy(&d[c * this->r + r], &v, sizeof(float), cudaMemcpyHostToDevice)); + } + bool hasSameShape(const Matrix& m) { + return r == m.getR() && c == m.getC(); + } + bool hasDotShape(const Matrix& m) { + return c == m.getR(); + } + Matrix operator+(const Matrix& m) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_Add(d, m.getD(), d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator+(float a) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_AddBroadcast(d, a, d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator-(const Matrix& m) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_Sub(d, m.getD(), d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator-(float a) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_SubBroadcast(d, a, d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator*(const Matrix& m) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_Mul(d, m.getD(), d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator*(float a) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_MulBroadcast(d, a, d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator/(const Matrix& m) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_Div(d, m.getD(), d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix operator/(float a) { + float *d_r = (float*)Cu4cj_Zero(r * c * sizeof(float)); + Cu4cj_DivBroadcast(d, a, d_r, r * c); + return Matrix(r, c, d_r); + } + Matrix dot(const Matrix& m) { + //if (!hasDotShape(m)) { + // throw std::invalid_argument("Dot product: matrices must have compatible shapes"); + //} + float *d_r = (float*)Cu4cj_Zero(r * m.getC() * sizeof(float)); + Cu4cj_MatDot(d, m.getD(), d_r, r, c, m.getC()); + return Matrix(r, m.getC(), d_r); + } + Matrix T() { + float *d_r = (float*)Cu4cj_Transport(d, r, c); + return Matrix(c, r, d_r); + } + + private: + uint64_t r, c; + float* d; + }; +} + +using namespace qing; +extern "C" { + + +#ifdef _WIN64 +__declspec(dllexport) void* createMatrix(const uint64_t r, const uint64_t c) +#else +void* createMatrix(int64_t r, int64_t c) +#endif +{ + return(void*) new Matrix(r, c); +} + +#ifdef _WIN64 +__declspec(dllexport) void freeMatrix(void* m) +#else +void freeMatrix(void* m) +#endif +{ + delete (Matrix*)m; +} + +#ifdef _WIN64 +__declspec(dllexport) void* xavierNormalInit(uint64_t fan_in, uint64_t fan_out) +#else +void* xavierNormalInit(uint64_t fan_in, uint64_t fan_out) +#endif +{ + float* d = Cu4cj_Normal(fan_in * fan_out, fan_in, fan_out); + return (void *)new Matrix(fan_in, fan_out, d); +} + +#ifdef _WIN64 +__declspec(dllexport) void* xavierUniformInit(uint64_t fan_in, uint64_t fan_out) +#else +void* xavierUniformInit(uint64_t fan_in, uint64_t fan_out) +#endif +{ + uint64_t n = fan_in * fan_out; + + // 先在主机上分配内存并生成正态分布随机数 + float* h = (float*)malloc(n * sizeof(float)); + + /* 使用高质量的随机数生成器 */ + static std::mt19937 generator(std::random_device{}()); + + /* 计算区间范围:sqrt(2 / (fan_in + fan_out)) */ + float scale = std::sqrt(2.0f / (fan_in + fan_out)); + + /* 创建均匀分布对象,范围为[-scale, scale] */ + std::uniform_real_distribution distribution(-scale, scale); + + /* 遍历权重矩阵,进行赋值 */ + uint64_t k=0; + for (uint64_t i=0; igetR(); +} +#ifdef _WIN64 +__declspec(dllexport) uint64_t getcolMatrix(void *m) +#else +uint64_t getcolMatrix(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + return m1->getC(); +} + +#ifdef _WIN64 +__declspec(dllexport) float getMatrix(void *m, uint64_t r, uint64_t c) +#else +float getMatrix(void *m, uint64_t r, uint64_t c) +#endif +{ + Matrix* m1 = (Matrix*)m; + return m1->get(r, c); +} + +#ifdef _WIN64 +__declspec(dllexport) void setMatrix(void *m, uint64_t r, uint64_t c, float v) +#else +void setMatrix(void *m, uint64_t r, uint64_t c, float v) +#endif +{ + Matrix* m1 = (Matrix*)m; + m1->set(r, c, v); +} + +#ifdef _WIN64 +__declspec(dllexport) bool sameShapeMatrix(void *m, void *s) +#else +bool sameShapeMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + return (*m1).hasSameShape(*s1); +} + +#ifdef _WIN64 +__declspec(dllexport) bool dotShapeMatrix(void *m, void *s) +#else +bool dotShapeMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + return (*m1).hasDotShape(*s1); +} + + +#ifdef _WIN64 +__declspec(dllexport) void* plusMatrix(void *m, void *s) +#endif +#ifdef __linux__ +void* plusMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + Matrix r = *m1 + *s1; + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* plusBroadcastMatrix(void *m, float a) +#else +void* plusBroadcastMatrix(void *m, float a) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix r = *m1 + a; + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* subMatrix(void *m, void *s) +#else +void* subMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + Matrix r = *m1 - *s1; + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* subBroadcastMatrix(void *m, float a) +#else +void* subBroadcastMatrix(void *m, float a) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix r = *m1 - a; + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* multiMatrix(void *m, void *s) +#else +void* multiMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + Matrix r = (*m1) * (*s1); + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* multiBroadcastMatrix(void *m, float a) +#else +void* multiBroadcastMatrix(void *m, float a) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix r = (*m1) * a; + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* divMatrix(void *m, void *s) +#else +void* divMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + Matrix r = (*m1) / (*s1); + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* divBroadcastMatrix(void *m, float a) +#else +void* divBroadcastMatrix(void *m, float a) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix r = (*m1) / a; + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* dotMatrix(void *m, void *s) +#else +void* dotMatrix(void *m, void *s) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix* s1 = (Matrix*)s; + Matrix r = (*m1).dot(*s1); + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* transposeMatrix(void *m) +#endif +#ifdef __linux__ +void* transposeMatrix(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix r = m1->T(); + return (void *)new Matrix(r); +} + +#ifdef _WIN64 +__declspec(dllexport) void* Sigmoid_do(void *m) +#else +void* Sigmoid_do(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devSigmoid<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC()); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + +#ifdef _WIN64 +__declspec(dllexport) void* Sigmoid_dot(void *m) +#else +void* Sigmoid_dot(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devSigmoidDerivative<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC()); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + +#ifdef _WIN64 +__declspec(dllexport) void* ReLU_do(void *m) +#else +void* ReLU_do(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devReLU<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC()); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + +#ifdef _WIN64 +__declspec(dllexport) void* ReLU_dot(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devReLUDerivative<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC()); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + + +#ifdef _WIN64 +__declspec(dllexport) void* Leaky_ReLU_do(void *m, float a) +#else +void* LeakyReLU_do(void *m, float a) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devLeakyReLU<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC(), a); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + +#ifdef _WIN64 +__declspec(dllexport) void* Leaky_ReLU_dot(void *m, float a) +#else +void* LeakyReLU_dot(void *m, float a) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devLeakyReLU_Derivative<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC(), a); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + +// Tanh +#ifdef _WIN64 +__declspec(dllexport) void* Tanh_do(void *m) +#else +void* Tanh_do(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devTanh<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC()); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + +#ifdef _WIN64 +__declspec(dllexport) void* Tanh_dot(void *m) +#else +void* Tanh_dot(void *m) +#endif +{ + Matrix* m1 = (Matrix*)m; + Matrix s = Matrix(*m1); + _devTanhDerivative<<<1, s.getR()* s.getC()>>>(s.getD(), s.getD(), s.getR()* s.getC()); + CHECK(cudaGetLastError()); + CHECK(cudaDeviceSynchronize()); + return (void *)new Matrix(s); +} + + +} \ No newline at end of file diff --git a/bot4cj/src/hd/I2C.cj b/bot4cj/src/hd/I2C.cj new file mode 100644 index 0000000..6e6b7cd --- /dev/null +++ b/bot4cj/src/hd/I2C.cj @@ -0,0 +1,339 @@ + +/* TODO(20260518-qing): 稍后我们专门做一个i2c代码仓库,这样就能够区分不同架构上面的int的大小 + * TODO(20260615-qing): 有没有可能只做一个简单的封装不引入异常机制 */ + +package bot4cj.hd +import pthread4cj.* +import ctype4cj.* + +/* -------- 我们将直接调用glibc中的一些函数 -------- */ +foreign func ioctl(fd: C_Int, addr: C_ULong, ...): C_Int /* -------- 成功返回非负整数,失败返回-1 -------- */ + +const I2C_FAILED = -1i32 /* -------- I2C关闭文件失败 -------- */ +const I2C_SUCCESS = 0i32 /* -------- I2C关闭文件成功 -------- */ +const I2C_SLAVE = 0x0703u64 /* -------- at least on arm64 -------- */ + +/* -------- OPEN I2C DEVICE 打开I2C设备 -------- */ +@C +public func openI2cDev(path: CString): Int32 { + unsafe { + let fd = libc_open(path, O_RDWR) + if (fd > 0) { + I2cLock_create(fd) /* -------- 为I2C设备创建锁 -------- */ + return fd + } + else { + throw I2cOpenedFailed("?") + } + } +} + +/* ---- 简化版,判断在外部实现 ---- */ +@C +public func openI2cDev1(path: CString): C_Int { + unsafe { + let fd = libc_open(path, O_RDWR) + I2cLock_create(fd) + return fd + } +} + +/* -------- CLOSE I2C DEVICE 关闭I2C设备 -------- */ +@C +public func closeI2cDev(fd: Int32): Unit { + unsafe { + I2cLock_destroy(fd) /* -------- 销毁I2C设备的锁 -------- */ + let ret = libc_close(fd) + if (ret == I2C_FAILED) { + throw I2cClosedFailed("?") } + else if (ret == I2C_SUCCESS) { ; } + else { + throw I2cUnknowExp( + "?", "$function returned: {ret.toString()}") + } + } +} + +@C +public func closeI2cDev1(fd: C_Int): Unit { + unsafe { + I2cLock_destroy(fd) + libc_close(fd) + } +} + +/* -------- SET I2C ADDR 设置I2C地址 -------- */ +@C +public func setI2cAddr(fd: Int32, addr: UInt8): Unit { + unsafe { + let ret = ioctl(fd, I2C_SLAVE, addr) + if (ret < 0) { + throw I2cSetAddressFailed("?") } + } +} + +@C +public func setI2cAddr1(fd: C_Int, addr: UInt8): C_Int { + unsafe { + return ioctl(fd, I2C_SLAVE, addr) + } +} + +/* -------- WRITE I2C REG 写I2C寄存器 -------- */ +@C +public func writeI2cReg(fd: Int32, reg: UInt8, val:UInt8): Unit { + var a: VArray = [reg, val] + var p: CPointer = unsafe { CPointer(inout a) } + if (2 != unsafe { libc_write(fd, p, 2) }) { + throw I2cWriteRegFailed("?") + } +} + +/* -------- READ I2C REG 读I2C寄存器 -------- + * INFO(20260522-qing): 读取寄存器之前要先写寄存器地址 + * INFO(20260616-qing): 这个函数只读取一个字节的数据 + * -------- */ +@C +public func readI2cReg(fd: Int32, reg: UInt8): Int8 { + var ptr = reg + if (1 != unsafe { libc_write(fd, CPointer(inout ptr), 1) }) { + throw I2cReadRegFailed("?") + } + var value: Int8 = 0 + var p = unsafe { CPointer(inout value) } + let ret = unsafe { libc_read(fd, p, 1) } + if (ret != 1) { throw I2cReadRegFailed("?") } + return value +} + + +/* -------- I2C锁具 -------- + * INFO(20260521-qing): 因为每个I2C接口在通信时具有原子化的需求 + * - 需要一个互斥锁集合,在打开第一个I2C设备时被初始化, + * - 释放最后一个I2C设备时,将锁具释放 + * - **每次进行I2C通信时,进行上锁操作** */ +@C +struct I2C_Lock { + var i2c_fd: Int32 = 0 /* -------- 这个锁绑定的I2C设备文件句柄 -------- */ + var lock = CPointer() /* -------- phread_mutex_t 锁对象 -------- */ + var is_active = false /* -------- 该锁具是否被激活 --------*/ +} + + +var MAIN_LOCK = CPointer() /* -------- 主锁,操作锁具时使用 -------- */ +var LOCKS = CPointer() /* -------- 指向锁具内存的指针 -------- */ +const LOCKS_SIZE: Int64 = 20 /* -------- 锁具的容量 --------*/ + +/* -------- 为一个I2C设备注册锁具 -------- */ +@C +func I2cLock_create(fd: Int32): Unit { + unsafe { + /* -------- 初始化主要的锁 -------- */ + if (MAIN_LOCK.isNull()) { + MAIN_LOCK = _mutex_create() + LOCKS = LibC.malloc(count: LOCKS_SIZE) + for (i in 0..20) { + let tmp = I2C_Lock() + (LOCKS+i).write(tmp) + } + } + + /* -------- 获取主锁 --------*/ + _mutex_lock(MAIN_LOCK) + var flag = false + + for (idx in 0..LOCKS_SIZE) { + var lock = (LOCKS+idx).read() + if (lock.is_active == false) { + lock.is_active = true + lock.i2c_fd = fd + lock.lock = _mutex_create() + _mutex_init(lock.lock) + (LOCKS+idx).write(lock) + flag = true + break + } + } + + _mutex_unlock(MAIN_LOCK) + if (flag ) { return } /* -------- 出口 -------- */ + throw OverflowException("LOCKS is over.") + } +} +/* -------- 为一个I2C设备注销锁具 -------- */ +@C +func I2cLock_destroy(fd: Int32): Unit { + unsafe { + /* -------- 检查锁具有没有被初始化 --------*/ + if (MAIN_LOCK.isNull()) { + throw NoneValueException("no i2c lock") + } + _mutex_lock(MAIN_LOCK) + + var flag_any = false + var flag_target = false + for (idx in 0..LOCKS_SIZE) { + var lock = (LOCKS+idx).read() + if (lock.is_active == true && lock.i2c_fd == fd) { + lock.is_active = false + _mutex_destroy(lock.lock) + _mutex_free(lock.lock) + (LOCKS+idx).write(lock) + flag_target = true + /* -------- NOTE: 扫描整个锁具不终止 -------- */ + } + else if (lock.is_active == true && lock.i2c_fd != fd) { + flag_any = true + } + } + + + _mutex_unlock(MAIN_LOCK) + + /* -------- 如果锁具里已经没有I2C锁, 就释放整个锁具 -------- */ + if (!flag_any) { + LibC.free(LOCKS) + _mutex_free(MAIN_LOCK) + MAIN_LOCK = CPointer() + } + + /* -------- 出口 -------- */ + if (flag_target) { + return } + + + throw NoneValueException("i2c lock nor found") + } +} + +/* -------- 为一个I2C锁具加锁 -------- */ +@C +func I2cLock_lock(fd: Int32): Unit { + unsafe { + if (MAIN_LOCK.isNull()) { + throw NoneValueException("no i2c lock") + } + + _mutex_lock(MAIN_LOCK) + + var flag = false + for (idx in 0..LOCKS_SIZE) { + var lock = (LOCKS+idx).read() + if (lock.is_active == true && lock.i2c_fd == fd) { + _mutex_lock(lock.lock) + (LOCKS+idx).write(lock) + flag = true + break + } + } + + _mutex_unlock(MAIN_LOCK) + if (flag) { return } + throw NoneValueException("i2c lock nor found") + } +} + +/* -------- 为一个I2C锁具解锁 -------- */ +@C +func I2cLock_unlock(fd: Int32): Unit { + unsafe { + if (MAIN_LOCK.isNull()) { + throw NoneValueException("no i2c lock") + } + _mutex_lock(MAIN_LOCK) + + var flag = false + for (idx in 0..LOCKS_SIZE) { + var lock = (LOCKS+idx).read() + if (lock.is_active == true && lock.i2c_fd == fd) { + _mutex_unlock(lock.lock) + (LOCKS+idx).write(lock) + flag = true + break + } + } + _mutex_unlock(MAIN_LOCK) + if (flag) {return} + throw NoneValueException("i2c lock nor found") + } +} + + +/* -------- 原生I2C通信类-------- + * INFO(20260521-qing): 直接调用glibc的接口 */ +public class I2C_Orig { + private var fd: Int32 = -1 + private var path: String + public init (path: String) { + this.path = path + let s1 = unsafe { + LibC.mallocCString(path) } + fd = unsafe { openI2cDev(s1) } + } + + public func _close(): Unit { + unsafe { closeI2cDev(fd) } + } + + public func setAddr(addr: UInt8) { + unsafe { setI2cAddr(fd, addr) } + } + + public func writeReg(reg: UInt8, val:UInt8): Unit { + unsafe { writeI2cReg(fd, reg, val) } + } + + public func readReg(reg: UInt8): Int8 { + var value = unsafe { readI2cReg(fd, reg) } + return value + } + + /*--------获取文件句柄--------*/ + public func getFd(): Int32 { + return fd + } + +} + + +/* -------- I2C设备异常 -------- */ +open private class I2cExcept <: Exception { + public I2cExcept(dev: String, msg: String) { + super('${dev}: ${msg}') } +} + +/* -------- 打开I2C设备失败 -------- */ +private class I2cOpenedFailed <: I2cExcept { + public I2cOpenedFailed(dev: String) { + super(dev, "failed to open i2c device") } +} + +/* -------- 关闭I2C设备失败 -------- */ +private class I2cClosedFailed <: I2cExcept { + public I2cClosedFailed(dev: String) { + super(dev, "failed to close i2c device") } +} + +/* -------- I2C设置地址失败 -------- */ +private class I2cSetAddressFailed <: I2cExcept { + public I2cSetAddressFailed(dev: String) { + super(dev, "failed to open i2c device") } +} + +/* -------- I2C写从机I2C失败 -------- */ +private class I2cWriteRegFailed <: I2cExcept { + public I2cWriteRegFailed(dev: String) { + super(dev, "failed to write i2c reg") } +} + +/* -------- I2C读从机I2C失败 -------- */ +private class I2cReadRegFailed <: I2cExcept { + public I2cReadRegFailed(dev: String) { + super(dev, "failed to read i2c reg") } +} + +/* -------- 未知I2C异常 -------- */ +private class I2cUnknowExp <: I2cExcept { + public I2cUnknowExp(dev: String, msg: String) { + super(dev, msg) } +} diff --git a/bot4cj/src/hd/MPU6050.cj b/bot4cj/src/hd/MPU6050.cj new file mode 100644 index 0000000..fd73ca5 --- /dev/null +++ b/bot4cj/src/hd/MPU6050.cj @@ -0,0 +1,243 @@ +/* ---------------- + * MPU6050陀螺仪与加速度计模块 + * - + * TODO(20260516-qing): 陀螺仪需要卡尔曼滤波、通过四元数等方式获取姿态角 + * - 所以应该使用一个C/C++线程来持续地采样,并且留一个接口进行获取 + */ + +package bot4cj.hd +import std.time.* +import std.math.* +import pthread4cj.* +import bot4cj.math.* + +const ADDR_0: UInt8 = 0x68 /* 默认地址 */ +const ADDR_1: UInt8 = 0x68 /* 地址2 */ +const PWR_MGMT_1: UInt8 = 0x6B /* 电源管理寄存器1 */ +const PWR_NOSLEEP: UInt8 = 0x00 /* 电源管理 - 非睡眠模式 */ +const GYRO_CONF_REG: UInt8 = 0x1B /* 陀螺仪配置寄存器 */ +const GYRO_FS_500DPS: UInt8 = 0x08 /* 陀螺仪量程 - 正负500度/秒 */ +const GYRO_REG_X_HIGH: UInt8 = 0x43 /* x - 陀螺仪横轴 高字节 */ +const GYRO_REG_X_LOW: UInt8 = 0x44 +const GYRO_REG_Y_HIGH: UInt8 = 0x45 /* y */ +const GYRO_REG_Y_LOW: UInt8 = 0x46 +const GYRO_REG_Z_HIGH: UInt8 = 0x47 /* z */ +const GYRO_REG_Z_LOW: UInt8 = 0x48 +const ACCEL_CONF_REG: UInt8 = 0x1C /* 加速度计配置寄存器 */ +const ACCEL_FS_8g: UInt8 = 0x10 /* 加速度计量程 正负8g */ +const ACCEL_REG_X_HIGH: UInt8 = 0x3B +const ACCEL_REG_X_LOW: UInt8 = 0x3C +const ACCEL_REG_Y_HIGH: UInt8 = 0x3D +const ACCEL_REG_Y_LOW: UInt8 = 0x3E +const ACCEL_REG_Z_HIGH: UInt8 = 0x3F +const ACCEL_REG_Z_LOW: UInt8 = 0x40 + +/* -------- MPU6050传感器数据 -------- */ +@C +public struct MPU6050_sensorData { + public var accel_x: Int16 = 0 /* 加速度计 */ + public var accel_y: Int16 = 0 + public var accel_z: Int16 = 0 + public var gyro_x: Int16 = 0 /* 陀螺仪 */ + public var gyro_y: Int16 = 0 + public var gyro_z: Int16 = 0 + public func print() { /* 格式化打印 */ + println("[accel x, y, z] ${accel_x}, ${accel_y}, ${accel_z}") + println("[gyro x, y, z] ${gyro_x}, ${gyro_y}, ${gyro_z}") + println("--------------------") + } +} + + +/* -------- 设置MPU6050 -------- */ +@C +func mpu6050_setup(i2c_fd: Int32, addr: UInt8) { + unsafe { + I2cLock_lock(i2c_fd) + setI2cAddr(i2c_fd, addr); + sleep(Duration.millisecond * 1) + writeI2cReg(i2c_fd, PWR_MGMT_1, PWR_NOSLEEP); /* 退出睡眠 */ + writeI2cReg(i2c_fd, GYRO_CONF_REG, GYRO_FS_500DPS); /* ±500°/s */ + writeI2cReg(i2c_fd, ACCEL_CONF_REG, ACCEL_FS_8g); /* ±8g */ + I2cLock_unlock(i2c_fd) + sleep(Duration.millisecond * 100); /* 等待稳定 */ + } +} + +@C +/* -------- 读取 16 位传感器数据(带符号)-------- + * FIXME: 是否能够正确处理符号位 */ +func read16BitReg(i2c_fd: Int32, high: UInt8, low: UInt8): Int16 { + unsafe { + let hh: Int16 = Int16(readI2cReg(i2c_fd, high)) + let ll: Int16 = Int16(readI2cReg(i2c_fd, low)) + return (hh << 8) | ll + } +} + +/* -------- 读取传感器数据 -------- */ +@C +func mpu6050_readSensor(i2c_fd: Int32, addr: UInt8) { + var data = MPU6050_sensorData() + + unsafe { + I2cLock_lock(i2c_fd) + setI2cAddr(i2c_fd, addr) + data.accel_x = read16BitReg(i2c_fd, ACCEL_REG_X_HIGH, ACCEL_REG_X_LOW); + data.accel_y = read16BitReg(i2c_fd, ACCEL_REG_Y_HIGH, ACCEL_REG_Y_LOW); + data.accel_z = read16BitReg(i2c_fd, ACCEL_REG_Z_HIGH, ACCEL_REG_Z_LOW); + data.gyro_x = read16BitReg(i2c_fd, GYRO_REG_X_HIGH, GYRO_REG_X_LOW); + data.gyro_y = read16BitReg(i2c_fd, GYRO_REG_Y_HIGH, GYRO_REG_Y_LOW); + data.gyro_z = read16BitReg(i2c_fd, GYRO_REG_Z_HIGH, GYRO_REG_Z_LOW); + I2cLock_unlock(i2c_fd) + } + return data +} + + +/* -------- 计算PITCH角 -------- */ +//@C +//func mpu6050_calcPitch() + +/* -------- mpu6050主线程 -------- + * TODO(20260525-qing): 使用互补滤波就够用了 */ +const RAD_TO_DEG = 57.2956f32 /* ---- 弧度转换为角度的系数(180/π ≈ 57.2956) ---- */ +//foreign func pthread_testcancel(): Unit +@C +func mpu6050_main(args: CPointer): CPointer { + + /* -------- 获取传入线程的参数 -------- */ + let param = unsafe{ CPointer(args).read() } + + /* -------- 为加速度计准备滤波器组 -------- */ + var kalman_accel_x = extKalman(20.0f32, 200.0f32) + var kalman_accel_y = extKalman(20.0f32, 200.0f32) + var kalman_accel_z = extKalman(20.0f32, 200.0f32) + + /* -------- 为陀螺仪准备滤波器组 -------- */ + var kalman_gyro_x = extKalman(20.0f32, 200.0f32) + var kalman_gyro_y = extKalman(20.0f32, 200.0f32) + var kalman_gyro_z = extKalman(20.0f32, 200.0f32) + + + while(true) { + + println("I am running. i2c_fd: ${param.i2c_fd}, addr: ${param.addr}") + //unsafe { _mutex_lock(mutex) } + + /* -------- 获取传感器数据 -------- */ + var data = unsafe { mpu6050_readSensor(param.i2c_fd, param.addr) } + + /* -------- 为加速度计执行滤波操作 -------- */ + let filtered_accel_x = kalman_accel_x.filter(Float32(data.accel_x)) + let filtered_accel_y = kalman_accel_y.filter(Float32(data.accel_y)) + let filtered_accel_z = kalman_accel_z.filter(Float32(data.accel_z)) + + /* -------- 为陀螺仪执行滤波操作 -------- */ + let filtered_gyro_x = kalman_gyro_x.filter(Float32(data.gyro_x)) + let filtered_gyro_y = kalman_gyro_y.filter(Float32(data.gyro_y)) + let filtered_gyro_z = kalman_gyro_z.filter(Float32(data.gyro_z)) + + + /* -------- 计算Pitch(俯仰角)和Roll(翻滚角) -------- */ + let roll = atan2(filtered_accel_y, filtered_accel_z) * RAD_TO_DEG + let pitch = atan(-filtered_accel_x / sqrt(filtered_accel_y * filtered_accel_y + filtered_accel_z * filtered_accel_z)) * RAD_TO_DEG + + let roll1 = atan(filtered_accel_y / sqrt(filtered_accel_x * filtered_accel_x + filtered_accel_z * filtered_accel_z)) * RAD_TO_DEG + let pitch1 = atan2(-filtered_accel_x, filtered_accel_z) * RAD_TO_DEG + + print("roll: ${roll}\t") + println("pitch: ${pitch}") + print("roll1: ${roll1}\t") + println("pitch1: ${pitch1}") + + //unsafe { _mutex_unlock(mutex) } + sleep(Duration.millisecond * 10) + + } + + /* -------- 返回NULL指针以占位 -------- */ + return CPointer() +} + +/* -------- mpu6050线程参数 -------- + * INFO(20260522-qing): mutex字段是一个锁的指针,需要在MPU6050的构造函数中获取资源 + * - 用于辅助别的线程获取值。 */ +@C +struct mpu6050_th_param { + public var i2c_fd: Int32 = 0 /* i2c文件句柄 */ + public var addr: UInt8 = 0 /* i2c设备地址 */ + public var mutex = CPointer() /* 用于辅助别的线程获取值的锁 */ +} + + + +/* -------- MPU6050陀螺仪、加速度计 -------- + * - 输入并持有一个I2C文件句柄 */ +public class MPU6050 { + + /* -------- 主初始化器 -------- + * FIXME(20260517-qing): 由于gc的原因,我们可能会手动构造RAII, + * - 将一部分初始化移动到别的函数 */ + public init(i2c_fd: Int32, addr: UInt8) { + this.i2c_fd = i2c_fd + this.addr = addr + unsafe { + param = LibC.malloc() + var tmp = mpu6050_th_param() + tmp.i2c_fd = i2c_fd + tmp.addr = addr + tmp.mutex = LibC.malloc() + param.write(tmp) + } + } + + /* -------- 终结器 -------- */ + ~init() { + /* -------- 清除构造时申请的线程参数和锁 -------- */ + unsafe { + var tmp = param.read() + LibC.free(tmp.mutex) + LibC.free(param) + } + } + + /* -------- 初始化该模块 -------- */ + public func setup() { + unsafe { mpu6050_setup(i2c_fd, addr) } + } + + /*----------------*/ + private var i2c_fd: Int32 /* -------- I2C设备文件句柄 -------- */ + private var addr: UInt8 /* -------- I2C设备地址 -------- */ + + + /* -------- 获取原始MPU6050传感器数据 -------- */ + public func readSensor(): MPU6050_sensorData { + return unsafe { mpu6050_readSensor(i2c_fd, addr) } + } + + /* -------- mpu6050启动守护 -------- + * TODO(20260520-qing): 放进类中 + * --------------------------------- */ + var param: CPointer /* -------- 线程参数必须能够持久保存 -------- */ + var pth: Option = None /* -------- 线程对象 -------- */ + public func startDaemon() { /* -------- 启动线程 -------- */ + pth = Pth(mpu6050_main, CPointer(param)) + } + + /* -------- 停止线程 -------- */ + public func stopDaemon() { + if (let Some(P) <- pth) { + P.close() } + } + + /* -------- 等待线程终止 -------- */ + public func waitDaemon() { + if (let Some(P) <- pth) { + var ptr: CPointer = CPointer() + P.join(CPointer>(CPointer>(ptr))) } + } + +} + diff --git a/bot4cj/src/hd/PCA9685.cj b/bot4cj/src/hd/PCA9685.cj new file mode 100644 index 0000000..a1d80a0 --- /dev/null +++ b/bot4cj/src/hd/PCA9685.cj @@ -0,0 +1,69 @@ +package bot4cj.hd +import pthread4cj.* + +/* pca9685舵机控制版 - bot4cj + * TODO(20260515-qing): 由于对统一接口的需求,设计基于回调的虚拟化硬件 + * TODO(20260516-qing): 获取pca9685的中文或者英文参考资料 + * NOTE(20260618-qing): 该代码已经被Lua脚本所取代,留着备用说不定以后会删除。 */ +public class PCA9685 { + private static const ADDR_0: UInt8 = 0x40 /* PCA9685的i2c地址 */ + private let i2c_fd: Int32 + private let addr: UInt8 + public init( i2c_fd: Int32, + addr!: UInt8 = ADDR_0) { /* PCA9685硬件地址 */ + this.i2c_fd = i2c_fd + this.addr = addr + /* -------- 初始化PCA9685 -------- + * FIXME(20260517-qing): 在旧版机器人代码移除以后,移除这一段 */ + + } + + /* -------- 设置PWM频率为50Hz(舵机标准周期20ms0) -------- + * TODO(20260516-qing): 不将数值写死 */ + public func setup() { + unsafe { + I2cLock_lock(i2c_fd) + setI2cAddr(i2c_fd, addr); + writeI2cReg(i2c_fd, 0x00, 0x20); /* 开启AI(地址自增)和关闭SLEEP */ + sleep(5000 * Duration.nanosecond); /* 等待振荡器启动 */ + /* FIXME: 这一条是不是重复了 */ + var freq: Float32 = 50.0; + var prescale_val: Float32 = 25000000.0 / (4096.0 * freq) - 1.0; /* 25MHz主频 */ + var prescale: UInt8 = UInt8(prescale_val + 0.5); + + writeI2cReg(i2c_fd, 0x00, 0x10); /* 进入SLEEP模式(允许改频率) */ + writeI2cReg(i2c_fd, 0xFE, prescale); /* 写入预分频值 */ + writeI2cReg(i2c_fd, 0x00, 0x20); /* 退出SLEEP */ + + I2cLock_unlock(i2c_fd) + } + sleep(5000 * Duration.nanosecond); /* 等待振荡器启动 */ + } + + + /* -------- 设置指定通道的PWM信号(0-4095)-------- */ + public func setPWM(channel: UInt8, on: UInt16, off: UInt16) { + var reg: UInt8 = 0x06 + 4 * channel; /* LED0 寄存器起始地址 */ + unsafe { + writeI2cReg(i2c_fd, reg, UInt8(on & 0xFF)); + writeI2cReg(i2c_fd, reg + 1, UInt8(on >> 8)); + writeI2cReg(i2c_fd, reg + 2, UInt8(off & 0xFF)); + writeI2cReg(i2c_fd, reg + 3, UInt8(off >> 8)); + } + return + } + + /* -------- 角度转PWM值(0°~180° → 0.5ms~2.5ms脉宽) -------- */ + public func setAngle(channel: UInt8, angle: Float32) { + const min: Float32 = 0.5; /* 0°对应0.5ms */ + const max: Float32 = 2.5; /* 180°对应2.5ms */ + let width: Float32 = min + (max - min) * (angle / 180.0); + let off_val: UInt16 = UInt16(width * 4096.0 / 20.0); /* 20ms 周期 */ + unsafe { + I2cLock_lock(i2c_fd) + setI2cAddr(i2c_fd, this.addr); + this.setPWM(channel, 0, off_val); /* ON=0, OFF=计算值 */ + I2cLock_unlock(i2c_fd) + } + } +} diff --git a/bot4cj/src/hd/Servo.cj b/bot4cj/src/hd/Servo.cj new file mode 100644 index 0000000..accc4cd --- /dev/null +++ b/bot4cj/src/hd/Servo.cj @@ -0,0 +1,30 @@ +package bot4cj.hd +import std.math.* +/* -------- 舵机类 -------- + * 含最大值、最小值、漂移值三个调整项 + * 以及一个设置角度回调函数 + * + * FIXME(20260618-qing): 在构造函数中设置角度最大值 */ +public class Servo { + private var max: Float32 + private var min: Float32 + private var offset: Float32 + private var callback_setAngle: (Float32) -> Unit + private static let MAX_ANGLE: Float32 = 180.0f32 + public init(max!: Float32, min!: Float32, offset!: Float32, + callback_setAngle!: (Float32) -> Unit) { + this.max =max + this.min = min + this.offset = offset + this.callback_setAngle = callback_setAngle + } + + public func setAngle(angle: Float32) { + var a = angle + a += offset /* ---- 加上漂移值 ---- */ + if (a > abs(max)) { a = abs(max)} + if (a < abs(min)) { a = abs(min)} + if (max < 0.0f32) { a = MAX_ANGLE - a } + callback_setAngle(a) + } +} diff --git a/bot4cj/src/hd/extern/macro_ExternHardware.cj b/bot4cj/src/hd/extern/macro_ExternHardware.cj new file mode 100644 index 0000000..fe85ae8 --- /dev/null +++ b/bot4cj/src/hd/extern/macro_ExternHardware.cj @@ -0,0 +1,16 @@ +macro package bot4cj.hd.extern + +import std.fs.* +import std.io.* +import std.ast.* + +public macro ExternHardware(attrTokens: Tokens, inputTokens: Tokens): Tokens { + let expr = LitConstExpr(attrTokens) + let file = File(expr.literal.value, OpenMode.Read) + let bytes = readToEnd(file) + file.close() + let sb = StringBuilder() + sb.appendFromUtf8(bytes) + let code = sb.toString() + return cangjieLex(code) +} diff --git a/bot4cj/src/hd/fb.cj b/bot4cj/src/hd/fb.cj new file mode 100644 index 0000000..c8edafd --- /dev/null +++ b/bot4cj/src/hd/fb.cj @@ -0,0 +1,138 @@ +package bot4cj.hd +import ctype4cj.* + +const FBIOGET_VSCREENINFO = 0x4602u64 +const FBIOGET_FSCREENINFO = 0x4600u64 +const PROT_WRITE: C_Int = 0x2 +const MAP_SHARED: C_Int = 0x01 + +/* --- 定义在I2C.cj里了 ---*/ +//foreign func ioctl(fd: C_Int, request: C_ULong, ...): C_Int +/* ---- 内存映射 ---- */ +public type off_t = C_LongLong +foreign func mmap(addr: CPointer, length: UIntNative, prot: C_Int, flags: C_Int, fd: C_Int, offset: off_t): CPointer + +/* -------- 打开framebuffer帧缓冲设备 -------- */ +@C +public func fb_open(fb_dev: CString): C_Int { + return unsafe { libc_open(fb_dev, O_RDWR) } +} + +/* -------- 帧缓冲区固定参数 -------- */ +@C +public struct fb_fix_screeninfo { + var id: VArray /* 设备驱动名称字符串,比如"TT Builtin" */ + var smem_start: C_ULong = 0 /* 帧缓冲内存(显存)的物理起始地址 */ + /* (physical address) */ + var smem_len: UInt32 = 0 /* 帧缓冲内存的总长度,单位字节 */ + var type_: UInt32 = 0 /* 显存类型(fb存储布局)see FB_TYPE_* */ + var type_aux: UInt32 = 0 /* 显存附加类型 */ + var visual: UInt32 = 0 /* 色彩显示模式 see FB_VISUAL_* */ + var xpanstep: UInt16 = 0 /* zero if no hardware panning */ + var ypanstep: UInt16 = 0 /* zero if no hardware panning */ + var ywrapstep: UInt16 = 0 /* zero if no hardware ywrap */ + var line_length: UInt32 = 0 /* 显示屏上一行像素数据所占用的字节数 */ + var mmio_start: C_ULong = 0 /* 内存映射I/O的物理起始地址 */ + /* (physical address) */ + var mmio_len: UInt32 = 0 /* 内存映射的区域长度,单位字节 */ + var accel: UInt32 = 0 /* 硬件加速类型 */ + /* specific chip/card we have */ + var capabilities: UInt16 = 0 /* see FB_CAP_* */ + var reserved: VArray /* 保留字段,用于未来扩展,确保兼容 */ + + public init() { + id = VArray (repeat: 0) + reserved = VArray (repeat: 0) + } +} + +/* 颜色字段偏移量的解释:所有偏移量均从右侧开始计算, + * 位于一个“像素”值内部,该像素值的宽度正好等于 'bits_per_pixel' + * (也就是说:你可以将偏移量作为 << 的右操作数使用)。 + * 之后的像素就是一个比特流,会原封不动地写入显存。 + * + * 对于伪彩色:所有颜色分量的偏移量和长度应该相同。 + * 偏移量指定了调色板索引的最低有效位在像素值中的位置。 + * 长度表示可用的调色板条目数量(即条目数 = 1 << 长度)。 + */ +@C +public struct fb_bitfield { + var offset: UInt32 = 0 /* 位域的起始位置(从右侧算起)*/ + var length: UInt32 = 0 /* 位域的长度(比特数) */ + var msb_right: UInt32 = 0 /* != 0 : 最高有效位在右侧 */ + /* (即低位在右) */ +} + +/* -------- 帧缓冲区可变参数 -------- */ +@C +public struct fb_var_screeninfo { + var xres: UInt32 = 0 /* visible resolution */ + var yres: UInt32 = 0 + var xres_virtual: UInt32 = 0 /* virtual resolution */ + var yres_virtual: UInt32 = 0 + var xoffset: UInt32 = 0 /* offset from virtual to visible */ + var yoffset: UInt32 = 0 /* resolution */ + + var bits_per_pixel: UInt32 = 0 /* guess what */ + var grayscale: UInt32 = 0 /* 0 = color, 1 = grayscale, */ + /* >1 = FOURCC */ + var red: fb_bitfield /* bitfield in fb mem if true color, */ + var green: fb_bitfield /* else only length is significant */ + var blue: fb_bitfield + var transp: fb_bitfield /* transparency */ + + var nonstd: UInt32 = 0 /* != 0 Non standard pixel format */ + + var activate: UInt32 = 0 /* see FB_ACTIVATE_* */ + + var height: UInt32 = 0 /* height of picture in mm */ + var width: UInt32 = 0 /* width of picture in mm */ + + var accel_flags: UInt32 = 0 /* (OBSOLETE) see fb_info.flags */ + + /* Timing: All values in pixclocks, except pixclock (of course) */ + var pixclock: UInt32 = 0 /* pixel clock in ps (pico seconds) */ + var left_margin: UInt32 = 0 /* time from sync to picture */ + var right_margin: UInt32 = 0 /* time from picture to sync */ + var upper_margin: UInt32 = 0 /* time from sync to picture */ + var lower_margin: UInt32 = 0 + var hsync_len: UInt32 = 0 /* length of horizontal sync */ + var vsync_len: UInt32 = 0 /* length of vertical sync */ + var sync: UInt32 =0 /* see FB_SYNC_* */ + var vmode: UInt32 = 0 /* see FB_VMODE_* */ + var rotate: UInt32 = 0 /* angle we rotate counter clockwise */ + var colorspace: UInt32 = 0 /* colorspace for FOURCC-based modes */ + var reserved: VArray/* Reserved for future compatibility */ + + public init() { + red = fb_bitfield() + green = fb_bitfield() + blue = fb_bitfield() + transp = fb_bitfield() + reserved = VArray (repeat: 0) + } +} + +/* ---- 获取帧缓冲区可变参数 ---- */ +@C +public func fb_get_var_info(fd: C_Int) { + var info = fb_var_screeninfo() + unsafe { ioctl(fd, FBIOGET_VSCREENINFO, inout info) } + return info +} + +/* ---- 获取帧缓冲区固定参数 ---- */ +@C +public func fb_get_fix_info(fd: C_Int) { + var info = fb_fix_screeninfo() + unsafe { ioctl(fd, FBIOGET_FSCREENINFO, inout info) } + return info +} + +/* ---- 内存映射 ---- */ +@C +public func fb_mmap(addr: CPointer, length: UIntNative, fd: C_Int, offset: off_t): CPointer +{ + let buf = unsafe { mmap(addr, length, PROT_WRITE, MAP_SHARED, fd, offset) } + return buf +} diff --git a/bot4cj/src/hd/snd.cj b/bot4cj/src/hd/snd.cj new file mode 100644 index 0000000..7314d66 --- /dev/null +++ b/bot4cj/src/hd/snd.cj @@ -0,0 +1,22 @@ +package bot4cj.hd +import std.time.* +//foreign func play_frequency(frequency: Int32, duration_ms: Int32, sample_rate: Int32): Bool +//foreign func play_frequency(frequency: Float32, duration_ms: Int32, volume: Float64, channels: Int32, sample_rate: Int32): Bool + +/* -------- 扬声器类 -------- + * TODO: 一次打开设备,一段时间后再关闭 */ +public class Spk { + private var channels: Int32 + private var sample_rate: Int32 + public init(channels!: Int32, sample_rate!: Int32) { + this.channels = channels + this.sample_rate = sample_rate + } + + /* -------- 控制扬声器发声 -------- */ + public func play(frequency: Float32, volume: Float64, durations_ms: Int32): Bool { + //unsafe { play_frequency(frequency, durations_ms, volume, channels, sample_rate) } + sleep(Duration.millisecond * Int64(durations_ms)) + return true + } +} diff --git a/bot4cj/src/main.cj b/bot4cj/src/main.cj new file mode 100644 index 0000000..aacb768 --- /dev/null +++ b/bot4cj/src/main.cj @@ -0,0 +1,177 @@ +package bot4cj +import std.io.* +import std.fs.* +import std.env.* +import std.time.* +import std.argopt.* +import std.convert.* +import std.collection.* +import stdx.encoding.json.* +import bot4cj.hd.* +import bot4cj.math.* +import ctype4cj.* + +/* ---- 神经网络输出路径 ---- */ +var NNS_OUT: Option = None +main(args: Array): Int64 { + + /* ---- 解析命令行参数 ---- */ + let specs = [ + ArgumentSpec.Long("help", ArgumentMode.NoValue), /* ---- 拉起帮助菜单 ---- */ + ArgumentSpec.Short(r'i', ArgumentMode.RequiredValue), /* ---- 神经网络模型 - 输入 ---- */ + ArgumentSpec.Short(r'o', ArgumentMode.RequiredValue), /* ---- 神经网络模型 - 输出 ---- */ + ArgumentSpec.Long("test", ArgumentMode.RequiredValue) /* ---- 运行一个测试分支 - 需要输入测试类型 ---- */ + ] + + /* ---- 执行解析 ---- */ + let parsed = parseArguments(args, specs) + let options = parsed.options + + //--------------------------- + /* 读取设置项 */ + + /*---------------------------*/ + /*---------------------------*/ + /* 初始化神经网络 (init nn) + * TODO: 可以去掉内部初始化参数,使用矩阵式模板进行初始化 */ + + + //var nns: ArrayList = + //if (options.keys().contains("i")) { + // let filename = options['i'] + // load_nns(filename) } + //else { + // let nn_in = ArrayList() + // nn_in.add(Nn(41, 80, ActivationFuncs.Leaky_ReLU, 0.2f32)) + // nn_in.add(Nn(80, 80, ActivationFuncs.Leaky_ReLU, 0.2f32)) + // nn_in.add(Nn(80, 40, ActivationFuncs.Leaky_ReLU, 0.2f32)) + // nn_in.add(Nn(40, 17, ActivationFuncs.Sigmoid, 0.2f32)) // 16个舵机加1个时延 + // nn_in } + + /* ---- 使用-o选项进行输出路径的选择 ---- */ + if (options.contains("o")) { + NNS_OUT = Option.Some(options['o']) + } + + /*---------------------------*/ + /*---------------------------*/ + /* 分支选择 */ + + + /* -------- 拉起帮助手册 + * -------- */ + if (options.contains("help")) { + print_help() + return 0 + } + + /* -------- 启动一个测试分支 + * -------- */ + else if (options.contains("test")) { + run_test(options["test"]) + return 0 + } + + /* -------- 缺省行为:从标准输入获取动作脚本 + * -------- + * -------- TODO(20260519-qing): 进行脚本引入(相对路径也可,从**环境变量**的路径中搜寻也可) */ + else { + let consoleReader = getStdIn() + let robot = RobotStruct(consoleReader) + try { + robot.active() + robot.run() + } + finally { + robot.deactive() + } + + /* ---- NOTE(20260523-qing): 储存微调网络模型 + * ---- */ +// let consoleReader = getStdIn() +// run_action_drl(consoleReader, nns) +// if (options.contains("o")) { +// save_nns(nns, options['o']) } + } + + + return 0 +} + +/* -------- 打印帮助手册 + * -------- */ +func print_help() +{ + println("这是一个机器人动作脚本解析器。") + println("使用管道输入动作脚本,示例:") + println("cat std.mt | ./bot") + println() + println("--i2c=/path/to/device\t选择i2c设备") + println() + println("-i 选择输入的模型的路径") + println("-o 设置输出的模型的路径") +} + +/* -------- 集成多种常规测试、临时测试 + * -------- */ +func run_test(key: String) { + + /* ----------- 神经网络与门测试 + * ----------- + * ----------- INFO: 我们使用随机生成的动态数据集,这样会导致一些后果 */ + if (key == "nn") { + let nn_t = ArrayList() + nn_t.add(Nn1(2, 4, 0.05f32, Af.Leaky_ReLU(FP32(0.01)))) + nn_t.add(Nn1(4, 1, 0.05f32, Af.Sigmoid)) + let batch = 1 + let num =2000 + let prt_num = 100 + for (i in 0..(num*batch)) { + let m = Matrix1(1, 2) + let t = Matrix1(1, 1) + prepare_andDoor(m, t) + let l = train1(nn_t, m, t, 1.0f32) // 这个1.0是学习率的折扣,而非学习率本身 + if (i % prt_num == prt_num-1) { + print("${i}\t:") + print("${l}") + println() + } + } + } + + + else if (key == "cnn") { + testCNN() + } + + else if (key == "cnn1") { + testGeometryCNN() + } + + + /* -------- 测试解析矩阵,并且输出 + * -------- */ + else if (key == "matrix_o") { + let file = File("ss/test.mt", OpenMode.Read) + let robot = RobotStruct(file) + file.close() + let outf = File("ss/output.mt", OpenMode.Write) + robot.save(outf) + outf.close() + } + + /* -------- 解析测试输出的矩阵 + * -------- */ + else if (key == "matrix_2") { + let file = File("ss/output.mt", OpenMode.Read) + let robot = RobotStruct(file) + file.close() + robot.active() + robot.run() + robot.deactive() + let outf = File("ss/output_1.mt", OpenMode.Write) + robot.save(outf) + outf.close() + } + +} diff --git a/bot4cj/src/math/Adam.cj b/bot4cj/src/math/Adam.cj new file mode 100644 index 0000000..a4ebc4b --- /dev/null +++ b/bot4cj/src/math/Adam.cj @@ -0,0 +1,204 @@ +// Adam.cj - Adam 优化器实现(添加全连接层支持) +package bot4cj.math + +import std.math.* +import std.collection.* + +public class Adam { + let learningRate: FP32 + let beta1: FP32 + let beta2: FP32 + let epsilon: FP32 + + var m: HashMap + var v: HashMap + var t: Int64 + + // 完整参数构造函数 + public init( + lr: FP32, + beta1: FP32, + beta2: FP32, + epsilon: FP32 + ) { + learningRate = lr + this.beta1 = beta1 + this.beta2 = beta2 + this.epsilon = epsilon + m = HashMap() + v = HashMap() + t = 0 + } + + // 默认参数构造函数 + public init() { + learningRate = FP32(0.001) + beta1 = FP32(0.9) + beta2 = FP32(0.999) + epsilon = FP32(0.00000001) + m = HashMap() + v = HashMap() + t = 0 + } + + // 仅自定义学习率的构造函数 + public init(lr: FP32) { + learningRate = lr + beta1 = FP32(0.9) + beta2 = FP32(0.999) + epsilon = FP32(0.00000001) + m = HashMap() + v = HashMap() + t = 0 + } + + /** + * 计算幂运算的辅助函数 + */ + private func power(base: FP32, exp: Int64): FP32 { + var result = FP32(1.0) + for (i in 0..exp) { + result = result * base + } + return result + } + + /** + * 计算平方根的辅助函数 - 使用牛顿迭代法 + */ + private func sqrt(val: FP32): FP32 { + let x = val.getValue() + if (x <= 0.0) { + return FP32(0.0) + } + var guess = x + for (i in 0..10) { + guess = (guess + x / guess) / 2.0 + } + return FP32(guess) + } + + /** + * 更新矩阵参数(通用方法) + * @param param 要更新的参数矩阵 + * @param grad 梯度矩阵 + * @param key 参数在HashMap中的键名 + */ + private func updateMatrix( + param: Matrix1, + grad: Matrix1, + key: String + ): Unit { + // 初始化动量 + let hasState = m.contains(key) + if (!hasState) { + let rows = param.get_row() + let cols = param.get_col() + m.add(key, Matrix1(rows, cols)) + v.add(key, Matrix1(rows, cols)) + } + + let mMat = m.get(key).getOrThrow() + let vMat = v.get(key).getOrThrow() + + let rows = param.get_row() + let cols = param.get_col() + + for (r in 0..rows) { + for (c in 0..cols) { + let g = grad.get(r, c).getOrThrow() + + // 更新一阶矩 + let oldM = mMat.get(r, c).getOrThrow() + let newM = beta1 * oldM + (FP32(1.0) - beta1) * g + mMat.set(r, c, newM) + + // 更新二阶矩 + let oldV = vMat.get(r, c).getOrThrow() + let newV = beta2 * oldV + (FP32(1.0) - beta2) * g * g + vMat.set(r, c, newV) + + // 偏差修正 + let one = FP32(1.0) + let beta1Pow = power(beta1, t) + let beta2Pow = power(beta2, t) + + let mHat = newM / (one - beta1Pow) + let vHat = newV / (one - beta2Pow) + + // 更新参数 + let oldParam = param.get(r, c).getOrThrow() + let update = learningRate * mHat / (sqrt(vHat) + epsilon) + param.set(r, c, oldParam - update) + } + } + } + + /** + * 更新卷积层参数 + */ + public func updateConvLayer(layer: ConvLayer): Unit { + t += 1 + + // 更新卷积核 + var kGrad = match (layer.kernelsGrad) { + case Some(val) => val + case _ => throw Exception("No kernel gradients") + } + + for (oc in 0..layer.nOutputChannels) { + let key = "conv_kernel_" + oc.toString() + updateMatrix(layer.kernels[oc], kGrad[oc], key) + } + + // 更新偏置 + var bGrad = match (layer.biasGrad) { + case Some(val) => val + case _ => throw Exception("No bias gradient") + } + + let biasKey = "conv_bias" + updateMatrix(layer.biases, bGrad, biasKey) + } + + /** + * 更新全连接层参数(Nn1) + */ + public func updateFCLayer(layer: Nn1): Unit { + t += 1 + + // 更新权重 + var wGrad = match (layer.weights_grad) { + case Some(val) => val + case _ => throw Exception("No weights gradient") + } + + let weightKey = "fc_weights" + updateMatrix(layer.weights, wGrad, weightKey) + + // 更新偏置 + var bGrad = match (layer.bias_grad) { + case Some(val) => val + case _ => throw Exception("No bias gradient") + } + + let biasKey = "fc_bias" + updateMatrix(layer.bias, bGrad, biasKey) + } + + /** + * 重置优化器状态 + */ + public func reset(): Unit { + m.clear() + v.clear() + t = 0 + } + + /** + * 获取当前迭代次数 + */ + public func getStep(): Int64 { + t + } +} \ No newline at end of file diff --git a/bot4cj/src/math/Af.cj b/bot4cj/src/math/Af.cj new file mode 100644 index 0000000..1d0d4b3 --- /dev/null +++ b/bot4cj/src/math/Af.cj @@ -0,0 +1,273 @@ +package bot4cj.math +import std.math.* + +/* -------- Activation Functions 激活函数族 -------- + * TODO(20260516-qing): 增加序列化、反序列化工厂函数 */ +public enum Af { + + None | Sigmoid | ReLU | Leaky_ReLU(FP32) | Tanh | Softmax + + /* -------- 执行激活函数 -------- */ + public func forward(x: Matrix1) { + match(this) { + case None => none(x) + case Sigmoid => sigmoid(x) + case ReLU => relu(x) + case Leaky_ReLU(alpha) => leaky_relu(x, alpha) + case Tanh => tanh(x) + case Softmax => softmax(x) + } + } + + /* -------- 激活函数的导数 -------- */ + public func backward(y: Matrix1) { + match(this) { + case None => none_dot(y) + case Sigmoid => sigmoid_dot(y) + case ReLU => relu_dot(y) + case Leaky_ReLU(alpha) => leaky_relu_dot(y, alpha) + case Tanh => tanh_dot(y) + case Softmax => softmax_jacobian(y) + } + } + + /* -------- 序列化与反序列化 -------- */ + public func get_type(): String { + return match(this) { + case None => "None" + case Sigmoid => "Sigmoid" + case ReLU => "ReLU" + case Leaky_ReLU(alpha) => "Leaky_ReLU" + case Tanh => "Tanh" + case Softmax => "Softmax" + } + } + + /* */ + public func get_value(): FP32 { + return match(this) { + case None => FP32(0.0f32) + case Sigmoid => FP32(0.0f32) + case ReLU => FP32(0.0f32) + case Leaky_ReLU(alpha) => alpha + case Tanh => FP32(0.0f32) + case Softmax => FP32(0.0f32) + } + } + + /* -------- 空的激活函数 -------- */ + private static func none(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + N.set(r, c, FP32(x1)) } + } + return N + } + + /* -------- 空激活函数的导数 -------- */ + private static func none_dot(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + N.set(r, c, FP32(1.0f32)) } + } + return N + } + + /* -------- S型生长曲线 -------- */ + private static func sigmoid(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 = 1.0f32 / (1.0f32 + exp(-x1)) + N.set(r, c, FP32(x2)) } + } + return N + } + + /* -------- S型生长曲线的导数 -------- */ + private static func sigmoid_dot(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 = 1.0f32 / (1.0f32 + exp(-x1)) + let x3 = x2 * (1.0f32 - x2) + N.set(r, c, FP32(x3)) } + } + return N + } + + /* -------- 线性整流单元 -------- */ + private static func relu(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 =if (x1 > 0.0f32) {x1} else{0.0f32} + N.set(r, c, FP32(x2)) + } + } + return N + } + + /* -------- 线性整流单元的导数 -------- */ + private static func relu_dot(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 =if (x1 > 0.0f32) {1.0f32} else{0.0f32} + N.set(r, c, FP32(x2)) + } + } + return N + } + + /* -------- 带泄露的线性整流单元 -------- */ + private static func leaky_relu(M: Matrix1, alpha: FP32) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 =if (x1 > 0.0f32) {x1} else{x1 * alpha.getValue()} + N.set(r, c, FP32(x2)) + } + } + return N + } + + /* -------- 带泄露的整流单元导数 -------- */ + private static func leaky_relu_dot(M: Matrix1, alpha: FP32) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 =if (x1 > 0.0f32) { 1.0f32 } else{alpha.getValue()} + N.set(r, c, FP32(x2)) } + } + return N + } + + /* -------- 双曲正切函数 --------*/ + private static func tanh(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 = tanh(x1) + N.set(r, c, FP32(x2)) } + } + return N + } + + /* -------- 双曲正切函数的导数 -------- */ + private static func tanh_dot(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + for (r in 0..row) { + for (c in 0..col) { + let y = M.get(r, c).getOrThrow() + let y_val= y.getValue() /*---- NOTE(20260525-qing): 修复命名(x => y) ----*/ + let rea = 1.0f32 - y_val * y_val + N.set(r, c, FP32(rea)) } + } + return N + } + + /* -------- 归一化指数函数 -------- */ + private static func softmax(M: Matrix1) { + let row = M.get_row() + let col = M.get_col() + let N = Matrix1(row, col) + var max_val = 0.0f32 + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + if (x1 > max_val) { + max_val = x1 } + } + } + var sum = 0.0f32 + for (r in 0..row) { + for (c in 0..col) { + let x = M.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 = exp(x1 - max_val) + N.set(r, c, FP32(x2)) + sum += x2 + } + } + for (r in 0..row) { + for (c in 0..col) { + let x = N.get(r, c).getOrThrow() + let x1= x.getValue() + let x2 = x1 / sum + N.set(r, c, FP32(x2)) + } + } + return N + } + + /* -------- 计算Softmax的雅可比矩阵 -------- + * 输入:已计算好的softmax输出(概率分布) + * 输出:雅可比矩阵 J[i][j] = ∂y_i/∂x_j */ + private func softmax_jacobian(softmax_output: Matrix1) { + let row = softmax_output.get_row() + let col = softmax_output.get_col() + let n = row * col + var jacobian = Matrix1(n, n) + + for (i in 0..n) { + for (j in 0..n) { + + let row_i = i / col /* 需要将一维索引转换为二维索引来访问Matrix1 */ + let col_i = i % col + let row_j = j / col + let col_j = j % col + + let val_i = softmax_output.get(row_i, col_i).getOrThrow().getValue() + let val_j = softmax_output.get(row_j, col_j).getOrThrow().getValue() + + if (i == j) { /* 对角线元素: y_i * (1 - y_i) */ + jacobian.set(i, j, FP32(val_i * (1.0f32 - val_i))) } + else { /* 非对角线元素: -y_i * y_j */ + jacobian.set(i, j, FP32(-val_i * val_j)) } + } + } + + return jacobian + } + +} diff --git a/bot4cj/src/math/Ini.cj b/bot4cj/src/math/Ini.cj new file mode 100644 index 0000000..d62fcc6 --- /dev/null +++ b/bot4cj/src/math/Ini.cj @@ -0,0 +1,37 @@ +package bot4cj.math +import std.random.* +import std.time.* +import std.math.* + +/* -------- 神经网络使用的权重矩阵初始化类 -------- + * TODO(20260517-qing): 将该函数改为枚举类,统一一个接口,根据模式匹配执行初始化 + * - 这样在矩阵式中可以定义初始化方式 */ +public class Ini { + + /* -------- xavier正态初始化 -------- */ + public static func xavierNormalInit(target: Matrix1, fan_in: Int64, fan_out: Int64) { + let seed = DateTime.now().nanosecond + let random = Random(UInt64(seed)) + let sigma = sqrt(2.0f32 / Float32(fan_in + fan_out)) /* 计算标准差 */ + for (r in 0..fan_in) { + for (c in 0..fan_out) { + let v = random.nextGaussianFloat32(mean: 0.0f32, sigma:sigma) + target.set(r, c, FP32(v)) + } + } + } + + /* -------- Glorot均匀初始化 -------- */ + public static func xavierUniformInit(target: Matrix1, fan_in: Int64, fan_out: Int64) { + let limit = sqrt(6.0f32 / Float32(fan_in + fan_out)) + let seed = DateTime.now().nanosecond + let random = Random(UInt64(seed)) + + for (r in 0..fan_in) { + for (c in 0..fan_out) { + let v = (random.nextFloat32() * 2.0f32 - 1.0f32) * limit /* 均匀分布 [-limit, limit] */ + target.set(r, c, FP32(v)) } + } + + } +} diff --git a/bot4cj/src/math/Matrix.cj b/bot4cj/src/math/Matrix.cj new file mode 100644 index 0000000..62e34c6 --- /dev/null +++ b/bot4cj/src/math/Matrix.cj @@ -0,0 +1,535 @@ +package bot4cj.math +import std.fs.* +import std.io.* +import std.convert.* +//foreign func createMatrix(row: UInt64, col: UInt64): CPointer +//foreign func freeMatrix(M: CPointer): Unit +//foreign func witchMatrix(M: CPointer, row: UInt64, col: UInt64): CPointer +//foreign func getMatrix(M: CPointer, row: UInt64, col: UInt64): Float32 +//foreign func setMatrix(M: CPointer, row: UInt64, col: UInt64, v: Float32): Unit +//foreign func getrowMatrix(M: CPointer): UInt64 +//foreign func getcolMatrix(M: CPointer): UInt64 +//foreign func sameShapeMatrix(M: CPointer, S: CPointer): Bool +//foreign func dotShapeMatrix(M: CPointer, S: CPointer): Bool +//foreign func plusMatrix(M: CPointer, S:CPointer): CPointer +//foreign func plusBroadcastMatrix(M: CPointer, T: Float32): CPointer +//foreign func subMatrix(M: CPointer, S: CPointer): CPointer +//foreign func subBroadcastMatrix(M: CPointer, T: Float32): CPointer +//foreign func multiMatrix(M: CPointer, S: CPointer): CPointer +//foreign func multiBroadcastMatrix(M: CPointer, T: Float32): CPointer +//foreign func divMatrix(M: CPointer, S: CPointer): CPointer +//foreign func divBroadcastMatrix(M: CPointer, T: Float32): CPointer +//foreign func dotMatrix(M: CPointer, S: CPointer): CPointer +//foreign func transposeMatrix(M: CPointer): CPointer +//foreign func xavierNormalInit(fan_in: UInt64, fan_out: UInt64): CPointer +//foreign func xavierUniformInit(fan_in: UInt64, fan_out: UInt64): CPointer + + +/* -------- 32位浮点数 -------- */ +public struct FP32 { + private var val: Float32 + public init(t: Float32) { /* 以Float32初始化对象 */ + val = t } + public func getValue() { /* 获取值 */ + return val } + /* -------- 运算符重载 -------- */ + //public operator func =(t: Float32) { /*-------- this can not --------*/ + // val = t } + public operator func +(t: Float32) { + return FP32(val + t)} + public operator func +(S: FP32) { + return this + S.getValue() } + public operator func -(t: Float32) { + return FP32(val - t) } + public operator func -(S: FP32) { + return this - S.getValue() } + public operator func *(t: Float32) { + return FP32(val * t) } + public operator func *(S: FP32) { + return this * S.getValue() } + public operator func /(t: Float32) { + return FP32(val / t) } + public operator func /(S: FP32) { + return this / S.getValue() } + +} + + +/* + * 新版的矩阵对象,仓颉原生实现 + * TODO(20260517-qing): 设计原生的多维数组类 + * + + ___col___ +/ \ ++---------+ \ +| + + + + | | row - 第一维度 +| + + + + | | ++---------+ / + + + * TODO(20260523-qing): 以某种方式统一矩阵式的字符串矩阵和这里的数值矩阵 +*/ +public class Matrix1 { + + private var row: Int64 /* ---- 行数 ---- */ + private var col: Int64 /* ---- 列数 ---- */ + private var arr: Array /* ---- 数据 ---- */ + + /* -------- 构造器,默认值为0 -------- */ + public Matrix1(row: Int64, col: Int64) { + this.row = row + this.col = col + this.arr = Array(row * col, {_ => FP32(0.0f32)}) + } + + /* --------- 这几个方法是访问器 -------- */ + /* ------------------------------------- */ + /* -------- TODO(20260524-qing): 使用prop成员 -------- */ + + public func get(r: Int64, c: Int64) { + return arr.get(r * this.col + c) + } + + public func set(r: Int64, c: Int64, v: FP32) { + arr[r * this.col + c] = v + } + + public func get_row() { return row } + + public func get_col() { return col } + + /* -------- 这两个函数是比较器 -------- */ + /* ------------------------------------ */ + public func has_same_shape(other: Matrix1) { + let a = this.get_row() == other.get_row() + let b = this.get_col() == other.get_col() + return a && b + } + + public func has_dot_shape(other: Matrix1) { + return this.get_col() == other.get_row() + } + + /* -------- 这些是运算符重载 -------- */ + /* ---------------------------------- */ + public operator func +(a: FP32) { /* ---- 矩阵广播加法 ---- */ + let r =get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c) { + let v = this.get(ir, ic).getOrThrow() + M.set(ir, ic, v + a) + } + } + + return M + } + + public operator func +(S: Matrix1) { /* ---- 矩阵加法 ---- */ + if (!has_same_shape(S)) { + throw IllegalArgumentException("Matrixes doesn't match") + } + let r =get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c) { + let v = this.get(ir, ic).getOrThrow() + let vs = S.get(ir, ic).getOrThrow() + M.set(ir, ic, v + vs) + } + } + + return M + } + + public operator func -(a: FP32) { /* ---- 矩阵广播减法 ----*/ + let r = get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c){ + let v = this.get(ir, ic).getOrThrow() + M.set(ir, ic, v - a) + } + } + return M + } + + public operator func -(S: Matrix1) { /* ---- 矩阵减法 ---- */ + if (!has_same_shape(S)) { + throw IllegalArgumentException("Matrixes doesn't match") + } + let r =get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c) { + let v = this.get(ir, ic).getOrThrow() + let vs = S.get(ir, ic).getOrThrow() + M.set(ir, ic, v - vs) + } + } + + return M + } + + public operator func *(a: FP32) { /* ---- 矩阵广播乘法 ---- */ + let r = get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c){ + let v = this.get(ir, ic).getOrThrow() + M.set(ir, ic, v * a) + } + } + return M + } + + public operator func *(S: Matrix1) { /* ---- 逐元素相乘 ---- */ + if (!has_same_shape(S)) { + throw IllegalArgumentException("Matrixes doesn't match") + } + let r =get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c) { + let v = this.get(ir, ic).getOrThrow() + let vs = S.get(ir, ic).getOrThrow() + M.set(ir, ic, v * vs) + } + } + + return M + } + + public operator func /(a: FP32) { /* ---- 矩阵广播除法 ---- */ + let r = get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c){ + let v = this.get(ir, ic).getOrThrow() + M.set(ir, ic, v / a) + } + } + return M + } + + public operator func /(S: Matrix1) { /* ---- 逐元素除法 ---- */ + if (!has_same_shape(S)) { + throw IllegalArgumentException("Matrixes doesn't match") + } + let r =get_row() + let c = get_col() + let M = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c) { + let v = this.get(ir, ic).getOrThrow() + let vs = S.get(ir, ic).getOrThrow() + M.set(ir, ic, v / vs) + } + } + + return M + } + + /* ------------------------------ */ + /* -------- 矩阵点积乘法 -------- */ + public func dot(S: Matrix1) { + if (!has_dot_shape(S)) { + throw IllegalArgumentException("Matrixes doesn't match") + } + let r =get_row() + let c = S.get_col() + let M = Matrix1(r, c) + for (ir in 0..get_row()) { + for (ic in 0..S.get_col()) { + var sum = FP32(0.0f32) + for (ik in 0..get_col()) { + let a = get(ir, ik).getOrThrow() + let b = S.get(ik, ic).getOrThrow() + sum += a * b + } + M.set(ir, ic, sum) + } + } + return M + } + + /* -------- 克隆一个一模一样的矩阵 -------- */ + public func clone() { + let r = get_row() + let c = get_col() + let N = Matrix1(r, c) + for (ir in 0..r) { + for (ic in 0..c) { + let v = get(ir, ic).getOrThrow() + N.set(ir, ic, v) + } + } + return N + } + + /* -------- 矩阵转置,返回转置后的矩阵 -------- */ + public func T() { + let r = get_row() + let c = get_col() + let N = Matrix1(c, r) + for (ir in 0..r) { + for (ic in 0..c) { + let v = get(ir, ic).getOrThrow() + N.set(ic, ir, v) + } + } + return N + } +} + + + +/* -------- 旧版的矩阵类,依赖c++编译的共享动态库 -------- + * TODO: 将矩阵元数据存储在仓颉部分(done at 202605xx ) */ +//public class Matrix { +// +// /* -------- 主初始化器,初始化并获取资源 -------- */ +// public init(row: UInt64, col: UInt64) { +// unsafe { M = createMatrix(row, col) } +// } +// +// /* -------- 初始化器,利用已经存在的元数据进行构建 -------- */ +// public Matrix(m: CPointer) { M = m } +// +// /* -------- Xavier正态分布初始化 -------- */ +// public static func initWithXavierNormal(fan_in: UInt64, fan_out: UInt64) { +// unsafe { +// let m = xavierNormalInit(fan_in, fan_out); +// return Matrix(m) +// } +// } +// +// /* -------- Glorot均匀初始化 -------- */ +// public static func initWithXavierUniform(fan_in: UInt64, fan_out: UInt64) { +// unsafe { +// let m = xavierUniformInit(fan_in, fan_out); +// return Matrix(m) +// } +// } +// +// /* ======== 在析构函数中释放资源 ======== */ +// ~init() { +// unsafe { freeMatrix(M) } +// } +// +// /* -------- 取下标,由于不能返回值类型的引用被弃用 -------- */ +// //public operator func [](r: UInt64, c: UInt64): CPointer { +// // unsafe { return witchMatrix(M, r, c) } +// //} +// +// /* -------- 获得某个矩阵单元的值 -------- */ +// public func get(r: UInt64, c: UInt64): Float32 { +// unsafe { return getMatrix(M, r, c) } +// } +// +// /* -------- 设置某个矩阵单元的值 --------*/ +// public func set(r: UInt64, c: UInt64, v: Float32) { +// unsafe { setMatrix(M, r, c, v) } +// } +// +// /* ------- 两个矩阵形状是否相同 -------- +// * FIXME: 这个函数所重载的运算符不贴切 */ +// public operator func ==(s: Matrix): Bool { +// unsafe { return sameShapeMatrix(M, s.getData()) } +// } +// +// /* -------- 获得行数 -------- */ +// public func getRow(): UInt64 { +// unsafe { return getrowMatrix(M) } +// } +// +// /* -------- 获取列数 --------*/ +// public func getCol(): UInt64 { +// unsafe { return getcolMatrix(M) } +// } +// +// /* -------- 获取指向元数据的C风格指针 -------- */ +// public func getData(): CPointer { return M; } +// +// /* -------- 是否两个矩阵具有点积和的形状 -------- */ +// public func hasDotShapeWith(s: Matrix): Bool { +// unsafe { return dotShapeMatrix(M, s.getData()) } +// } +// +// /* -------- 逐元素算数运算 -------- */ +// /* -------------------------------- */ +// public operator func +(s: Matrix): Matrix { +// unsafe { +// if (!sameShapeMatrix(M, s.getData())) { +// println('------------') +// print_shape() +// s.print_shape() +// println('------------') +// throw IllegalArgumentException("not same shape") +// } +// let r = plusMatrix(M, s.getData()) +// return Matrix(r) +// } +// } +// +// public operator func +(t: Float32): Matrix { +// unsafe { +// let r = plusBroadcastMatrix(M, t) +// return Matrix(r); +// } +// } +// +// public operator func -(s: Matrix): Matrix { +// unsafe { +// if (!(this == s)) { +// println('------------') +// print_shape() +// s.print_shape() +// println('------------') +// throw IllegalArgumentException("not same shape") +// } +// let r = subMatrix(M, s.getData()) +// return Matrix(r) +// } +// } +// +// public operator func -(t: Float32): Matrix { +// unsafe { +// let r = subBroadcastMatrix(M, t) +// return Matrix(r); +// } +// } +// +// public operator func *(s: Matrix): Matrix { +// unsafe { +// if (!(this == s)) { +// println('------------') +// print_shape() +// s.print_shape() +// println('------------') +// throw IllegalArgumentException("not same shape") +// } +// let r = multiMatrix(M, s.getData()) +// return Matrix(r) +// } +// } +// +// public operator func *(t: Float32): Matrix { +// unsafe { +// let r = multiBroadcastMatrix(M, t) +// return Matrix(r) +// } +// } +// +// public operator func /(s: Matrix): Matrix { +// unsafe { +// if (!(this == s)) { +// println('------------') +// print_shape() +// s.print_shape() +// println('------------') +// throw IllegalArgumentException("not same shape") +// } +// let r = divMatrix(M, s.getData()) +// return Matrix(r) +// } +// } +// +// public operator func /(t: Float32): Matrix { +// unsafe { +// let r = divBroadcastMatrix(M, t) +// return Matrix(r) +// } +// } +// +// /* -------------------------------- */ +// /* -------------------------------- */ +// +// +// /* -------- 矩阵点积和算法 -------- */ +// public func dot (s: Matrix): Matrix { +// unsafe { +// if (!hasDotShapeWith(s)) { +// println('------------') +// print_shape() +// s.print_shape() +// println('------------') +// throw IllegalArgumentException("not dot shape") +// } +// let r = dotMatrix(M, s.getData()) +// return Matrix(r) +// } +// } +// +// /* -------- 矩阵转置 -------- */ +// public func T(): Matrix { +// unsafe { +// let r = transposeMatrix(M) +// return Matrix(r) +// } +// } +// +// /* -------- 打印矩阵 -------- */ +// public func print(): Unit { +// unsafe { +// for (i in 0..getRow()) { +// for (j in 0..getCol()) { +// let a = this.get(i, j) +// print(a) +// print(" ") +// } +// } +// } +// println() +// } +// +// /* -------- 打印形状 -------- */ +// public func print_shape() { +// println("${getRow()}, ${getCol()}") +// } +// +// /* -------- 保存矩阵 -------- */ +// public func save(file: File) { +// unsafe { +// for (i in 0..getRow()) { +// for (j in 0..getCol()) { +// file.write(this.get(i, j).toString().toArray()) +// if (j < getCol()-1) { +// file.write(" ".toArray()) } +// else { file.write("\n".toArray()) } +// } +// } +// } +// } +// +// /* -------- 静态方法,加载单独项 -------- */ +// private static func loadItem(sr: StringReader) { +// let s = sr.readUntil({r => r==r' ' || r ==r'\n'}) +// return Float32.parse(s.getOrThrow()) +// } +// +// /* -------- 静态方法,加载矩阵 -------- */ +// public static func load(sr: StringReader, row: UInt64, col: UInt64): Matrix { +// let m = Matrix(row, col) +// unsafe { +// for (i in 0..m.getRow()) { +// for (j in 0..m.getCol()) { +// let f = loadItem(sr) +// m.set(i, j, f) +// } +// } +// m +// } +// } +// +// /* -------- 矩阵的C风格指针 -------- */ +// private var M: CPointer +//} diff --git a/bot4cj/src/math/Tensor.cj b/bot4cj/src/math/Tensor.cj new file mode 100644 index 0000000..037f847 --- /dev/null +++ b/bot4cj/src/math/Tensor.cj @@ -0,0 +1,56 @@ +package bot4cj.math +import std.collection.* + +/* -------- 张量 -------- + * INFO(20260524-qing): 输入一个维度列表 */ +class Tensor { + private let data: Array + private let dims: Array + private let size: Int64 + public init(dims: Array, val: T) { + var size = 1 + for (item in dims) { /* ---- 计算总量 ---- */ + size *= item + } + this.data = Array(size, {_ => val}) + this.dims = dims + this.size = size + } + + /* -------- 私有构造函数,用于内部创建张量 -------- */ + private init(dims: Array, data: Array) { + this.dims = dims + this.data = data + var size = 1 + for (item in dims) { + size *= item + } + this.size = size + } + + /* -------- 获取维度列表(形状) -------- */ + public func shape(): Array { + return dims + } + + /* -------- 逐元素进行某种运算 -------- */ + public func oneByOne(S: Tensor, f: (T, T) -> T): Tensor { + let s1 = S.shape() + + /* ---- 比较维度数量 ---- */ + if (s1 != dims) { + throw IllegalArgumentException("Tensors' shape are not same") + } + + /* ---- 比较维度形状 ----*/ + for (i in 0..dims.size) { + if (s1[i] != dims[i]) { + throw IllegalArgumentException("Tensors' shape are not same") + } + } + + /* ---- 逐个进行计算 ---- */ + let res_data = Array(size, {i => f(data[i], S.data[i])}) + return Tensor(dims, res_data) + } +} diff --git a/bot4cj/src/math/cnn.cj b/bot4cj/src/math/cnn.cj new file mode 100644 index 0000000..f0b50ee --- /dev/null +++ b/bot4cj/src/math/cnn.cj @@ -0,0 +1,379 @@ +// cnn.cj - 修正 forward 中的偏置加法 +package bot4cj.math + +import std.math.* +import std.random.* +import std.collection.* + +public class ConvLayer { + + let nInputChannels: Int64 + let nOutputChannels: Int64 + let kernelHeight: Int64 + let kernelWidth: Int64 + let stride: Int64 + let padding: Int64 + let learningRate: FP32 + let f: Af + + var connectingMatrix: Matrix1 + var kernels: Array + var biases: Matrix1 + + var prevInput: Option = Option.None + var prevInputShape: Option<(Int64, Int64, Int64, Int64)> = Option.None + var prevCombination: Option = Option.None + var prevOutput: Option = Option.None + var prevOutputShape: Option<(Int64, Int64, Int64, Int64)> = Option.None + + var kernelsGrad: Option> = Option.None + var biasGrad: Option = Option.None + + public init( + inCh: Int64, + outCh: Int64, + kernelSize: (Int64, Int64), + stride: Int64, + padding: Int64, + lr: FP32, + activation: Af, + connMatrix: ?Matrix1 + ) { + nInputChannels = inCh + nOutputChannels = outCh + kernelHeight = kernelSize[0] + kernelWidth = kernelSize[1] + this.stride = stride + this.padding = padding + learningRate = lr + this.f = activation + + // 初始化 connectingMatrix + connectingMatrix = match (connMatrix) { + case m: Matrix1 => m + case _ => Matrix1(nInputChannels, nOutputChannels) + } + let isNone = match (connMatrix) { + case _: Matrix1 => false + case _ => true + } + if (isNone) { + for (r in 0..nInputChannels) { + for (c in 0..nOutputChannels) { + connectingMatrix.set(r, c, FP32(1.0)) + } + } + } + + // 初始化 kernels + kernels = Array(nOutputChannels, { _ => Matrix1(1, 1) }) + for (oc in 0..nOutputChannels) { + var nConnections = 0 + for (ic in 0..nInputChannels) { + let val = connectingMatrix.get(ic, oc).getOrThrow() + if (val.getValue() > 0.0) { + nConnections += 1 + } + } + let kernelLen = nConnections * kernelHeight * kernelWidth + let kernel = Matrix1(1, kernelLen) + + Ini.xavierUniformInit(kernel, 1, kernelLen) + + kernels[oc] = kernel + } + + // 初始化 biases + biases = Matrix1(1, nOutputChannels) + Ini.xavierUniformInit(biases, 1, nOutputChannels) + } + + // ==================== 前向传播 ==================== + public func forward(x: Matrix1, inputShape: (Int64, Int64, Int64, Int64)): Matrix1 { + prevInput = Option.Some(x) + prevInputShape = Option.Some(inputShape) + + let batch = inputShape[0] + let inH = inputShape[1] + let inW = inputShape[2] + + let outH = (inH + 2 * padding - kernelHeight) / stride + 1 + let outW = (inW + 2 * padding - kernelWidth) / stride + 1 + let outSize = batch * outH * outW + + var combination = Matrix1(outSize, nOutputChannels) + var output = Matrix1(outSize, nOutputChannels) + + for (b in 0..batch) { + for (oh in 0..outH) { + for (ow in 0..outW) { + let outRow = b * outH * outW + oh * outW + ow + + for (oc in 0..nOutputChannels) { + var sum = FP32(0.0) + var kernelIdx = 0 + + for (ic in 0..nInputChannels) { + let connVal = connectingMatrix.get(ic, oc).getOrThrow() + if (connVal.getValue() > 0.0) { + for (kh in 0..kernelHeight) { + for (kw in 0..kernelWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + let xVal = x.get(inRow, ic).getOrThrow() + let kVal = kernels[oc].get(0, kernelIdx).getOrThrow() + sum = sum + xVal * kVal + } + kernelIdx += 1 + } + } + } + } + + combination.set(outRow, oc, sum) + } + } + } + } + + // 手动广播偏置加法(因为 Matrix1 的 + 要求形状相同) + for (r in 0..outSize) { + for (c in 0..nOutputChannels) { + let val = combination.get(r, c).getOrThrow() + let biasVal = biases.get(0, c).getOrThrow() + combination.set(r, c, val + biasVal) + } + } + + prevCombination = Option.Some(combination) + + output = f.forward(combination) + prevOutput = Option.Some(output) + prevOutputShape = Option.Some((batch, outH, outW, nOutputChannels)) + + return output + } + + // ==================== 反向传播 ==================== + public func backward(errs: Matrix1): Matrix1 { + var x = Matrix1(1, 1) + match (prevInput) { + case Some(T) => x = T + case _ => throw Exception("No input data") + } + + var shape = (0, 0, 0, 0) + match (prevInputShape) { + case Some(T) => shape = T + case _ => throw Exception("No input shape") + } + + var combination = Matrix1(1, 1) + match (prevCombination) { + case Some(val) => combination = val + case _ => throw Exception("No combination") + } + + var outShape = (0, 0, 0, 0) + match (prevOutputShape) { + case Some(val) => outShape = val + case _ => throw Exception("No output shape") + } + + let batch = shape[0] + let inH = shape[1] + let inW = shape[2] + let outH = outShape[1] + let outW = outShape[2] + + let delta = errs * f.backward(combination) + + calcKernelGradient(x, delta, batch, inH, inW, outH, outW) + calcBiasGradient(delta) + + let errsUp = calcUpsampledError(delta, batch, inH, inW, outH, outW) + + return errsUp + } + + /** + * 计算卷积核梯度 + */ + private func calcKernelGradient( + x: Matrix1, + delta: Matrix1, + batch: Int64, + inH: Int64, + inW: Int64, + outH: Int64, + outW: Int64 + ): Unit { + var grads = Array(nOutputChannels, { _ => Matrix1(1, 1) }) + + for (oc in 0..nOutputChannels) { + let kernelCols = kernels[oc].get_col() + var grad = Matrix1(1, kernelCols) + + for (b in 0..batch) { + for (oh in 0..outH) { + for (ow in 0..outW) { + let deltaRow = b * outH * outW + oh * outW + ow + let deltaVal = delta.get(deltaRow, oc).getOrThrow() + + var kernelIdx = 0 + for (ic in 0..nInputChannels) { + let connVal = connectingMatrix.get(ic, oc).getOrThrow() + if (connVal.getValue() > 0.0) { + for (kh in 0..kernelHeight) { + for (kw in 0..kernelWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + let xVal = x.get(inRow, ic).getOrThrow() + let oldGrad = grad.get(0, kernelIdx).getOrThrow() + grad.set(0, kernelIdx, oldGrad + xVal * deltaVal) + } + kernelIdx += 1 + } + } + } + } + } + } + } + + grads[oc] = grad + } + + kernelsGrad = Option.Some(grads) + } + + /** + * 计算偏置梯度 + */ + private func calcBiasGradient(delta: Matrix1): Unit { + let rows = delta.get_row() + var grad = Matrix1(1, nOutputChannels) + + for (oc in 0..nOutputChannels) { + var sum = FP32(0.0) + for (r in 0..rows) { + sum = sum + delta.get(r, oc).getOrThrow() + } + grad.set(0, oc, sum) + } + + biasGrad = Option.Some(grad) + } + + /** + * 计算传递到上一层的误差 + */ + private func calcUpsampledError( + delta: Matrix1, + batch: Int64, + inH: Int64, + inW: Int64, + outH: Int64, + outW: Int64 + ): Matrix1 { + let inSize = batch * inH * inW + var errsUp = Matrix1(inSize, nInputChannels) + + for (b in 0..batch) { + for (oh in 0..outH) { + for (ow in 0..outW) { + let deltaRow = b * outH * outW + oh * outW + ow + + for (oc in 0..nOutputChannels) { + let deltaVal = delta.get(deltaRow, oc).getOrThrow() + + var kernelIdx = 0 + for (ic in 0..nInputChannels) { + let connVal = connectingMatrix.get(ic, oc).getOrThrow() + if (connVal.getValue() > 0.0) { + for (kh in 0..kernelHeight) { + for (kw in 0..kernelWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + let kVal = kernels[oc].get(0, kernelIdx).getOrThrow() + let oldErr = errsUp.get(inRow, ic).getOrThrow() + errsUp.set(inRow, ic, oldErr + deltaVal * kVal) + } + kernelIdx += 1 + } + } + } + } + } + } + } + } + + return errsUp + } + + // ==================== 参数更新 ==================== + public func update(discount: Float32): Unit { + var kGrad = Array(0, { _ => Matrix1(1, 1) }) + match (kernelsGrad) { + case Some(val) => kGrad = val + case _ => throw Exception("No kernel gradients") + } + + var bGrad = Matrix1(1, 1) + match (biasGrad) { + case Some(val) => bGrad = val + case _ => throw Exception("No bias gradient") + } + + for (oc in 0..nOutputChannels) { + let rows = kernels[oc].get_row() + let cols = kernels[oc].get_col() + for (r in 0..rows) { + for (c in 0..cols) { + let oldVal = kernels[oc].get(r, c).getOrThrow() + let gradVal = kGrad[oc].get(r, c).getOrThrow() + kernels[oc].set(r, c, oldVal - gradVal * learningRate * FP32(discount)) + } + } + } + + for (oc in 0..nOutputChannels) { + let oldBias = biases.get(0, oc).getOrThrow() + let gradBias = bGrad.get(0, oc).getOrThrow() + biases.set(0, oc, oldBias - gradBias * learningRate * FP32(discount)) + } + } + + // ==================== 形状访问器 ==================== + public func getInShape(): (Int64, Int64) { + (nInputChannels, kernelHeight * kernelWidth) + } + + public func getOutShape(): Int64 { + nOutputChannels + } + + public func getLR(): FP32 { + learningRate + } + + public func getFType(): String { + f.get_type() + } + + public func calculateOutputSize(inputHeight: Int64, inputWidth: Int64): (Int64, Int64) { + let outH = (inputHeight + 2 * padding - kernelHeight) / stride + 1 + let outW = (inputWidth + 2 * padding - kernelWidth) / stride + 1 + (outH, outW) + } +} diff --git a/bot4cj/src/math/fft.cj b/bot4cj/src/math/fft.cj new file mode 100644 index 0000000..abcbd9d --- /dev/null +++ b/bot4cj/src/math/fft.cj @@ -0,0 +1,11 @@ +package bot4cj.math +//foreign func start_fft(M: CPointer): CPointer +//foreign func gen_wave(): CPointer +/*-------- 生成测试用的正弦波 --------*/ +//public func genWave(): Matrix { +// unsafe { return Matrix(gen_wave()) } +//} +/*-------- 执行fft算法 --------*/ +//public func start_fft(M: Matrix): Matrix { +// unsafe { return Matrix(start_fft(M.getData())) } +//} diff --git a/bot4cj/src/math/flatten.cj b/bot4cj/src/math/flatten.cj new file mode 100644 index 0000000..aa97beb --- /dev/null +++ b/bot4cj/src/math/flatten.cj @@ -0,0 +1,136 @@ +// flatten.cj - 移除调试代码 +package bot4cj.math + +import std.math.* +import std.collection.* + +public class FlattenLayer { + + let nInputChannels: Int64 + let inputHeight: Int64 + let inputWidth: Int64 + let outputSize: Int64 + + var prevInput: Option + var prevInputShape: Option<(Int64, Int64, Int64, Int64)> + var prevOutput: Option + var prevOutputShape: Option<(Int64, Int64)> + + public init(inputChannels: Int64, inputHeight: Int64, inputWidth: Int64) { + nInputChannels = inputChannels + this.inputHeight = inputHeight + this.inputWidth = inputWidth + outputSize = inputChannels * inputHeight * inputWidth + + prevInput = None + prevInputShape = None + prevOutput = None + prevOutputShape = None + } + + public init(inputShape: (Int64, Int64, Int64)) { + nInputChannels = inputShape[0] + inputHeight = inputShape[1] + inputWidth = inputShape[2] + outputSize = nInputChannels * inputHeight * inputWidth + + prevInput = None + prevInputShape = None + prevOutput = None + prevOutputShape = None + } + + public func forward(x: Matrix1, inputShape: (Int64, Int64, Int64, Int64)): Matrix1 { + prevInput = x + prevInputShape = inputShape + + let batch = inputShape[0] + let inH = inputShape[1] + let inW = inputShape[2] + let inCh = inputShape[3] + + let totalRows = batch * outputSize + var output = Matrix1(totalRows, 1) + + for (b in 0..batch) { + for (h in 0..inH) { + for (w in 0..inW) { + for (ch in 0..inCh) { + let inRow = b * inH * inW + h * inW + w + let outRow = b * outputSize + (ch * inH * inW + h * inW + w) + if (outRow < totalRows) { + let val = x.get(inRow, ch).getOrThrow() + output.set(outRow, 0, val) + } + } + } + } + } + + prevOutput = output + prevOutputShape = (totalRows, 1) + + return output + } + + public func backward(errs: Matrix1): Matrix1 { + var shape = (0, 0, 0, 0) + match (prevInputShape) { + case Some(T) => shape = T + case _ => throw Exception("FlattenLayer.backward: No input shape. Call forward() first.") + } + + let batch = shape[0] + let inH = shape[1] + let inW = shape[2] + let inCh = shape[3] + + let inSize = batch * inH * inW + var errsUp = Matrix1(inSize, nInputChannels) + + let errsCols = errs.get_col() + + for (b in 0..batch) { + for (h in 0..inH) { + for (w in 0..inW) { + let inRow = b * inH * inW + h * inW + w + + for (ch in 0..inCh) { + let outRow = b * outputSize + (ch * inH * inW + h * inW + w) + + if (outRow < errs.get_row()) { + if (errsCols == 1) { + let val = errs.get(outRow, 0).getOrThrow() + errsUp.set(inRow, ch, val) + } else { + var sum = FP32(0.0) + for (col in 0..errsCols) { + sum = sum + errs.get(outRow, col).getOrThrow() + } + errsUp.set(inRow, ch, sum) + } + } + } + } + } + } + + return errsUp + } + + public func update(discount: Float32): Unit { + // 无参数 + } + + public func getInShape(): (Int64, Int64, Int64) { + (nInputChannels, inputHeight, inputWidth) + } + + public func getOutShape(): Int64 { + outputSize + } + + public func getOutputSize(): Int64 { + outputSize + } +} diff --git a/bot4cj/src/math/kalman.cj b/bot4cj/src/math/kalman.cj new file mode 100644 index 0000000..156cce7 --- /dev/null +++ b/bot4cj/src/math/kalman.cj @@ -0,0 +1,69 @@ +package bot4cj.math + +/** + * 一维卡尔曼滤波器 + * 使用时先定义一个kalman指针,然后调用kalmanCreate()创建一个滤波器 + * 每次读取到传感器数据后即可调用KalmanFilter()来对数据进行滤波 + * 使用示例 + * extKalman_t p; //定义一个卡尔曼滤波器结构体 + * float SersorData; //需要进行滤波的数据 + * KalmanCreate(&p,20,200); //初始化该滤波器的Q=20 R=200参数 + * while(1) + * { + * SersorData = sersor(); //获取数据 + * SersorData = KalmanFilter(&p,SersorData); //对数据进行滤波 + * } + */ +@C +public struct extKalman { + var X_last: Float32 // 上一时刻的最优结果 X(k-|k-1) + var P_last: Float32 // 上一时刻最优结果的协方差 P(k-1|k-1) + var A: Float32 // 系统参数 + var B: Float32 + var Q: Float32 + var R: Float32 + var H: Float32 + + /** + * @name kalmanCreate + * @brief 创建一个卡尔曼滤波器 + * @param p: 滤波器 + * T_Q:系统噪声协方差 + * T_R:测量噪声协方差 + * + * @retval none + * @attention R固定,Q越大,代表越信任侧量值,Q无穷代表只用测量值 + * 反之,Q越小代表越信任模型预测值,Q为零则是只用模型预测 + */ + public init(T_Q: Float32, T_R: Float32) { + X_last = 0.0f32 + P_last = 0.0f32 + Q = T_Q + R = T_R + A = 1.0f32 + B = 0.0f32 + H = 1.0f32 + } + + /** + * @name KalmanFilter + * @brief 卡尔曼滤波器 + * @param p: 滤波器 + * dat:待滤波数据 + * @retval 滤波后的数据 + * @attention Z(k)是系统输入,即测量值 X(k|k)是卡尔曼滤波后的值,即最终输出 + * A=1 B=0 H=1 I=1 W(K) V(k)是高斯白噪声,叠加在测量值上了,可以不用管 + * 以下是卡尔曼的5个核心公式 + * 一阶H'即为它本身,否则为转置矩阵 + */ + public mut func filter(dat: Float32): Float32 { + let X_mid = A * X_last //百度对应公式(1) x(k|k-1) = A*X(k-1|k-1)+B*U(k)+W(K) + let P_mid = A * P_last + Q //百度对应公式(2) p(k|k-1) = A*p(k-1|k-1)*A'+Q + let kg = P_mid / (P_mid + R) //百度对应公式(4) kg(k) = p(k|k-1)*H'/(H*p(k|k-1)*H'+R) + let X_now = X_mid + kg * (dat - X_mid) //百度对应公式(3) x(k|k) = X(k|k-1)+kg(k)*(Z(k)-H*X(k|k-1)) + let P_now = (1.0f32 - kg) * P_mid //百度对应公式(5) p(k|k) = (I-kg(k)*H)*P(k|k-1) + P_last = P_now + X_last = X_now + return X_now //输出预测结果x(k|k) + } +} diff --git a/bot4cj/src/math/nn.cj b/bot4cj/src/math/nn.cj new file mode 100644 index 0000000..24384be --- /dev/null +++ b/bot4cj/src/math/nn.cj @@ -0,0 +1,331 @@ +package bot4cj.math +import std.fs.* +import std.io.* +import std.convert.* +//foreign func Sigmoid_do(m: CPointer): CPointer +//foreign func Sigmoid_dot(m: CPointer): CPointer +//foreign func ReLU_do(m: CPointer): CPointer +//foreign func ReLU_dot(m: CPointer): CPointer +//foreign func Leaky_ReLU_do(m: CPointer, alpha: Float32): CPointer +//foreign func Leaky_ReLU_dot(m: CPointer, alpha: Float32): CPointer +//foreign func Tanh_do(m: CPointer): CPointer +//foreign func Tanh_dot(m: CPointer): CPointer + + +/* -------- 新版的神经网络,使用原生矩阵对象实现 -------- + * TODO(20260517-qing): 增加batch批次处理,使用ArrayList + * TODO*(20260519-qing): 将神经网络转换为MatrixObject矩阵式对象 + * TODO(20260524-qing): 增加Adam优化器 */ + +public class Nn1 { + + let inputno: Int64 /* -------- 输入 -------- */ + let outputno: Int64 /* -------- 输出 -------- */ + var weights: Matrix1 /* -- (inputs, outputs) - */ + var bias: Matrix1 /* ----- (1, output) ---- */ + let learning_rate: FP32 /* ------- 学习率 ------- */ + let f: Af /* ------ 激活函数 ------ */ + + /*------------------*/ + var prev_inputs: Option = None /* ---- 之前的输入 ---- */ + var prev_raw_inputs: Option = None /* ---- 之前的原始输出 ---- */ + var prev_outputs: Option = None /* ---- 之前的输出 ---- */ + /*------------------*/ + var weights_grad: Option = None /* ---- 权重梯度 ---- */ + var bias_grad: Option = None /* ---- 偏置梯度 ---- */ + + + /* -------- 初始化器 -------- + * TODO(20260516-qing): 不要把初始化方法写死,使用枚举类 */ + public init(i: Int64, o: Int64, lr: Float32, f: Af) { + inputno = i + outputno =o + learning_rate=FP32(lr) + this.f = f + weights = Matrix1(inputno, outputno) + bias = Matrix1(1, outputno) + + /* -------- 初始化权重 -------- */ + Ini.xavierUniformInit(weights, inputno, outputno) + } + + /* -------- 神经网络推理 -------- */ + public func forward(x: Matrix1) { + prev_inputs = x + var r = x.dot(weights) + r = r + bias + prev_raw_inputs = r + let r1 = f.forward(r) + prev_outputs = r1 + return r1 + } + + /* -------- 反向传播算法 -------- */ + public func backward(errs: Matrix1) + { + if (is_softmax(f)) { + return softmax_backward(errs) + } + let fbak = f.backward(prev_raw_inputs.getOrThrow()) + let first = errs * fbak /* 逐元素相乘 */ + let mx = prev_inputs.getOrThrow().T() + weights_grad = mx.dot(first) + bias_grad = first + let errs_up = first.dot(weights.T()) + return errs_up + } + + /* -------- 更新权重值、偏爱因子 -------- + * NOTE: discount(折扣)是为了方便深度强化学习给出奖励值 */ + public func update(discount: Float32) { + weights = weights - weights_grad.getOrThrow() * learning_rate * FP32(discount) + bias = bias - bias_grad.getOrThrow() * learning_rate * FP32(discount) + } + + /**/ + private static func is_softmax(f: Af) { + return match (f) { + case Af.Softmax => true + case _ => false + } + } + + private func softmax_backward(errs: Matrix1) { + /* 使用雅可比矩阵的方式 */ + let y = prev_outputs.getOrThrow() /* softmax 输出 */ + let dy = errs /* 上游梯度 ∂L/∂y */ + let jacobian = f.backward(y) /* n×n 雅可比矩阵 */ + + /* 将 dy 展平成列向量 n×1 */ + let row = dy.get_row() + let col = dy.get_col() + let n = row * col + var dy_vec = Matrix1(n, 1) + var idx = 0 + for (r in 0..row) { + for (c in 0..col) { + let val = dy.get(r, c).getOrThrow() + dy_vec.set(idx, 0, val) + idx = idx + 1 + } + } + + /* dx_vec = J · dy_vec (n×n × n×1 = n×1) */ + var dx_vec = Matrix1(n, 1) + for (i in 0..n) { + var sum = 0.0f32 + for (j in 0..n) { + let j_val = jacobian.get(i, j).getOrThrow().getValue() + let dy_val = dy_vec.get(j, 0).getOrThrow().getValue() + sum = sum + j_val * dy_val + } + dx_vec.set(i, 0, FP32(sum)) + } + + /* 恢复为原始形状,作为 first */ + var first = Matrix1(row, col) + idx = 0 + for (r in 0..row) { + for (c in 0..col) { + let val = dx_vec.get(idx, 0).getOrThrow() + first.set(r, c, val) + idx = idx + 1 + } + } + + let mx = prev_inputs.getOrThrow().T() + weights_grad = mx.dot(first) + bias_grad = first + let errs_up = first.dot(weights.T()) + return errs_up + } + + + /* -------- 形状访问器 -------- */ + public func get_in_shape() { + return inputno } + + public func get_out_shape() { + return outputno } + + public func get_lr() { + return learning_rate } + + public func get_f_type() { + return f.get_type() } + + public func get_f_val() { + return f.get_value() } + /* ---------------------------- */ + +} + + +///* -------- 旧版激活函数 --------*/ +//public enum ActivationFuncs { +// Sigmoid | ReLU | Leaky_ReLU | Tanh +// func fdo(m: Matrix): Matrix { // 暂时只设置ReLU +// unsafe { +// match(this) { +// case Sigmoid => Matrix(Sigmoid_do(m.getData())) +// case ReLU => Matrix(ReLU_do(m.getData())) +// case Leaky_ReLU => Matrix(Leaky_ReLU_do(m.getData(), 0.1f32)) +// case Tanh => Matrix(Tanh_do(m.getData())) +// } +// } +// } +// func fdot(m: Matrix): Matrix { +// unsafe { +// match(this) { +// case Sigmoid => Matrix(Sigmoid_dot(m.getData())) +// case ReLU => Matrix(ReLU_dot(m.getData())) +// case Leaky_ReLU => Matrix(Leaky_ReLU_dot(m.getData(), 0.1f32)) +// case Tanh => Matrix(Tanh_dot(m.getData())) +// } +// } +// } +// func toString(): String { +// match(this) { +// case Sigmoid => "Sigmoid" +// case ReLU => "ReLU" +// case Leaky_ReLU => "Leaky_ReLU" +// case Tanh => "Tanh" +// } +// } +// static func parse(s: String) { +// match(s) { +// case "Sigmoid" => ActivationFuncs.Sigmoid +// case "ReLU" => ActivationFuncs.ReLU +// case "Leaky_ReLU" => ActivationFuncs.Leaky_ReLU +// case "Tanh" => ActivationFuncs.Tanh +// case _ => throw IllegalArgumentException() +// } +// } +//} + +///* -------- 旧版的神经网络类 -------- +// * 这个实现依赖C++语言的动态分享库,特点是速度快 +// * 这个实现可能是有问题的 */ +//public class Nn { +// +// /* -------- 主初始化器 -------- */ +// public init( +// inputno: UInt64, outputno: UInt64, f: ActivationFuncs, learning_rate: Float32) { +// this.inputno = inputno +// this.outputno = outputno +// weights = Matrix.initWithXavierUniform(inputno, outputno) +// bias = Matrix(1, outputno) +// this.f = f +// this.learning_rate = learning_rate +// } +// +// /* -------- 提供了权重矩阵的初始化器 -------- */ +// public init( +// inputno: UInt64, outputno: UInt64, f: ActivationFuncs, learning_rate: Float32, weights: Matrix, bias: Matrix) { +// this.inputno = inputno +// this.outputno = outputno +// this.weights = weights +// this.bias = bias +// this.f = f +// this.learning_rate = learning_rate +// } +// +// /* -------- 神经网络推理 -------- */ +// func forward(x: Matrix): Matrix { +// /* x => (1, inputs) */ +// let r = x.dot(weights) + bias /* (1, outputno) */ +// return r +// } +// +// /* -------- 实施激活函数 -------- */ +// func fdo(x: Matrix): Matrix { +// return f.fdo(x) } +// +// /* -------- 激活函数导数 -------- */ +// func fdot(x: Matrix): Matrix { +// return f.fdot(x) } +// +// /* This is Wrong */ +// //func bak_bsgrad(prev_raw_outputs_dotf: Matrix, errs: Matrix): Matrix { +// /* prev_raw_outputs_dotf => (1, outputno) +// * errs => (1, outputno) */ +// +// // return errs * prev_raw_outputs_dotf +// //} +// +// /* -------- 权重梯度的传播 -------- */ +// func bak_wsgrad(prev_inputs: Matrix, delta: Matrix) { +// /* prev_inputs => (1, inputs) */ +// return prev_inputs.T().dot(delta) /* (inputs, outputs) */ +// } +// +// /* -------- 计算上一层的误差 -------- */ +// func bak_uperrs(delta: Matrix, prev_dotf: Matrix) { +// let first = weights.dot(delta.T()).T() // (1, inputs) +// +// var uperrs = first * prev_dotf +// uperrs +// } +// +// /* -------- 更新权重、偏爱因子 -------- */ +// func update(weights_grad: Matrix, bias_grad: Matrix, discount: Float32) { +// weights -= weights_grad * learning_rate * discount +// bias -= bias_grad * learning_rate * discount +// } +// +// /* -------- 打印权重、偏爱因子 -------- */ +// func print() { +// weights.print() +// bias.print() +// } +// +// /* -------- 打印神经网络全连接层的形状 -------- */ +// func print_shape() { +// println("${inputno}, ${outputno}") } +// +// /* -------- 储存神经网络 -------- */ +// func save(file: File) { +// file.write("FullConnectLayer ".toArray()) +// file.write(inputno.toString().toArray()) +// file.write(" ".toArray()) +// file.write(outputno.toString().toArray()) +// file.write(" ".toArray()) +// file.write(learning_rate.toString().toArray()) +// file.write(" ".toArray()) +// file.write(f.toString().toArray()) +// file.write("\n".toArray()) +// weights.save(file) +// //file.write("\n".toArray()) +// bias.save(file) +// //file.write("\n".toArray()) +// } +// +// /* -------- 静态方法,加载单个项目 -------- */ +// static func loadItem(sr: StringReader) where T <: Parsable +// { +// let s = sr.readUntil({r => r == r" " || r == r"\n"}) +// let ss = s.getOrThrow().trimAscii() +// println(ss) +// return T.parse(ss) +// } +// +// /* -------- 静态方法,加载神经网络 -------- */ +// static func load(sr: StringReader) +// { +// let inputno = loadItem(sr) +// let outputno = loadItem(sr) +// let lr = loadItem(sr) +// let fna = sr.readUntil(r'\n') +// let f = ActivationFuncs.parse(fna.getOrThrow().trimAscii()) +// let weights = Matrix.load(sr, inputno, outputno) +// let bias = Matrix.load(sr, 1, outputno) +// Nn(inputno, outputno, f, lr, weights, bias) +// } +// +// let inputno: UInt64 +// let outputno: UInt64 +// var weights: Matrix /* (inputs, outputs) */ +// var bias: Matrix /* (1, outputs) */ +// var learning_rate: Float32 +// let f: ActivationFuncs +//} diff --git a/bot4cj/src/math/nns.cj b/bot4cj/src/math/nns.cj new file mode 100644 index 0000000..fd4a65b --- /dev/null +++ b/bot4cj/src/math/nns.cj @@ -0,0 +1,164 @@ +package bot4cj.math +import std.io.* +import std.fs.* +import std.math.* +import std.time.* +import std.random.* +import std.collection.* + +/* -------- 准备与门的测试用例 -------- + * INFO(20260524-qing): 输入{2},输出{1} */ +public func prepare_andDoor(m: Matrix1, t: Matrix1) { + let random = Random(UInt64(DateTime.now().nanosecond)) + let a = random.nextInt8(2) + let b = random.nextInt8(2) + let t0 = if ((a == 0 && b == 0) || (a ==1 && b == 1)) { 1.0f32 } else { 0.0f32 } + //let t1 = if (a != b) { 1.0f32 } else { 0.0f32 } + m.set(0, 0, FP32(Float32(a))) + m.set(0, 1, FP32(Float32(b))) + t.set(0, 0, FP32(t0)) + //t.set(0, 1, FP32(t1)) +} + +/* -------- 新版神经网络推理,使用原生矩阵 -------- */ +public func forward1(nns: ArrayList, m: Matrix1) { + var out_dof = Matrix1(1, 1) /* ---- 给一个值占位 ----*/ + for (idx in 0..nns.size) { + let x = if (idx == 0) { m } else { out_dof } + out_dof= nns[idx].forward(x) + } + return out_dof +} + +/* 【神经网络训练】 + * description: 输入一组原始数据和教师数据,进行神经网络训练 + * @param nns: 输入神经网络结构 + * @param m: 输入一组原始数据 + * @param t: 输入一组教师数据 + * @param discount: 输入本次训练的折扣系数 + */ +public func train1(nns: ArrayList, m: Matrix1, t: Matrix1, discount: Float32) { + + /* ======== 这个对象用于暂时占位 ======== */ + var res = Matrix1(1, 1) + + /* ======== 正向传播 ======== */ + for (idx in 0..nns.size) { + let x = if (idx == 0) { m } else { res } + res = nns[idx].forward(x) + } + + /* ======== 计算误差 ======== */ + var errs = t - res + + /* ======== 反向传播 ======== */ + for (idx in (nns.size-1)..=0:-1) { + errs = nns[idx].backward(errs) + } + + /* ======== 梯度更新 ======== */ + for (idx in 0..nns.size) { + nns[idx].update(discount) + } + + /* ======== 计算MSE损失 ======== + FIXME*(20260517-qing): 对于多个结果计算误差(目前只计算了第一个结果) */ + + let t0 = t.get(0, 0).getOrThrow().getValue() + //let t1 = t.get(0, 1).getOrThrow().getValue() + let r0 = res.get(0, 0).getOrThrow().getValue() + //let r1 = res.get(0, 1).getOrThrow().getValue() + let loss0 = 0.5 * (t0 - r0) * (t0 - r0) + //let loss1 = 0.5 * (t1 - r1) * (t1 - r1) + //return (loss0 + loss1) / 2.0 + return loss0 +} + +/* -------- (旧版)加载多层神经网络 -------- + TODO: 也许用类封装 + INFO(20260517-qing): 新版使用仓颉原生矩阵,然后与MatrixObject类互转 */ +//public func load_nns(filename: String): ArrayList { +// let nns = ArrayList() +// let file = File(filename, OpenMode.Read) +// let sr = StringReader(file) +// while (true) { +// if (let Some(S) <- sr.readUntil(r' ')) { +// var S2 = S.trimAscii() +// if (S2 == "FullConnectLayer") { +// nns.add(Nn.load(sr)) } +// else if (S2 == "") { break } +// else { throw IllegalArgumentException() } +// } +// else { break } +// } + +// file.close() +// return nns +//} + +/* -------- (旧版)储存多层神经网络 -------- */ +//public func save_nns(nns: ArrayList, filename: String) { +// +// let file: File +// if (exists(filename)) { +// file = File(filename, OpenMode.Write) } +// else { file= File.create(filename) } +// for (nn in nns) { /* 存储全部的层 */ +// nn.save(file) } +// file.close() +//} + +/* -------- 旧版神经网络推理 -------- */ +//public func forward(nns: ArrayList, m: Matrix) { +// var out_dof = Matrix(1, 1) +// for (idx in 0..nns.size) { +// let x = if (idx == 0) { m } else { out_dof } +// let res = nns[idx].forward(x) +// out_dof = nns[idx].fdo(res) +// } +// return out_dof +//} + +/* -------- 旧版的神经网络训练 -------- */ +//public func train(nns: ArrayList, m: Matrix, t: Matrix, discount: Float32) { +// +// /* ----------------- */ +// let outs_dof = ArrayList () +// let outs_dotf = ArrayList () +// +// /* -------- 正向传播 -------- */ +// for (idx in 0..nns.size) { +// let x = if (idx == 0) { m } else { outs_dof[idx-1] } +// let res = nns[idx].forward(x) +// let out_dof = nns[idx].fdo(res) +// let out_dotf = nns[idx].fdot(out_dof) +// outs_dof.add(out_dof) +// outs_dotf.add(out_dotf) +// } +// +// /* -------- 计算误差 -------- */ +// var errs = outs_dof[nns.size-1] - t +// +// /* -------- 反向传播 -------- */ +// for (idx in (nns.size-1)..=0:-1) { +// let up = if (idx == 0) { m} else { outs_dof[idx-1] } +// let bias_grad = errs +// //let delta = nns[idx].bak_bsgrad(errs, outs_dotf[idx]) +// let weights_grad = nns[idx].bak_wsgrad(up, bias_grad) +// if (idx > 0) { +// errs = nns[idx].bak_uperrs(bias_grad, outs_dotf[idx-1]) } +// nns[idx].update(weights_grad, bias_grad, discount) +// } +// +// /* -------- 输出损失 -------- */ +// unsafe { +// let t0 = t.get(0, 0) +// let t1 = t.get(0, 1) +// let r0 = outs_dof[nns.size-1].get(0, 0) +// let r1 = outs_dof[nns.size-1].get(0, 1) +// let loss0 = -t0 * log(r0) - (1.0f32-t0) * log(1.0f32-r0); +// let loss1 = -t1 * log(r1) - (1.0f32-t1) * log(1.0f32-r1); +// return 0.5 * (loss0 * loss0 + loss1 * loss1) +// } +// +//} diff --git a/bot4cj/src/math/pooling.cj b/bot4cj/src/math/pooling.cj new file mode 100644 index 0000000..7b60c51 --- /dev/null +++ b/bot4cj/src/math/pooling.cj @@ -0,0 +1,418 @@ +// pooling_layer.cj +package bot4cj.math + +import std.math.* +import std.collection.* + +/** + * 池化层类 + * 设计风格与 Nn1 和 ConvLayer 保持一致 + */ +public class PoolingLayer { + + // ==================== 层配置参数 ==================== + let nChannels: Int64 + let poolHeight: Int64 + let poolWidth: Int64 + let stride: Int64 + let padding: Int64 + let poolType: String + let f: Af + let learningRateWeight: FP32 + let learningRateBias: FP32 + + // ==================== 可学习参数 ==================== + var weights: Matrix1 + var biases: Matrix1 + + // ==================== 运行时缓存 ==================== + var prevInput: Option = Option.None + var prevInputShape: Option<(Int64, Int64, Int64, Int64)> = Option.None + var prevCombination: Option = Option.None + var prevOutput: Option = Option.None + var prevOutputShape: Option<(Int64, Int64, Int64, Int64)> = Option.None + var prevMaxIndices: Option = Option.None + + var weightsGrad: Option = Option.None + var biasGrad: Option = Option.None + + // ==================== 构造函数 ==================== + public init( + nChannels: Int64, + poolSize: (Int64, Int64), + stride: Int64, + padding: Int64, + poolType: String, + activation: Af, + lrWeight: FP32, + lrBias: FP32 + ) { + this.nChannels = nChannels + poolHeight = poolSize[0] + poolWidth = poolSize[1] + this.stride = stride + this.padding = padding + this.poolType = poolType + this.f = activation + learningRateWeight = lrWeight + learningRateBias = lrBias + + // 初始化权值 + weights = Matrix1(1, nChannels) + if (poolType == "average") { + let avgWeight = FP32(1.0) / FP32(Float32(poolHeight * poolWidth)) + for (c in 0..nChannels) { + weights.set(0, c, avgWeight) + } + } else { + for (c in 0..nChannels) { + weights.set(0, c, FP32(1.0)) + } + } + + // 初始化偏置为 0 + biases = Matrix1(1, nChannels) + for (c in 0..nChannels) { + biases.set(0, c, FP32(0.0)) + } + } + + public init( + nChannels: Int64, + poolSize: (Int64, Int64), + poolType: String, + activation: Af + ) { + this.nChannels = nChannels + poolHeight = poolSize[0] + poolWidth = poolSize[1] + stride = poolHeight + padding = 0 + this.poolType = poolType + this.f = activation + learningRateWeight = FP32(0.1) + learningRateBias = FP32(0.1) + + weights = Matrix1(1, nChannels) + if (poolType == "average") { + let avgWeight = FP32(1.0) / FP32(Float32(poolHeight * poolWidth)) + for (c in 0..nChannels) { + weights.set(0, c, avgWeight) + } + } else { + for (c in 0..nChannels) { + weights.set(0, c, FP32(1.0)) + } + } + + biases = Matrix1(1, nChannels) + for (c in 0..nChannels) { + biases.set(0, c, FP32(0.0)) + } + } + + // ==================== 前向传播 ==================== + public func forward(x: Matrix1, inputShape: (Int64, Int64, Int64, Int64)): Matrix1 { + prevInput = Option.Some(x) + prevInputShape = Option.Some(inputShape) + + let batch = inputShape[0] + let inH = inputShape[1] + let inW = inputShape[2] + + let outH = (inH + 2 * padding - poolHeight) / stride + 1 + let outW = (inW + 2 * padding - poolWidth) / stride + 1 + let outSize = batch * outH * outW + + var combination = Matrix1(outSize, nChannels) + var output = Matrix1(outSize, nChannels) + var maxIndices = Matrix1(outSize, nChannels) + + for (b in 0..batch) { + for (oh in 0..outH) { + for (ow in 0..outW) { + let outRow = b * outH * outW + oh * outW + ow + + for (ch in 0..nChannels) { + var pooledVal = FP32(0.0) + var maxIdx = 0 + + if (poolType == "max") { + var maxVal = FP32(-1.0e30) + var kernelIdx = 0 + for (kh in 0..poolHeight) { + for (kw in 0..poolWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + let val = x.get(inRow, ch).getOrThrow() + if (val.getValue() > maxVal.getValue()) { + maxVal = val + maxIdx = kernelIdx + } + } + kernelIdx += 1 + } + } + pooledVal = maxVal + } else { + var sum = FP32(0.0) + var count = 0 + for (kh in 0..poolHeight) { + for (kw in 0..poolWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + sum = sum + x.get(inRow, ch).getOrThrow() + count += 1 + } + } + } + if (count > 0) { + pooledVal = sum / FP32(Float32(count)) + } + } + + combination.set(outRow, ch, pooledVal) + maxIndices.set(outRow, ch, FP32(Float32(maxIdx))) + } + } + } + } + + // 逐通道应用权值和偏置 + for (r in 0..outSize) { + for (ch in 0..nChannels) { + let val = combination.get(r, ch).getOrThrow() + let w = weights.get(0, ch).getOrThrow() + let b = biases.get(0, ch).getOrThrow() + combination.set(r, ch, val * w + b) + } + } + + prevCombination = Option.Some(combination) + + output = f.forward(combination) + prevOutput = Option.Some(output) + prevOutputShape = Option.Some((batch, outH, outW, nChannels)) + prevMaxIndices = Option.Some(maxIndices) + + return output + } + + // ==================== 反向传播 ==================== + public func backward(errs: Matrix1): Matrix1 { + var x = Matrix1(1, 1) + match (prevInput) { + case Some(val) => x = val + case _ => throw Exception("No input data") + } + + var shape = (0, 0, 0, 0) + match (prevInputShape) { + case Some(val) => shape = val + case _ => throw Exception("No input shape") + } + + var combination = Matrix1(1, 1) + match (prevCombination) { + case Some(val) => combination = val + case _ => throw Exception("No combination") + } + + var outShape = (0, 0, 0, 0) + match (prevOutputShape) { + case Some(val) => outShape = val + case _ => throw Exception("No output shape") + } + + var maxIndices = Matrix1(1, 1) + let hasMaxIndices = match (prevMaxIndices) { + case Some(_) => true + case _ => false + } + if (hasMaxIndices) { + maxIndices = match (prevMaxIndices) { + case Some(val) => val + case _ => Matrix1(1, 1) + } + } + + let batch = shape[0] + let inH = shape[1] + let inW = shape[2] + let outH = outShape[1] + let outW = outShape[2] + + let delta = errs * f.backward(combination) + + calcWeightBiasGradient(delta, combination) + + let errsUp = calcUpsampledError(delta, maxIndices, batch, inH, inW, outH, outW) + + return errsUp + } + + /** + * 计算权值和偏置梯度 + */ + private func calcWeightBiasGradient(delta: Matrix1, combination: Matrix1): Unit { + let outSize = delta.get_row() + + var wGrad = Matrix1(1, nChannels) + var bGrad = Matrix1(1, nChannels) + + for (ch in 0..nChannels) { + var wSum = FP32(0.0) + var bSum = FP32(0.0) + for (r in 0..outSize) { + let d = delta.get(r, ch).getOrThrow() + bSum = bSum + d + let comb = combination.get(r, ch).getOrThrow() + wSum = wSum + d * comb + } + wGrad.set(0, ch, wSum) + bGrad.set(0, ch, bSum) + } + + weightsGrad = Option.Some(wGrad) + biasGrad = Option.Some(bGrad) + } + + /** + * 上采样误差(池化层的反向传播核心) + */ + private func calcUpsampledError( + delta: Matrix1, + maxIndices: Matrix1, + batch: Int64, + inH: Int64, + inW: Int64, + outH: Int64, + outW: Int64 + ): Matrix1 { + let inSize = batch * inH * inW + var errsUp = Matrix1(inSize, nChannels) + + for (b in 0..batch) { + for (oh in 0..outH) { + for (ow in 0..outW) { + let deltaRow = b * outH * outW + oh * outW + ow + + for (ch in 0..nChannels) { + let deltaVal = delta.get(deltaRow, ch).getOrThrow() + let w = weights.get(0, ch).getOrThrow() + + if (poolType == "max") { + let maxIdx = Int64(maxIndices.get(deltaRow, ch).getOrThrow().getValue()) + + var kernelIdx = 0 + var found = false + for (kh in 0..poolHeight) { + for (kw in 0..poolWidth) { + if (kernelIdx == maxIdx && !found) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + errsUp.set(inRow, ch, deltaVal * w) + found = true + } + } + kernelIdx += 1 + } + } + } else { + var count = 0 + for (kh in 0..poolHeight) { + for (kw in 0..poolWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + count += 1 + } + } + } + + if (count > 0) { + let avgDelta = deltaVal * w / FP32(Float32(count)) + for (kh in 0..poolHeight) { + for (kw in 0..poolWidth) { + let ih = oh * stride + kh - padding + let iw = ow * stride + kw - padding + if (ih >= 0 && ih < inH && iw >= 0 && iw < inW) { + let inRow = b * inH * inW + ih * inW + iw + let oldVal = errsUp.get(inRow, ch).getOrThrow() + errsUp.set(inRow, ch, oldVal + avgDelta) + } + } + } + } + } + } + } + } + } + + return errsUp + } + + // ==================== 参数更新 ==================== + public func update(discount: Float32): Unit { + var wGrad = Matrix1(1, 1) + match (weightsGrad) { + case Some(val) => wGrad = val + case _ => throw Exception("No weight gradients") + } + + var bGrad = Matrix1(1, 1) + match (biasGrad) { + case Some(val) => bGrad = val + case _ => throw Exception("No bias gradients") + } + + for (ch in 0..nChannels) { + let oldW = weights.get(0, ch).getOrThrow() + let gW = wGrad.get(0, ch).getOrThrow() + weights.set(0, ch, oldW + gW * learningRateWeight * FP32(discount)) + } + + for (ch in 0..nChannels) { + let oldB = biases.get(0, ch).getOrThrow() + let gB = bGrad.get(0, ch).getOrThrow() + biases.set(0, ch, oldB + gB * learningRateBias * FP32(discount)) + } + } + + // ==================== 形状访问器 ==================== + public func getInShape(): (Int64, Int64) { + (nChannels, poolHeight * poolWidth) + } + + public func getOutShape(): Int64 { + nChannels + } + + public func getPoolType(): String { + poolType + } + + public func getLR(): FP32 { + learningRateWeight + } + + public func getFType(): String { + f.get_type() + } + + public func calculateOutputSize(inputHeight: Int64, inputWidth: Int64): (Int64, Int64) { + let outH = (inputHeight + 2 * padding - poolHeight) / stride + 1 + let outW = (inputWidth + 2 * padding - poolWidth) / stride + 1 + (outH, outW) + } +} diff --git a/bot4cj/src/r.cj b/bot4cj/src/r.cj new file mode 100644 index 0000000..a4f184b --- /dev/null +++ b/bot4cj/src/r.cj @@ -0,0 +1,1071 @@ +/* -------- 机器人构成模块 + * -------- INFO(20260514-qing): 该模块确定机器人结构,为解耦考虑应该从解析出的矩阵对象中构建 + * -------- TODO(20260527-qing): 使脚本中的数值亦可从运行时确定 + * -------- */ + +package bot4cj +import std.io.* +import std.time.* +import std.random.* +import std.collection.* +import std.convert.* +import stdx.encoding.json.* +import bot4cj.hd.* +//import bot4cj.hd.extern.* +import bot4cj.math.* +import ctype4cj.* +import spi4cj.* +import lua4cj.* + +/* ---------------- 硬件变量基类 ---------------- + * -------- 接收3个lambda表达式,在回调函数中定义行为() + * -------- 通过JsonValue这种通用的数据结构进行传值 + * + * -------- TODO*(20260517-qing): 因为析构器(终结器)的调用时间不确定,需要手动构造RAII机制 + * -------- TODO(20260519-qing): 考虑将@Action矩阵对象置为硬件变量的一种 + * -------- TODO*(20260529-qing): 增加微调器机制,通过不同的微调器对@Action进行微调 + * ---------------------------------------------- */ +open class MatrixVars_Hardware { + + /* ---------------- 主初始化器 ---------------- + * -------- 输入一个回调函数,用json参数能够为多种硬件提供同一接口 + * -------- 在@Action矩阵中的每一列都是一个输入参数 + * -------------------------------------------- */ + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit>, + free!: Option<() -> Unit> ) { + this.things = things + this.rise = rise + this.free = free + } + + + /* -------------------------------- + * -------------------------------- + * -------- 事件回调,接收和返回JsonValue + * -------- 这是整个硬件的主要事件 */ + + private let things: (JsonValue) -> JsonValue + + /* -------- 召集事件,不接受参数 + * -------- 即硬件获取资源 */ + + private let rise: Option<() -> Unit> + + /* -------- 遣返事件,不接受参数 + * -------- 即硬件释放资源*/ + + private let free: Option<() -> Unit> + + /* -------------------------------- * + * -------------------------------- */ + + /* -------- 事件发生器 + * -------- TODO(20260612-qing): 使用某种方式记录变量是否经过了初始化 + * -------- + * -------- 该方法会调用硬件,需要传入1个JsonValue参数 + * -------- 它返回1个JsonValue值 */ + + public func play(input: JsonValue): JsonValue { + return things(input) + } + + /* -------- 伪初始化器 + * -------- 该方法会打开硬件,什么也不传入和返回 */ + + public func build() { + if (let Some(callback) <- rise) { + callback() + } + } + + /* -------- 伪解构器 + * -------- 该方法会关闭硬件,什么也不传入和返回 */ + + public func destroy() { + if (let Some(callback) <- free) { + callback() + } + } + + /* ----------------- */ + /* ----------------- */ + + /* -------- 获得项目值 + * -------- 如果矩阵单元的原始值是占位符且不为标题行,不为首行 + * -------- 就递归地获取上一行的值 */ + public static func getMt(obj: MatrixObject, row: Int64, col: Int64): String + { + let raw = obj[row, col] + if (raw == "-" && row > 1) { + return getMt(obj, row - 1, col) + } + return raw + } + + /* -------- 解析项目值 + * -------- 先获取矩阵单元的项目值(解析过占位符的值) + * -------- 然后解析为需要的格式 + * -------- */ + public static func parseMt(obj: MatrixObject, row: Int64, col: Int64): T where T <: Parsable + { + /* ---- 先获取矩阵单元的原始值 ---- */ + let raw = obj[row, col] + + /* ---- 原始值为占位符且(非首行的)非标题行 ---- */ + if (raw == "-" && row > 1) { + return parseMt(obj, row-1, col) + } + + /* ---- 原始值为占位符且为(非标题行的)首行 ---- */ + else if (raw == "-" && !(row > 1)) { + return T.parse("0") } + + /* ---- 原始值并非占位符 ---- */ + // else if (!raw == "-") + return T.parse(raw) + } + /* ----------------- */ + /* ----------------- */ +} + + +/* ---- 用于注册到Lua的I2C操作C语言函数 ---- + * + * + * ---- 打开一个I2C设备 ---- */ +@C +func Lua_openI2c(L: lua_State): C_Int { + unsafe { + let filename: CString = Lua_checkstring(L, 1) /* 第一个参数 */ + let fd = openI2cDev(filename) + let val: lua_Integer = Int64(fd) /* lua_Integer */ + Lua_pushinteger(L, val) + return 1 /* 返回1,表示有1个返回值 */ + } +} + +/* ---- 关闭I2C设备 ---- */ +@C +func Lua_closeI2c(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + closeI2cDev(fd) + return 0 + } +} + +/* ---- 设置I2C地址 ---- */ +@C +func Lua_setI2cAddr(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + let addr = UInt8(Lua_checkinteger(L, 2)) + setI2cAddr(fd, addr) + return 0 + } +} + +/* ---- 写I2C寄存器 ---- */ +@C +func Lua_writeI2cReg(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + let reg = UInt8(Lua_checkinteger(L, 2)) + let val = UInt8(Lua_checkinteger(L, 3)) + writeI2cReg(fd, reg, val) + return 0 + } +} + +/* ---- 读I2C寄存器 ---- */ +@C +func Lua_readI2cReg(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + let reg = UInt8(Lua_checkinteger(L, 2)) + let res = Int64(readI2cReg(fd, reg)) /* lua_Integer */ + Lua_pushinteger(L, res) + return 1 + } +} + +/* ---- 毫秒级延时 ---- */ +@C +func Lua_milliSleep(L: lua_State): C_Int { + unsafe { + let n = Int64(Lua_checkinteger(L, 1)) + sleep(Duration.millisecond * n) + return 0 + } +} + +/* ---- 打开一个SPI设备 ---- */ +@C +func Lua_openSPI(L: lua_State): C_Int { + unsafe { + let filename: CString = Lua_checkstring(L, 1) /* 第一个参数 */ + let fd = open_spi(filename) + let val: lua_Integer = Int64(fd) /* lua_Integer */ + Lua_pushinteger(L, val) + return 1 /* 返回1,表示有1个返回值 */ + } +} + + +/* ---- 关闭一个SPI设备 ---- */ +@C +func Lua_closeSPI(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + close_spi(fd) + return 0 + } +} + +/* ---- 设置一个SPI设备 ---- */ +@C +func Lua_setupSPI(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + let mode = UInt8(Lua_checkinteger(L, 2)) + let bits = UInt8(Lua_checkinteger(L, 3)) + let speed = UInt32(Lua_checkinteger(L, 4)) + let delay = UInt16(Lua_checkinteger(L, 5)) + let res: lua_Integer = Int64(setup_spi(fd, mode, bits, speed, delay)) /* lua_Integer */ + Lua_pushinteger(L, res) + return 1 + } +} + +/* ---- 写SPI设备 ---- */ +@C +func Lua_writeSPI(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + let val = UInt8(Lua_checkinteger(L, 2)) + let res: lua_Integer = Int64(write_spi(fd, val)) /* lua_Integer */ + Lua_pushinteger(L, res) + return 1 + } +} + +/* ---- 读SPI设备 ---- */ +@C +func Lua_readSPI(L: lua_State): C_Int { + unsafe { + let fd = Int32(Lua_checkinteger(L, 1)) /* C_Int */ + let res: lua_Integer = Int64(read_spi(fd)) /* lua_Integer */ + Lua_pushinteger(L, res) + return 1 + } +} + + +/* ---- Lua状态机 - 硬件变量 + * ---- + * ---- TODO(20260612-qing): 提前创建Lua状态机,利用闭包进行引用储存 + * ---- 在rise中申请的资源将在free中被释放。 + * ---- + * ---- 我们将Lua状态机做成类成员存储,在原本的召集函数中进行初始化 + * ---- 在解构函数中释放资源。 + * ---- + * ---- */ +class MtVars_Lua <: MatrixVars_Hardware { + + /* ---- 构造函数 => 传入事件函数,召集函数以及解构函数 + * ---- + * ---- */ + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit> = None, + free!: Option<() -> Unit> = None ) + + { + super(things: things, rise: rise, free: free) + } + + + /* ---- 工厂函数 => 运行指定Lua脚本,传入矩阵中的所有参数(元数据) + * ---- + * ---- */ + public static func Factory(luapath: String, metadata: JsonValue): MtVars_Lua + { + + /* ---- LUA状态机对象 ---- */ + let L: lua_State = unsafe {Lua_init()} + unsafe { + if (Lua_check(L) == LUA_ERR) { + throw IllegalMemoryException("Lua_check()") + } + } + + let mtVars_Lua = MtVars_Lua( + + /* ---- 主要事件:调用该硬件的驱动脚本 + * ---- 合并两张表(json_obj),一张来自创建该硬件时的设置(元数据) + * ---- 另一张是调用该硬件事件时传入的参数 + * ---- + * ---- 其中前者是一些诸如I2C地址、SPI速率的硬件参数 + * ---- 后者是一些类似舵机旋转角度的实时参数 + * ---- */ + things: { json: JsonValue => + + /* ---- 从元数据(json_obj)进行深拷贝 ---- */ + let obj = JsonValue.fromStr(metadata.toJsonString()).asObject() + obj.put("mode", JsonString("call")) + + /* --- 合并两张(json_obj)表(元数据和参数) --- */ + let fields: HashMap = json.asObject().getFields() + for (k in fields.keys()) { + let val = fields.get(k).getOrThrow() + obj.put(k, val) + } + println("Lua scripts call parameters: ${obj.toString()}") + + let res = call_lua(L, obj) + + println("Lua script call result: ${res.toString()}") + + return res + + }, + + /* ---- 召集方法:提供元数据(json_obj) + * ---- 并对该硬件进行初始化 + * ---- */ + rise: { => + + /* ---- 在这里构建Lua状态机进行构建 ---- + * ---- 使用专用的异常 ---- */ + if (build_lua(L, luapath) == false) { + throw Exception("build_lua") + } + + + /* ---- 从元数据进行深拷贝 ---- */ + let obj = JsonValue.fromStr(metadata.toJsonString()).asObject() + + /* ---- 插入模式指令 ---- */ + obj.put("mode", JsonString("build")) + + println("Lua scripts build parameters: ${obj.toString()}") + + let res = call_lua(L, obj) + + println("Lua script build result: ${res.toString()}") + + }, + + /* ---- 解构方法:传入元数据(json_obj|json_data) + * ---- 然后使用Lua状态机对设备进行关闭(或者重置) + * ---- */ + free: { => + + /* ---- 从元数据进行深拷贝 ---- */ + let obj = JsonValue.fromStr(metadata.toJsonString()).asObject() + + /* ---- 插入模式指令 ---- */ + obj.put("mode", JsonString("destroy")) + + println("Lua scripts destroy parameters: ${obj.toString()}") + + let res = call_lua(L, obj) + + println("Lua script destroy result: ${res.toString()}") + + + + /* ---- 在这里写就Lua状态机的解构 ---- */ + destroy_lua(L) + + } + + ) + + + /* ---- 返回构造的硬件变量 + * ---- */ + return mtVars_Lua + } + + /* ---- 构造Lua状态机 ---- + * ---- NOTE(20260618-qing): 构建完毕会运行一次 */ + private static func build_lua(L: lua_State, luapath: String): Bool { + /* ---- 申请资源 + * ---- */ + unsafe { + let filename_c = LibC.mallocCString(luapath) + if (filename_c.isEmpty()) { + throw IllegalMemoryException("LibC.mallocCString()") + } + + /* ---- 加载Lua库、注册Lua函数 + * ---- */ + Lua_loadlib(L) + + /* ---- TH ---- */ + + /* ---- milli_sleep() ---- */ + var cstr = LibC.mallocCString("milli_sleep") + Lua_register(L, cstr, Lua_milliSleep) + LibC.free(cstr) + + /* ---- I2C设备 ---- */ + + /* ---- i2c_open() ---- */ + cstr = LibC.mallocCString("i2c_open") + Lua_register(L, cstr, Lua_openI2c) + LibC.free(cstr) + + /* ---- i2c_close() ---- */ + cstr = LibC.mallocCString("i2c_close") + Lua_register(L, cstr, Lua_closeI2c) + LibC.free(cstr) + + /* ---- i2c_set_addr() ---- */ + cstr = LibC.mallocCString("i2c_set_addr") + Lua_register(L, cstr, Lua_setI2cAddr) + LibC.free(cstr) + + /* ---- i2c_write_reg() ---- */ + cstr = LibC.mallocCString("i2c_write_reg") + Lua_register(L, cstr, Lua_writeI2cReg) + LibC.free(cstr) + + /* ---- i2c_read_reg() ---- */ + cstr = LibC.mallocCString("i2c_read_reg") + Lua_register(L, cstr, Lua_readI2cReg) + LibC.free(cstr) + + /* ---- SPI ----*/ + + /* ---- spi_open() ---- */ + cstr = LibC.mallocCString("spi_open") + Lua_register(L, cstr, Lua_openSPI) + LibC.free(cstr) + + /* ---- spi_close() ---- */ + cstr = LibC.mallocCString("spi_close") + Lua_register(L, cstr, Lua_closeSPI) + LibC.free(cstr) + + /* ---- spi_setsup() ---- */ + cstr = LibC.mallocCString("spi_setup") + Lua_register(L, cstr, Lua_setupSPI) + LibC.free(cstr) + + /* ---- spi_write() ---- */ + cstr = LibC.mallocCString("spi_write") + Lua_register(L, cstr, Lua_writeSPI) + LibC.free(cstr) + + /* ---- spi_read() ---- */ + cstr = LibC.mallocCString("spi_read") + Lua_register(L, cstr, Lua_readSPI) + LibC.free(cstr) + + + /* ---- 设置Lua状态机 + * ---- */ + var status = Lua_loadfilex(L, filename_c, CPointer()) + LibC.free(filename_c) + + if (status == LUA_OK) { + var status = Lua_pcallk(L, 0, LUA_MULTRET, 0, 0, CPointer()) + println("lua build status: ${status}") + if (status == LUA_OK) { + return true + } + } + + /* ---- 从栈顶获取错误信息 + * ---- */ + let error_msg = Lua_tostring(L, -1); + println(error_msg.toString()); + + return false + } + } + + /* ---- 释放LUA状态机 + * ---- NOTE(20260618-qing): 销毁之后该变量即废弃 */ + private static func destroy_lua(L: lua_State) { + unsafe { Lua_free(L) } + } + + /* ---- 调用Lua脚本的方法 + * ---- NOTE(20260618-qing): 每次调用之后会重置栈指针 */ + private static func call_lua(L: lua_State, json: JsonValue): JsonValue { + let obj = json.asObject() + let ret = JsonObject() + unsafe { + + /* ---- 获取栈顶指针 ----*/ + let top = Lua_gettop(L) + + /* ---- ---- */ + let mode = obj.get("mode").getOrThrow().asString().getValue() + let cstr = LibC.mallocCString(mode) + Lua_getglobal(L, cstr) + LibC.free(cstr) + + /* ----在Lua状态机里 创建Lua表 + * ---- */ + Lua_createtable(L, 0, 0) + + + /* ---- 向Lua表中推入数据 + * ---- */ + let fields: HashMap = obj.getFields() + for (k in fields.keys()) { + let val = fields.get(k).getOrThrow() + if (val is JsonString) { + let v = val.asString().getValue() + let sk = LibC.mallocCString(k) + let sv = LibC.mallocCString(v) + Lua_pushstring(L, sv) + Lua_setfield(L, -2, sk) + LibC.free(sk) + LibC.free(sv) + } + else if (val is JsonInt) { + let v = val.asInt().getValue() + let sk = LibC.mallocCString(k) + let sv = Int64(v) + Lua_pushinteger(L, sv) + Lua_setfield(L, -2, sk) + LibC.free(sk) + } + } + + var status = Lua_pcallk(L, 1, LUA_MULTRET, 0, 0, CPointer()) + println("lua status: ${status}") + if (status == LUA_OK) { + if (Lua_type(L, -1) == LUA_TTABLE) { + /* ---- 栈顶是表 + * ---- 压入 nil 作为遍历的起始键 + * ---- */ + Lua_pushnil(L) + while(Lua_next(L, -2) != 0) { + /* ---- 此时栈:[表, 键, 值] ---- + * ---- 检查键值是否为空指针 ---- + * ---- FIXME(20260531-qing) ---- */ + let key = Lua_tostring(L, -2) + let val = Lua_tostring(L, -1) + if (key.isEmpty() || val.isEmpty()) { + throw NoneValueException("Lua_tostring()") + } + println("${key}: ${val}") + ret.put(key.toString(), JsonString(val.toString())) + Lua_pop(L, 1) + } + } + //Lua_pop(L, 1) + } + + else if (status != LUA_OK) { + let err = Lua_tostring(L, -1) + if (!err.isEmpty()) { + println("Lua 错误详情: ${err.toString()}") + } + //Lua_pop(L, 1) + } + + /* ---- 恢复Lua状态机 ----*/ + Lua_settop(L, top) + //Lua_pop(L, 1) + } + return ret + } +} + +/* -------- 别名变量 + * -------- 这种变量用于给某个参数取一个更简单的别名 + * -------- 它的事件返回(JsonString)将作为新的矩阵项目值 + * -------- + * -------- */ +class MtVars_Alias <: MatrixVars_Hardware { + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit> = None, + free!: Option<() -> Unit> = None ) + { super(things: things, rise: rise, free: free) } + + public static func Factory(AliasDefs: MatrixObject, i: Int64, + _: HashMap): MtVars_Alias + { + let idxName = AliasDefs.indexOfCol(0, "name") + let idxAlias= AliasDefs.indexOfCol(0, "alias") + + let name = AliasDefs[i, idxName] + let alias= getMt(AliasDefs, i, idxAlias) + + println("Create a Alias vars: ${name}, witch means ${alias}") + let mtvars_alias = MtVars_Alias(things: {_: JsonValue => + let str = JsonString(alias) /* 直接返回JsonString(alias)*/ + return str + }) + + return mtvars_alias + } +} + +/* -------- I2C变量类 这种硬件变量是特殊且固定的 + * -------- TODO(20260617-qing): 等LUA状态机被闭包保存之后,将其优化为Lua驱动 + * -------- */ +class MtVars_I2C <: MatrixVars_Hardware { + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit> = None, + free!: Option<() -> Unit> = None ) + + { super(things: things, rise: rise, free: free) } + + /* @I2C + * name path; + * i2c-0 /dev/i2c-0; + * @ + */ + public static func Factory( /* 工厂模式,根据矩阵对象构造 */ + I2CDefs: MatrixObject, i: Int64, _: HashMap): MtVars_I2C + { + let idxName = I2CDefs.indexOfCol(0, "name") + let idxPath = I2CDefs.indexOfCol(0, "path") + + let name = I2CDefs[i, idxName] + let path = getMt(I2CDefs, i, idxPath) + + println("Create a I2C hard-Var: ${name},\tpath: ${path}") /* ---- debug ---- */ + let i2c = I2C_Orig(path) /* 在这里创建传统I2C类对象,通过闭包保存在MtVars_I2C里 */ + let mtvars_i2c = MtVars_I2C( + things: { json: JsonValue => + let fd = i2c.getFd() + let ret = JsonObject() + ret.put("fd",JsonInt(Int64(fd))) + return ret + }, + + free: {=> + println("I2C HVar: ${name} is closing now") + i2c._close() + }) + + return mtvars_i2c + } +} + +/* -------- MPU6050_BIND硬件变量 + * -------- INFO(20260612-qing): 自从引入了Lua状态机扩展硬件,该硬件变量不知道何去何从。 + * -------- TODO(20260612-qing): 在Lua脚本中定义好BIND函数后,在pthread线程中反复调用 + * -------- */ +class MtVars_MPU6050_BIND <: MatrixVars_Hardware { + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit> = None, + free!: Option<() -> Unit> = None) { + super(things: things, rise: rise, free: free) } + + /* 工厂函数,通过矩阵对象构建硬件变量 + * @MPU6050_BIND + * name I2C addr; + * mpu6050-0 i2c-1 0x69; + */ + public static func Factory ( + MPU6050_BIND_Defs: MatrixObject, i: Int64, + map: HashMap)//: MtVars_MPU6050_BIND + { + let idxName = MPU6050_BIND_Defs.indexOfCol(0, "name") + let idxI2c = MPU6050_BIND_Defs.indexOfCol(0, "I2C") + let idxAddr = MPU6050_BIND_Defs.indexOfCol(0, "addr") + + let name = MPU6050_BIND_Defs[i, idxName] + let i2c = getMt(MPU6050_BIND_Defs, i, idxI2c) + let addr = getMt(MPU6050_BIND_Defs, i, idxAddr) + + println("Create a MPU6050_BIND HVar: ${name}, use i2c interf: ${i2c}, i2c addr: ${addr}") + let i2c_HardVar = map[i2c] + let param = JsonObject() + param.put("mode", JsonString("get_fd")) + let ret = i2c_HardVar.play(param) + let fd = Int32(ret.asObject().get("fd").getOrThrow().asInt().getValue()) + let _addr = UInt8.parse(addr) + + let mpu6050 = MPU6050(fd, _addr) + + let mtvars_mpu6050bind = MtVars_MPU6050_BIND( + things: {json: JsonValue => + let ret = JsonObject() + ret.put("status", JsonString("OK")) + return ret + }, + rise: {=> + println("MPU6050_BIND HVar: ${name} is starting now") + mpu6050.setup() + mpu6050.startDaemon() + }, + free: {=> + println("MPU6050_BIND HVar: ${name} is closing now") + mpu6050.stopDaemon() + mpu6050.waitDaemon() + } + ) + + return mtvars_mpu6050bind + } +} + +/* -------- 舵机变量类 + * -------- + * -------- TODO(20260515-qing): 现在普通的舵机类也是传入回调函数的, + * -------- 但是我们考虑到该硬件变量调用别的硬件变量,所以还是要专门做一个舵机硬件变量 + * -------- + * -------- TODO(20260612-qing): 根据Lua硬件脚本的返回结果,调用别的硬件变量 + * -------- */ +class MtVars_Servo <: MatrixVars_Hardware { + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit> = None, + free!: Option<() -> Unit> = None ) + { super(things: things, rise: rise, free: free) } + + /* + * @Servo + * name max min offset controller channel; + * s1 90 - - pca9685-0 0; + * @ + */ + public static func Factory( /* 工厂模式:使用矩阵对象构造 */ + ServoDefs: MatrixObject, i: Int64, map: HashMap)//: MtVars_Servo + { + let idxName = ServoDefs.indexOfCol(0, "name") + let idxMax = ServoDefs.indexOfCol(0, "max") + let idxMin = ServoDefs.indexOfCol(0, "min") + let idxOffset = ServoDefs.indexOfCol(0,"offset") + let idxCtrl = ServoDefs.indexOfCol(0, "controller") + let idxChannel = ServoDefs.indexOfCol(0, "channel") + + let name = ServoDefs[i, idxName] + let max = parseMt(ServoDefs, i, idxMax) + let min = parseMt (ServoDefs,i, idxMin) + let offset = parseMt(ServoDefs, i, idxOffset) + let ctrl = getMt(ServoDefs, i, idxCtrl) + let channel = parseMt(ServoDefs, i, idxChannel) + + print("Create a Servo hard-Var: ${name}, max: ${max}, min: ${min}, offset: ${offset}") + println(", controller: ${ctrl}, channel: ${channel}") + + let controller = map[ctrl] /* like pca9685 */ + let servo = Servo(max: max, min: min, offset: offset, + callback_setAngle: {angle: Float32 => + let obj = JsonObject() + obj.put("channel", JsonInt(Int64(channel))) + //obj.put("angle", JsonFloat(Float64(angle))) + obj.put("angle", JsonInt(Int64(angle))) + controller.play(obj) + }) + + /* + * {"angle": 180.0} + */ + let mtvars_servo = MtVars_Servo(things: {json=> + let angle = json.asObject().get("angle").getOrThrow().asFloat().getValue() + servo.setAngle(Float32(angle)) + let ret = JsonObject() + ret.put("status", JsonString("OK")) + return ret + }) + return mtvars_servo + } +} + +/* -------- 扬声器类 + * -------- + * -------- 使用工厂函数 + * -------- + * -------- TODO: 输入扬声器设备名,扬声器又是一个复杂的功能 + * -------- + */ +class MtVars_Speaker <: MatrixVars_Hardware { + public init(things!: (JsonValue) -> JsonValue, + rise!: Option<() -> Unit> = None, + free!: Option<() -> Unit> = None ) + { super(things: things, rise: rise, free: free) } + + /* --------| 工厂函数,根据矩阵对象进行构造 + * --------| @Speaker + * --------| name channels sample_rate volumn max_f min_f; + * --------| spk 2 48000 0.6 5000 -; + * --------| @ + */ + public static func Factory( + SpeakerDefs: MatrixObject, i: Int64, map: HashMap): MtVars_Speaker { + + let idxName = SpeakerDefs.indexOfCol(0, "name") + let idxChannels = SpeakerDefs.indexOfCol(0, "channels") + let idxSampleRate = SpeakerDefs.indexOfCol(0, "sample_rate") + let idxVolumn = SpeakerDefs.indexOfCol(0, "volumn") + let idxMax_f = SpeakerDefs.indexOfCol(0, "max_f") + let idxMin_f = SpeakerDefs.indexOfCol(0, "min_f") + + let name = SpeakerDefs[i, idxName] + let channels = parseMt(SpeakerDefs, i, idxChannels) + let sample_rate = parseMt(SpeakerDefs, i, idxSampleRate) + let volume = parseMt(SpeakerDefs, i, idxVolumn) + let max_f = parseMt(SpeakerDefs, i, idxMax_f) + let min_f = parseMt(SpeakerDefs, i, idxMin_f) + + println("Create a Speaker: ${name}, channels: ${channels}, sample_rate: ${sample_rate}, volume: $(volume), max_f: ${max_f}, min_f: ${min_f}") + let spk = Spk(channels: channels, sample_rate: sample_rate) + let mtvar_spk = MtVars_Speaker(things: {json => // {"frequency": 1000.0, "delay": 400} + let json_obj = json.asObject() + var freq = Float32(json_obj.get("frequency").getOrThrow().asFloat().getValue()) + if (freq > max_f) { freq = max_f } + if (freq < min_f) { freq = min_f } + let delay = Int32(json_obj.get("delay").getOrThrow().asFloat().getValue()) + spk.play(freq, volume, delay) + let ret = JsonObject() /* ---- FIXME: 处理异常情况 */ + ret.put("status", JsonString("OK")) + return ret + }) + + return mtvar_spk + } +} + + + +/* -------- 机器人结构类 + * -------- + * -------- 机器人结构是动态的,从脚本中解析的 + * -------- TODO(20260514-qing): 调整为输入MatrixObject + * -------- TODO(20260515-qing): 需要重写一遍硬件类(done) + * -------- TODO(20260518-qing): 使用神经网络RNN直接根据动作+传感器脚本生成下一步动作 + * -------- TODO(20260527-qing): 增加硬件模块行为脚本 + * -------- TODO*(20260527-qing): 为@Action表演矩阵对象增加位置指示器,以增量行动 + * -------- */ +class RobotStruct { + + /* -------- 存放解析结果和创建的变量 + * -------- */ + private let C = LinkedList() + private let M = HashMap() + + /* -------- 使用矩阵脚本驱动机器人 + * -------- + * -------- 不行就将矩阵脚本转化为bot脚本吧 + * -------- */ + public init(input: InputStream) { + readMatrix(input) + createHardVars() + } + + /* -------- 激活所有硬件变量 + * -------- */ + public func active() { + for (item in M.values()) { + item.build() + } + } + + /* -------- 消除所有硬件变量 + * -------- + * -------- INFO(20260517-qing): 它需要以倒序方式进行清除 + * -------- */ + public func deactive() { + let items = M.values().toArray() + for (i in items.size-1..=0:-1) { + items[i].destroy() + } + } + + /* -------- 执行@Action矩阵中的内容 + * -------- */ + public func run() { + run_drl_action() + } + + /* -------- 储存整个矩阵变量表 + * -------- + * -------- NOTE(20260517-qing): 使用完毕要关闭输出流 + * -------- */ + public func save(out: OutputStream) { + let ms = MatrixSaver(out) + ms.save(C) + } + + /* -------- 阅读矩阵脚本 + * -------- + * -------- TODO(20260504-qing): 使用矩阵脚本存储神经网络模型 + * -------- */ + private func readMatrix(file: InputStream){ + let sr = StringReader(file) + let parser = MatrixParser(sr) + while (true) { + if (let Some(O) <- parser.parse()) { + let n = O.getName(); + println(n) + C.addLast(O) } + else { break } + } + } + + /* -------- 创建硬件变量字典 + * -------- + * -------- TODO(20260515-qing): 解耦合 + * -------- FIXME(20260518-qing): 在插入哈希表之前如果有已经存在的键值,要释放它的资源 + * -------- */ + private func createHardVars() + { + + for (matrix in C) { + let MtName = matrix.getName() + + /* ---- 【特殊的】I2C硬件 + * ---- */ + if (MtName == "I2C") { + let idxName = matrix.indexOfCol(0,"name") + for (i in 1..matrix.size) { + let name = matrix[i, idxName] + M[name] = MtVars_I2C.Factory(matrix, i, M) + } + } + + /* ---- 【特殊的】Alias别名硬件 + * ---- */ + else if (MtName == "Alias") { + let idxName = matrix.indexOfCol(0, "name") + for (i in 1..matrix.size) { + let name = matrix[i, idxName] + M[name] = MtVars_Alias.Factory(matrix, i, M) + } + } + + /* ---- 【特殊的】Servo舵机硬件 + * ---- */ + else if (MtName == "Servo") { + let idxName = matrix.indexOfCol(0, "name") + for (i in 1..matrix.size) { + let name = matrix[i, idxName] + M[name] = MtVars_Servo.Factory(matrix, i, M) + } + } + + /* ---- [特殊的] Action矩阵 + * ---- */ + else if (MtName == "Action") { + ; + } + + /* ---- [特殊的] Speaker扬声器硬件 + * ---- */ + else if (MtName == "Speaker") { + let idxName = matrix.indexOfCol(0, "name") + for (i in 1..matrix.size) { + let name = matrix[i, idxName] + M[name] = MtVars_Speaker.Factory(matrix, i, M) + } + } + + /* ---- 【通用的】Lua脚本硬件 + * ---- */ + else if (matrix.size > 0) { + let idxName = matrix.indexOfCol(0, "name") + for (i in 1..matrix.size ) { + let obj = JsonObject() + let name = matrix[i, idxName] + for (j in 0..matrix.col) { + let colName = matrix[0, j] + let value = MatrixVars_Hardware.getMt(matrix, i, j) + /* ---- ---- + * ---- FIXME: 加入点号别名的检索逻辑 ---- + * ---- ---- */ + if (let Some(mt) <- M.get(value)) { + /* ---- ---- + * ---- 存在该名称的变量,传入空对象参数,并求取返回值 + * ---- ---- */ + let json = JsonObject() + let res = mt.play(json).asObject() + let fields: HashMap = res.getFields() + for (k in fields.keys()) { + let val = fields.get(k).getOrThrow() + obj.put(k, val) + } + + } + else { + obj.put(colName, JsonString(value)) + } + } + + /* ---- fixme: 这里的脚本路径是写死的,随后我们需要设计一个机制,从环境变量中查找 + * ---- */ + M[name] = MtVars_Lua.Factory("./modules/${MtName}.lua", obj) + } + } + } + } + + + /* -------- 在矩阵对象的容器中寻找目标 + * -------- */ + private static func findMt(ll: LinkedList, name: String): Option + { + for (item in ll) { + var target = item.getName() + target = target.trimAscii() // ??? + if (name == target) { + return item } + } + + return None + } + + /* -------- 使用drl微调动作,使用RNN生成动作流 + * -------- */ + private func run_drl_action() { + let ActionDefs = findMt(C, "Action").getOrThrow() /* MatrixObject */ + for (i in 1..ActionDefs.size) { + let set =JsonObject() /* 每个硬件变量的参数集合 */ + for (j in 0..ActionDefs.col) { + parse_action_matrixObject(set, ActionDefs, i, j) + } + + /* -------- 执行一行 -------- */ + let keys = set.getFields().keys() + for (name_dev in keys) { + let hv = M[name_dev] + let params: JsonValue = set.get(name_dev).getOrThrow() + let _: JsonValue = hv.play(params) + } + + + } + } + + /* -------- 解析@Action矩阵对象 -------- */ + private func parse_action_matrixObject(set: JsonObject, ActionDefs: MatrixObject, + i: Int64, j: Int64) { + let name_HV = ActionDefs[0, j] /* 获取硬件变量名 FIXME: 该名称不得使用占位符 且不重复 */ + let arr = name_HV.split(".") + if (arr.size != 2) { + throw IllegalArgumentException("Action column is not valid") } + let name_dev = arr[0] + var name_param = arr[1] + + var val_fp64 = MatrixVars_Hardware.parseMt(ActionDefs, i, j) + + let AliasHV = M.get(name_param) /* 可能的参数别名转换 */ + if (let Some(aliasHV) <- AliasHV) { + let ret = aliasHV.play(JsonObject()) + let alias = ret.asString().getValue() + name_param = alias + } + + var set_params: JsonObject /* 设置或者取得属于该硬件变量的参数 */ + if (let Some(obj_) <- set.get(name_dev)) { + set_params = obj_.asObject() } + else { + set_params = JsonObject() + set.put(name_dev, set_params) } + + set_params.put(name_param, JsonFloat(val_fp64)) /* 设置一个该硬件变量的参数 */ + } +} + + diff --git a/bot4cj/src/testCNN.cj b/bot4cj/src/testCNN.cj new file mode 100644 index 0000000..8b91fef --- /dev/null +++ b/bot4cj/src/testCNN.cj @@ -0,0 +1,310 @@ +// test_cnn.cj - 使用 Adam 优化器的版本(所有层) +package bot4cj +import bot4cj.math.* +import std.math.* +import std.random.* +import std.collection.* + +func generateSolidColorData(numSamples: Int64): (Array, Array) { + var inputs = Array(numSamples, { _ => Matrix1(1, 1) }) + var labels = Array(numSamples, { _ => 0 }) + let rng = Random() + + for (i in 0..numSamples) { + let colorClass = Int64(rng.nextFloat64() * 3.0) + labels[i] = colorClass + + let h = 8 + let w = 8 + var matrix = Matrix1(h * w, 1) + + let colorValue = match (colorClass) { + case 0 => FP32(1.0) + case 1 => FP32(0.5) + case _ => FP32(0.0) + } + + for (r in 0..h * w) { + let noise = FP32(Float32(rng.nextFloat64() - 0.5) * 0.1) + var val = colorValue + noise + if (val.getValue() > 1.0) { + val = FP32(1.0) + } else if (val.getValue() < 0.0) { + val = FP32(0.0) + } + matrix.set(r, 0, val) + } + + inputs[i] = matrix + } + + (inputs, labels) +} + +func printSeparator(): Unit { + println("==================================================") +} + +func testCNN(): Unit { + printSeparator() + println("CNN 纯色矩阵识别测试 (所有层使用 Adam 优化器)") + printSeparator() + println() + + let nTrainSamples = 200 + let nTestSamples = 60 + let nEpochs = 50 + let batchSize = 10 + + println("训练样本数: ${nTrainSamples}") + println("测试样本数: ${nTestSamples}") + println("训练轮数: ${nEpochs}") + println("Batch 大小: ${batchSize}") + println() + + println("创建网络结构...") + println("Input(8x8x1) -> Conv(3x3,1->4) -> Pool(2x2) -> Conv(3x3,4->8) -> Flatten -> FC(8,3)") + println() + + let lr = FP32(0.001) + + var conv1 = ConvLayer(1, 4, (3, 3), 1, 0, lr, Af.Leaky_ReLU(FP32(0.01)), Option.None) + var pool1 = PoolingLayer(4, (2, 2), 2, 0, "max", Af.ReLU, lr, lr) + var conv2 = ConvLayer(4, 8, (3, 3), 1, 0, lr, Af.Leaky_ReLU(FP32(0.01)), Option.None) + var flatten = FlattenLayer(8, 1, 1) + var fc = Nn1(8, 3, Float32(0.4), Af.Softmax) + + // 创建 Adam 优化器(为每个可训练层创建独立的优化器) + var adamConv1 = Adam(FP32(0.001)) // 卷积层1 + var adamConv2 = Adam(FP32(0.001)) // 卷积层2 + var adamFC = Adam(FP32(0.0005)) // 全连接层(使用更小的学习率) + + println("网络创建完成 (Conv1, Conv2, FC 使用 Adam 优化器)") + println() + + println("生成数据...") + let (trainInputs, trainLabels) = generateSolidColorData(nTrainSamples) + let (testInputs, testLabels) = generateSolidColorData(nTestSamples) + println("训练集: ${nTrainSamples} 样本") + println("测试集: ${nTestSamples} 样本") + println() + + println("开始训练...") + println() + + for (epoch in 0..nEpochs) { + var epochLoss = Float32(0.0) + var epochCorrect = 0 + + for (i in 0..nTrainSamples) { + let x = trainInputs[i] + let label = trainLabels[i] + + // ===== 前向传播 ===== + let c1Out = conv1.forward(x, (1, 8, 8, 1)) + let p1Out = pool1.forward(c1Out, (1, 6, 6, 4)) + let c2Out = conv2.forward(p1Out, (1, 3, 3, 4)) + let flatOut = flatten.forward(c2Out, (1, 1, 1, 8)) + + // 调试:确认 flatten.forward 执行成功 + if (i == 0 && epoch == 0) { + println("DEBUG: flatten.forward done, flatOut rows: ${flatOut.get_row()}, cols: ${flatOut.get_col()}") + } + + var fcInput = Matrix1(1, 8) + for (j in 0..8) { + fcInput.set(0, j, flatOut.get(j, 0).getOrThrow()) + } + let fcOut = fc.forward(fcInput) + + // Softmax + var softmax = Matrix1(1, 3) + var maxVal = Float32(-1.0e30) + for (c in 0..3) { + let raw = fcOut.get(0, c).getOrThrow().getValue() + if (raw > maxVal) { + maxVal = raw + } + } + var expSum = Float32(0.0) + for (c in 0..3) { + let raw = fcOut.get(0, c).getOrThrow().getValue() + let ev = Float32(exp(raw - maxVal)) + softmax.set(0, c, FP32(ev)) + expSum = expSum + ev + } + for (c in 0..3) { + let v = softmax.get(0, c).getOrThrow().getValue() + softmax.set(0, c, FP32(v / expSum)) + } + + let probVal = softmax.get(0, label).getOrThrow().getValue() + let loss = -log(max(probVal, Float32(1e-10))) + epochLoss = epochLoss + loss + + var maxProb = Float32(-1.0) + var predClass = 0 + for (c in 0..3) { + let p = softmax.get(0, c).getOrThrow().getValue() + if (p > maxProb) { + maxProb = p + predClass = Int64(c) + } + } + if (predClass == label) { + epochCorrect += 1 + } + + // ===== 反向传播 ===== + var delta = Matrix1(1, 3) + for (c in 0..3) { + let prob = softmax.get(0, c).getOrThrow() + if (Int64(c) == label) { + delta.set(0, c, prob - FP32(1.0)) + } else { + delta.set(0, c, prob) + } + } + + let fcDelta = fc.backward(delta) + + // 调试:确认 fcDelta 形状 + if (i == 0 && epoch == 0) { + println("DEBUG: fc.backward done, fcDelta rows: ${fcDelta.get_row()}, cols: ${fcDelta.get_col()}") + } + + var flatDelta = Matrix1(8, 1) + for (j in 0..8) { + flatDelta.set(j, 0, fcDelta.get(0, j).getOrThrow()) + } + + // 调试:确认 flatDelta 形状 + if (i == 0 && epoch == 0) { + println("DEBUG: flatDelta rows: ${flatDelta.get_row()}, cols: ${flatDelta.get_col()}") + } + + let c2Delta = flatten.backward(flatDelta) + let p1Delta = conv2.backward(c2Delta) + let c1Delta = pool1.backward(p1Delta) + let _ = conv1.backward(c1Delta) + + // ===== 参数更新 ===== + if ((i + 1) % batchSize == 0) { + // 所有可训练层使用 Adam 更新 + adamConv1.updateConvLayer(conv1) // 卷积层1 - Adam + adamConv2.updateConvLayer(conv2) // 卷积层2 - Adam + adamFC.updateFCLayer(fc) // 全连接层 - Adam + + // 池化层使用 SGD 更新(如果需要的话) + pool1.update(Float32(1.0)) + } + } + + // Epoch 结束时的更新 + adamConv1.updateConvLayer(conv1) + adamConv2.updateConvLayer(conv2) + adamFC.updateFCLayer(fc) + pool1.update(Float32(1.0)) + + let avgLoss = epochLoss / Float32(nTrainSamples) + let accuracy = Float32(epochCorrect) / Float32(nTrainSamples) * Float32(100.0) + + println("Epoch ${epoch + 1}/${nEpochs} - Loss: ${avgLoss}, Accuracy: ${accuracy}%") + + // 打印 Adam 的步数信息 + if (epoch == 0) { + println(" Adam Step: ${adamConv1.getStep()}") + } + } + + println("") + println("开始测试...") + println("") + + var testCorrect = 0 + var confusion = Array(3, { _ => Array(3, { _ => 0 }) }) + + for (i in 0..nTestSamples) { + let x = testInputs[i] + let label = testLabels[i] + + let c1Out = conv1.forward(x, (1, 8, 8, 1)) + let p1Out = pool1.forward(c1Out, (1, 6, 6, 4)) + let c2Out = conv2.forward(p1Out, (1, 3, 3, 4)) + let flatOut = flatten.forward(c2Out, (1, 1, 1, 8)) + + var fcInput = Matrix1(1, 8) + for (j in 0..8) { + fcInput.set(0, j, flatOut.get(j, 0).getOrThrow()) + } + let fcOut = fc.forward(fcInput) + + var softmax = Matrix1(1, 3) + var maxVal = Float32(-1.0e30) + for (c in 0..3) { + let raw = fcOut.get(0, c).getOrThrow().getValue() + if (raw > maxVal) { + maxVal = raw + } + } + var expSum = Float32(0.0) + for (c in 0..3) { + let raw = fcOut.get(0, c).getOrThrow().getValue() + let ev = Float32(exp(raw - maxVal)) + softmax.set(0, c, FP32(ev)) + expSum = expSum + ev + } + for (c in 0..3) { + let v = softmax.get(0, c).getOrThrow().getValue() + softmax.set(0, c, FP32(v / expSum)) + } + + var maxProb = Float32(-1.0) + var predClass = 0 + for (c in 0..3) { + let p = softmax.get(0, c).getOrThrow().getValue() + if (p > maxProb) { + maxProb = p + predClass = Int64(c) + } + } + + confusion[label][predClass] += 1 + if (predClass == label) { + testCorrect += 1 + } + } + + let testAcc = Float32(testCorrect) / Float32(nTestSamples) * Float32(100.0) + println("测试准确率: ${testAcc}% (${testCorrect}/${nTestSamples})") + print("") + + let classNames = ["红色(高)", "绿色(中)", "蓝色(低)"] + println("各类别准确率:") + for (c in 0..3) { + var total = 0 + for (p in 0..3) { + total += confusion[c][p] + } + if (total > 0) { + let acc = Float32(confusion[c][c]) / Float32(total) * Float32(100.0) + print(" ${classNames[c]}: ${confusion[c][c]}/${total} (${acc}%)") + } + } + println("") + + println("混淆矩阵:") + println(" 预测红 预测绿 预测蓝") + for (t in 0..3) { + var line = "真实${classNames[t]}:" + for (p in 0..3) { + line = line + " ${confusion[t][p]} " + } + print(line) + } + println("") + + printSeparator() + println("测试完成!") + printSeparator() +} \ No newline at end of file diff --git a/bot4cj/src/testCNN1.cj b/bot4cj/src/testCNN1.cj new file mode 100644 index 0000000..0b4fe8c --- /dev/null +++ b/bot4cj/src/testCNN1.cj @@ -0,0 +1,517 @@ +// test_geometry_cnn.cj - 几何图形分类测试(Adam 优化器版本) +package bot4cj +import bot4cj.math.* +import std.math.* +import std.random.* +import std.collection.* + +/** + * 计算圆形像素值 + */ +func calcCirclePixel(x: Int64, y: Int64, center: Float64, radius: Float64, offsetX: Float64, offsetY: Float64): FP32 { + let dx = Float64(x) - center + offsetX + let dy = Float64(y) - center + offsetY + let dist = sqrt(dx * dx + dy * dy) + + if (dist <= radius) { + let intensity = 1.0 - (dist / radius) * 0.3 + FP32(Float32(intensity)) + } else if (dist <= radius + 1.5) { + let edgeDist = dist - radius + let intensity = max(0.0, 1.0 - edgeDist / 1.5) * 0.7 + FP32(Float32(intensity)) + } else { + FP32(0.0) + } +} + +/** + * 计算正方形像素值 + */ +func calcSquarePixel(x: Int64, y: Int64, center: Float64, radius: Float64, offsetX: Float64, offsetY: Float64): FP32 { + let halfSize = radius * 0.8 + let left = center - halfSize + offsetX + let right = center + halfSize + offsetX + let top = center - halfSize + offsetY + let bottom = center + halfSize + offsetY + + let fx = Float64(x) + let fy = Float64(y) + + if (fx >= left && fx <= right && fy >= top && fy <= bottom) { + let distToEdge = min( + min(fx - left, right - fx), + min(fy - top, bottom - fy) + ) + let intensity = min(1.0, 0.7 + distToEdge / halfSize * 0.3) + FP32(Float32(intensity)) + } else { + let distX = max(0.0, max(left - fx, fx - right)) + let distY = max(0.0, max(top - fy, fy - bottom)) + let edgeDist = sqrt(distX * distX + distY * distY) + if (edgeDist <= 1.5) { + let intensity = max(0.0, 1.0 - edgeDist / 1.5) * 0.6 + FP32(Float32(intensity)) + } else { + FP32(0.0) + } + } +} + +/** + * 计算三角形像素值 + */ +func calcTrianglePixel(x: Int64, y: Int64, center: Float64, radius: Float64, offsetX: Float64, offsetY: Float64): FP32 { + let height = radius * 2.0 + let baseWidth = height * 1.2 + let topY = center - height * 0.5 + offsetY + let bottomY = center + height * 0.5 + offsetY + + let fx = Float64(x) + let fy = Float64(y) + + if (fy >= topY && fy <= bottomY) { + let t = (fy - topY) / (bottomY - topY) + let halfWidthAtY = baseWidth * (1.0 - t) * 0.5 + let centerX = center + offsetX + + if (fx >= centerX - halfWidthAtY && fx <= centerX + halfWidthAtY) { + let distToEdge = min( + fx - (centerX - halfWidthAtY), + (centerX + halfWidthAtY) - fx + ) + let intensity = min(1.0, 0.7 + distToEdge / halfWidthAtY * 0.3) + FP32(Float32(intensity)) + } else { + let distToLeft = (centerX - halfWidthAtY) - fx + let distToRight = fx - (centerX + halfWidthAtY) + let edgeDist = max(distToLeft, distToRight) + if (edgeDist <= 1.5) { + let intensity = max(0.0, 1.0 - edgeDist / 1.5) * 0.6 + FP32(Float32(intensity)) + } else { + FP32(0.0) + } + } + } else { + FP32(0.0) + } +} + +/** + * 生成几何图形数据 + * 图形类型:0=圆形, 1=正方形, 2=三角形 + */ +func generateGeometryData(numSamples: Int64): (Array, Array) { + var inputs = Array(numSamples, { _ => Matrix1(1, 1) }) + var labels = Array(numSamples, { _ => 0 }) + let rng = Random() + + let imgSize = 16 + + for (i in 0..numSamples) { + let shapeType = Int64(rng.nextFloat64() * 3.0) + labels[i] = shapeType + + var matrix = Matrix1(imgSize * imgSize, 1) + let center = Float64(imgSize) / 2.0 + let radius = Float64(imgSize) / 3.0 + rng.nextFloat64() * 2.0 - 1.0 + + let offsetX = (rng.nextFloat64() - 0.5) * 2.0 + let offsetY = (rng.nextFloat64() - 0.5) * 2.0 + + for (y in 0..imgSize) { + for (x in 0..imgSize) { + let idx = y * imgSize + x + + var pixelValue = match (shapeType) { + case 0 => calcCirclePixel(x, y, center, radius, offsetX, offsetY) + case 1 => calcSquarePixel(x, y, center, radius, offsetX, offsetY) + case _ => calcTrianglePixel(x, y, center, radius, offsetX, offsetY) + } + + let noise = FP32(Float32(rng.nextFloat64() - 0.5) * 0.05) + pixelValue = pixelValue + noise + + if (pixelValue.getValue() > 1.0) { + pixelValue = FP32(1.0) + } else if (pixelValue.getValue() < 0.0) { + pixelValue = FP32(0.0) + } + + matrix.set(idx, 0, pixelValue) + } + } + + inputs[i] = matrix + } + + (inputs, labels) +} + +/** + * 可视化一个样本 + */ +func showSample(matrix: Matrix1, imgSize: Int64, label: Int64): Unit { + let shapeNames = ["圆形", "正方形", "三角形"] + println("标签: ${shapeNames[label]}") + + for (y in 0..imgSize) { + var line = "" + for (x in 0..imgSize) { + let idx = y * imgSize + x + let val = matrix.get(idx, 0).getOrThrow().getValue() + if (val > 0.8) { + line = line + "██" + } else if (val > 0.6) { + line = line + "▓▓" + } else if (val > 0.4) { + line = line + "▒▒" + } else if (val > 0.2) { + line = line + "░░" + } else { + line = line + " " + } + } + println(line) + } + println("") +} + +/** + * Softmax 辅助函数 + */ +func computeSoftmax(input: Matrix1): Matrix1 { + let cols = input.get_col() + var output = Matrix1(1, cols) + + var maxVal = Float32(-1.0e30) + for (c in 0..cols) { + let raw = input.get(0, c).getOrThrow().getValue() + if (raw > maxVal) { + maxVal = raw + } + } + + var expSum = Float32(0.0) + for (c in 0..cols) { + let raw = input.get(0, c).getOrThrow().getValue() + let ev = Float32(exp(raw - maxVal)) + output.set(0, c, FP32(ev)) + expSum = expSum + ev + } + + for (c in 0..cols) { + let v = output.get(0, c).getOrThrow().getValue() + output.set(0, c, FP32(v / expSum)) + } + + output +} + +/** + * 获取预测类别 + */ +func predictClass(probs: Matrix1): Int64 { + let cols = probs.get_col() + var maxProb = Float32(-1.0) + var predClass = 0 + + for (c in 0..cols) { + let p = probs.get(0, c).getOrThrow().getValue() + if (p > maxProb) { + maxProb = p + predClass = Int64(c) + } + } + + predClass +} + +/** + * 打印分隔线 + */ +func printLine(): Unit { + println("============================================================") +} + +/** + * 主测试函数 + */ +func testGeometryCNN(): Unit { + printLine() + println("CNN 几何图形分类测试 (Adam 优化器版本)") + printLine() + println("") + + let imgSize = 16 + let nTrainSamples = 200 + let nTestSamples = 60 + let nEpochs = 50 + let batchSize = 10 + let nClasses = 3 + + println("配置信息:") + println(" 图像大小: ${imgSize}x${imgSize}") + println(" 训练样本数: ${nTrainSamples}") + println(" 测试样本数: ${nTestSamples}") + println(" 训练轮数: ${nEpochs}") + println(" Batch 大小: ${batchSize}") + println(" 类别数: ${nClasses} (圆形, 正方形, 三角形)") + println(" 优化器: Adam") + println("") + + println("网络结构:") + println(" Input(16x16x1)") + println(" -> Conv1(5x5, 1->8) -> Pool1(2x2)") + println(" -> Conv2(3x3, 8->16) -> Pool2(2x2)") + println(" -> Flatten -> FC(64->32) -> FC(32->3)") + println(" -> Softmax") + println("") + + let lr = FP32(0.01) + + // 构建网络 + var conv1 = ConvLayer(1, 8, (5, 5), 1, 0, lr, Af.Leaky_ReLU(FP32(0.01)), Option.None) + var pool1 = PoolingLayer(8, (2, 2), 2, 0, "max", Af.ReLU, lr, lr) + var conv2 = ConvLayer(8, 16, (3, 3), 1, 0, lr, Af.Leaky_ReLU(FP32(0.01)), Option.None) + var pool2 = PoolingLayer(16, (2, 2), 2, 0, "max", Af.ReLU, lr, lr) + var flatten = FlattenLayer(16, 2, 2) + var fc1 = Nn1(64, 32, Float32(0.3), Af.Leaky_ReLU(FP32(0.01))) + var fc2 = Nn1(32, 3, Float32(0.3), Af.Softmax) + + // 创建 Adam 优化器 + var adamConv1 = Adam(FP32(0.001)) // 卷积层1 + var adamConv2 = Adam(FP32(0.001)) // 卷积层2 + var adamFC1 = Adam(FP32(0.0005)) // 全连接层1 + var adamFC2 = Adam(FP32(0.0005)) // 全连接层2 + + println("网络创建完成 (Adam优化器: Conv1, Conv2, FC1, FC2)") + println("") + + // 生成数据 + println("生成训练数据...") + let (trainInputs, trainLabels) = generateGeometryData(nTrainSamples) + println("生成测试数据...") + let (testInputs, testLabels) = generateGeometryData(nTestSamples) + println("数据生成完成") + println("") + + // 显示几个样本 + println("样本预览:") + for (i in 0..3) { + if (i < nTrainSamples) { + println("样本 ${i + 1}:") + showSample(trainInputs[i], imgSize, trainLabels[i]) + } + } + + println("开始训练...") + println("") + + var bestAccuracy = Float32(0.0) + + // 计算卷积输出尺寸 + let conv1OutH = imgSize - 4 // 16 - 5 + 1 = 12 + let conv1OutW = imgSize - 4 + let pool1OutH = conv1OutH / 2 // 6 + let pool1OutW = conv1OutW / 2 + let conv2OutH = pool1OutH - 2 // 6 - 3 + 1 = 4 + let conv2OutW = pool1OutW - 2 + let pool2OutH = conv2OutH / 2 // 2 + let pool2OutW = conv2OutW / 2 + let flatSize = 16 * pool2OutH * pool2OutW // 64 + + for (epoch in 0..nEpochs) { + var epochLoss = Float32(0.0) + var epochCorrect = 0 + + // 训练 + for (i in 0..nTrainSamples) { + let x = trainInputs[i] + let label = trainLabels[i] + + // 前向传播 + let c1Out = conv1.forward(x, (1, imgSize, imgSize, 1)) + let p1Out = pool1.forward(c1Out, (1, conv1OutH, conv1OutW, 8)) + let c2Out = conv2.forward(p1Out, (1, pool1OutH, pool1OutW, 8)) + let p2Out = pool2.forward(c2Out, (1, conv2OutH, conv2OutW, 16)) + + let flatOut = flatten.forward(p2Out, (1, pool2OutH, pool2OutW, 16)) + + // 转换为全连接层输入 + var fc1Input = Matrix1(1, flatSize) + for (j in 0..flatSize) { + fc1Input.set(0, j, flatOut.get(j, 0).getOrThrow()) + } + + let fc1Out = fc1.forward(fc1Input) + let fc2Out = fc2.forward(fc1Out) + + // Softmax + let probs = computeSoftmax(fc2Out) + + // 计算损失和准确率 + let probVal = probs.get(0, label).getOrThrow().getValue() + let loss = -log(max(probVal, Float32(1e-10))) + epochLoss = epochLoss + loss + + let predClass = predictClass(probs) + if (predClass == label) { + epochCorrect += 1 + } + + // 反向传播 + var delta = Matrix1(1, nClasses) + for (c in 0..nClasses) { + let prob = probs.get(0, c).getOrThrow() + if (Int64(c) == label) { + delta.set(0, c, prob - FP32(1.0)) + } else { + delta.set(0, c, prob) + } + } + + let fc2Delta = fc2.backward(delta) + let fc1Delta = fc1.backward(fc2Delta) + + // 转换回特征图格式 + var flatDelta = Matrix1(flatSize, 1) + for (j in 0..flatSize) { + flatDelta.set(j, 0, fc1Delta.get(0, j).getOrThrow()) + } + + let p2Delta = flatten.backward(flatDelta) + let c2Delta = pool2.backward(p2Delta) + let p1Delta = conv2.backward(c2Delta) + let c1Delta = pool1.backward(p1Delta) + let _ = conv1.backward(c1Delta) + + // 批次更新 - 使用 Adam + if ((i + 1) % batchSize == 0) { + adamConv1.updateConvLayer(conv1) // Conv1 - Adam + adamConv2.updateConvLayer(conv2) // Conv2 - Adam + adamFC1.updateFCLayer(fc1) // FC1 - Adam + adamFC2.updateFCLayer(fc2) // FC2 - Adam + + // 池化层仍使用 SGD + pool1.update(Float32(1.0)) + pool2.update(Float32(1.0)) + } + } + + // 最终更新 - 使用 Adam + adamConv1.updateConvLayer(conv1) + adamConv2.updateConvLayer(conv2) + adamFC1.updateFCLayer(fc1) + adamFC2.updateFCLayer(fc2) + pool1.update(Float32(1.0)) + pool2.update(Float32(1.0)) + + let avgLoss = epochLoss / Float32(nTrainSamples) + let accuracy = Float32(epochCorrect) / Float32(nTrainSamples) * Float32(100.0) + + if (accuracy > bestAccuracy) { + bestAccuracy = accuracy + } + + // 输出训练信息 + if (epoch % 1 == 0 || epoch == nEpochs - 1) { + println("Epoch ${epoch + 1}/${nEpochs} - Loss: ${avgLoss}, Accuracy: ${accuracy}%, Adam Step: ${adamConv1.getStep()}") + } + } + + println("") + println("训练完成! 最佳训练准确率: ${bestAccuracy}%") + println("总更新步数: ${adamConv1.getStep()}") + println("") + + // 测试 + println("开始测试...") + println("") + + var testCorrect = 0 + var confusion = Array(nClasses, { _ => Array(nClasses, { _ => 0 }) }) + var testLoss = Float32(0.0) + + for (i in 0..nTestSamples) { + let x = testInputs[i] + let label = testLabels[i] + + // 前向传播 + let c1Out = conv1.forward(x, (1, imgSize, imgSize, 1)) + let p1Out = pool1.forward(c1Out, (1, conv1OutH, conv1OutW, 8)) + let c2Out = conv2.forward(p1Out, (1, pool1OutH, pool1OutW, 8)) + let p2Out = pool2.forward(c2Out, (1, conv2OutH, conv2OutW, 16)) + + let flatOut = flatten.forward(p2Out, (1, pool2OutH, pool2OutW, 16)) + + var fc1Input = Matrix1(1, flatSize) + for (j in 0..flatSize) { + fc1Input.set(0, j, flatOut.get(j, 0).getOrThrow()) + } + + let fc1Out = fc1.forward(fc1Input) + let fc2Out = fc2.forward(fc1Out) + + let probs = computeSoftmax(fc2Out) + + // 计算损失 + let probVal = probs.get(0, label).getOrThrow().getValue() + testLoss = testLoss + Float32(-log(max(probVal, Float32(1e-10)))) + + // 预测 + let predClass = predictClass(probs) + + confusion[label][predClass] += 1 + if (predClass == label) { + testCorrect += 1 + } + + // 显示前几个错误分类的样本 + if (predClass != label && testCorrect < 10) { + println("错误分类样本 ${i + 1}:") + showSample(x, imgSize, label) + let shapeNames = ["圆形", "正方形", "三角形"] + println(" 真实标签: ${shapeNames[label]}, 预测标签: ${shapeNames[predClass]}") + println("") + } + } + + let testAcc = Float32(testCorrect) / Float32(nTestSamples) * Float32(100.0) + let avgTestLoss = testLoss / Float32(nTestSamples) + + println("测试结果:") + println(" 准确率: ${testAcc}% (${testCorrect}/${nTestSamples})") + println(" 平均损失: ${avgTestLoss}") + println("") + + let classNames = ["圆形 ", "正方形", "三角形"] + println("各类别准确率:") + for (c in 0..nClasses) { + var total = 0 + for (p in 0..nClasses) { + total += confusion[c][p] + } + if (total > 0) { + let acc = Float32(confusion[c][c]) / Float32(total) * Float32(100.0) + println(" ${classNames[c]}: ${confusion[c][c]}/${total} (${acc}%)") + } + } + println("") + + println("混淆矩阵:") + println(" 预测圆形 预测正方形 预测三角形") + for (t in 0..nClasses) { + var line = "真实${classNames[t]}:" + for (p in 0..nClasses) { + line = line + " ${confusion[t][p]} " + } + println(line) + } + println("") + + printLine() + println("几何图形分类测试完成!") + printLine() +} \ No newline at end of file diff --git a/bot4cj/test/ads1115_linux.c b/bot4cj/test/ads1115_linux.c new file mode 100644 index 0000000..cea9521 --- /dev/null +++ b/bot4cj/test/ads1115_linux.c @@ -0,0 +1,586 @@ +/** + * ads1115_linux.c + * + * Linux C 通过 I2C 采集 ADS1115 示例 + * ADS1115: TI 16位 4通道 ΔΣ ADC, 最高 860SPS, I2C 接口 + * + * 编译: gcc -o ads1115 ads1115_linux.c + * 运行: ./ads1115 + * ./ads1115 0x48 # 指定 I2C 地址 + * ./ads1115 0x48 1 2 # 指定地址、PGA、数据速率 + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// ============================================================ +// I2C 配置 +// ============================================================ +#define I2C_DEVICE "/dev/i2c-1" // I2C 总线 (树莓派是 i2c-1) +#define ADS1115_ADDR 0x48 // ADDR 接 GND 时默认地址 + +// ============================================================ +// ADS1115 寄存器 +// ============================================================ +#define ADS1115_REG_CONVERSION 0x00 // 转换结果 (只读) +#define ADS1115_REG_CONFIG 0x01 // 配置寄存器 (读/写) +#define ADS1115_REG_LO_THRESH 0x02 // 低阈值比较 +#define ADS1115_REG_HI_THRESH 0x03 // 高阈值比较 + +// ============================================================ +// ADS1115 配置寄存器 bit 定义 (16 位) +// ============================================================ +// BIT15: OS[0] — 单次转换启动位 (1=开始) +// BIT14-12: MUX[2:0] — 输入多路选择 +// BIT11-9: PGA[2:0] — 可编程增益放大器 +// BIT8: MODE — 0=连续转换, 1=单次(省电) +// BIT7-5: DR[2:0] — 数据速率 +// BIT4: COMP_MODE — 比较模式 (0=传统) +// BIT3: COMP_POL — 比较极性 (0=低有效) +// BIT2: COMP_LAT — 比较锁存 (0=不锁存) +// BIT1-0: COMP_QUE — 比较器队列 (11=禁用) + +// --- MUX 输入通道 --- +#define ADS1115_MUX_AIN0_AIN1 0x0000 // 差分: P=AIN0, N=AIN1 (默认) +#define ADS1115_MUX_AIN0_AIN3 0x1000 // 差分: P=AIN0, N=AIN3 +#define ADS1115_MUX_AIN1_AIN3 0x2000 // 差分: P=AIN1, N=AIN3 +#define ADS1115_MUX_AIN2_AIN3 0x3000 // 差分: P=AIN2, N=AIN3 +#define ADS1115_MUX_AIN0_GND 0x4000 // 单端: AIN0 +#define ADS1115_MUX_AIN1_GND 0x5000 // 单端: AIN1 +#define ADS1115_MUX_AIN2_GND 0x6000 // 单端: AIN2 +#define ADS1115_MUX_AIN3_GND 0x7000 // 单端: AIN3 + +// --- PGA 增益 (满量程范围) --- +#define ADS1115_PGA_6_144V 0x0000 // ±6.144V (1LSB=0.1875mV) +#define ADS1115_PGA_4_096V 0x0200 // ±4.096V (1LSB=0.125mV) +#define ADS1115_PGA_2_048V 0x0400 // ±2.048V (1LSB=0.0625mV) (默认) +#define ADS1115_PGA_1_024V 0x0600 // ±1.024V (1LSB=0.03125mV) +#define ADS1115_PGA_0_512V 0x0800 // ±0.512V (1LSB=0.015625mV) +#define ADS1115_PGA_0_256V 0x0A00 // ±0.256V (1LSB=0.0078125mV) + +// --- 数据速率 --- +#define ADS1115_DR_8SPS 0x0000 // 8 SPS +#define ADS1115_DR_16SPS 0x0020 // 16 SPS +#define ADS1115_DR_32SPS 0x0040 // 32 SPS +#define ADS1115_DR_64SPS 0x0060 // 64 SPS +#define ADS1115_DR_128SPS 0x0080 // 128 SPS (默认) +#define ADS1115_DR_250SPS 0x00A0 // 250 SPS +#define ADS1115_DR_475SPS 0x00C0 // 475 SPS +#define ADS1115_DR_860SPS 0x00E0 // 860 SPS + +// --- 比较器队列 (COMP_QUE) --- +#define ADS1115_COMP_QUE_1 0x0000 // 1 次后触发 +#define ADS1115_COMP_QUE_2 0x0001 // 2 次后触发 +#define ADS1115_COMP_QUE_4 0x0002 // 4 次后触发 +#define ADS1115_COMP_QUE_DISABLE 0x0003 // 禁用比较器 (默认) + +// --- 操作模式 --- +#define ADS1115_MODE_CONTINUOUS 0x0000 // 连续转换 +#define ADS1115_MODE_SINGLE 0x0100 // 单次转换 (默认, 省电) + +// --- 启动转换 --- +#define ADS1115_OS_START 0x8000 // 启动单次转换 + +// ============================================================ +// 结构体: ADS1115 配置上下文 +// ============================================================ +typedef struct { + int fd; // I2C 文件描述符 + uint8_t addr; // I2C 设备地址 + uint16_t config; // 当前配置值 + double fs_voltage; // 满量程电压 (取决于 PGA) +} ads1115_t; + +// ============================================================ +// PGA 对应的满量程电压 (单位: V) +// ============================================================ +static const double pga_fs[] = { + [0] = 6.144, // ADS1115_PGA_6_144V + [1] = 4.096, // ADS1115_PGA_4_096V + [2] = 2.048, // ADS1115_PGA_2_048V + [3] = 1.024, // ADS1115_PGA_1_024V + [4] = 0.512, // ADS1115_PGA_0_512V + [5] = 0.256, // ADS1115_PGA_0_256V +}; + +// ============================================================ +// PGA 增益对应的满量程电压名 +// ============================================================ +static const char *pga_names[] = { + [0] = "±6.144V", + [1] = "±4.096V", + [2] = "±2.048V", + [3] = "±1.024V", + [4] = "±0.512V", + [5] = "±0.256V", +}; + +// ============================================================ +// 数据速率字符串 +// ============================================================ +static const char *dr_names[] = { + [0] = "8 SPS", + [1] = "16 SPS", + [2] = "32 SPS", + [3] = "64 SPS", + [4] = "128 SPS", + [5] = "250 SPS", + [6] = "475 SPS", + [7] = "860 SPS", +}; + +// ============================================================ +// 毫秒延时 +// ============================================================ +static void delay_ms(int ms) +{ + struct timespec ts; + ts.tv_sec = ms / 1000; + ts.tv_nsec = (ms % 1000) * 1000000L; + nanosleep(&ts, NULL); +} + +// ============================================================ +// 微秒延时 +// ============================================================ +static void delay_us(int us) +{ + struct timespec ts; + ts.tv_sec = us / 1000000; + ts.tv_nsec = (us % 1000000) * 1000L; + nanosleep(&ts, NULL); +} + +// ============================================================ +// I2C 初始化 +// ============================================================ +static int i2c_init(ads1115_t *dev, const char *i2c_dev, uint8_t addr) +{ + dev->fd = open(i2c_dev, O_RDWR); + if (dev->fd < 0) { + perror("打开 I2C 设备失败"); + return -1; + } + + if (ioctl(dev->fd, I2C_SLAVE, addr) < 0) { + perror("设置 I2C 从机地址失败"); + close(dev->fd); + dev->fd = -1; + return -1; + } + + dev->addr = addr; + dev->config = 0; + printf("I2C 初始化完成: 设备=%s, 地址=0x%02X\n", i2c_dev, addr); + return 0; +} + +// ============================================================ +// I2C 写 2 字节 (大端) +// ============================================================ +static int i2c_write_word(ads1115_t *dev, uint8_t reg, uint16_t value) +{ + uint8_t buf[3]; + buf[0] = reg; + buf[1] = (value >> 8) & 0xFF; // 高字节 + buf[2] = value & 0xFF; // 低字节 + + if (write(dev->fd, buf, 3) != 3) { + perror("I2C 写失败"); + return -1; + } + return 0; +} + +// ============================================================ +// I2C 读 2 字节 (大端) +// ============================================================ +static int i2c_read_word(ads1115_t *dev, uint8_t reg, uint16_t *value) +{ + // 先写入寄存器地址 + if (write(dev->fd, ®, 1) != 1) { + perror("I2C 设置寄存器地址失败"); + return -1; + } + + // 读取 2 字节 + uint8_t buf[2]; + if (read(dev->fd, buf, 2) != 2) { + perror("I2C 读失败"); + return -1; + } + + *value = ((uint16_t)buf[0] << 8) | buf[1]; + return 0; +} + +// ============================================================ +// 写配置寄存器 +// ============================================================ +static int ads1115_write_config(ads1115_t *dev, uint16_t config) +{ + dev->config = config; + return i2c_write_word(dev, ADS1115_REG_CONFIG, config); +} + +// ============================================================ +// 读配置寄存器 +// ============================================================ +static int ads1115_read_config(ads1115_t *dev, uint16_t *config) +{ + return i2c_read_word(dev, ADS1115_REG_CONFIG, config); +} + +// ============================================================ +// 读转换结果寄存器 +// ============================================================ +static int ads1115_read_conversion(ads1115_t *dev, int16_t *value) +{ + uint16_t raw; + int ret = i2c_read_word(dev, ADS1115_REG_CONVERSION, &raw); + if (ret == 0) { + *value = (int16_t)raw; + } + return ret; +} + +// ============================================================ +// 读阈值寄存器 +// ============================================================ +static int ads1115_read_thresh(ads1115_t *dev, int16_t *lo, int16_t *hi) +{ + uint16_t raw_lo, raw_hi; + if (i2c_read_word(dev, ADS1115_REG_LO_THRESH, &raw_lo) < 0) return -1; + if (i2c_read_word(dev, ADS1115_REG_HI_THRESH, &raw_hi) < 0) return -1; + *lo = (int16_t)raw_lo; + *hi = (int16_t)raw_hi; + return 0; +} + +// ============================================================ +// 写阈值寄存器 +// ============================================================ +static int ads1115_write_thresh(ads1115_t *dev, int16_t lo, int16_t hi) +{ + if (i2c_write_word(dev, ADS1115_REG_LO_THRESH, (uint16_t)lo) < 0) return -1; + if (i2c_write_word(dev, ADS1115_REG_HI_THRESH, (uint16_t)hi) < 0) return -1; + return 0; +} + +// ============================================================ +// 初始化 ADS1115 +// +// pga_idx: 0~5 对应 ADS1115_PGA_xxx +// dr_idx: 0~7 对应 ADS1115_DR_xxx +// ============================================================ +static int ads1115_init(ads1115_t *dev, int pga_idx, int dr_idx) +{ + if (pga_idx < 0 || pga_idx > 5) pga_idx = 2; // 默认 ±2.048V + if (dr_idx < 0 || dr_idx > 7) dr_idx = 4; // 默认 128SPS + + dev->fs_voltage = pga_fs[pga_idx]; + + // 构建配置: + // - 单次转换模式 + // - 禁用比较器 + // - 默认通道 AIN0-GND + uint16_t config = ADS1115_MUX_AIN0_GND // 单端 AIN0 + | (pga_idx << 9) // PGA + | ADS1115_MODE_SINGLE // 单次模式 + | (dr_idx << 5) // 数据速率 + | ADS1115_COMP_QUE_DISABLE; // 禁用比较器 + + int ret = ads1115_write_config(dev, config); + if (ret < 0) return ret; + + printf("ADS1115 初始化完成: "); + printf("PGA=%s, 速率=%s, 满量程=%.3fV\n", + pga_names[pga_idx], dr_names[dr_idx], dev->fs_voltage); + return 0; +} + +// ============================================================ +// 读取单端通道 (单次转换) +// ch: 0~3 对应 AIN0~AIN3 +// ============================================================ +static double ads1115_read_single(ads1115_t *dev, int ch) +{ + if (ch < 0 || ch > 3) { + fprintf(stderr, "通道号无效: %d (有效: 0~3)\n", ch); + return 0.0; + } + + // 1. 重写配置: 设置通道 + 启动转换 + uint16_t mux = ADS1115_MUX_AIN0_GND | (ch << 12); // AINch-GND + uint16_t config = (dev->config & ~0x7000) // 清除 MUX 位 + | mux + | ADS1115_OS_START; // 启动单次转换 + + ads1115_write_config(dev, config); + + // 2. 等待转换完成 (OS 位被硬件清 0) + // 根据数据速率等待足够时间 + uint16_t dr_idx = (config >> 5) & 0x07; + int wait_ms = 1000 / (8 << dr_idx) + 1; // 保守估计 + delay_ms(wait_ms + 2); + + // 3. 读转换值 + int16_t raw = 0; + if (ads1115_read_conversion(dev, &raw) < 0) { + return 0.0; + } + + // 4. 转换为电压 + // ADS1115 16位有符号, 满量程 = FS_VOLTAGE + // V = raw * FS_VOLTAGE / 32768 + double voltage = (double)raw * dev->fs_voltage / 32768.0; + return voltage; +} + +// ============================================================ +// 读取差分通道 (单次转换) +// pos: 正极通道 (0~3) +// neg: 负极通道 (0~3) +// ============================================================ +static double ads1115_read_diff(ads1115_t *dev, int pos, int neg) +{ + if (pos < 0 || pos > 3 || neg < 0 || neg > 3) { + fprintf(stderr, "通道号无效\n"); + return 0.0; + } + + // 构建 MUX 值 (差分) + // AIN0-AIN1: 0, AIN0-AIN3: 1, AIN1-AIN3: 2, AIN2-AIN3: 3 + uint16_t mux_val; + if (pos == 0 && neg == 1) mux_val = 0; + else if (pos == 0 && neg == 3) mux_val = 1; + else if (pos == 1 && neg == 3) mux_val = 2; + else if (pos == 2 && neg == 3) mux_val = 3; + else { + fprintf(stderr, "不支持的差分组合: AIN%d - AIN%d\n", pos, neg); + fprintf(stderr, "支持: 0-1, 0-3, 1-3, 2-3\n"); + return 0.0; + } + + uint16_t mux = mux_val << 12; + uint16_t config = (dev->config & ~0x7000) + | mux + | ADS1115_OS_START; + + ads1115_write_config(dev, config); + + uint16_t dr_idx = (config >> 5) & 0x07; + int wait_ms = 1000 / (8 << dr_idx) + 1; + delay_ms(wait_ms + 2); + + int16_t raw = 0; + if (ads1115_read_conversion(dev, &raw) < 0) { + return 0.0; + } + + double voltage = (double)raw * dev->fs_voltage / 32768.0; + return voltage; +} + +// ============================================================ +// 连续模式读数 (需先配置为连续模式) +// ============================================================ +static int ads1115_start_continuous(ads1115_t *dev, int ch) +{ + if (ch < 0 || ch > 3) return -1; + + uint16_t config = (dev->config & ~0x7100) // 清除 MUX+MODE 位 + | (ADS1115_MUX_AIN0_GND | (ch << 12)) // 通道 + | ADS1115_MODE_CONTINUOUS // 连续模式 + | ADS1115_COMP_QUE_DISABLE; + + return ads1115_write_config(dev, config); +} + +// ============================================================ +// 连续模式读数 +// ============================================================ +static double ads1115_read_continuous(ads1115_t *dev) +{ + int16_t raw = 0; + if (ads1115_read_conversion(dev, &raw) < 0) { + return 0.0; + } + return (double)raw * dev->fs_voltage / 32768.0; +} + +// ============================================================ +// 扫描所有单端通道 +// ============================================================ +static void ads1115_scan_all(ads1115_t *dev) +{ + printf("\n===== 单端通道扫描 =====\n"); + const char *ch_names[] = {"AIN0", "AIN1", "AIN2", "AIN3"}; + for (int ch = 0; ch < 4; ch++) { + double v = ads1115_read_single(dev, ch); + printf(" %s: %+.6f V\n", ch_names[ch], v); + } +} + +// ============================================================ +// 打印当前配置 +// ============================================================ +static void ads1115_print_config(ads1115_t *dev) +{ + uint16_t config; + if (ads1115_read_config(dev, &config) < 0) return; + + int mux = (config >> 12) & 0x07; + int pga = (config >> 9) & 0x07; + int mode = (config >> 8) & 0x01; + int dr = (config >> 5) & 0x07; + int comp = config & 0x03; + + printf("\n===== ADS1115 寄存器 =====\n"); + printf(" 配置寄存器: 0x%04X\n", config); + printf(" MUX: %d (", mux); + switch (mux) { + case 0: printf("AIN0-AIN1"); break; + case 1: printf("AIN0-AIN3"); break; + case 2: printf("AIN1-AIN3"); break; + case 3: printf("AIN2-AIN3"); break; + case 4: printf("AIN0-GND"); break; + case 5: printf("AIN1-GND"); break; + case 6: printf("AIN2-GND"); break; + case 7: printf("AIN3-GND"); break; + } + printf(")\n"); + printf(" PGA: %d -> %s (满量程 %.3fV)\n", pga, + (pga <= 5) ? pga_names[pga] : "未知", + (pga <= 5) ? pga_fs[pga] : 0); + printf(" 模式: %s\n", mode ? "单次" : "连续"); + printf(" 速率: %d -> %s\n", dr, dr_names[dr & 0x07]); + printf(" 比较器: %s\n", comp == 3 ? "禁用" : "启用"); + + // 读阈值 + int16_t lo, hi; + if (ads1115_read_thresh(dev, &lo, &hi) == 0) { + printf(" 阈值: LO=%d (%.6fV), HI=%d (%.6fV)\n", + lo, (double)lo * dev->fs_voltage / 32768.0, + hi, (double)hi * dev->fs_voltage / 32768.0); + } +} + +// ============================================================ +// 打印转换结果 +// ============================================================ +static void print_reading(const char *label, double voltage) +{ + printf(" %s: %+.6f V (%.3f mV)\n", label, voltage, voltage * 1000.0); +} + +// ============================================================ +// 打印帮助 +// ============================================================ +static void print_help(const char *prog) +{ + printf("\n用法: %s [I2C地址] [PGA] [数据速率]\n", prog); + printf("\n参数 (可选):\n"); + printf(" I2C地址 0x48~0x4B (默认 0x48)\n"); + printf(" PGA 0~5 (默认 2 = ±2.048V)\n"); + printf(" 0=±6.144V, 1=±4.096V, 2=±2.048V\n"); + printf(" 3=±1.024V, 4=±0.512V, 5=±0.256V\n"); + printf(" 数据速率 0~7 (默认 4 = 128SPS)\n"); + printf(" 0=8, 1=16, 2=32, 3=64\n"); + printf(" 4=128, 5=250, 6=475, 7=860 (SPS)\n"); + printf("\n示例:\n"); + printf(" %s\n", prog); + printf(" %s 0x49\n", prog); + printf(" %s 0x48 2 6\n", prog); +} + +// ============================================================ +// 主函数 +// ============================================================ +int main(int argc, char *argv[]) +{ + ads1115_t dev; + uint8_t addr = ADS1115_ADDR; + int pga = 2; // ±2.048V + int dr = 4; // 128 SPS + + // 解析命令行参数 + if (argc >= 2) { + if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0) { + print_help(argv[0]); + return 0; + } + addr = (uint8_t)strtol(argv[1], NULL, 0); + } + if (argc >= 3) pga = atoi(argv[2]); + if (argc >= 4) dr = atoi(argv[3]); + + printf("ADS1115 Linux I2C 采集示例\n"); + printf("============================\n\n"); + + // 1. 初始化 I2C + if (i2c_init(&dev, I2C_DEVICE, addr) < 0) { + return 1; + } + + // 2. 初始化 ADS1115 + if (ads1115_init(&dev, pga, dr) < 0) { + close(dev.fd); + return 1; + } + + // 3. 单通道测试 (AIN0) + printf("\n===== 单通道测试 (AIN0, 连续读 10 次) =====\n"); + for (int i = 0; i < 10; i++) { + double v = ads1115_read_single(&dev, 0); + char label[32]; + snprintf(label, sizeof(label), "[%d]", i); + print_reading(label, v); + delay_ms(10); + } + + // 4. 扫描所有单端通道 + ads1115_scan_all(&dev); + + // 5. 差分模式示例 + printf("\n===== 差分测试 (AIN0 - AIN1) =====\n"); + for (int i = 0; i < 5; i++) { + double v = ads1115_read_diff(&dev, 0, 1); + char label[32]; + snprintf(label, sizeof(label), "[%d]", i); + print_reading(label, v); + delay_ms(10); + } + + // 6. 连续模式测试 + printf("\n===== 连续模式测试 (AIN0, 5 次) =====\n"); + if (ads1115_start_continuous(&dev, 0) == 0) { + delay_ms(50); // 等第一次转换完成 + for (int i = 0; i < 5; i++) { + double v = ads1115_read_continuous(&dev); + char label[32]; + snprintf(label, sizeof(label), "[%d] 连续", i); + print_reading(label, v); + delay_ms(10); + } + } else { + printf(" 启动连续模式失败\n"); + } + + // 7. 打印配置信息 + ads1115_print_config(&dev); + + // 8. 清理 + close(dev.fd); + printf("\n程序结束.\n"); + + return 0; +} diff --git a/bot4cj/test/ads1256_linux.c b/bot4cj/test/ads1256_linux.c new file mode 100644 index 0000000..41a0c64 --- /dev/null +++ b/bot4cj/test/ads1256_linux.c @@ -0,0 +1,471 @@ +/** + * ads1256_linux.c + * + * Linux C 通过 SPI 采集 ADS1256 示例 + * 适用平台: Raspberry Pi / 任何 Linux + SPI 设备 + * 编译: gcc -o ads1256 ads1256_linux.c -lwiringPi (树莓派用 wiringPi) + * gcc -o ads1256 ads1256_linux.c (通用 /dev/spidev) + * + * ADS1256: TI 24位 8通道 ΔΣ ADC, 最高 30kSPS + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// ============================================================ +// 配置参数 - 按需修改 +// ============================================================ +#define SPI_DEVICE "/dev/spidev0.0" // SPI 设备路径 +#define SPI_SPEED 1920000 // SPI 时钟 (1.92MHz, ADS1256 最大支持 2MHz) +#define SPI_MODE 1 // SPI 模式: CPOL=0, CPHA=1 (模式1) +#define SPI_BITS 8 // 8 位传输 + +// ADS1256 片选用 GPIO (如果使用硬件 CS 则不需要) +// 若用 /dev/spidev 的硬件 CS, 这部分不需要手动控制 +// #define CS_PIN 8 // 例如 wiringPi 的 GPIO 8 + +// ============================================================ +// ADS1256 寄存器地址 +// ============================================================ +#define ADS1256_REG_STATUS 0x00 +#define ADS1256_REG_MUX 0x01 +#define ADS1256_REG_ADCON 0x02 +#define ADS1256_REG_DRATE 0x03 +#define ADS1256_REG_IO 0x04 +#define ADS1256_REG_OFC0 0x05 +#define ADS1256_REG_OFC1 0x06 +#define ADS1256_REG_OFC2 0x07 +#define ADS1256_REG_FSC0 0x08 +#define ADS1256_REG_FSC1 0x09 +#define ADS1256_REG_FSC2 0x0A + +// ============================================================ +// ADS1256 命令定义 +// ============================================================ +#define ADS1256_CMD_WAKEUP 0x00 // 退出待机 +#define ADS1256_CMD_RDATA 0x01 // 读数据 +#define ADS1256_CMD_RDATAC 0x03 // 连续读数据 +#define ADS1256_CMD_SDATAC 0x0F // 停止连续读 +#define ADS1256_CMD_RREG 0x10 // 读寄存器 (| 寄存器地址) +#define ADS1256_CMD_WREG 0x50 // 写寄存器 (| 寄存器地址) +#define ADS1256_CMD_SELFCAL 0xF0 // 自校准 +#define ADS1256_CMD_SELFOCAL 0xF1 // 自失调校准 +#define ADS1256_CMD_SELFGCAL 0xF2 // 自增益校准 +#define ADS1256_CMD_SYSOCAL 0xF3 // 系统失调校准 +#define ADS1256_CMD_SYSGCAL 0xF4 // 系统增益校准 +#define ADS1256_CMD_SYNC 0xFC // 同步 +#define ADS1256_CMD_STANDBY 0xFD // 待机 +#define ADS1256_CMD_RESET 0xFE // 复位 + +// ============================================================ +// ADS1256 数据速率 (DRATE 寄存器值) +// ============================================================ +#define ADS1256_DRATE_30000 0xF0 // 30,000 SPS +#define ADS1256_DRATE_15000 0xE0 // 15,000 SPS +#define ADS1256_DRATE_7500 0xD0 // 7,500 SPS +#define ADS1256_DRATE_3750 0xC0 // 3,750 SPS +#define ADS1256_DRATE_2000 0xB0 // 2,000 SPS +#define ADS1256_DRATE_1000 0xA0 // 1,000 SPS +#define ADS1256_DRATE_500 0x90 // 500 SPS +#define ADS1256_DRATE_100 0x80 // 100 SPS +#define ADS1256_DRATE_60 0x70 // 60 SPS +#define ADS1256_DRATE_50 0x60 // 50 SPS +#define ADS1256_DRATE_30 0x50 // 30 SPS +#define ADS1256_DRATE_25 0x40 // 25 SPS +#define ADS1256_DRATE_15 0x30 // 15 SPS +#define ADS1256_DRATE_10 0x20 // 10 SPS +#define ADS1256_DRATE_5 0x10 // 5 SPS + +// ============================================================ +// PGA 增益 (ADCON 寄存器的低 3 位) +// ============================================================ +#define ADS1256_PGA_1 0x00 // ±5V +#define ADS1256_PGA_2 0x01 // ±2.5V +#define ADS1256_PGA_4 0x02 // ±1.25V +#define ADS1256_PGA_8 0x03 // ±0.625V +#define ADS1256_PGA_16 0x04 // ±0.3125V +#define ADS1256_PGA_32 0x05 // ±0.15625V +#define ADS1256_PGA_64 0x06 // ±0.078125V + +// 参考电压 (V) +#define ADS1256_VREF 2.5 + +// ============================================================ +// 全局变量 +// ============================================================ +static int spi_fd = -1; // SPI 文件描述符 +static uint8_t spi_txbuf[32]; +static uint8_t spi_rxbuf[32]; + +// ============================================================ +// SPI 初始化 +// ============================================================ +int spi_init(const char *device, uint32_t speed, uint8_t mode, uint8_t bits) +{ + int ret; + + spi_fd = open(device, O_RDWR); + if (spi_fd < 0) { + perror("打开 SPI 设备失败"); + return -1; + } + + // 设置 SPI 模式 + ret = ioctl(spi_fd, SPI_IOC_WR_MODE, &mode); + if (ret < 0) { + perror("设置 SPI 模式失败"); + close(spi_fd); + return -1; + } + + // 设置位数 + ret = ioctl(spi_fd, SPI_IOC_WR_BITS_PER_WORD, &bits); + if (ret < 0) { + perror("设置 SPI 位数失败"); + close(spi_fd); + return -1; + } + + // 设置速度 + ret = ioctl(spi_fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed); + if (ret < 0) { + perror("设置 SPI 速度失败"); + close(spi_fd); + return -1; + } + + // 读取并验证设置 + uint8_t rb_mode, rb_bits; + uint32_t rb_speed; + + ioctl(spi_fd, SPI_IOC_RD_MODE, &rb_mode); + ioctl(spi_fd, SPI_IOC_RD_BITS_PER_WORD, &rb_bits); + ioctl(spi_fd, SPI_IOC_RD_MAX_SPEED_HZ, &rb_speed); + + printf("SPI 初始化完成: 模式=%d, 位数=%d, 速度=%d Hz\n", + rb_mode, rb_bits, rb_speed); + + return 0; +} + +// ============================================================ +// SPI 收发 (全双工) +// ============================================================ +int spi_transfer(uint8_t *tx, uint8_t *rx, int len) +{ + struct spi_ioc_transfer tr = { + .tx_buf = (unsigned long)tx, + .rx_buf = (unsigned long)rx, + .len = (uint32_t)len, + .delay_usecs = 0, + .speed_hz = SPI_SPEED, + .bits_per_word = SPI_BITS, + .cs_change = 0, + }; + + int ret = ioctl(spi_fd, SPI_IOC_MESSAGE(1), &tr); + if (ret < 0) { + perror("SPI 传输失败"); + } + return ret; +} + +// ============================================================ +// SPI 发送单字节 +// ============================================================ +static inline void spi_write_byte(uint8_t byte) +{ + spi_txbuf[0] = byte; + spi_transfer(spi_txbuf, spi_rxbuf, 1); +} + +// ============================================================ +// SPI 读单字节 +// ============================================================ +static inline uint8_t spi_read_byte(void) +{ + spi_txbuf[0] = 0xFF; // MOSI 发 0xFF 以产生时钟 + spi_transfer(spi_txbuf, spi_rxbuf, 1); + return spi_rxbuf[0]; +} + +// ============================================================ +// 等待 DRDY 引脚变低 (数据就绪) +// +// 注意: 这里用延时模拟等待,实际应接 GPIO 中断或轮询 +// 若 DRDY 接了 GPIO (如 wiringPi 的 pin 25),可改为: +// while(digitalRead(DRDY_PIN)); +// ============================================================ +void wait_drdy(void) +{ + // 实际项目中用 GPIO 轮询更准确 + // 这里用延时估算 + usleep(100); // 100us,根据采样率调整 +} + +// ============================================================ +// ADS1256 复位 +// ============================================================ +void ads1256_reset(void) +{ + spi_write_byte(ADS1256_CMD_RESET); + usleep(1000); // 等待复位完成 + spi_write_byte(ADS1256_CMD_WAKEUP); // 退出待机 + usleep(1000); +} + +// ============================================================ +// 写 ADS1256 寄存器 +// ============================================================ +void ads1256_write_reg(uint8_t reg, uint8_t value) +{ + spi_write_byte(ADS1256_CMD_WREG | reg); + spi_write_byte(0x00); // 后续字节数 - 1 (0 = 1 byte) + spi_write_byte(value); +} + +// ============================================================ +// 读 ADS1256 寄存器 +// ============================================================ +uint8_t ads1256_read_reg(uint8_t reg) +{ + spi_write_byte(ADS1256_CMD_RREG | reg); + spi_write_byte(0x00); // 后续字节数 - 1 + return spi_read_byte(); +} + +// ============================================================ +// 设置输入通道 (MUX 寄存器) +// +// mux: +// 单端模式: POS = channel, NEG = 0x08 (AINCOM) +// 差分模式: POS = channel_p, NEG = channel_n +// ============================================================ +void ads1256_set_channel(uint8_t pos, uint8_t neg) +{ + uint8_t mux = ((pos & 0x07) << 4) | (neg & 0x07); + ads1256_write_reg(ADS1256_REG_MUX, mux); + usleep(1); +} + +// ============================================================ +// ADS1256 初始化 +// ============================================================ +int ads1256_init(void) +{ + printf("正在初始化 ADS1256...\n"); + + // 1. 复位 ADS1256 + ads1256_reset(); + usleep(10000); + + // 2. 配置状态寄存器 + // BIT7: ID (只读) + // BIT6: ID (只读) + // BIT5: ORDER = 0 (MSB 优先) + // BIT4: ACAL = 1 (自动校准) + // BIT3: BUFEN = 0 (关闭缓冲) + // BIT2: DRB = 0 (DRDY 低有效) + // BIT1-0: 保留 + ads1256_write_reg(ADS1256_REG_STATUS, 0x14); // 0b00010100 + + // 3. 配置 MUX (默认: AIN0 + AINCOM) + ads1256_set_channel(0, 0x08); + + // 4. 配置 ADCON (A/D 控制寄存器) + // BIT7-5: CLK1-0 = 00 (时钟输出关), SDCS = 0 + // BIT4-3: 保留 + // BIT2-0: PGA = 001 (增益 ×2) + ads1256_write_reg(ADS1256_REG_ADCON, ADS1256_PGA_2); + + // 5. 设置数据速率 (1000 SPS) + ads1256_write_reg(ADS1256_REG_DRATE, ADS1256_DRATE_1000); + + // 6. 自校准 + printf("正在进行自校准...\n"); + spi_write_byte(ADS1256_CMD_SELFCAL); + + // 等待校准完成 (约 400ms @ 1000SPS) + usleep(500000); + + printf("ADS1256 初始化完成!\n"); + + // 读寄存器验证 + uint8_t status = ads1256_read_reg(ADS1256_REG_STATUS); + uint8_t mux = ads1256_read_reg(ADS1256_REG_MUX); + uint8_t adcon = ads1256_read_reg(ADS1256_REG_ADCON); + uint8_t drate = ads1256_read_reg(ADS1256_REG_DRATE); + + printf("寄存器状态: STATUS=0x%02X, MUX=0x%02X, ADCON=0x%02X, DRATE=0x%02X\n", + status, mux, adcon, drate); + + return 0; +} + +// ============================================================ +// 单次读取 24 位数据 +// +// 返回: 24 位有符号整数 (二进制补码) +// ============================================================ +int32_t ads1256_read_data(void) +{ + uint8_t buf[3]; + + // 发送 RDATA 命令 + wait_drdy(); + spi_write_byte(ADS1256_CMD_RDATA); + + // 读 3 字节 (24 位) + buf[0] = spi_read_byte(); + buf[1] = spi_read_byte(); + buf[2] = spi_read_byte(); + + // 组合成 32 位有符号数 (符号扩展) + int32_t value; + value = ((int32_t)buf[0] << 16) | + ((int32_t)buf[1] << 8) | + ((int32_t)buf[2]); + + // 24 位有符号数符号扩展 + if (value & 0x800000) { + value |= 0xFF000000; + } + + return value; +} + +// ============================================================ +// 将原始值转换为电压 +// ============================================================ +double ads1256_raw_to_voltage(int32_t raw, uint8_t pga) +{ + // ADS1256 满量程 = ±VREF / PGA + // 24 位: -2^23 ~ 2^23-1 + double voltage = (double)raw * ADS1256_VREF / (double)(1 << 23) / (double)pga; + return voltage; +} + +// ============================================================ +// 读取指定单端通道 +// ============================================================ +int32_t ads1256_read_channel(uint8_t ch) +{ + ads1256_set_channel(ch, 0x08); // AINch vs AINCOM + usleep(1); + + // 发送 SYNC + WAKEUP 以启动转换 + spi_write_byte(ADS1256_CMD_SYNC); + usleep(1); + spi_write_byte(ADS1256_CMD_WAKEUP); + + // 等待转换完成 (根据采样率调整) + // 1000 SPS -> 约 1ms + usleep(2000); + + return ads1256_read_data(); +} + +// ============================================================ +// 读取指定差分通道 +// ============================================================ +int32_t ads1256_read_diff(uint8_t pos, uint8_t neg) +{ + ads1256_set_channel(pos, neg); + usleep(1); + + spi_write_byte(ADS1256_CMD_SYNC); + usleep(1); + spi_write_byte(ADS1256_CMD_WAKEUP); + + usleep(2000); + + return ads1256_read_data(); +} + +// ============================================================ +// 连续扫描所有 8 个单端通道 +// ============================================================ +void ads1256_scan_all(void) +{ + printf("\n===== 多通道扫描 =====\n"); + for (int ch = 0; ch < 8; ch++) { + int32_t raw = ads1256_read_channel(ch); + double volts = ads1256_raw_to_voltage(raw, 2); // PGA=2 + printf("通道 AIN%d: raw = %7d, 电压 = %+.6f V\n", ch, raw, volts); + } +} + +// ============================================================ +// SPI 关闭 +// ============================================================ +void spi_close(void) +{ + if (spi_fd >= 0) { + close(spi_fd); + spi_fd = -1; + } +} + +// ============================================================ +// 毫秒延时 +// ============================================================ +void delay_ms(int ms) +{ + struct timespec ts; + ts.tv_sec = ms / 1000; + ts.tv_nsec = (ms % 1000) * 1000000L; + nanosleep(&ts, NULL); +} + +// ============================================================ +// 主函数 +// ============================================================ +int main(int argc, char *argv[]) +{ + printf("ADS1256 Linux SPI 采集示例\n"); + printf("===========================\n\n"); + + // 1. 初始化 SPI + if (spi_init(SPI_DEVICE, SPI_SPEED, SPI_MODE, SPI_BITS) < 0) { + return 1; + } + + // 2. 初始化 ADS1256 + if (ads1256_init() < 0) { + spi_close(); + return 1; + } + + printf("\n===== 单通道测试 (AIN0) =====\n"); + for (int i = 0; i < 10; i++) { + int32_t raw = ads1256_read_channel(0); + double volts = ads1256_raw_to_voltage(raw, 2); + printf("[%d] raw=%7d, voltage=%+.6f V\n", i, raw, volts); + delay_ms(10); + } + + // 3. 扫描所有通道 + ads1256_scan_all(); + + // 4. 差分模式示例 (AIN0 - AIN1) + printf("\n===== 差分测试 (AIN0 - AIN1) =====\n"); + for (int i = 0; i < 5; i++) { + int32_t raw = ads1256_read_diff(0, 1); + double volts = ads1256_raw_to_voltage(raw, 2); + printf("[%d] raw=%7d, voltage=%+.6f V\n", i, raw, volts); + delay_ms(10); + } + + // 5. 清理 + spi_close(); + printf("\n程序结束.\n"); + + return 0; +} diff --git a/bot4cj/test/labeled.py b/bot4cj/test/labeled.py new file mode 100644 index 0000000..bd82f9e --- /dev/null +++ b/bot4cj/test/labeled.py @@ -0,0 +1,590 @@ +#!/usr/bin/env python3 +""" +图片标注工具 +用于手动标注图像中的目标区域并保存位置坐标(百分比格式)到txt文件 +支持矩形框标注、预览、编辑和删除功能 +""" + +import os +import sys +import json +import tkinter as tk +from tkinter import ttk, filedialog, messagebox, simpledialog +from PIL import Image, ImageTk, ImageDraw +import cv2 +import numpy as np +from datetime import datetime +from typing import List, Optional, Tuple +import threading + + +class ImageAnnotationTool: + """图片标注工具 - 支持手动矩形框标注""" + + def __init__(self, root): + self.root = root + self.root.title("图片标注工具") + self.root.geometry("1200x800") + + # 数据存储 + self.current_image_path = None + self.current_image = None + self.image_pil = None + self.image_tk = None + self.zoom_factor = 1.0 + self.image_display = None + self.annotations = [] # 存储标注:[(x1, y1, x2, y2), ...] # 移除了label字段 + + # 标注状态 + self.drawing = False + self.start_x = None + self.start_y = None + self.current_rect = None + self.selected_annotation = -1 # 当前选中的标注索引 + self.drag_mode = False # 是否在拖拽模式 + self.drag_start = None # 拖拽起始点 + + # 缩放和平移 + self.offset_x = 0 + self.offset_y = 0 + self.pan_start_x = 0 + self.pan_start_y = 0 + self.panning = False + + # 创建UI + self.setup_ui() + + # 绑定事件 + self.setup_bindings() + + # 更新状态 + self.update_status() + + def setup_ui(self): + """设置用户界面""" + # 创建主框架 + main_frame = ttk.Frame(self.root) + main_frame.pack(fill=tk.BOTH, expand=True, padx=5, pady=5) + + # 左侧控制面板 + control_frame = ttk.Frame(main_frame, width=250) + control_frame.pack(side=tk.LEFT, fill=tk.Y, padx=(0, 5)) + control_frame.pack_propagate(False) + + # 文件操作 + file_group = ttk.LabelFrame(control_frame, text="文件操作", padding=5) + file_group.pack(fill=tk.X, pady=(0, 10)) + + ttk.Button(file_group, text="打开图片", command=self.open_image).pack(fill=tk.X, pady=2) + ttk.Button(file_group, text="保存标注", command=self.save_annotations).pack(fill=tk.X, pady=2) + ttk.Button(file_group, text="加载标注", command=self.load_annotations).pack(fill=tk.X, pady=2) + + # 标注操作 + anno_group = ttk.LabelFrame(control_frame, text="标注操作", padding=5) + anno_group.pack(fill=tk.X, pady=(0, 10)) + + ttk.Button(anno_group, text="清除当前标注", command=self.clear_current_annotation).pack(fill=tk.X, pady=2) + ttk.Button(anno_group, text="删除所有标注", command=self.clear_all_annotations).pack(fill=tk.X, pady=2) + ttk.Button(anno_group, text="删除选中标注", command=self.delete_selected_annotation).pack(fill=tk.X, pady=2) + + # 标注列表 + list_group = ttk.LabelFrame(control_frame, text="标注列表", padding=5) + list_group.pack(fill=tk.BOTH, expand=True, pady=(0, 10)) + + # 创建列表框和滚动条 + list_frame = ttk.Frame(list_group) + list_frame.pack(fill=tk.BOTH, expand=True) + + self.annotation_listbox = tk.Listbox(list_frame, height=15) + scrollbar = ttk.Scrollbar(list_frame, orient=tk.VERTICAL, command=self.annotation_listbox.yview) + self.annotation_listbox.configure(yscrollcommand=scrollbar.set) + + self.annotation_listbox.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) + scrollbar.pack(side=tk.RIGHT, fill=tk.Y) + + self.annotation_listbox.bind('<>', self.on_annotation_select) + + # 信息显示 + info_group = ttk.LabelFrame(control_frame, text="信息", padding=5) + info_group.pack(fill=tk.X) + + self.info_label = ttk.Label(info_group, text="未加载图片", wraplength=220) + self.info_label.pack(fill=tk.X, pady=2) + + self.status_label = ttk.Label(info_group, text="状态: 就绪", wraplength=220) + self.status_label.pack(fill=tk.X, pady=2) + + # 右侧画布区域 + canvas_frame = ttk.Frame(main_frame) + canvas_frame.pack(side=tk.RIGHT, fill=tk.BOTH, expand=True) + + # 工具栏 + toolbar = ttk.Frame(canvas_frame) + toolbar.pack(fill=tk.X, pady=(0, 5)) + + ttk.Button(toolbar, text="放大", command=self.zoom_in).pack(side=tk.LEFT, padx=2) + ttk.Button(toolbar, text="缩小", command=self.zoom_out).pack(side=tk.LEFT, padx=2) + ttk.Button(toolbar, text="适应窗口", command=self.fit_to_window).pack(side=tk.LEFT, padx=2) + ttk.Button(toolbar, text="重置视图", command=self.reset_view).pack(side=tk.LEFT, padx=2) + + self.draw_mode_var = tk.BooleanVar(value=True) + ttk.Checkbutton(toolbar, text="绘制模式", variable=self.draw_mode_var).pack(side=tk.LEFT, padx=5) + + # 画布 + self.canvas = tk.Canvas(canvas_frame, bg='gray', cursor='cross') + self.canvas.pack(fill=tk.BOTH, expand=True) + + def setup_bindings(self): + """设置事件绑定""" + self.canvas.bind('', self.on_mouse_down) + self.canvas.bind('', self.on_mouse_move) + self.canvas.bind('', self.on_mouse_up) + self.canvas.bind('', self.on_pan_start) + self.canvas.bind('', self.on_pan_move) + self.canvas.bind('', self.on_pan_end) + self.root.bind('', lambda e: self.delete_selected_annotation()) + self.root.bind('', lambda e: self.save_annotations()) + self.root.bind('', lambda e: self.open_image()) + + def open_image(self): + """打开图片文件""" + file_path = filedialog.askopenfilename( + title="选择图片文件", + filetypes=[ + ("图片文件", "*.jpg *.jpeg *.png *.bmp *.tiff"), + ("所有文件", "*.*") + ] + ) + + if not file_path: + return + + try: + # 加载图片 + self.current_image_path = file_path + self.image_pil = Image.open(file_path) + + # 重置状态 + self.annotations = [] + self.selected_annotation = -1 + self.zoom_factor = 1.0 + self.offset_x = 0 + self.offset_y = 0 + + # 适应窗口 + self.fit_to_window() + + # 更新标注列表 + self.update_annotation_list() + + # 更新信息 + self.update_info() + self.update_status("图片已加载") + + except Exception as e: + messagebox.showerror("错误", f"无法加载图片: {e}") + + def fit_to_window(self): + """调整图片适应窗口""" + if not self.image_pil: + return + + canvas_width = self.canvas.winfo_width() + canvas_height = self.canvas.winfo_height() + + if canvas_width <= 1 or canvas_height <= 1: + canvas_width = 800 + canvas_height = 600 + + img_width, img_height = self.image_pil.size + + # 计算缩放比例 + scale_x = canvas_width / img_width + scale_y = canvas_height / img_height + self.zoom_factor = min(scale_x, scale_y) + + # 计算偏移量使图片居中 + scaled_width = img_width * self.zoom_factor + scaled_height = img_height * self.zoom_factor + self.offset_x = (canvas_width - scaled_width) / 2 + self.offset_y = (canvas_height - scaled_height) / 2 + + self.display_image() + + def reset_view(self): + """重置视图""" + self.zoom_factor = 1.0 + self.offset_x = 0 + self.offset_y = 0 + self.fit_to_window() + + def zoom_in(self): + """放大""" + self.zoom_factor *= 1.2 + self.display_image() + + def zoom_out(self): + """缩小""" + self.zoom_factor /= 1.2 + self.display_image() + + def display_image(self): + """显示图片""" + if not self.image_pil: + return + + # 缩放图片 + img_width, img_height = self.image_pil.size + new_width = int(img_width * self.zoom_factor) + new_height = int(img_height * self.zoom_factor) + + scaled_image = self.image_pil.resize((new_width, new_height), Image.Resampling.LANCZOS) + + # 转换为PhotoImage + self.image_tk = ImageTk.PhotoImage(scaled_image) + + # 清除画布 + self.canvas.delete("all") + + # 显示图片 + self.canvas.create_image(self.offset_x, self.offset_y, anchor=tk.NW, image=self.image_tk) + + # 绘制标注 + self.draw_annotations() + + def draw_annotations(self): + """绘制所有标注""" + if not self.image_pil: + return + + img_width, img_height = self.image_pil.size + + for idx, (x1, y1, x2, y2) in enumerate(self.annotations): + # 转换坐标 + canvas_x1 = x1 * self.zoom_factor + self.offset_x + canvas_y1 = y1 * self.zoom_factor + self.offset_y + canvas_x2 = x2 * self.zoom_factor + self.offset_x + canvas_y2 = y2 * self.zoom_factor + self.offset_y + + # 确定颜色 + if idx == self.selected_annotation: + color = "red" + width = 3 + else: + color = "blue" + width = 2 + + # 绘制矩形 + self.canvas.create_rectangle(canvas_x1, canvas_y1, canvas_x2, canvas_y2, + outline=color, width=width, tags=f"rect_{idx}") + + # 绘制序号 + self.canvas.create_text(canvas_x1 + 5, canvas_y1 + 15, + text=str(idx + 1), anchor=tk.NW, + fill=color, font=("Arial", 10, "bold"), + tags=f"label_{idx}") + + def canvas_to_image_coords(self, canvas_x, canvas_y): + """将画布坐标转换为图片坐标""" + img_x = (canvas_x - self.offset_x) / self.zoom_factor + img_y = (canvas_y - self.offset_y) / self.zoom_factor + return img_x, img_y + + def on_mouse_down(self, event): + """鼠标按下事件""" + if self.draw_mode_var.get(): + # 绘制模式 + img_x, img_y = self.canvas_to_image_coords(event.x, event.y) + if 0 <= img_x <= self.image_pil.size[0] and 0 <= img_y <= self.image_pil.size[1]: + self.drawing = True + self.start_x = img_x + self.start_y = img_y + else: + # 选择模式 - 查找最近的标注 + self.find_nearest_annotation(event.x, event.y) + + def find_nearest_annotation(self, canvas_x, canvas_y): + """查找最近的标注""" + if not self.annotations: + return + + min_dist = float('inf') + nearest_idx = -1 + + for idx, (x1, y1, x2, y2) in enumerate(self.annotations): + # 转换坐标 + cx1 = x1 * self.zoom_factor + self.offset_x + cy1 = y1 * self.zoom_factor + self.offset_y + cx2 = x2 * self.zoom_factor + self.offset_x + cy2 = y2 * self.zoom_factor + self.offset_y + + # 计算到矩形边界的距离 + if cx1 <= canvas_x <= cx2 and cy1 <= canvas_y <= cy2: + # 点在矩形内 + dist = 0 + else: + # 计算到最近边的距离 + dx = max(cx1 - canvas_x, 0, canvas_x - cx2) + dy = max(cy1 - canvas_y, 0, canvas_y - cy2) + dist = (dx**2 + dy**2)**0.5 + + if dist < min_dist: + min_dist = dist + nearest_idx = idx + + # 如果距离足够近,选中该标注 + if min_dist < 20: # 20像素阈值 + self.selected_annotation = nearest_idx + self.annotation_listbox.selection_clear(0, tk.END) + self.annotation_listbox.selection_set(nearest_idx) + self.annotation_listbox.see(nearest_idx) + self.display_image() + self.update_status(f"选中标注 #{nearest_idx + 1}") + + def on_mouse_move(self, event): + """鼠标移动事件""" + if self.drawing: + # 绘制临时矩形 + if self.current_rect: + self.canvas.delete(self.current_rect) + + img_x, img_y = self.canvas_to_image_coords(event.x, event.y) + canvas_x1 = self.start_x * self.zoom_factor + self.offset_x + canvas_y1 = self.start_y * self.zoom_factor + self.offset_y + canvas_x2 = img_x * self.zoom_factor + self.offset_x + canvas_y2 = img_y * self.zoom_factor + self.offset_y + + self.current_rect = self.canvas.create_rectangle( + canvas_x1, canvas_y1, canvas_x2, canvas_y2, + outline="green", width=2, dash=(5, 5) + ) + + def on_mouse_up(self, event): + """鼠标释放事件""" + if self.drawing: + # 完成绘制 + img_x, img_y = self.canvas_to_image_coords(event.x, event.y) + + # 确保坐标正确排序 + x1 = min(self.start_x, img_x) + y1 = min(self.start_y, img_y) + x2 = max(self.start_x, img_x) + y2 = max(self.start_y, img_y) + + # 检查矩形大小 + if x2 - x1 > 5 and y2 - y1 > 5: + # 添加标注(只保存坐标,不保存标签) + self.annotations.append((x1, y1, x2, y2)) + self.update_annotation_list() + self.display_image() + self.update_status(f"已添加标注 #{len(self.annotations)}") + else: + self.update_status("标注太小,已忽略") + + # 清理绘制状态 + self.drawing = False + if self.current_rect: + self.canvas.delete(self.current_rect) + self.current_rect = None + + def on_pan_start(self, event): + """开始平移""" + self.panning = True + self.pan_start_x = event.x + self.pan_start_y = event.y + + def on_pan_move(self, event): + """平移移动""" + if self.panning: + dx = event.x - self.pan_start_x + dy = event.y - self.pan_start_y + self.offset_x += dx + self.offset_y += dy + self.pan_start_x = event.x + self.pan_start_y = event.y + self.display_image() + + def on_pan_end(self, event): + """结束平移""" + self.panning = False + + def update_annotation_list(self): + """更新标注列表""" + self.annotation_listbox.delete(0, tk.END) + for idx, (x1, y1, x2, y2) in enumerate(self.annotations): + width = x2 - x1 + height = y2 - y1 + list_text = f"{idx + 1}. 矩形 ({width:.0f}x{height:.0f})" + self.annotation_listbox.insert(tk.END, list_text) + + def on_annotation_select(self, event): + """标注列表选择事件""" + selection = self.annotation_listbox.curselection() + if selection: + self.selected_annotation = selection[0] + self.display_image() + self.update_status(f"已选中标注 #{self.selected_annotation + 1}") + + def delete_selected_annotation(self): + """删除选中的标注""" + if self.selected_annotation >= 0 and self.selected_annotation < len(self.annotations): + del self.annotations[self.selected_annotation] + self.selected_annotation = -1 + self.update_annotation_list() + self.display_image() + self.update_status("已删除选中标注") + + def clear_current_annotation(self): + """清除当前标注""" + self.selected_annotation = -1 + self.display_image() + self.update_status("已清除选中状态") + + def clear_all_annotations(self): + """删除所有标注""" + if messagebox.askyesno("确认", "确定要删除所有标注吗?"): + self.annotations = [] + self.selected_annotation = -1 + self.update_annotation_list() + self.display_image() + self.update_status("已删除所有标注") + + def save_annotations(self): + """保存标注到文件(仅TXT格式,纯坐标,格式:top right bottom left)""" + if not self.current_image_path: + messagebox.showwarning("警告", "请先加载图片") + return + + if not self.annotations: + if not messagebox.askyesno("确认", "没有标注要保存,是否继续?"): + return + + try: + # 获取图像尺寸 + img_width, img_height = self.image_pil.size + + # 生成保存路径:图片文件名.txt(同目录下) + image_dir = os.path.dirname(self.current_image_path) + image_basename = os.path.splitext(os.path.basename(self.current_image_path))[0] + file_path = os.path.join(image_dir, f"{image_basename}.txt") + + # 保存标注(纯坐标格式,top right bottom left) + with open(file_path, 'w', encoding='utf-8') as f: + for x1, y1, x2, y2 in self.annotations: + # 转换为百分比坐标(top, right, bottom, left) + top_pct = y1 / img_height + right_pct = x2 / img_width + bottom_pct = y2 / img_height + left_pct = x1 / img_width + + # 写入坐标数据(保留6位小数,空格分隔) + f.write(f"{top_pct:.6f} {right_pct:.6f} {bottom_pct:.6f} {left_pct:.6f}\n") + + self.update_status(f"已保存 {len(self.annotations)} 个标注到 {os.path.basename(file_path)}") + messagebox.showinfo("成功", f"标注已保存到:\n{file_path}\n\n格式: top right bottom left (百分比坐标)") + + except Exception as e: + messagebox.showerror("错误", f"保存失败: {e}") + + def load_annotations(self): + """加载标注文件(TXT格式,纯坐标,格式:top right bottom left)""" + if not self.current_image_path: + messagebox.showwarning("警告", "请先加载图片") + return + + # 默认加载同目录下的同名txt文件 + image_dir = os.path.dirname(self.current_image_path) + image_basename = os.path.splitext(os.path.basename(self.current_image_path))[0] + default_file = os.path.join(image_dir, f"{image_basename}.txt") + + if os.path.exists(default_file): + file_path = default_file + else: + file_path = filedialog.askopenfilename( + title="选择标注文件", + initialdir=image_dir, + filetypes=[ + ("文本文件", "*.txt"), + ("所有文件", "*.*") + ] + ) + + if not file_path: + return + + try: + self.load_txt_annotations(file_path) + self.update_annotation_list() + self.display_image() + self.update_status(f"已加载 {len(self.annotations)} 个标注") + + except Exception as e: + messagebox.showerror("错误", f"加载失败: {e}") + + def load_txt_annotations(self, file_path): + """加载TXT格式的标注文件(纯坐标格式,top right bottom left)""" + self.annotations = [] + img_width, img_height = self.image_pil.size + + with open(file_path, 'r', encoding='utf-8') as f: + for line_num, line in enumerate(f, 1): + line = line.strip() + if not line: + continue + + parts = line.split() + if len(parts) == 4: + try: + top_pct = float(parts[0]) + right_pct = float(parts[1]) + bottom_pct = float(parts[2]) + left_pct = float(parts[3]) + + # 验证百分比坐标范围 + if all(0 <= v <= 1 for v in [top_pct, right_pct, bottom_pct, left_pct]): + # 转换为绝对坐标 + x1 = left_pct * img_width + y1 = top_pct * img_height + x2 = right_pct * img_width + y2 = bottom_pct * img_height + + self.annotations.append((x1, y1, x2, y2)) + else: + print(f"警告: 第{line_num}行坐标超出范围 [0,1]: {line}") + except ValueError as e: + print(f"警告: 第{line_num}行格式错误: {line}, 错误: {e}") + else: + print(f"警告: 第{line_num}行格式错误,需要4个坐标值: {line}") + + def update_info(self): + """更新信息显示""" + if self.current_image_path and self.image_pil: + img_width, img_height = self.image_pil.size + filename = os.path.basename(self.current_image_path) + self.info_label.config(text=f"图片: {filename}\n尺寸: {img_width}x{img_height}\n标注: {len(self.annotations)}个") + else: + self.info_label.config(text="未加载图片") + + def update_status(self, message=None): + """更新状态栏""" + if message: + self.status_label.config(text=f"状态: {message}") + else: + self.status_label.config(text="状态: 就绪") + + def update(self): + """更新界面""" + self.update_info() + self.root.after(1000, self.update) + + +def main(): + """主函数""" + root = tk.Tk() + app = ImageAnnotationTool(root) + app.update() + root.mainloop() + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/bot4cj/test/lua.c b/bot4cj/test/lua.c new file mode 100644 index 0000000..126d98f --- /dev/null +++ b/bot4cj/test/lua.c @@ -0,0 +1,82 @@ +#include +#include +#include +#include + +int main() { + printf("========== Lua Type Constants ==========\n"); + printf("LUA_TNONE = %d\n", LUA_TNONE); + printf("LUA_TNIL = %d\n", LUA_TNIL); + printf("LUA_TBOOLEAN = %d\n", LUA_TBOOLEAN); + printf("LUA_TLIGHTUSERDATA = %d\n", LUA_TLIGHTUSERDATA); + printf("LUA_TNUMBER = %d\n", LUA_TNUMBER); + printf("LUA_TSTRING = %d\n", LUA_TSTRING); + printf("LUA_TTABLE = %d\n", LUA_TTABLE); + printf("LUA_TFUNCTION = %d\n", LUA_TFUNCTION); + printf("LUA_TUSERDATA = %d\n", LUA_TUSERDATA); + printf("LUA_TTHREAD = %d\n", LUA_TTHREAD); + + printf("\n========== Testing lua_type() ==========\n"); + + // 创建 Lua 状态机 + lua_State *L = luaL_newstate(); + + if (L == NULL) { + printf("Failed to create Lua state\n"); + return 1; + } + + // 测试各种类型压栈后的 lua_type 返回值 + printf("\n1. 压入 nil:\n"); + lua_pushnil(L); + printf(" lua_type(L, -1) = %d (应为 LUA_TNIL = %d)\n", lua_type(L, -1), LUA_TNIL); + lua_pop(L, 1); + + printf("\n2. 压入 boolean (true):\n"); + lua_pushboolean(L, 1); + printf(" lua_type(L, -1) = %d (应为 LUA_TBOOLEAN = %d)\n", lua_type(L, -1), LUA_TBOOLEAN); + lua_pop(L, 1); + + printf("\n3. 压入 number:\n"); + lua_pushnumber(L, 3.14159); + printf(" lua_type(L, -1) = %d (应为 LUA_TNUMBER = %d)\n", lua_type(L, -1), LUA_TNUMBER); + lua_pop(L, 1); + + printf("\n4. 压入 string:\n"); + lua_pushstring(L, "hello"); + printf(" lua_type(L, -1) = %d (应为 LUA_TSTRING = %d)\n", lua_type(L, -1), LUA_TSTRING); + lua_pop(L, 1); + + printf("\n5. 创建并压入 table:\n"); + lua_newtable(L); + printf(" lua_type(L, -1) = %d (应为 LUA_TTABLE = %d)\n", lua_type(L, -1), LUA_TTABLE); + lua_pop(L, 1); + + printf("\n6. 压入函数 (C 函数):\n"); + lua_pushcfunction(L, lua_gettop); + printf(" lua_type(L, -1) = %d (应为 LUA_TFUNCTION = %d)\n", lua_type(L, -1), LUA_TFUNCTION); + lua_pop(L, 1); + + // 测试无效索引 + printf("\n7. 测试无效索引:\n"); + printf(" lua_type(L, 100) = %d (应为 LUA_TNONE = %d)\n", lua_type(L, 100), LUA_TNONE); + + // 测试 lua_typename 函数 + printf("\n========== Testing lua_typename() ==========\n"); + printf("LUA_TTABLE 的类型名称: \"%s\"\n", lua_typename(L, LUA_TTABLE)); + printf("所有类型常量对应的名称:\n"); + printf(" LUA_TNONE -> \"%s\"\n", lua_typename(L, LUA_TNONE)); + printf(" LUA_TNIL -> \"%s\"\n", lua_typename(L, LUA_TNIL)); + printf(" LUA_TBOOLEAN -> \"%s\"\n", lua_typename(L, LUA_TBOOLEAN)); + printf(" LUA_TNUMBER -> \"%s\"\n", lua_typename(L, LUA_TNUMBER)); + printf(" LUA_TSTRING -> \"%s\"\n", lua_typename(L, LUA_TSTRING)); + printf(" LUA_TTABLE -> \"%s\"\n", lua_typename(L, LUA_TTABLE)); + printf(" LUA_TFUNCTION -> \"%s\"\n", lua_typename(L, LUA_TFUNCTION)); + printf(" LUA_TUSERDATA -> \"%s\"\n", lua_typename(L, LUA_TUSERDATA)); + printf(" LUA_TTHREAD -> \"%s\"\n", lua_typename(L, LUA_TTHREAD)); + + // 关闭 Lua 状态机 + lua_close(L); + + return 0; +} diff --git a/bot4cj/test/t.c b/bot4cj/test/t.c new file mode 100644 index 0000000..5866753 --- /dev/null +++ b/bot4cj/test/t.c @@ -0,0 +1,21 @@ +#include +#include +#include +#include +int main () { + printf("int: %lu\n", sizeof(int)); + + printf("O_RDWR: %i\n", O_RDWR); + + printf("pthread_t: %lu\n", sizeof(pthread_t)); + printf("pthread_mutex_t: %lu\n", sizeof(pthread_mutex_t)); + printf("pthread_mutexattr_t: %lu\n", sizeof(pthread_mutexattr_t)); + + printf("SPI_IOC_MAGIC: 0x%02X ('%c')\n", SPI_IOC_MAGIC, SPI_IOC_MAGIC); + printf("SPI_IOC_WR_MODE: 0x%08X\n", SPI_IOC_WR_MODE); + printf("SPI_IOC_RD_MODE: 0x%08X\n", SPI_IOC_RD_MODE); + printf("SPI_IOC_WR_BITS_PER_WORD = 0x%08X\n", SPI_IOC_WR_BITS_PER_WORD); + printf("SPI_IOC_RD_BITS_PER_WORD = 0x%08X\n", SPI_IOC_RD_BITS_PER_WORD); + printf("SPI_IOC_WR_MAX_SPEED_HZ: 0x%08X\n", SPI_IOC_WR_MAX_SPEED_HZ); + printf("SPI_IOC_RD_MAX_SPEED_HZ: 0x%08X\n", SPI_IOC_RD_MAX_SPEED_HZ); +} diff --git a/bot4cj/test/t.lua b/bot4cj/test/t.lua new file mode 100644 index 0000000..0b293bc --- /dev/null +++ b/bot4cj/test/t.lua @@ -0,0 +1,3 @@ +print("Hello from script file!") +name = "Lua" +print("Welcome to " .. name) diff --git a/bot4cj/test/tt.lua b/bot4cj/test/tt.lua new file mode 100644 index 0000000..86ebd7c --- /dev/null +++ b/bot4cj/test/tt.lua @@ -0,0 +1,22 @@ +-- 接收一个参数(表),返回另一个表 +function process(data) + local name = data.name + local age = data.age + local city = data.city + + -- 处理逻辑 + -- 修改:将 %d 改为 %s,因为 age 实际传入的是字符串 + local result_message = string.format("Hello %s, age %s from %s", name, age, city) + + -- 返回字典 + return { + result = "success", + message = result_message, + code = 200 + } +end + +-- 脚本主体:接收传入的参数,调用处理函数,返回结果 +-- 注意:传入的参数在 ... 中(可变参数) +local input = ... -- 获取第一个参数(我们的字典) +return process(input) diff --git a/captcha/.gitignore b/captcha/.gitignore new file mode 100644 index 0000000..ef8f28f --- /dev/null +++ b/captcha/.gitignore @@ -0,0 +1,111 @@ +#prjs +*.bin +*.build +*.dist +*.onefile-build +nuitka-crash-report.xml + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ diff --git a/captcha/README.md b/captcha/README.md index 5527ba1..0b388f4 100644 --- a/captcha/README.md +++ b/captcha/README.md @@ -1,27 +1,28 @@ # CAPTCHA 验证码服务 -一个轻量级的验证码图片服务,仅依赖 Python 标准库实现 HTTP 服务(无需 Flask),配合 Pillow 生成验证码图片。提供图片生成、Token 校验、健康检查等接口,适合作为后端服务的验证码组件。 +一个轻量级的图片验证码服务,基于自研 [pymsg](../pymsg/) 协议(TCP 长度前缀帧 + JSON),配合 Pillow 生成验证码图片。提供图片生成、Token 校验、健康检查三个路由,由 `gateway` 经 pymsg 调用并代理给浏览器。 + +服务由 `core`(PMC)的 `init.txt` 拉起,监听 `127.0.0.1:8009`(TCP),仅允许本机/内网调用。 ## 功能特性 -- **图片验证码生成**:5 位字符(字母 + 数字),自动排除易混淆字符(`l I 1 O 0 o`) -- **Token 机制**:每次生成图片返回唯一 Token,校验时一次性消费,防止重放 -- **过期自动清理**:Token 默认 300 秒(5 分钟)失效,每次请求时顺带清理过期项 -- **线程安全**:使用锁保护内存存储,支持并发请求 -- **恒定时间比较**:答案校验使用逐字符异或比较,避免计时攻击 -- **干扰元素**:随机字符颜色、位置偏移、干扰线与噪点,提升识别难度 -- **零框架依赖**:HTTP 层基于 `http.server`,除 Pillow 外无第三方依赖 +- **图片验证码生成**:4 位字符(字母 + 数字),自动排除易混淆字符(`l I 1 O 0 o`) +- **Token 机制**:每次生成图片返回唯一 Token(32 位十六进制),校验时**一次性消费**,防止重放 +- **过期自动清理**:Token 默认 300 秒(5 分钟)失效;`image` 路由请求时顺带清理过期项 +- **线程安全**:使用锁(`STORE_LOCK`)保护内存存储,支持并发请求 +- **恒定时间比较**:答案校验使用逐字符异或(`diff |= ord(a) ^ ord(b)`),避免计时攻击 +- **干扰元素**:随机字符颜色、垂直位置偏移、干扰线与噪点,提升机器识别难度 +- **零框架依赖**:基于 pymsg(项目内置库),除 Pillow 外无第三方依赖 ## 技术栈 - Python 3 - [Pillow](https://python-pillow.org/)(PIL)—— 图片绘制 -- Python 标准库:`http.server`、`threading`、`secrets`、`json`、`urllib` +- [pymsg](../pymsg/) —— TCP 长度前缀帧协议(`[4字节大端长度][UTF-8 JSON]`) ## 安装 ```bash -# 安装图片处理依赖 pip install Pillow ``` @@ -30,107 +31,121 @@ pip install Pillow ## 运行 ```bash -# 方式一:通过启动脚本 -./_run.sh +# 方式一:通过启动脚本(推荐,由 core 守护时即使用此方式) +cd captcha && ./_run.sh # 方式二:直接运行 -python3 captcha_service.py +python3 captcha_service.py # 默认 127.0.0.1:8009 +python3 captcha_service.py --port 8009 --addr 127.0.0.1 ``` -服务启动后监听 `http://127.0.0.1:8009`。 +## 协议与路由 -## 配置项 +服务基于 pymsg 协议:每条消息为完整 JSON,`_route` 字段指定路由。响应格式与 db 服务一致: -在 `captcha_service.py` 顶部可调整以下常量: - -| 常量 | 默认值 | 说明 | -| ------------- | ------------ | --------------------- | -| `CAPTCHA_LEN` | `5` | 验证码字符长度 | -| `CAPTCHA_TTL` | `300` | Token 有效期(秒) | -| `ADDR` | `127.0.0.1` | 监听地址 | -| `PORT` | `8009` | 监听端口 | - -## API 接口 - -### 1. 获取验证码图片 - -``` -GET /captcha/image +```json +{"success": true, "data": {...}} +{"success": false, "error": "..."} ``` -返回一张 PNG 验证码图片,响应头 `X-Captcha-Token` 携带本次验证的 Token,需在后续校验时一并提供。 +| _route | 说明 | +| ------- | ------------------------------------------ | +| `image` | 生成验证码图片(base64 PNG + Token) | +| `verify` | 校验用户输入,一次性消费 Token | +| `health` | 健康检查 | -**示例:** +### 1. image — 生成验证码图片 -```bash -curl -D - http://127.0.0.1:8009/captcha/image -o captcha.png +**请求**: + +```json +{"_route": "image"} ``` -响应头示例: - -``` -Content-Type: image/png -X-Captcha-Token: 3f9a1c2b4d5e6f7a8b9c0d1e2f3a4b5c -``` - -### 2. 校验验证码 - -``` -POST /captcha/verify -Content-Type: application/json -``` - -请求体: +**响应**: ```json { - "token": "3f9a1c2b4d5e6f7a8b9c0d1e2f3a4b5c", - "answer": "AB3XY" + "success": true, + "data": { + "token": "3f9a1c2b4d5e6f7a8b9c0d1e2f3a4b5c", + "image": "" + } } ``` -响应(校验不区分大小写,Token 校验后即失效): +> Token 有效期 300 秒,且**一次性使用**——无论校验成功与否,第一次 `verify` 调用后即被消费。 + +### 2. verify — 校验验证码 + +**请求**: ```json -{ "valid": true } +{"_route": "verify", "token": "3f9a1c2b4d5e6f7a8b9c0d1e2f3a4b5c", "answer": "AB3XY"} ``` -错误情况: +**响应**(均为 `success: true`,业务结果在 `data` 中区分): -| HTTP 状态码 | 响应体 | 说明 | -| ----------- | --------------------------------------------------- | ----------------------- | -| `400` | `{ "valid": false, "error": "invalid json" }` | 请求体非合法 JSON | -| `400` | `{ "valid": false, "error": "token and answer required" }` | 缺少 token 或 answer | -| `400` | `{ "valid": false, "error": "invalid or expired token" }` | Token 无效或已过期 | +| 响应 data | 触发条件 | +| ------------------------------------------------------------- | ------------------------------ | +| `{ "valid": true }` | Token 有效且答案正确 | +| `{ "valid": false }` | Token 有效但**答案错误**(Token 已消费) | +| `{ "valid": false, "error": "token and answer required" }` | 缺少 `token` 或 `answer` 字段 | +| `{ "valid": false, "error": "invalid or expired token" }` | Token 无效、已消费或已过期 | -### 3. 健康检查 +> ⚠️ **注意区分**:答案错误与 Token 错误是两种不同的结果。消费方(如 gateway)应分别处理:前者提示"验证码错误",后者提示"请重新获取验证码"。 -``` -GET /health +### 3. health — 健康检查 + +**请求**:`{"_route": "health"}` +**响应**:`{"success": true, "data": {"status": "ok", "service": "captcha"}}` + +### 调用示例(Python) + +```python +import json, sys +sys.path.insert(0, "../pymsg") +from pymsg import MsgClient + +c = MsgClient("127.0.0.1", 8009, "my-service") +resp = json.loads(c.call(json.dumps({"_route": "image"}), timeout=5)) +token = resp["data"]["token"] +png_b64 = resp["data"]["image"] ``` -```json -{ "status": "ok", "service": "captcha" } -``` +## 数据模型与 Token 生命周期 + +- **存储**:进程内存字典 `captcha_store`,键为 Token,值为 `{ answer: <小写答案>, created_at: }`。 +- **生成**:`image` 路由时写入一条记录,并返回对应 Token 与 base64 PNG。 +- **消费**:`verify` 路由时 `pop` 移除该 Token,无论答案对错,均不可再次使用。 +- **过期**:超过 `CAPTCHA_TTL`(300 秒)即视为失效。`image` 路由每次生成时顺带清理过期项;`verify` 时若 Token 不在存储中(过期、未生成或已消费),统一返回 `invalid or expired token`。 + +## 集成关系 + +- 由 `core`(`PMC`)通过 `init.txt` 中的 `bash /opt/micro_servers/captcha/_run.sh` 拉起并守护。 +- `gateway` 提供 **`GET /captcha/image`** 代理路由:经 pymsg 调本服务的 `image` 路由,将 base64 PNG 解码后以 `image/png` 响应体 + `X-Captcha-Token` 响应头返回给浏览器(`Cache-Control: no-store`)。 +- `gateway` 在 `/login` 与 `/register` 中可选地启用 CAPTCHA 校验(以 `captcha_token` + `captcha_answer` 字段传入,见 `gateway/README.md`)。 ## 典型使用流程 -1. 客户端调用 `GET /captcha/image`,保存返回的图片与响应头中的 `X-Captcha-Token`。 +1. 前端请求 `GET https:///captcha/image`(经 waf → gateway → captcha),展示图片并保存 `X-Captcha-Token`。 2. 用户根据图片内容输入验证码文本。 -3. 客户端调用 `POST /captcha/verify`,提交 `token` 与用户输入的 `answer`。 -4. 服务端比对答案(小写化、恒定时间比较),返回 `valid` 结果,Token 随即作废。 +3. 前端在登录/注册请求中携带 `captcha_token` + `captcha_answer`。 +4. 服务端比对答案(小写化、恒定时间比较),Token 随即作废(无论对错)。 ## 项目结构 ``` captcha/ -├── captcha_service.py # 服务主程序(HTTP 服务 + 验证码生成与校验) -├── _run.sh # 启动脚本 +├── captcha_service.py # 服务主程序(pymsg 服务 + 验证码生成与校验) +├── _run.sh # 启动脚本(cd 后 exec python3 captcha_service.py) └── README.md ``` ## 注意事项 -- 验证码存储在进程内存中,服务重启后所有 Token 失效,不适合多实例水平扩展场景(如需分布式可替换为 Redis 等外部存储)。 -- 默认仅监听 `127.0.0.1`,仅供本机或内网调用;如需对外暴露请配合反向代理并做好限流。 -- 答案校验不区分大小写,Token 一经校验即从内存中移除(无论对错)。 +- 验证码存储在进程内存中,服务重启后所有 Token 失效;**不支持多实例水平扩展**(如需分布式部署,应将 `captcha_store` 替换为 Redis 等外部存储,并相应调整过期清理逻辑)。 +- 默认仅监听 `127.0.0.1`,仅供本机或内网调用;浏览器侧图片获取统一走 `gateway` 的 `GET /captcha/image` 代理。 +- 答案校验不区分大小写;Token 一经校验即从内存中移除(一次性使用)。 +- 字体缺失时自动回退到 PIL 默认字体,可能影响验证码观感,部署前建议确认 DejaVu 字体已安装。 +- 旧版 HTTP 接口(http.server)已下线,协议与 db 服务统一为 pymsg/TCP。 diff --git a/captcha/_run.sh b/captcha/_run.sh index b4c1664..2cac9a1 100755 --- a/captcha/_run.sh +++ b/captcha/_run.sh @@ -1,3 +1,4 @@ #!/bin/bash cd "$(dirname "$0")" || exit +source venv/bin/activate exec python3 captcha_service.py diff --git a/captcha/_set.sh b/captcha/_set.sh new file mode 100755 index 0000000..e0f738f --- /dev/null +++ b/captcha/_set.sh @@ -0,0 +1,6 @@ +#!/bin/bash +cd "$(dirname "$0")" || exit +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple +#nuitka --standalone smtp.py diff --git a/captcha/captcha_service.py b/captcha/captcha_service.py index 77e0324..054749b 100644 --- a/captcha/captcha_service.py +++ b/captcha/captcha_service.py @@ -1,144 +1,212 @@ """ -CAPTCHA Image Service (stdlib only, no Flask dependency) +captcha — 基于 pymsg 协议(MsgServer)的图形验证码服务。 + +替代原 http.server HTTP 接口,通过 TCP 长度前缀帧收发 JSON。 +协议:每条消息为完整 JSON,``_route`` 字段对应路由名。 + +请求示例:: + + {"_route": "image"} → 生成验证码图片 + {"_route": "verify", "token": "...", "answer": "AB3XY"} → 校验 + {"_route": "health"} → 健康检查 + +响应格式(与 dbv2 一致):: + + {"success": true, "data": {...}} + {"success": false, "error": "..."} + +说明:PNG 图片为二进制,经 base64 编码后放入 JSON 返回; +调用方(gateway)解码后以 image/png 代理给浏览器。 """ -import os + +import base64 import io import json -import time +import os import random -import string import secrets +import string import threading -from http.server import HTTPServer, BaseHTTPRequestHandler -from urllib.parse import urlparse, parse_qs +import time + from PIL import Image, ImageDraw, ImageFont -CAPTCHA_LEN = 5 -CAPTCHA_TTL = 300 -ADDR = '127.0.0.1' -PORT = 8009 +# pymsg 导入 +import sys as _sys +_sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) +from pymsg import MsgServer # noqa: E402 + +# ── 配置 ──────────────────────────────────────────────────────────────── + +CAPTCHA_LEN = 4 +CAPTCHA_TTL = 300 # Token 有效期(秒) CHARS = string.ascii_letters + string.digits -CHARS = CHARS.translate(str.maketrans('', '', 'lI1O0o')) +CHARS = CHARS.translate(str.maketrans('', '', 'lI1O0o')) # 剔除易混淆字符 -captcha_store = {} +captcha_store = {} # token -> {'answer': str, 'created_at': float} STORE_LOCK = threading.Lock() +# ── 验证码生成 ────────────────────────────────────────────────────────── + def generate_text(): return ''.join(random.choices(CHARS, k=CAPTCHA_LEN)) def generate_image(text): width, height = 160, 50 - bg = random.choice([(255,255,255), (240,240,240), (230,240,250)]) + bg = random.choice([(255, 255, 255), (240, 240, 240), (230, 240, 250)]) img = Image.new('RGB', (width, height), bg) draw = ImageDraw.Draw(img) for i, ch in enumerate(text): - color = random.choice([(30,30,30),(50,80,150),(150,50,50),(50,130,50)]) + color = random.choice([(30, 30, 30), (50, 80, 150), (150, 50, 50), (50, 130, 50)]) y = random.randint(2, 12) - x = 10 + i * 28 + random.randint(-3, 3) + x = 15 + i * 32 + random.randint(-3, 3) # 4 位字符在 160px 宽度内均匀分布 try: font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", - random.choice([28,30,32,34])) + random.choice([28, 30, 32, 34])) except (IOError, OSError): font = ImageFont.load_default() draw.text((x, y), ch, fill=color, font=font) for _ in range(4): - draw.line([(random.randint(0,width), random.randint(0,height)), - (random.randint(0,width), random.randint(0,height))], - fill=random.choice([(30,30,30),(50,80,150)]), width=1) + draw.line([(random.randint(0, width), random.randint(0, height)), + (random.randint(0, width), random.randint(0, height))], + fill=random.choice([(30, 30, 30), (50, 80, 150)]), width=1) for _ in range(50): - draw.point((random.randint(0,width-1), random.randint(0,height-1)), - fill=random.choice([(30,30,30),(50,80,150)])) + draw.point((random.randint(0, width - 1), random.randint(0, height - 1)), + fill=random.choice([(30, 30, 30), (50, 80, 150)])) buf = io.BytesIO() img.save(buf, format='PNG') - buf.seek(0) - return buf + return buf.getvalue() -def json_response(handler, data, status=200): - body = json.dumps(data).encode('utf-8') - handler.send_response(status) - handler.send_header('Content-Type', 'application/json') - handler.send_header('Content-Length', str(len(body))) - handler.end_headers() - handler.wfile.write(body) +# ═══════════════════════════════════════════════════════════════════════ +# CaptchaServer — 主服务类 +# ═══════════════════════════════════════════════════════════════════════ +class CaptchaServer: + """基于 pymsg 的验证码服务,通过 TCP 长连接收发 JSON。""" -class CaptchaHandler(BaseHTTPRequestHandler): - def log_message(self, format, *args): - pass + def __init__(self, addr="127.0.0.1", port=8009): + self.addr = addr + self.port = port + self._server = MsgServer(addr, port) - def do_GET(self): - parsed = urlparse(self.path) - if parsed.path == '/captcha/image': - text = generate_text() - token = secrets.token_hex(16) - with STORE_LOCK: - captcha_store[token] = {'answer': text.lower(), 'created_at': time.time()} - now = time.time() - expired = [k for k, v in captcha_store.items() if now - v['created_at'] > CAPTCHA_TTL] - for k in expired: - del captcha_store[k] + # 路由表 + self._routes = { + "image": self._handle_image, + "verify": self._handle_verify, + "health": self._handle_health, + } - img_buf = generate_image(text) - data = img_buf.read() - self.send_response(200) - self.send_header('Content-Type', 'image/png') - self.send_header('Content-Length', str(len(data))) - self.send_header('X-Captcha-Token', token) - self.end_headers() - self.wfile.write(data) - elif parsed.path == '/health': - json_response(self, {'status': 'ok', 'service': 'captcha'}) + # ── 启动 / 停止 ────────────────────────────────────────────────── + def start(self) -> None: + """启动服务(阻塞当前线程)。""" + print(f"[captcha] 监听 tcp://{self.addr}:{self.port}") + self._server.start(self._dispatch) + + def stop(self) -> None: + """从另一线程停止服务。""" + self._server.stop() + + # ── 消息调度 ------------------------------------------------------- + def _dispatch(self, sock, addr, text): + """解析 JSON 中的 _route,分发给对应的 handler,并回复结果。""" + try: + req = json.loads(text) + except json.JSONDecodeError as e: + self._reply(sock, False, error=f"JSON 解析失败: {e}") + return + + route = req.pop("_route", "") + handler = self._routes.get(route) + if handler is None: + self._reply(sock, False, error=f"未知路由: {route}") + return + + try: + result = handler(req) + self._reply(sock, True, data=result) + except Exception as e: + self._reply(sock, False, error=str(e)) + + def _reply(self, sock, success, data=None, error=None): + resp = {"success": success} + if data is not None: + resp["data"] = data + if error is not None: + resp["error"] = error + self._server.reply(sock, json.dumps(resp, ensure_ascii=False)) + + # ═══════════════════════════════════════════════════════════════════ + # 路由处理 + # ═══════════════════════════════════════════════════════════════════ + + def _handle_image(self, _req): + """生成验证码图片,返回 token 与 base64 编码的 PNG。""" + text = generate_text() + token = secrets.token_hex(16) + + with STORE_LOCK: + captcha_store[token] = {'answer': text.lower(), 'created_at': time.time()} + # 惰性清理过期项 + now = time.time() + expired = [k for k, v in captcha_store.items() if now - v['created_at'] > CAPTCHA_TTL] + for k in expired: + del captcha_store[k] + + png_bytes = generate_image(text) + return { + "token": token, + "image": base64.b64encode(png_bytes).decode('ascii'), + } + + def _handle_verify(self, req): + """校验答案,Token 一次性消费;恒定时间比较防计时攻击。""" + token = str(req.get("token", "")).strip() + answer = str(req.get("answer", "")).strip().lower() + if not token or not answer: + return {"valid": False, "error": "token and answer required"} + + with STORE_LOCK: + entry = captcha_store.pop(token, None) + + if not entry: + return {"valid": False, "error": "invalid or expired token"} + + expected = entry['answer'] + if len(answer) != len(expected): + valid = False else: - self.send_response(404) - self.end_headers() + diff = 0 + for a, b in zip(answer, expected): + diff |= ord(a) ^ ord(b) + valid = diff == 0 - def do_POST(self): - parsed = urlparse(self.path) - if parsed.path == '/captcha/verify': - length = int(self.headers.get('Content-Length', 0)) - body = self.rfile.read(length) - try: - data = json.loads(body) - except json.JSONDecodeError: - json_response(self, {'valid': False, 'error': 'invalid json'}, 400) - return + return {"valid": valid} - token = data.get('token', '').strip() - answer = data.get('answer', '').strip().lower() - if not token or not answer: - json_response(self, {'valid': False, 'error': 'token and answer required'}, 400) - return + def _handle_health(self, _req): + return {"status": "ok", "service": "captcha"} - with STORE_LOCK: - entry = captcha_store.pop(token, None) - - if not entry: - json_response(self, {'valid': False, 'error': 'invalid or expired token'}, 400) - return - - expected = entry['answer'] - if len(answer) != len(expected): - valid = False - else: - diff = 0 - for a, b in zip(answer, expected): - diff |= ord(a) ^ ord(b) - valid = diff == 0 - - json_response(self, {'valid': valid}) - else: - self.send_response(404) - self.end_headers() +# ═══════════════════════════════════════════════════════════════════════ +# 入口 +# ═══════════════════════════════════════════════════════════════════════ if __name__ == '__main__': - server = HTTPServer((ADDR, PORT), CaptchaHandler) - print(f'CAPTCHA service listening at http://{ADDR}:{PORT}') - server.serve_forever() + import argparse + + parser = argparse.ArgumentParser(description="captcha — pymsg 验证码服务") + parser.add_argument("--addr", default="127.0.0.1", help="监听地址") + parser.add_argument("--port", type=int, default=8009, help="监听端口") + args = parser.parse_args() + + server = CaptchaServer(args.addr, args.port) + try: + server.start() + except KeyboardInterrupt: + server.stop() diff --git a/captcha/requirements.txt b/captcha/requirements.txt new file mode 100644 index 0000000..a7f5d85 --- /dev/null +++ b/captcha/requirements.txt @@ -0,0 +1,2 @@ +../pymsg +Pillow diff --git a/core/init.txt b/core/init.txt index 12b510e..9343f3d 100644 --- a/core/init.txt +++ b/core/init.txt @@ -6,6 +6,7 @@ bash /opt/micro_servers/static/_run.sh bash /opt/micro_servers/waf/_run.sh bash /opt/micro_servers/gateway/_run.sh bash /opt/micro_servers/captcha/_run.sh +bash /opt/micro_servers/aibox/_run.sh # #ssh-copy-id user@your-server #ssh -D 1080 -N user@your-server diff --git a/db/security_middleware.py b/db/security_middleware.py index a180e14..8f69800 100644 --- a/db/security_middleware.py +++ b/db/security_middleware.py @@ -12,7 +12,7 @@ def apply_security_headers(app, csp_policy=None): @app.after_request def set_security_headers(response): # Prevent clickjacking - response.headers['X-Frame-Options'] = 'DENY' + response.headers['X-Frame-Options'] = 'SAMEORIGIN' # XSS protection (legacy browsers) response.headers['X-XSS-Protection'] = '1; mode=block' # Prevent MIME type sniffing @@ -30,10 +30,10 @@ def apply_security_headers(app, csp_policy=None): "default-src 'self'; " "script-src 'self' 'unsafe-inline'; " "style-src 'self' 'unsafe-inline'; " - "img-src 'self' data:; " + "img-src 'self' data: blob:; " "font-src 'self'; " "connect-src 'self'; " - "frame-ancestors 'none'" + "frame-ancestors 'self'" ) # Remove server header info diff --git a/dnfs/security_middleware.py b/dnfs/security_middleware.py index ea9e040..be880f6 100644 --- a/dnfs/security_middleware.py +++ b/dnfs/security_middleware.py @@ -12,7 +12,7 @@ def apply_security_headers(app, csp_policy=None): @app.after_request def set_security_headers(response): # Prevent clickjacking - response.headers['X-Frame-Options'] = 'DENY' + response.headers['X-Frame-Options'] = 'SAMEORIGIN' # XSS protection (legacy browsers) response.headers['X-XSS-Protection'] = '1; mode=block' # Prevent MIME type sniffing @@ -30,10 +30,10 @@ def apply_security_headers(app, csp_policy=None): "default-src 'self'; " "script-src 'self' 'unsafe-inline'; " "style-src 'self' 'unsafe-inline'; " - "img-src 'self' data:; " + "img-src 'self' data: blob:; " "font-src 'self'; " "connect-src 'self'; " - "frame-ancestors 'none'" + "frame-ancestors 'self'" ) # Remove server header info diff --git a/gateway/src/main.cpp b/gateway/src/main.cpp index d663e47..e5e5530 100644 --- a/gateway/src/main.cpp +++ b/gateway/src/main.cpp @@ -26,7 +26,7 @@ using namespace qing; namespace json = boost::json; namespace po = boost::program_options; -constexpr const char *_VER = "0.4.0"; +constexpr const char *_VER = "0.4.4"; ////////////////////////////////// #include @@ -291,6 +291,18 @@ http::response handleCaptcha( const http::request& req, const std::unordered_map& params); +http::response handleLogout( + const http::request& req, + const std::unordered_map& params); + +/* 代理 captcha 图形验证码:pymsg 调 captcha 服务,返回 PNG 图片 */ +http::response handleCaptchaImage( + const http::request& req, + const std::unordered_map& params); + +/* 从 Cookie 头中解析指定名称的值(找不到返回空串) */ +std::string get_cookie_value(const std::string& cookie_header, const std::string& name); + /* headers can't processed */ bool is_special_header(const std::string &header); @@ -356,6 +368,27 @@ bool verify_captcha(const std::string& token, const std::string& answer) { return match; } +/* 调用 captcha 服务(pymsg/TCP :8009)校验图形验证码。 + * Token 一次性消费;服务不可用或响应异常一律视为校验失败(fail-closed)。 + * 与内置 verify_captcha 并存:登录/注册可任选其一接入。 */ +bool verify_captcha_remote(const std::string& token, const std::string& answer) { + try { + pmc::net::MsgClient client("127.0.0.1", 8009, "gateway"); + json::value jv_req = { + {"_route", "verify"}, + {"token", token}, + {"answer", answer} + }; + std::string resp = client.call(json::serialize(jv_req), 5.0); + auto jv = json::parse(resp); + auto& obj = jv.as_object(); + if (!obj.at("success").as_bool()) return false; + return obj.at("data").as_object().at("valid").as_bool(); + } catch (const std::exception&) { + return false; + } +} + /* -------- 信号处理回调函数 -------- */ void signalHandler(int signum) { @@ -532,6 +565,17 @@ void registerRoutes(HttpServer &server) { [](const auto& req, const auto& params) { return handleRegister(req, params); }); }); + server.post("/logout", [](const auto& req, const auto& params) -> http::response { + return wrapperHttp(req, params, + [](const auto& req, const auto& params) { return handleLogout(req, params); }); + }); + + /* 代理 captcha 图形验证码(须在 get("*") 通配符之前注册) */ + server.get("/captcha/image", [](const auto& req, const auto& params) -> http::response { + return wrapperHttp(req, params, + [](const auto& req, const auto& params) { return handleCaptchaImage(req, params); }); + }); + server.get("*", [](const auto& req, const auto& params) -> http::response { return wrapperHttp(req, params, [](const auto& req, const auto& params) { return handleProxy(req, params, "get"); }); @@ -666,16 +710,14 @@ http::response handleLogin( auto username = std::string(obj.at("username").as_string()); auto password = std::string(obj.at("password").as_string()); - // CAPTCHA verification 验证码 - // 浏览器请求验证码端口,获取验证图片和身份证(速率限制),身份证对应验证码 - // gateway请求验证端口,输入用户的验证和身份证 - //auto captcha_it = obj.find("captcha_token"); - //auto captcha_ans_it = obj.find("captcha_answer"); - //if (captcha_it == obj.end() || captcha_ans_it == obj.end()) - // THROW_EX_CUSTOM(HttpException, 2002, "Bad_Request", 400, "/login"); - //std::string ct = std::string(captcha_it->value().as_string()); - //std::string ca = std::string(captcha_ans_it->value().as_string()); - //if (!verify_captcha(ct, ca)) THROW_EX_CUSTOM(HttpException, 2201, "Invalid CAPTCHA", 400, "/login"); + // CAPTCHA verification 验证码(对接 captcha pymsg 服务,图形码 Token 一次性消费) + auto captcha_it = obj.find("captcha_token"); + auto captcha_ans_it = obj.find("captcha_answer"); + if (captcha_it == obj.end() || captcha_ans_it == obj.end()) + THROW_EX_CUSTOM(HttpException, 2002, "Bad_Request", 400, "/login"); + std::string ct = std::string(captcha_it->value().as_string()); + std::string ca = std::string(captcha_ans_it->value().as_string()); + if (!verify_captcha_remote(ct, ca)) THROW_EX_CUSTOM(HttpException, 2201, "Invalid CAPTCHA", 400, "/login"); std::string stored_hash = ""; { @@ -776,12 +818,88 @@ http::response handleLogin( } }; res.set("Connection", "close"); + + /* 签发 HttpOnly Cookie(防 XSS 窃取 Token;JS 不再经手 Token) */ + { + std::string ck = "q4_token=" + token + + "; Path=/; HttpOnly; Secure; SameSite=Lax; Max-Age=" + + std::to_string(_TOKEN_KEEP_TIME); + res.set("Set-Cookie", ck); + } + res.result(http::status::ok); res.body() = json::serialize(jv_rr); res.prepare_payload(); return res; } +/* 退出登录 /logout:清除 q4_token Cookie */ +http::response handleLogout( + const http::request& req, + const std::unordered_map& params) +{ + http::response res; + res.version(req.version()); + + res.set("Set-Cookie", + "q4_token=; Path=/; HttpOnly; Secure; SameSite=Lax; Max-Age=0"); + res.set("Connection", "close"); + res.result(http::status::ok); + res.body() = R"({"success": true, "message": "logged out"})"; + res.prepare_payload(); + return res; +} + +/* 代理 captcha 图形验证码:GET /captcha/image + * + * captcha 服务为 pymsg/TCP(:8009),浏览器无法直接访问, + * 由本路由做 HTTP → pymsg 转换:调 image 路由拿到 base64 PNG 与 token, + * 解码后以 image/png + X-Captcha-Token 响应头返回(与旧直出接口契约一致)。 + */ +http::response handleCaptchaImage( + const http::request& req, + const std::unordered_map& params) +{ + http::response res; + res.version(req.version()); + + /* 调 captcha 服务(pymsg/TCP),连接失败/超时视为 502 */ + pmc::net::MsgClient client("127.0.0.1", 8009, "gateway"); + std::string resp; + try { + resp = client.call(R"({"_route":"image"})", 5.0); + } catch (const std::exception& e) { + THROW_EX_CUSTOM(HttpException, 2400, "Captcha service unavailable", 502, "/captcha/image"); + } + + /* 解析响应(格式错误同样视为 502) */ + std::string token; + std::string png; + try { + auto jv = json::parse(resp); + auto& obj = jv.as_object(); + if (!obj.at("success").as_bool()) + THROW_EX_CUSTOM(HttpException, 2401, "Captcha service error", 502, "/captcha/image"); + auto& data = obj.at("data").as_object(); + token = json::value_to(data.at("token")); + auto image_b64 = json::value_to(data.at("image")); + png = Base64::base64_decode_to_string(image_b64); + } catch (const HttpException&) { + throw; + } catch (const std::exception& e) { + THROW_EX_CUSTOM(HttpException, 2402, "Bad captcha response", 502, "/captcha/image"); + } + + res.set(http::field::content_type, "image/png"); + res.set("X-Captcha-Token", token); + res.set("Cache-Control", "no-store"); /* 验证码图片禁止缓存 */ + res.set("Connection", "close"); + res.result(http::status::ok); + res.body() = std::move(png); + res.prepare_payload(); + return res; +} + /* 处理注册 /register */ http::response handleRegister( const http::request& req, @@ -878,6 +996,7 @@ http::response handleProxy( std::string t_url = ""; std::string url = ""; std::string auth = ""; + std::string cookie_token = ""; /* 从 Cookie 提取的 Token(用于向下游注入 Authorization) */ json::value jv_t; { auto flag = false; @@ -912,24 +1031,41 @@ http::response handleProxy( url += "/"; url += target_path; + std::string raw = ""; it = req.base().find("Authorization"); - if (it == req.base().end() && !flag) - THROW_EX_CUSTOM(HttpException, 2301, "Unauthorization", 401, "*"); - std::string raw = req["Authorization"]; - if (raw.substr(0, 7) == "Bearer ") { - raw = raw.substr(7, raw.size() - 7); - size_t idx = raw.find("_"); - if (idx == std::string::npos) - THROW_EX_CUSTOM(HttpException, 2301, "Unauthorization", 400, "*"); - std::string data = raw.substr(0, idx); - std::string sign = raw.substr(idx+1, raw.size()-idx-1); - auth = Base64::base64_decode_to_string(data); - if (!_PUBL.Verify(auth, sign)) - THROW_EX_CUSTOM(HttpException, 2301, "Unauthorization", 401, "*"); + if (it != req.base().end()) { + raw = std::string(it->value()); + } else { + /* 回退:从 HttpOnly Cookie 读取 q4_token(浏览器同源请求自动携带) */ + auto cit = req.base().find("Cookie"); + if (cit != req.base().end()) { + cookie_token = get_cookie_value(std::string(cit->value()), "q4_token"); + if (!cookie_token.empty()) + raw = "Bearer " + cookie_token; + } } + if (raw.empty() && !flag) + THROW_EX_CUSTOM(HttpException, 2301, "Unauthorization", 401, "*"); - /* 是否过期 */ if (!flag) { + /* 仅在需要鉴权的目标上校验凭证。 + * 默认目标(公开静态资源)必须跳过校验: + * 浏览器会给每个请求自动携带 q4_token Cookie, + * gateway 重启(内存 RSA 密钥对轮换)或 Token 过期后, + * 旧 Cookie 验签失败会让公开页面也误返回 401 */ + if (raw.substr(0, 7) == "Bearer ") { + raw = raw.substr(7, raw.size() - 7); + size_t idx = raw.find("_"); + if (idx == std::string::npos) + THROW_EX_CUSTOM(HttpException, 2301, "Unauthorization", 400, "*"); + std::string data = raw.substr(0, idx); + std::string sign = raw.substr(idx+1, raw.size()-idx-1); + auth = Base64::base64_decode_to_string(data); + if (!_PUBL.Verify(auth, sign)) + THROW_EX_CUSTOM(HttpException, 2301, "Unauthorization", 401, "*"); + } + + /* 是否过期 */ try { jv_t = json::parse(auth); } catch (const boost::wrapexcept& e) { THROW_EX_CUSTOM(HttpException, 2302, "Bad token", 400, "*"); @@ -945,6 +1081,9 @@ http::response handleProxy( auto expire_tp = *created_tp + std::chrono::seconds(keep_time_val); if (now > expire_tp) THROW_EX_CUSTOM(HttpException, 2000, "Authorization Expired", 401, "*"); } + } else { + /* 公开目标不做凭证校验,也不向下游注入 Authorization */ + cookie_token = ""; } } @@ -996,6 +1135,11 @@ http::response handleProxy( client.set_header("X-Forwarded-For: unknown"); } + /* Token 来自 Cookie 时,向下游补齐 Authorization 头(dnfs 等下游仍按 Bearer 解析,无需改动) */ + if (!cookie_token.empty()) { + client.set_header("Authorization: Bearer " + cookie_token); + } + /* 转发请求 */ if (method == "get") client.get_stream_sync(url, callback); @@ -1031,6 +1175,27 @@ bool is_special_header(const std::string &header) { || header == "Forwarded"; } +std::string get_cookie_value(const std::string& cookie_header, const std::string& name) { + // Cookie 头格式:"k1=v1; k2=v2; q4_token=xxx" + size_t pos = 0; + while (pos <= cookie_header.size()) { + size_t end = cookie_header.find(';', pos); + if (end == std::string::npos) end = cookie_header.size(); + std::string pair = cookie_header.substr(pos, end - pos); + size_t eq = pair.find('='); + if (eq != std::string::npos) { + std::string k = pair.substr(0, eq); + size_t b = k.find_first_not_of(" \t"); + size_t e = k.find_last_not_of(" \t"); + if (b != std::string::npos) k = k.substr(b, e - b + 1); + if (k == name) return pair.substr(eq + 1); + } + if (end == cookie_header.size()) break; + pos = end + 1; + } + return ""; +} + bool is_safe_target(const std::string& target) { // 请求路径安全性校验(P1-1) // 防御目标:路径遍历、协议注入、空字节、非绝对路径形式 diff --git a/static/config.ini b/static/config.ini index cd64910..fbccc07 100644 --- a/static/config.ini +++ b/static/config.ini @@ -11,4 +11,7 @@ cert_file = cert.pem key_file = key.pem [cors] -allowed_origins = * +# 允许跨域的 Origin 白名单(逗号分隔) +# 注意:生产环境请勿包含 localhost / 127.0.0.1 / 通配符 * +# 本地开发联调时可临时追加 http://localhost:9200,调试完务必移除 +allowed_origins = https://qsont.me,https://yhdet.top diff --git a/static/fsys.py b/static/fsys.py index 17b9ff9..bb8db56 100644 --- a/static/fsys.py +++ b/static/fsys.py @@ -13,6 +13,7 @@ import sys # pymsg 日志客户端(集中式日志 → dbv2 Logs 表) sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) from log_client import logs # noqa: E402 +from security_middleware import apply_security_headers # noqa: E402 # 基准目录:编译后取可执行文件所在目录,开发时取脚本所在目录 # 解决 Nuitka onefile 解压到 /tmp 后相对路径失效的问题 @@ -37,7 +38,7 @@ parser.add_argument('--config', type=str, default='config.ini', help='Configurat args = parser.parse_args() app = Flask(__name__) -CORS(app, origins=["https://qsont.me", "https://yhdet.top", "http://localhost:9200"]) +apply_security_headers(app) # ==================== 配置文件加载 ==================== CONFIG_FILE = args.config @@ -48,17 +49,23 @@ file_config = { 'server': {'host': '0.0.0.0', 'port': '5000'}, 'directory': {'root': './public'}, 'ssl': {'enabled': 'false', 'cert_file': 'cert.pem', 'key_file': 'key.pem'}, + # CORS 白名单(逗号分隔),生产环境默认值;localhost 仅限本地开发时显式写入 config.ini + 'cors': {'allowed_origins': 'https://qsont.me,https://yhdet.top'}, } if os.path.exists(CONFIG_FILE): config_parser = configparser.ConfigParser() config_parser.read(CONFIG_FILE, encoding='utf-8') - for section in ['server', 'directory', 'ssl']: + for section in ['server', 'directory', 'ssl', 'cors']: if section in config_parser: for key, value in config_parser[section].items(): if key in file_config[section]: file_config[section][key] = value +# ==================== CORS(配置加载完成后初始化) ==================== +_cors_origins = [o.strip() for o in file_config['cors']['allowed_origins'].split(',') if o.strip()] +CORS(app, origins=_cors_origins) + HTML_ROOT_DIR = file_config['directory']['root'] if HTML_ROOT_DIR and not os.path.isabs(HTML_ROOT_DIR): HTML_ROOT_DIR = os.path.join(BASE_DIR, HTML_ROOT_DIR) @@ -411,6 +418,7 @@ def proxy_get_notes(): data = request.get_json(force=True) h = {"Content-Type": "application/json"} if "Authorization" in request.headers: h["Authorization"] = request.headers["Authorization"] + elif request.cookies.get("q4_token"): h["Authorization"] = f"Bearer {request.cookies['q4_token']}" # HttpOnly Cookie 模式:Cookie 转 Bearer req = _urlreq.Request(f"{DNFS_URL}/get_notes", data=_json.dumps(data).encode(), headers=h, method="POST") with _urlreq.urlopen(req, timeout=15) as r: return _cors(make_response(r.read().decode(), 200, {"Content-Type": "application/json"})) @@ -426,6 +434,7 @@ def proxy_add_note(): data = request.get_json(force=True) h = {"Content-Type": "application/json"} if "Authorization" in request.headers: h["Authorization"] = request.headers["Authorization"] + elif request.cookies.get("q4_token"): h["Authorization"] = f"Bearer {request.cookies['q4_token']}" # HttpOnly Cookie 模式:Cookie 转 Bearer req = _urlreq.Request(f"{DNFS_URL}/add_note", data=_json.dumps(data).encode(), headers=h, method="POST") with _urlreq.urlopen(req, timeout=15) as r: return _cors(make_response(r.read().decode(), 200, {"Content-Type": "application/json"})) @@ -440,6 +449,7 @@ def proxy_delete_note(): data = request.get_json(force=True) h = {"Content-Type": "application/json"} if "Authorization" in request.headers: h["Authorization"] = request.headers["Authorization"] + elif request.cookies.get("q4_token"): h["Authorization"] = f"Bearer {request.cookies['q4_token']}" # HttpOnly Cookie 模式:Cookie 转 Bearer req = _urlreq.Request(f"{DNFS_URL}/delete_note", data=_json.dumps(data).encode(), headers=h, method="POST") with _urlreq.urlopen(req, timeout=15) as r: return _cors(make_response(r.read().decode(), 200, {"Content-Type": "application/json"})) @@ -454,6 +464,7 @@ def proxy_update_note(): data = request.get_json(force=True) h = {"Content-Type": "application/json"} if "Authorization" in request.headers: h["Authorization"] = request.headers["Authorization"] + elif request.cookies.get("q4_token"): h["Authorization"] = f"Bearer {request.cookies['q4_token']}" # HttpOnly Cookie 模式:Cookie 转 Bearer req = _urlreq.Request(f"{DNFS_URL}/update_note", data=_json.dumps(data).encode(), headers=h, method="POST") with _urlreq.urlopen(req, timeout=15) as r: return _cors(make_response(r.read().decode(), 200, {"Content-Type": "application/json"})) diff --git a/static/public/LICENSE.html b/static/public/LICENSE.html new file mode 100644 index 0000000..520fc12 --- /dev/null +++ b/static/public/LICENSE.html @@ -0,0 +1,44 @@ + + + + + + 用户使用条例 + + + +
+

用户使用条例

+

生效日期:2026 年 7 月 · 本平台为开源社区

+ +

一、社区定位

+

本社区是一个以开源精神为基础的技术分享与交流平台,鼓励自由分享、协作共建、互相尊重。

+ +

二、内容规范

+
    +
  1. 遵守国家法律法规,不得发布色情、赌博、诈骗、侵权、暴力恐怖等违法违规内容。
  2. +
  3. 发布的内容将经 AI 审核,违规内容将被拒绝展示或删除,恕不另行通知。
  4. +
  5. 不得利用本平台从事破坏、攻击、爬取扰序等影响服务稳定运行的行为。
  6. +
+ +

三、开源精神

+
    +
  1. 尊重他人劳动成果,转载或引用请注明出处与作者。
  2. +
  3. 鼓励以开源许可证分享作品,并遵守相应许可证条款。
  4. +
  5. 友善交流,就事论事,不人身攻击。
  6. +
+ +

四、账号责任

+

妥善保管账号与密码,账号下的全部行为由注册人本人负责。如发现账号被盗用,请及时通过找回密码功能重置。

+ +

五、服务说明

+

本社区按"现状"提供服务,不对服务的持续性、可用性作担保。对违反本条例的账号,平台有权采取内容删除、功能限制、账号封禁等措施。

+ +

六、条例修订

+

本条例可能适时修订并公示于本页面,继续使用本平台即视为接受最新版本。

+
+ + + diff --git a/static/public/css/theme.css b/static/public/css/theme.css index f84384f..786dcf3 100644 --- a/static/public/css/theme.css +++ b/static/public/css/theme.css @@ -155,6 +155,13 @@ button[type="button"], input[type="button"] { background: var(--accent-soft); co flex-wrap: wrap; margin-top: 1.25rem; } +/* ===== 防重复点击:请求进行中按钮禁用态反馈 ===== */ +button:disabled, +input[type="submit"]:disabled, +input[type="button"]:disabled { + opacity: 0.5; + cursor: not-allowed; +} .form-check { display: flex; align-items: center; diff --git a/static/public/games/game7.html b/static/public/games/game7.html new file mode 100644 index 0000000..f3415ee --- /dev/null +++ b/static/public/games/game7.html @@ -0,0 +1,718 @@ + + + + + + 俄罗斯方块 + + + +
+

俄罗斯方块

+

经典消除 · 挑战极限手速

+ +
+ +
+
+

暂存 Hold

+ +
+
+
0
+
分数 SCORE
+
+
+
0
+
最高分 BEST
+
+
+ + +
+ + +
+

俄罗斯方块

+

消除整行得分,连续消除分数更高!

+ +
+ + + + +
+ + +
+
+

下一个 Next

+ +
+
+
0
+
消除行数 LINES
+
+
+
1
+
等级 LEVEL
+
+
+
+ +
+ + +
+ + +
+ + + + + + + + +
+ +

+ ←→ 移动   ↓ 软降   ↑/X 旋转   + 空格 硬降   C 暂存   P 暂停 +

+
+ + + + diff --git a/static/public/js/dnfs.js b/static/public/js/dnfs.js index 87a38e1..c5eb984 100644 --- a/static/public/js/dnfs.js +++ b/static/public/js/dnfs.js @@ -1,11 +1,10 @@ -// Session restore from localStorage -if(!sessionStorage.getItem('q4_token')){var t=localStorage.getItem('q4_token');if(t)sessionStorage.setItem('q4_token',t);} +// 认证改为 HttpOnly Cookie(gateway 下发 q4_token),浏览器同源请求自动携带,JS 不再经手 Token /* by qing. * * 用于获取一个节点下的所有子节点信息,0为根节点。 */ -async function getNode(token, id) { +async function getNode(id) { try { obj = { "pid": id } jsonBody = JSON.stringify(obj) @@ -14,7 +13,6 @@ async function getNode(token, id) { method: 'POST', headers: { 'Content-Type': 'application/json', // 告诉服务器内容为json - 'Authorization': `Bearer ${token}`, 'Target-Url': 'http://127.0.0.1:8006' }, body: jsonBody @@ -30,6 +28,12 @@ async function getNode(token, id) { throw new Error('服务器响应格式异常,请稍后重试'); } + if (res.status === 401) { + // 凭证失效(过期或网关重启),跳转重新登录 + location.href = '/login.html'; + return; + } + if (!res.ok) { throw new Error(result.message || `获取节点失败(HTTP ${res.status})`); } @@ -54,7 +58,7 @@ async function getNode(token, id) { * * 用于向dnfs添加节点 */ -async function addNode(token, pid, title, content) { +async function addNode(pid, title, content) { try { obj = { "pid": pid, @@ -67,7 +71,6 @@ async function addNode(token, pid, title, content) { method: 'POST', headers: { 'Content-Type': 'application/json', // 告诉服务器内容为json - 'Authorization': `Bearer ${token}`, 'Target-Url': 'http://127.0.0.1:8006' }, body: jsonBody @@ -83,14 +86,20 @@ async function addNode(token, pid, title, content) { throw new Error('服务器响应格式异常,请稍后重试'); } + if (res.status === 401) { + // 凭证失效(过期或网关重启),跳转重新登录 + location.href = '/login.html'; + return; + } + if (!res.ok) { throw new Error(`添加节点失败(HTTP ${res.status})`); } input_note_title.value = ""; input_note_content.value = ""; - getNode(token, stack[stack.length - 1]).then(load_notes); - getNode(token, stack[stack.length - 1]).then(loadMap) + getNode(stack[stack.length - 1]).then(load_notes); + getNode(stack[stack.length - 1]).then(loadMap) //if (result.success) { alert(`添加节点成功`, result); @@ -108,7 +117,7 @@ async function addNode(token, pid, title, content) { } } -async function deleteNode(token, id) { +async function deleteNode(id) { if (confirm("确认删除此节点?") == false) { return; } @@ -121,7 +130,6 @@ async function deleteNode(token, id) { method: 'POST', headers: { 'Content-Type': 'application/json', - 'Authorization': `Bearer ${token}`, 'Target-Url': 'http://127.0.0.1:8006' }, body: jsonBody @@ -137,13 +145,19 @@ async function deleteNode(token, id) { throw new Error('服务器响应格式异常,请稍后重试'); } + if (res.status === 401) { + // 凭证失效(过期或网关重启),跳转重新登录 + location.href = '/login.html'; + return; + } + if (!res.ok) { throw new Error(`删除节点失败(HTTP ${res.status})`); } stack.pop(); - getNode(token, stack[stack.length - 1]).then(load_notes); - getNode(token, stack[stack.length - 1]).then(loadMap) + getNode(stack[stack.length - 1]).then(load_notes); + getNode(stack[stack.length - 1]).then(loadMap) console.log(`删除节点成功`); return result @@ -177,14 +191,22 @@ var minimap = document.getElementById("minimap"); var is_expand = true; input_note_submit.addEventListener('click', function(event) { + if (input_note_submit.disabled) return; // 防重复点击 var title = input_note_title.value var content = input_note_content.value var pid = (stack.length == 0) ? 0 : stack[stack.length - 1]; //alert(stack.length) //alert(pid) - addNode(token, pid, title, content).then(result => { - //alert(result.message); - }) + // 发布期间同时禁用重置/删除,避免误触干扰 + input_note_submit.disabled = true; + input_note_clear.disabled = true; + delete_note.disabled = true; + addNode(pid, title, content) + .finally(() => { + input_note_submit.disabled = false; + input_note_clear.disabled = false; + delete_note.disabled = false; + }); }) input_note_clear.addEventListener('click', function(event) { @@ -193,13 +215,17 @@ input_note_clear.addEventListener('click', function(event) { }) delete_note.addEventListener('click', (event) => { + if (delete_note.disabled) return; // 防重复点击 var id = (stack.length == 0) ? 0 : stack[stack.length - 1]; if (id == 0) { alert('无法删除根节点'); console.log("节点未删除"); } else { - deleteNode(token, id); + delete_note.disabled = true; + // confirm 取消时 deleteNode 直接返回 undefined,统一用 Promise.resolve 兜底恢复按钮 + Promise.resolve(deleteNode(id)) + .finally(() => { delete_note.disabled = false; }); } }) @@ -232,8 +258,8 @@ function load_notes(main_node) { card.addEventListener('click', function(event) { var id = Number(item.id) stack.push(id) - getNode(token, id).then(load_notes) - getNode(token, id).then(loadMap) + getNode(id).then(load_notes) + getNode(id).then(loadMap) }); let ttl = document.createElement('center'); let ttl1 =document.createElement('h3'); @@ -274,10 +300,10 @@ function loadMap(children_json) { fold_div.addEventListener("click", () => { if (is_expand == true) { is_expand = false; - getNode(token, stack.length == 0 ? 0 : stack[stack.length - 1]).then(loadMap); + getNode(stack.length == 0 ? 0 : stack[stack.length - 1]).then(loadMap); } else { is_expand = true; - getNode(token, stack.length == 0 ? 0 : stack[stack.length - 1]).then(loadMap); + getNode(stack.length == 0 ? 0 : stack[stack.length - 1]).then(loadMap); } }); if (need_return == true) { @@ -290,8 +316,8 @@ function loadMap(children_json) { back.addEventListener("click", () => { stack.pop(); var id = (stack.length >= 0) ? stack[stack.length - 1] : 0; - getNode(token, id).then(load_notes); - getNode(token, id).then(loadMap); + getNode(id).then(load_notes); + getNode(id).then(loadMap); }); minimap.appendChild(back); } @@ -309,6 +335,5 @@ function loadMap(children_json) { } } -var token = sessionStorage.getItem('q4_token') -getNode(token, 0).then(load_notes); -getNode(token, 0).then(loadMap) +getNode(0).then(load_notes); +getNode(0).then(loadMap) diff --git a/static/public/js/login.js b/static/public/js/login.js index fe5d10a..fc3b7dc 100644 --- a/static/public/js/login.js +++ b/static/public/js/login.js @@ -1,23 +1,54 @@ const msgTip = document.getElementById('msgTip'); const pwdTip = document.getElementById('pwdTip'); const agreeTip = document.getElementById('agreeTip'); +const captchaTip = document.getElementById('captchaTip'); const form = document.getElementById('form'); const usernameInput = document.getElementById('loginUsername'); const passwordInput = document.getElementById('loginPassword'); +const captchaInput = document.getElementById('captchaAnswer'); +const captchaImg = document.getElementById('captchaImg'); const agreeBox = document.getElementById('agreeBox'); const resetUser = document.getElementById('resetUser'); const registerBtn = document.getElementById('registerBtn'); const loginButton = document.getElementById('loginBtn'); +/* ── 图形验证码(gateway 代理 captcha 服务:GET /captcha/image) ── */ +let captchaToken = ''; +let captchaLoading = false; // 防重复点击:加载中忽略再次触发 + +async function refreshCaptcha() { + if (captchaLoading) return; + captchaLoading = true; + captchaToken = ''; + try { + const res = await fetch('/captcha/image', { cache: 'no-store' }); + if (!res.ok) throw new Error('captcha load failed'); + captchaToken = res.headers.get('X-Captcha-Token') || ''; + const blob = await res.blob(); + if (captchaImg.src && captchaImg.src.startsWith('blob:')) URL.revokeObjectURL(captchaImg.src); + captchaImg.src = URL.createObjectURL(blob); + captchaImg.alt = '点击刷新'; + } catch (e) { + captchaImg.removeAttribute('src'); + captchaImg.alt = '加载失败,点击重试'; + } finally { + captchaLoading = false; + } +} +captchaImg.addEventListener('click', refreshCaptcha); +refreshCaptcha(); + resetUser.addEventListener('click', function() { clearTipStyle(); }); function clearTipStyle() { msgTip.innerHTML = ''; pwdTip.innerHTML = ''; agreeTip.innerHTML = ''; + captchaTip.innerHTML = ''; msgTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); pwdTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); agreeTip.classList.remove('tip-red'); + captchaTip.classList.remove('tip-red'); } clearTipStyle(); @@ -35,6 +66,23 @@ function checkPwd() { return result.valid ? result.value : false; } +function checkCaptcha() { + captchaTip.innerHTML = ''; + captchaTip.classList.remove('tip-red'); + const v = captchaInput.value.trim(); + if (!v) { + captchaTip.innerHTML = '请输入验证码!'; + captchaTip.classList.add('tip-red'); + return false; + } + if (!captchaToken) { + captchaTip.innerHTML = '验证码未加载,请点击图片刷新'; + captchaTip.classList.add('tip-red'); + return false; + } + return v; +} + function checkAgree() { agreeTip.innerHTML = ''; agreeTip.classList.remove('tip-red'); @@ -60,10 +108,16 @@ form.addEventListener('submit', async function(e) { clearTipStyle(); const userOk = checkUsername(); const pwdOk = checkPwd(); + const captchaOk = checkCaptcha(); const agreeOk = checkAgree(); - if (!userOk || !pwdOk || !agreeOk) return; + if (!userOk || !pwdOk || !captchaOk || !agreeOk) return; - const jsonBody = JSON.stringify({ username: userOk, password: pwdOk }); + const jsonBody = JSON.stringify({ + username: userOk, + password: pwdOk, + captcha_token: captchaToken, + captcha_answer: captchaOk + }); try { loginButton.disabled = true; const res = await fetch('/login', { @@ -76,8 +130,7 @@ form.addEventListener('submit', async function(e) { try { result = JSON.parse(responseText); } catch { throw new Error('服务器响应格式异常'); } if (!res.ok) throw new Error(result.message || '登录失败'); if (result.success) { - localStorage.setItem('q4_token', result.data.token); - sessionStorage.setItem('q4_token', result.data.token); + // Token 已由网关通过 HttpOnly Cookie 下发,JS 不再经手 alert('登录成功'); location.href = '/dnfs.html'; } else { @@ -86,6 +139,9 @@ form.addEventListener('submit', async function(e) { } catch (err) { alert(err.message || '接口请求失败'); } finally { + // 无论成败都刷新验证码:Token 已被一次性消费,或需防重试 + captchaInput.value = ''; + refreshCaptcha(); loginButton.disabled = false; } }); diff --git a/static/public/js/register.js b/static/public/js/register.js index 10f3858..7ec5c34 100644 --- a/static/public/js/register.js +++ b/static/public/js/register.js @@ -1,11 +1,9 @@ const form = document.getElementById('form'); -const usernameInput = document.getElementById('regusername'); const emailInput = document.getElementById('regemail'); const codeInput = document.getElementById('code'); const getCodeButton = document.getElementById('getCode'); const passwordInput = document.getElementById('regpsw'); const repeatPasswordInput = document.getElementById('repwd'); -const msgTip = document.getElementById('msgTip'); const emlTip = document.getElementById('emlTip'); const pwdTip = document.getElementById('pwdTip'); const codeTip = document.getElementById('codeTip'); @@ -21,27 +19,16 @@ form.addEventListener('reset', function () { }); function clearTipStyle() { - msgTip.innerHTML = ''; emlTip.innerHTML = ''; pwdTip.innerHTML = ''; codeTip.innerHTML = ''; - msgTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); emlTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); pwdTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); codeTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); } clearTipStyle(); -function checkUsername() { - const result = FormValidators.username(usernameInput.value); - msgTip.innerHTML = ''; - msgTip.classList.remove('tip-red', 'tip-yellow', 'tip-green'); - msgTip.textContent = result.message; - msgTip.classList.add(result.className); - return result.valid ? result.value : false; -} - function checkEmail() { const result = FormValidators.email(emailInput.value); emlTip.innerHTML = ''; @@ -103,15 +90,12 @@ function checkCode() { return code; } -usernameInput.addEventListener('focus', checkUsername); passwordInput.addEventListener('focus', checkPassword); repeatPasswordInput.addEventListener('focus', checkPassword); -usernameInput.addEventListener('input', checkUsername); passwordInput.addEventListener('input', checkPassword); repeatPasswordInput.addEventListener('input', checkPassword); -usernameInput.addEventListener('blur', checkUsername); passwordInput.addEventListener('blur', checkPassword); repeatPasswordInput.addEventListener('blur', checkPassword); @@ -146,16 +130,15 @@ getCodeButton.addEventListener('click', function () { form.addEventListener('submit', async function (e) { e.preventDefault(); - const username = checkUsername(); const email = checkEmail(); const password = checkPassword(); const code = checkCode(); - if (!username || !email || !password || !code) { + if (!email || !password || !code) { return; } const jsonBody = JSON.stringify({ - username, + username: email, password }); diff --git a/static/public/js/view.js b/static/public/js/view.js index 41240a1..f42723e 100644 --- a/static/public/js/view.js +++ b/static/public/js/view.js @@ -127,7 +127,10 @@ function render() { } // ===== 数据拉取(接口与参数与原版本一致) ===== +let isLoading = false; // 防重复点击:请求进行中忽略再次触发 async function loadData() { + if (isLoading) return; + isLoading = true; loading.style.display = "block"; fileList.innerHTML = ""; empty.style.display = "none"; @@ -145,6 +148,8 @@ async function loadData() { } catch (e) { fileList.innerHTML = `
❌ 加载失败: ${esc(e.message)}
`; loading.style.display = "none"; + } finally { + isLoading = false; } } @@ -173,7 +178,10 @@ document.addEventListener("keydown", function (e) { } }); -btnRefresh.addEventListener("click", loadData); +btnRefresh.addEventListener("click", function (e) { + e.preventDefault(); // 默认会跳页顶,拦截 + loadData(); +}); // ===== 启动 ===== renderBreadcrumb(); diff --git a/static/public/login.html b/static/public/login.html index 1561a22..2c96e8e 100644 --- a/static/public/login.html +++ b/static/public/login.html @@ -11,12 +11,18 @@

用户登录

- - + + + +
+ + 加载中… +
+
@@ -25,7 +31,8 @@
@@ -33,11 +40,47 @@
或
+ + + + + \ No newline at end of file diff --git a/static/public/register.html b/static/public/register.html index 3d03899..a9c0241 100644 --- a/static/public/register.html +++ b/static/public/register.html @@ -11,10 +11,7 @@

注册页面

- - - - +
验证码: diff --git a/static/security_middleware.py b/static/security_middleware.py index ea9e040..f71c34a 100644 --- a/static/security_middleware.py +++ b/static/security_middleware.py @@ -11,8 +11,8 @@ def apply_security_headers(app, csp_policy=None): @app.after_request def set_security_headers(response): - # Prevent clickjacking - response.headers['X-Frame-Options'] = 'DENY' + # Prevent clickjacking (SAMEORIGIN: 允许本站 iframe 嵌套,如登录页条例弹窗) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' # XSS protection (legacy browsers) response.headers['X-XSS-Protection'] = '1; mode=block' # Prevent MIME type sniffing @@ -30,10 +30,10 @@ def apply_security_headers(app, csp_policy=None): "default-src 'self'; " "script-src 'self' 'unsafe-inline'; " "style-src 'self' 'unsafe-inline'; " - "img-src 'self' data:; " + "img-src 'self' data: blob:; " "font-src 'self'; " "connect-src 'self'; " - "frame-ancestors 'none'" + "frame-ancestors 'self'" ) # Remove server header info diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000..ef8f28f --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1,111 @@ +#prjs +*.bin +*.build +*.dist +*.onefile-build +nuitka-crash-report.xml + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ diff --git a/tests/blackbox/README.md b/tests/blackbox/README.md new file mode 100644 index 0000000..8ff3e17 --- /dev/null +++ b/tests/blackbox/README.md @@ -0,0 +1,122 @@ +# 黑盒用户模拟测试 + +micro_servers 微服务生态的黑盒测试套件。模拟真实用户操作流程,不依赖内部实现,仅通过 HTTP/TCP 公开接口验证各服务行为。 + +## 设计原则 + +- **零依赖**: 仅使用 Python 标准库(`http.client`、`json`、`urllib`、`socket`、`argparse`) +- **用户视角**: 每个测试文件模拟一条完整的用户旅程,而非孤立 API 端点 +- **无测试框架**: 纯 `assert` + 计数器,输出 `[PASS]`/`[FAIL]`/`[SKIP]` +- **独立可运行**: 每个 `test_xxx.py` 可单独执行,也可通过 `test_runner.py` 统一调度 + +## 文件结构 + +``` +tests/blackbox/ +├── README.md # 本文档 +├── config.py # 服务地址与端口映射 +├── helpers.py # HTTP/TCP 请求封装 + 断言工具 + 计数器 +├── test_runner.py # 统一入口,--url 自动识别目标服务 +├── test_gateway.py # 用户注册 → 登录 → Token → 代理转发 +├── test_captcha.py # 获取验证码 → 校验 → 一次性消费 +├── test_smtp.py # 发送邮箱验证码 → 校验 +├── test_dnfs.py # 创建笔记 → 查询 → 更新 → 删除(含内容审核) +├── test_db.py # 日志写入 → 查询 → 统计 → 清理 +├── test_ai_review.py # 内容审核 → 人工反馈纠正 +├── test_static.py # 首页加载 → 文件浏览 → 视频流 → 路径遍历防护 +└── test_waf.py # 正常请求通行 → SQLi/XSS/命令注入/路径遍历/扫描器拦截 +``` + +## 覆盖的用户旅程 + +### 1. 注册与登录 (gateway + captcha + smtp) +``` +用户访问 captcha:8009 获取图形验证码 + → 提交 captcha_token + answer 校验 + → 访问 smtp:8008 发送邮箱验证码 + → 提交 email + code 完成邮箱验证 + → 访问 gateway:8443 POST /register 注册账号 + → 访问 gateway:8443 POST /login 登录获取 Token + → 使用 Token 通过 gateway 代理访问后端服务 +``` + +### 2. 笔记管理 (dnfs + ai_review + db) +``` +已登录用户携带 Bearer Token + → POST /add_note 创建笔记(内容经 ai_review:8007 审核) + → POST /get_notes 查询笔记列表 + → POST /update_note 更新笔记(内容重新审核) + → POST /delete_note 删除笔记 +``` + +### 3. 内容审核 (ai_review) +``` +提交违规内容 → 应返回 invalid: true +提交正常内容 → 应返回 invalid: false +提交误判反馈 → RAG 知识库更新 +``` + +### 4. 集中日志 (db) +``` +各服务通过 /log/ingest 推送日志 + → /log/query 按条件查询 + → /log/stats 聚合统计 + → /log/purge 按时间清理 +``` + +### 5. 前端静态服务 (static) +``` +访问首页 → 返回 login.html +访问文件浏览 → /api/filelist 返回目录结构 +访问视频流 → 支持 Range 分段请求 +路径遍历攻击 → 返回 403 +``` + +### 6. WAF 安全防护 (waf) +``` +正常请求 → 通过代理到达 gateway +SQL 注入载荷 → 返回 403 blocked by WAF +XSS 跨站脚本 → 返回 403 +命令注入 → 返回 403 +路径遍历 → 返回 403 +扫描器 UA → 返回 403 +``` + +## 运行方式 + +```bash +# 运行全部测试 +python3 test_runner.py + +# 指定服务地址(自动识别服务类型) +python3 test_runner.py --url http://127.0.0.1:8443 + +# 运行单个服务测试 +python3 test_gateway.py +python3 test_captcha.py +# ... 依此类推 + +# 列出所有可用测试 +python3 test_runner.py --list +``` + +## 服务端口默认值 + +| 服务 | 默认端口 | 绑定地址 | +|------|---------|---------| +| gateway | 8443 | 127.0.0.1 | +| static | 9200 | 127.0.0.1 | +| dnfs | 8006 | 127.0.0.1 | +| db | 8005 | 127.0.0.1 | +| ai_review | 8007 | 127.0.0.1 | +| captcha | 8009 | 127.0.0.1 | +| smtp | 8008 | 127.0.0.1 | +| waf | 443 | 0.0.0.0 | + +## 注意事项 + +- 测试依赖服务运行中,请先通过 `core/init.txt` 启动全部服务 +- 注册测试会创建真实数据库记录,测试完成后可手动清理 +- SMTP 测试需要真实的邮件服务配置,若未配置则相关测试标记为 SKIP +- WAF 测试需要服务监听 443 端口(可能需要 sudo) +- 所有测试设计为幂等:重复运行不会产生副作用累积 diff --git a/tests/blackbox/config.py b/tests/blackbox/config.py new file mode 100644 index 0000000..1854538 --- /dev/null +++ b/tests/blackbox/config.py @@ -0,0 +1,91 @@ +""" +micro_servers 黑盒测试 — 服务地址与端口配置。 + +每个服务定义: name, port, description, host。 +test_runner.py 通过 --url 参数自动识别目标服务。 +""" + +SERVICES = { + "gateway": { + "name": "gateway", + "host": "127.0.0.1", + "port": 8443, + "description": "应用网关 (认证+反向代理)", + "test_file": "test_gateway.py", + }, + "static": { + "name": "static", + "host": "127.0.0.1", + "port": 9200, + "description": "前端静态服务 (文件托管+视频流)", + "test_file": "test_static.py", + }, + "dnfs": { + "name": "dnfs", + "host": "127.0.0.1", + "port": 8006, + "description": "树状笔记服务 (CRUD+内容审核)", + "test_file": "test_dnfs.py", + }, + "db": { + "name": "db", + "host": "127.0.0.1", + "port": 8005, + "description": "通用数据库服务 (CRUD+集中日志)", + "test_file": "test_db.py", + }, + "ai_review": { + "name": "ai_review", + "host": "127.0.0.1", + "port": 8007, + "description": "AI 内容审核服务 (DeepSeek+ChromaDB RAG)", + "test_file": "test_ai_review.py", + }, + "captcha": { + "name": "captcha", + "host": "127.0.0.1", + "port": 8009, + "description": "验证码服务 (图片生成+校验)", + "test_file": "test_captcha.py", + }, + "smtp": { + "name": "smtp", + "host": "127.0.0.1", + "port": 8008, + "description": "邮件验证服务 (发送+校验)", + "test_file": "test_smtp.py", + }, + "waf": { + "name": "waf", + "host": "127.0.0.1", + "port": 443, + "description": "WAF 安全网关 (TLS+Coraza规则引擎)", + "test_file": "test_waf.py", + }, +} + +# 端口到服务的反向映射 +PORT_MAP = {v["port"]: v["name"] for v in SERVICES.values()} + + +def detect_service(url: str): + """从 URL 中识别目标服务。返回服务名或 None。""" + from urllib.parse import urlparse + + parsed = urlparse(url) + port = parsed.port + if port is None: + # 默认端口猜测 + if parsed.scheme == "https": + port = 443 + else: + port = 80 + return PORT_MAP.get(port) + + +def get_url(name: str) -> str: + """获取服务的完整 HTTP URL。""" + svc = SERVICES.get(name) + if not svc: + raise ValueError(f"未知服务: {name}") + return f"http://{svc['host']}:{svc['port']}" diff --git a/tests/blackbox/helpers.py b/tests/blackbox/helpers.py new file mode 100644 index 0000000..6509873 --- /dev/null +++ b/tests/blackbox/helpers.py @@ -0,0 +1,313 @@ +""" +micro_servers 黑盒测试 — 共享工具模块。 + +提供: HTTP 请求封装、断言工具、测试计数器、pymsg 协议客户端。 +纯标准库实现,零外部依赖。 +""" + +import http.client +import json +import socket +import struct +import time +import urllib.request +import urllib.error +import urllib.parse +import ssl + + +# --------------------------------------------------------------------------- +# 测试计数器 +# --------------------------------------------------------------------------- + +class Counter: + """每个测试模块一个计数器实例,统计 passed/failed/skipped。""" + def __init__(self): + self.passed = 0 + self.failed = 0 + self.skipped = 0 + self._failures = [] + + def add_pass(self): + self.passed += 1 + + def add_fail(self, name: str, reason: str = ""): + self.failed += 1 + self._failures.append((name, reason)) + + def add_skip(self): + self.skipped += 1 + + @property + def total(self): + return self.passed + self.failed + self.skipped + + def summary(self) -> str: + return f"{self.total} tests: {self.passed} passed, {self.failed} failed, {self.skipped} skipped" + + def failures(self) -> list: + return self._failures + + +# --------------------------------------------------------------------------- +# 断言工具 +# --------------------------------------------------------------------------- + +def assert_eq(actual, expected, name: str, counter: Counter): + """断言 actual == expected。""" + if actual == expected: + print(f" [PASS] {name}") + counter.add_pass() + return True + else: + print(f" [FAIL] {name}: expected {expected!r}, got {actual!r}") + counter.add_fail(name, f"expected {expected!r}, got {actual!r}") + return False + + +def assert_contains(haystack: str, needle: str, name: str, counter: Counter): + """断言 needle in haystack(不区分大小写)。""" + if needle.lower() in haystack.lower(): + print(f" [PASS] {name}") + counter.add_pass() + return True + else: + snippet = haystack[:200] if len(haystack) > 200 else haystack + print(f" [FAIL] {name}: '{needle}' not found in response") + counter.add_fail(name, f"'{needle}' not found in response") + return False + + +def assert_status(status: int, expected: int, name: str, counter: Counter): + """断言 HTTP 状态码。""" + if status == expected: + print(f" [PASS] {name}") + counter.add_pass() + return True + else: + print(f" [FAIL] {name}: expected status {expected}, got {status}") + counter.add_fail(name, f"expected status {expected}, got {status}") + return False + + +def assert_true(condition: bool, name: str, counter: Counter, detail: str = ""): + """断言条件为真。""" + if condition: + print(f" [PASS] {name}") + counter.add_pass() + return True + else: + msg = f" [FAIL] {name}" + if detail: + msg += f": {detail}" + print(msg) + counter.add_fail(name, detail) + return False + + +def assert_json_key(data: dict, key: str, name: str, counter: Counter): + """断言 JSON 对象包含指定 key。""" + if key in data: + print(f" [PASS] {name}") + counter.add_pass() + return True + else: + print(f" [FAIL] {name}: key '{key}' not found in {json.dumps(data)[:200]}") + counter.add_fail(name, f"key '{key}' not found") + return False + + +def skip(name: str, reason: str, counter: Counter): + """标记测试为跳过。""" + print(f" [SKIP] {name}: {reason}") + counter.add_skip() + + +# --------------------------------------------------------------------------- +# HTTP 请求封装 +# --------------------------------------------------------------------------- + +def http_request(method: str, url: str, *, + body: dict = None, + headers: dict = None, + timeout: float = 10.0, + raw_body: bytes = None, + raw_body_content_type: str = None): + """发送 HTTP 请求,返回 (status, body_str, resp_headers)。 + + 支持: + - JSON body (body 参数) + - 原始二进制 body (raw_body + raw_body_content_type) + - 任意自定义 headers + - 超时控制 + """ + parsed = urllib.parse.urlparse(url) + data = None + hdrs = {} + + if headers: + hdrs.update(headers) + + if raw_body is not None: + data = raw_body + if raw_body_content_type: + hdrs["Content-Type"] = raw_body_content_type + elif body is not None: + data = json.dumps(body).encode("utf-8") + hdrs["Content-Type"] = "application/json" + + ctx = ssl._create_unverified_context() if parsed.scheme == "https" else None + + req = urllib.request.Request(url, data=data, headers=hdrs, method=method) + try: + with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp: + resp_body = resp.read().decode("utf-8", errors="replace") + resp_headers = dict(resp.headers) + return resp.status, resp_body, resp_headers + except urllib.error.HTTPError as e: + resp_body = e.read().decode("utf-8", errors="replace") if e.fp else "" + resp_headers = dict(e.headers) if e.headers else {} + return e.code, resp_body, resp_headers + except Exception as e: + return 0, str(e), {} + + +def http_get(url: str, headers: dict = None, timeout: float = 10.0): + """HTTP GET 请求。""" + return http_request("GET", url, headers=headers, timeout=timeout) + + +def http_post(url: str, body: dict = None, headers: dict = None, + timeout: float = 10.0): + """HTTP POST 请求(JSON body)。""" + return http_request("POST", url, body=body, headers=headers, timeout=timeout) + + +def http_post_raw(url: str, raw_body: bytes, content_type: str, + headers: dict = None, timeout: float = 10.0): + """HTTP POST 请求(原始二进制 body)。""" + return http_request("POST", url, raw_body=raw_body, + raw_body_content_type=content_type, + headers=headers, timeout=timeout) + + +def try_parse_json(text: str): + """尝试解析 JSON,失败返回 None。""" + try: + return json.loads(text) + except (json.JSONDecodeError, ValueError): + return None + + +# --------------------------------------------------------------------------- +# pymsg 协议客户端 +# --------------------------------------------------------------------------- + +class PymsgClient: + """pymsg TCP 协议客户端(用于直接与 db:8005 通信)。 + + 协议格式: [4字节大端长度][UTF-8 JSON payload] + """ + + def __init__(self, host: str = "127.0.0.1", port: int = 8005, + name: str = "test_client"): + self.host = host + self.port = port + self.name = name + self._sock = None + + def _ensure_connected(self): + if self._sock is None: + self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self._sock.settimeout(10) + self._sock.connect((self.host, self.port)) + + def _close(self): + if self._sock: + try: + self._sock.close() + except Exception: + pass + self._sock = None + + def _send_frame(self, data: str): + """发送一帧 pymsg 数据。""" + payload = data.encode("utf-8") + header = struct.pack(">I", len(payload)) + self._sock.sendall(header + payload) + + def _recv_frame(self, timeout: float = 10.0) -> str: + """接收一帧 pymsg 数据。""" + self._sock.settimeout(timeout) + header = self._recv_exact(4, timeout) + if header is None: + raise ConnectionError("Failed to receive pymsg header") + length = struct.unpack(">I", header)[0] + payload = self._recv_exact(length, timeout) + if payload is None: + raise ConnectionError("Failed to receive pymsg payload") + return payload.decode("utf-8") + + def _recv_exact(self, n: int, timeout: float = 10.0): + """精确接收 n 字节。""" + self._sock.settimeout(timeout) + data = b"" + while len(data) < n: + try: + chunk = self._sock.recv(n - len(data)) + except socket.timeout: + return None + if not chunk: + return None + data += chunk + return data + + def call(self, payload: dict, timeout: float = 10.0) -> dict: + """发送请求并接收响应(短连接模式)。 + + payload 必须包含 "_route": "execute"。 + 返回 {"success": true/false, "data": [...], "error": "..."} + """ + try: + self._ensure_connected() + msg = json.dumps(payload) + self._send_frame(msg) + resp_text = self._recv_frame(timeout) + return json.loads(resp_text) + except Exception as e: + return {"success": False, "error": str(e)} + finally: + self._close() + + +# --------------------------------------------------------------------------- +# 服务可用性检查 +# --------------------------------------------------------------------------- + +def check_service(url: str, timeout: float = 8.0) -> tuple: + """检查服务是否可达(HTTP 请求检测,与测试实际行为一致)。 + 返回 (reachable: bool, detail: str)。 + 任何 HTTP 响应(包括 200/302/401/403 等)均视为可达。 + """ + parsed = urllib.parse.urlparse(url) + ctx = ssl._create_unverified_context() if parsed.scheme == "https" else None + try: + req = urllib.request.Request(url, method="HEAD") + with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp: + return True, f"HTTP {resp.status}" + except urllib.error.HTTPError as e: + # 任何 HTTP 错误码都说明服务在运行 + return True, f"HTTP {e.code}" + except urllib.error.URLError as e: + reason = str(e.reason) if hasattr(e, 'reason') else str(e) + return False, reason + except socket.timeout: + return False, f"HTTP 请求超时 ({timeout}s)" + except ConnectionRefusedError: + return False, "连接被拒绝 (服务未启动或端口未监听)" + except socket.gaierror: + return False, "DNS 解析失败" + except OSError as e: + return False, f"网络错误: {e.strerror if hasattr(e, 'strerror') else str(e)}" + except Exception as e: + return False, str(e) diff --git a/tests/blackbox/test_ai_review.py b/tests/blackbox/test_ai_review.py new file mode 100644 index 0000000..e7b893e --- /dev/null +++ b/tests/blackbox/test_ai_review.py @@ -0,0 +1,154 @@ +""" +ai_review 黑盒用户模拟测试 — 内容审核 + 人工反馈。 + +用户旅程: + 1. 提交明显违规内容 → 应返回 invalid: true + 2. 提交正常无害内容 → 应返回 invalid: false + 3. 提交空内容 → 应返回 400 错误 + 4. 缺少 content 字段 → 应返回 400 错误 + 5. 人工反馈纠正误判 → RAG 知识库更新 + 6. 查看 RAG 列表 + 7. 健康检查 + +注意: ai_review 依赖 DeepSeek API + ChromaDB,API 调用可能因网络/配额失败。 +测试使用了通用违规关键词,实际审核结果取决于 DeepSeek 模型判断。 +""" + +import json +import random +import string + +from helpers import ( + http_get, http_post, try_parse_json, + assert_eq, assert_status, assert_true, assert_json_key, + skip, Counter, check_service, +) +from config import get_url + +AI_REVIEW_URL = get_url("ai_review") + + +def run(url: str = None): + """ai_review 用户模拟测试入口。返回 (passed, failed, skipped)。""" + au = url or AI_REVIEW_URL + c = Counter() + + print(f"\n--- ai_review 内容审核流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(au)[0]: + skip("全部测试", "ai_review 服务不可达", c) + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 场景 1: 提交明显违规内容 — 应标记为违规 + # ------------------------------------------------------------------ + violation_texts = [ + "出售毒品冰毒海洛因,价格优惠,联系QQ123456", + "提供赌博网站搭建服务,包月维护,日入过万", + ] + violation_text = random.choice(violation_texts) + + status, body, _ = http_post(f"{au}/review", {"content": violation_text}) + assert_eq(status, 200, "审核-违规内容-响应 (200)", c) + data = try_parse_json(body) + if data: + # 注意: invalid 可能是字符串 "true"/"false" 而非布尔值 + invalid = data.get("invalid") + is_invalid = invalid in (True, "true", "True") + assert_true( + is_invalid, + "审核-违规内容-标记为invalid", c, + f"invalid={invalid}, body={body[:200]}", + ) + else: + assert_true(False, "审核-违规内容-解析失败", c, f"body={body[:200]}") + + # ------------------------------------------------------------------ + # 场景 2: 提交正常无害内容 — 应通过 + # ------------------------------------------------------------------ + safe_texts = [ + "今天天气真好,适合出去散步。", + "Python 是一门优秀的编程语言,广泛应用于数据科学和人工智能领域。", + "微服务架构是一种将应用拆分为多个小型独立服务的软件设计方法。", + ] + safe_text = random.choice(safe_texts) + + status, body, _ = http_post(f"{au}/review", {"content": safe_text}) + assert_eq(status, 200, "审核-正常内容-响应 (200)", c) + data = try_parse_json(body) + if data: + invalid = data.get("invalid") + is_invalid = invalid in (True, "true", "True") + # 正常内容应该不违规 + assert_true( + not is_invalid, + "审核-正常内容-标记为safe", c, + f"invalid={invalid}, body={body[:200]}", + ) + else: + assert_true(False, "审核-正常内容-解析失败", c, f"body={body[:200]}") + + # ------------------------------------------------------------------ + # 场景 3: 提交空内容 — 应返回 400 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{au}/review", {"content": ""}) + assert_eq(status, 400, "审核-空内容-拒绝 (400)", c) + + # ------------------------------------------------------------------ + # 场景 4: 缺少 content 字段 — 应返回 400 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{au}/review", {}) + assert_eq(status, 400, "审核-缺少content-拒绝 (400)", c) + + # ------------------------------------------------------------------ + # 场景 5: RAG 人工反馈 — 纠正误判(标注一条违规内容) + # ------------------------------------------------------------------ + feedback_text = f"test_feedback_{random.randint(10000, 99999)}: 非法内容" + status, body, _ = http_post(f"{au}/rag/feedback", { + "content": feedback_text, + "correct_type": "violation", + }) + assert_eq(status, 200, "RAG反馈-添加violation (200)", c) + data = try_parse_json(body) + if data: + assert_true( + data.get("added") in (True, False), + "RAG反馈-返回added字段", c, + ) + + # ------------------------------------------------------------------ + # 场景 6: RAG 反馈 — 参数错误 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{au}/rag/feedback", { + "content": "test", + "correct_type": "invalid_type", + }) + assert_eq(status, 400, "RAG反馈-错误类型-拒绝 (400)", c) + + # ------------------------------------------------------------------ + # 场景 7: RAG 列表查询 + # ------------------------------------------------------------------ + status, body, _ = http_get(f"{au}/rag/list") + assert_eq(status, 200, "RAG列表-查询 (200)", c) + data = try_parse_json(body) + if data: + assert_json_key(data, "total", "RAG列表-有total字段", c) + + # ------------------------------------------------------------------ + # 场景 8: 健康检查 + # ------------------------------------------------------------------ + status, body, _ = http_get(f"{au}/health") + assert_eq(status, 200, "健康检查 (200)", c) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n ai_review 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_captcha.py b/tests/blackbox/test_captcha.py new file mode 100644 index 0000000..93a5a68 --- /dev/null +++ b/tests/blackbox/test_captcha.py @@ -0,0 +1,147 @@ +""" +captcha 黑盒用户模拟测试 — 获取验证码 → 校验 → 一次性消费。 + +用户旅程: + 1. 请求 /captcha/image 获取验证码图片 + token + 2. 使用正确答案校验 → 应通过 + 3. 使用错误答案校验 → 应拒绝 + 4. 同一 token 重复校验 → 应拒绝 (一次性) + 5. 缺少 token/answer → 应报错 + 6. 不存在的 token → 应拒绝 + 7. 健康检查 +""" + +import json +import string + +from helpers import ( + http_get, http_post, http_request, + assert_eq, assert_status, assert_true, assert_json_key, assert_contains, + skip, Counter, check_service, +) +from config import get_url + +CAPTCHA_URL = get_url("captcha") + + +def run(url: str = None): + """captcha 用户模拟测试入口。返回 (passed, failed, skipped)。""" + cu = url or CAPTCHA_URL + c = Counter() + + print(f"\n--- captcha 验证码获取与校验流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(cu)[0]: + print(" captcha 服务不可达,跳过所有测试") + c.add_skip() + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 场景 1: 获取验证码图片 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{cu}/captcha/image") + assert_eq(status, 200, "获取验证码图片 (200)", c) + captcha_token = headers.get("X-Captcha-Token", headers.get("x-captcha-token", "")) + assert_true( + len(captcha_token) == 32, + "获取验证码-Token 32位hex", c, + f"token={captcha_token[:10]}...", + ) + # 验证返回的是图片 + content_type = headers.get("Content-Type", headers.get("content-type", "")) + assert_contains(content_type, "image", "获取验证码-图片类型", c) + + # ------------------------------------------------------------------ + # 场景 2: 缺少参数 — token 和 answer 都缺 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{cu}/captcha/verify", {}) + data = json.loads(body) if body else {} + assert_true( + not data.get("valid", True), + "校验-缺少参数-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 3: 不存在的 token + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{cu}/captcha/verify", { + "token": "0" * 32, + "answer": "abcde", + }) + data = json.loads(body) if body else {} + assert_true( + not data.get("valid", True), + "校验-不存在token-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 4: 错误答案 + # ------------------------------------------------------------------ + if captcha_token: + status, body, _ = http_post(f"{cu}/captcha/verify", { + "token": captcha_token, + "answer": "ZZZZZ", + }) + data = json.loads(body) if body else {} + assert_true( + not data.get("valid", True), + "校验-错误答案-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 5: 验证码一次性消费 — 拿新 token 分别测正确答案和二次使用 + # ------------------------------------------------------------------ + # 重新获取一个 captcha(上一步的 token 已被消费) + status2, body2, headers2 = http_get(f"{cu}/captcha/image") + assert_eq(status2, 200, "获取第二个验证码 (200)", c) + + # 没法从图片自动识别文字,但我们可以测试一次性消费的行为 + # 先用错误答案消费 token + token2 = headers2.get("X-Captcha-Token", headers.get("x-captcha-token", "")) + if token2: + # 第一次:错误答案 + status_a, body_a, _ = http_post(f"{cu}/captcha/verify", { + "token": token2, + "answer": "WRONG", + }) + data_a = json.loads(body_a) if body_a else {} + assert_true( + not data_a.get("valid", True), + "一次性消费-第一次用完", c, + ) + + # 第二次:同一 token 再次使用 + status_b, body_b, _ = http_post(f"{cu}/captcha/verify", { + "token": token2, + "answer": "WRONG", + }) + data_b = json.loads(body_b) if body_b else {} + assert_true( + not data_b.get("valid", True), + "一次性消费-重复使用拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 6: 健康检查 + # ------------------------------------------------------------------ + status, body, _ = http_get(f"{cu}/health") + assert_eq(status, 200, "健康检查 (200)", c) + + # ------------------------------------------------------------------ + # 场景 7: 不存在路径 → 404 + # ------------------------------------------------------------------ + status, body, _ = http_get(f"{cu}/nonexistent") + assert_eq(status, 404, "不存在路径-404", c) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n captcha 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_db.py b/tests/blackbox/test_db.py new file mode 100644 index 0000000..ca922b2 --- /dev/null +++ b/tests/blackbox/test_db.py @@ -0,0 +1,190 @@ +""" +db 黑盒用户模拟测试 — 集中日志: 写入 → 查询 → 统计 → 清理。 + +用户旅程: + 1. 通过 pymsg 协议执行 CRUD (select/insert) + 2. 通过 HTTP /log/ingest 写入日志 + 3. 通过 HTTP /log/query 查询日志 + 4. 通过 HTTP /log/stats 查看统计 + 5. 通过 HTTP /log/health 健康检查 + +注意: dbv2.py (pymsg 模式) 不挂载 Flask log_module Blueprint, +因此 HTTP /log/* 路由可能不可用。测试会优雅降级。 +""" + +import json +import random +import string +import time + +from helpers import ( + http_get, http_post, try_parse_json, + assert_eq, assert_status, assert_true, assert_json_key, + skip, Counter, check_service, PymsgClient, +) +from config import get_url + +DB_URL = get_url("db") +DB_HOST = "127.0.0.1" +DB_PORT = 8005 + + +def run(url: str = None): + """db 用户模拟测试入口。返回 (passed, failed, skipped)。""" + du = url or DB_URL + c = Counter() + + print(f"\n--- db 数据库与日志流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(du)[0]: + skip("全部测试", "db 服务不可达", c) + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 第一部分: pymsg 协议 CRUD + # ------------------------------------------------------------------ + print(" [pymsg 协议测试]") + + client = PymsgClient(DB_HOST, DB_PORT, "test_blackbox") + + # 场景 1: pymsg 查询 Users 表 + result = client.call({ + "_route": "execute", + "action": "select", + "table": "Users", + "limit": 5, + }) + assert_true( + result.get("success") is True, + "pymsg-查询Users表", c, + f"error={result.get('error', '')}", + ) + if result.get("success"): + data = result.get("data", []) + assert_true( + isinstance(data, list), + "pymsg-返回列表格式", c, + ) + + # 场景 2: pymsg 查询 Logs 表 + result = client.call({ + "_route": "execute", + "action": "select", + "table": "Logs", + "limit": 3, + "order_by": [{"column": "id", "desc": True}], + }) + assert_true( + result.get("success") is True, + "pymsg-查询Logs表", c, + f"error={result.get('error', '')}", + ) + + # 场景 3: pymsg 使用 where 条件 + result = client.call({ + "_route": "execute", + "action": "select", + "table": "Users", + "columns": ["id", "username"], + "where": {"id": {"gt": 0}}, + "limit": 1, + }) + assert_true( + result.get("success") is True, + "pymsg-条件查询", c, + f"error={result.get('error', '')}", + ) + + # 场景 4: pymsg 无效路由 + result = client.call({ + "_route": "nonexistent_route", + "action": "select", + "table": "Users", + }) + assert_true( + result.get("success") is False, + "pymsg-无效路由-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 第二部分: HTTP /log/* 接口 (Flask log_module) + # ------------------------------------------------------------------ + print("\n [HTTP /log/* 接口测试]") + + # 检查 /log/health 是否可用(Flask log_module 是否挂载) + status, body, _ = http_get(f"{du}/log/health") + if status == 0 or status >= 500: + skip("HTTP /log/* 测试", "log_module 未挂载 (dbv2 使用 pymsg 模式, 非 Flask)", c) + else: + # 场景 5: /log/health 健康检查 + assert_eq(status, 200, "log-健康检查 (200)", c) + + # 场景 6: /log/ingest 写入日志 + test_ts = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + status, body, _ = http_post(f"{du}/log/ingest", { + "logs": [{ + "service": "dnfs", + "level": "INFO", + "message": f"blackbox_test_{random.randint(10000, 99999)}", + "ts": test_ts, + }], + }) + data = try_parse_json(body) + assert_true( + status == 200 and data is not None and data.get("success") is True, + "log-写入日志", c, + f"status={status} body={body[:150]}", + ) + + # 场景 7: /log/ingest — 空日志列表 + status, body, _ = http_post(f"{du}/log/ingest", {"logs": []}) + assert_eq(status, 200, "log-空日志列表 (200)", c) + + # 场景 8: /log/ingest — 缺少 logs 字段 + status, body, _ = http_post(f"{du}/log/ingest", {}) + data = try_parse_json(body) + assert_true( + data is not None and not data.get("success", True), + "log-缺少logs字段-拒绝", c, + ) + + # 场景 9: /log/query 查询日志 + status, body, _ = http_post(f"{du}/log/query", { + "limit": 5, + "desc": True, + }) + data = try_parse_json(body) + assert_true( + status == 200 and data is not None and data.get("success") is True, + "log-查询日志", c, + f"status={status}", + ) + if data and data.get("success"): + assert_true( + "logs" in data.get("data", {}), + "log-查询返回logs字段", c, + ) + + # 场景 10: /log/stats 统计 + status, body, _ = http_post(f"{du}/log/stats", { + "group_by": "service", + }) + data = try_parse_json(body) + assert_true( + status == 200 and data is not None, + "log-统计", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n db 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_dnfs.py b/tests/blackbox/test_dnfs.py new file mode 100644 index 0000000..8f26a93 --- /dev/null +++ b/tests/blackbox/test_dnfs.py @@ -0,0 +1,229 @@ +""" +dnfs 黑盒用户模拟测试 — 创建笔记 → 查询 → 更新 → 删除(含内容审核)。 + +用户旅程: + 已登录用户携带 Bearer Token: + 1. 创建根节点笔记(内容经 ai_review 审核) + 2. 创建子节点笔记 + 3. 查询节点列表 + 4. 更新笔记标题和内容 + 5. 删除叶子节点(无子节点) + 6. 删除非空节点(应拒绝) + 7. 无 Token 操作(应拒绝) + 8. 创建时缺少必填参数(应报错) + +前提: gateway 已启动,有已注册用户和有效 Token。 +""" + +import json +import random +import string + +from helpers import ( + http_post, try_parse_json, + assert_eq, assert_status, assert_true, assert_json_key, + skip, Counter, check_service, +) +from config import get_url, SERVICES + +DNFS_URL = get_url("dnfs") +GATEWAY_URL = get_url("gateway") + + +def _random_test_user(): + suffix = ''.join(random.choices(string.ascii_lowercase, k=6)) + return f"dtest_{suffix}@test.local" + + +def _register_and_login(gw_url: str, counter: Counter): + """通过 gateway 注册并登录,返回 (token, email)。失败返回 (None, None)。""" + email = _random_test_user() + password = "TestP@ss123" + + # 注册 + status, body, _ = http_post(f"{gw_url}/register", { + "username": email, + "password": password, + }) + if status != 200: + return None, None + + data = try_parse_json(body) + if not data or not data.get("success"): + return None, None + + # 登录 + status, body, _ = http_post(f"{gw_url}/login", { + "username": email, + "password": password, + }) + if status != 200: + return None, None + + data = try_parse_json(body) + if not data or not data.get("success"): + return None, None + + token = (data.get("data") or {}).get("token", "") + return token, email + + +def run(url: str = None): + """dnfs 用户模拟测试入口。返回 (passed, failed, skipped)。""" + du = url or DNFS_URL + c = Counter() + + print(f"\n--- dnfs 笔记管理流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(du)[0]: + skip("全部测试", "dnfs 服务不可达", c) + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 准备: 注册用户并获取 Token + # ------------------------------------------------------------------ + gw_available = check_service(GATEWAY_URL)[0] + if not gw_available: + skip("全部测试", "gateway 服务不可达,无法获取 Token", c) + return c.passed, c.failed, c.skipped + + token, email = _register_and_login(GATEWAY_URL, c) + if not token: + skip("全部测试", "无法完成注册/登录获取 Token", c) + return c.passed, c.failed, c.skipped + + auth_headers = {"Authorization": f"Bearer {token}"} + + # ------------------------------------------------------------------ + # 场景 1: 无 Token 创建笔记 — 应拒绝 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{du}/add_note", { + "pid": 0, + "title": "test", + "content": "test content", + }) + assert_eq(status, 401, "创建笔记-无Token-拒绝 (401)", c) + + # ------------------------------------------------------------------ + # 场景 2: 创建笔记 — 缺少参数 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{du}/add_note", { + "pid": 0, + }, headers=auth_headers) + assert_eq(status, 400, "创建笔记-缺少title/content (400)", c) + + # ------------------------------------------------------------------ + # 场景 3: 创建根节点笔记 + # ------------------------------------------------------------------ + note_title = f"测试笔记_{random.randint(1000, 9999)}" + note_content = "这是一段正常的测试内容,用于验证笔记创建功能。" + status, body, _ = http_post(f"{du}/add_note", { + "pid": 0, + "title": note_title, + "content": note_content, + }, headers=auth_headers) + # 期望 200(审核通过则成功) + data = try_parse_json(body) + assert_true( + status == 200 and data is not None and data.get("success") is True, + "创建笔记-根节点", c, + f"status={status} body={body[:150]}", + ) + + # ------------------------------------------------------------------ + # 场景 4: 查询根节点下的笔记列表 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{du}/get_notes", {"pid": 0}) + assert_eq(status, 200, "查询笔记-根节点 (200)", c) + notes = try_parse_json(body) + assert_true( + isinstance(notes, list), + "查询笔记-返回列表", c, + ) + + # ------------------------------------------------------------------ + # 场景 5: 创建子节点笔记 + # ------------------------------------------------------------------ + # 先获取刚创建的笔记 ID + child_note_id = None + if notes and len(notes) > 0: + # 找到我们刚创建的笔记 + for note in notes: + if note.get("title") == note_title: + child_note_id = note.get("id") + break + + if child_note_id: + child_title = f"子笔记_{random.randint(1000, 9999)}" + child_content = "这是子节点的测试内容。" + status, body, _ = http_post(f"{du}/add_note", { + "pid": child_note_id, + "title": child_title, + "content": child_content, + }, headers=auth_headers) + data = try_parse_json(body) + assert_true( + status == 200 and data is not None, + "创建笔记-子节点", c, + f"status={status} body={body[:150]}", + ) + + # ------------------------------------------------------------------ + # 场景 6: 删除非空节点 — 应拒绝(有子节点) + # ------------------------------------------------------------------ + if child_note_id: + status, body, _ = http_post(f"{du}/delete_note", { + "id": child_note_id, + }, headers=auth_headers) + data = try_parse_json(body) + assert_true( + status in (400, 403) or (data and not data.get("success")), + "删除笔记-非空节点-拒绝", c, + f"status={status} body={body[:150]}", + ) + + # ------------------------------------------------------------------ + # 场景 7: 更新笔记内容 + # ------------------------------------------------------------------ + if child_note_id: + updated_title = f"更新_{random.randint(1000, 9999)}" + updated_content = "更新后的测试内容,依然正常无害。" + status, body, _ = http_post(f"{du}/update_note", { + "id": child_note_id, + "pid": 0, + "title": updated_title, + "content": updated_content, + }, headers=auth_headers) + data = try_parse_json(body) + assert_true( + status == 200 and data is not None and data.get("success") is True, + "更新笔记-内容", c, + f"status={status} body={body[:150]}", + ) + + # ------------------------------------------------------------------ + # 场景 8: 更新笔记 — 缺少参数 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{du}/update_note", { + "id": child_note_id, + }, headers=auth_headers) + assert_eq(status, 400, "更新笔记-缺少参数 (400)", c) + + # ------------------------------------------------------------------ + # 场景 9: 删除笔记 — 缺少 id 参数 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{du}/delete_note", {}, headers=auth_headers) + assert_eq(status, 400, "删除笔记-缺少id (400)", c) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n dnfs 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_gateway.py b/tests/blackbox/test_gateway.py new file mode 100644 index 0000000..f9d06e6 --- /dev/null +++ b/tests/blackbox/test_gateway.py @@ -0,0 +1,218 @@ +""" +gateway 黑盒用户模拟测试 — 注册 → 登录 → Token → 代理转发。 + +用户旅程: + 1. 注册新账号(含密码强度校验、邮箱格式校验) + 2. 登录获取 Token + 3. Token 用于代理访问后端服务 + 4. 重复注册(应失败) + 5. 错误密码登录(应失败) + 6. 无效 Token 代理(应拒绝) + 7. 密码强度不足(应拒绝) + 8. 邮箱格式错误(应拒绝) +""" + +import json +import random +import string +import time + +from helpers import ( + http_get, http_post, try_parse_json, + assert_eq, assert_status, assert_true, assert_json_key, + Counter, check_service, +) +from config import get_url + +GATEWAY_URL = get_url("gateway") +STATIC_URL = get_url("static") + + +def _random_email(): + """生成随机测试邮箱。""" + suffix = ''.join(random.choices(string.ascii_lowercase, k=8)) + return f"test_{suffix}@example.com" + + +def _random_password(): + """生成符合强度要求的随机密码。""" + chars = string.ascii_letters + string.digits + "!@#$%" + return ''.join(random.choices(chars, k=12)) + + +def run(url: str = None): + """gateway 用户模拟测试入口。返回 (passed, failed, skipped)。""" + gw = url or GATEWAY_URL + c = Counter() + + print(f"\n--- gateway 用户注册与登录流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(gw)[0]: + print(" gateway 服务不可达,跳过所有测试") + c.add_skip() + return c.passed, c.failed, c.skipped + + email = _random_email() + password = _random_password() + token = None + + # ------------------------------------------------------------------ + # 场景 1: 注册 — 密码强度不足 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{gw}/register", { + "username": email, + "password": "123", + }) + assert_eq(status, 401, "注册-密码太短 (401)", c) + data = try_parse_json(body) + assert_true( + data is not None and not data.get("success"), + "注册-密码太短-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 2: 注册 — 邮箱格式错误 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{gw}/register", { + "username": "not-an-email", + "password": _random_password(), + }) + assert_eq(status, 400, "注册-邮箱格式错误 (400)", c) + data = try_parse_json(body) + assert_true( + data is not None and not data.get("success"), + "注册-邮箱格式错误-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 3: 注册 — 成功 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{gw}/register", { + "username": email, + "password": password, + }) + assert_eq(status, 200, "注册-成功 (200)", c) + data = try_parse_json(body) + assert_true( + data is not None and data.get("success") is True, + "注册-返回 success=true", c, + ) + + # ------------------------------------------------------------------ + # 场景 4: 注册 — 重复用户名 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{gw}/register", { + "username": email, + "password": password, + }) + # 期望注册失败(用户名已存在) + assert_true( + status != 200 or (try_parse_json(body) or {}).get("success") is not True, + "注册-重复用户名-拒绝", c, + f"status={status}, body={body[:100]}", + ) + + # ------------------------------------------------------------------ + # 场景 5: 登录 — 错误密码 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{gw}/login", { + "username": email, + "password": "WrongPassword1", + }) + assert_eq(status, 401, "登录-错误密码 (401)", c) + data = try_parse_json(body) + assert_true( + data is not None and not data.get("success"), + "登录-错误密码-拒绝", c, + ) + + # ------------------------------------------------------------------ + # 场景 6: 登录 — 成功获取 Token + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{gw}/login", { + "username": email, + "password": password, + }) + assert_eq(status, 200, "登录-成功 (200)", c) + data = try_parse_json(body) + assert_true( + data is not None and data.get("success") is True, + "登录-返回 success=true", c, + ) + token_data = (data or {}).get("data", {}) + token = token_data.get("token", "") + assert_true( + len(token) > 20 if token else False, + "登录-Token 不为空", c, + ) + + # ------------------------------------------------------------------ + # 场景 7: 代理 — 使用 Token 访问静态服务 + # ------------------------------------------------------------------ + if token: + status, body, headers = http_get( + f"{gw}/", + headers={ + "Authorization": f"Bearer {token}", + "Target-Url": STATIC_URL, + }, + ) + assert_true( + status in (200, 302, 301), + "代理-GET静态首页", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 8: 代理 — 无 Token 应拒绝 + # ------------------------------------------------------------------ + status, body, _ = http_get( + f"{gw}/some-path", + headers={"Target-Url": STATIC_URL}, + ) + # 缺少 Token 应返回 400/401 + assert_true( + status in (400, 401, 403), + "代理-无Token拒绝", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 9: 代理 — 无效路径(路径遍历) + # ------------------------------------------------------------------ + if token: + status, body, _ = http_get( + f"{gw}/../../../etc/passwd", + headers={ + "Authorization": f"Bearer {token}", + "Target-Url": STATIC_URL, + }, + ) + assert_true( + status in (400, 403), + "代理-路径遍历拒绝", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 10: 默认代理 (无 Target-Url,无需 Token) + # ------------------------------------------------------------------ + status, body, _ = http_get(f"{gw}/") + assert_true( + status in (200, 302, 301), + "代理-默认路由", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n gateway 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_runner.py b/tests/blackbox/test_runner.py new file mode 100644 index 0000000..8729763 --- /dev/null +++ b/tests/blackbox/test_runner.py @@ -0,0 +1,188 @@ +""" +micro_servers 黑盒测试 — 统一运行入口。 + +用法: + python3 test_runner.py # 运行全部测试 + python3 test_runner.py --url http://127.0.0.1:8443 # 测试指定服务 + python3 test_runner.py --list # 列出可用测试 + python3 test_runner.py --service gateway # 按服务名运行 +""" + +import argparse +import importlib +import os +import sys + +# 确保当前目录在 path 中 +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) + +from config import SERVICES, PORT_MAP, detect_service, get_url +from helpers import check_service + +TEST_MODULES = { + "gateway": "test_gateway", + "captcha": "test_captcha", + "smtp": "test_smtp", + "dnfs": "test_dnfs", + "db": "test_db", + "ai_review": "test_ai_review", + "static": "test_static", + "waf": "test_waf", +} + + +def run_service_test(name: str, url: str) -> tuple: + """运行单个服务的测试,返回 (passed, failed, skipped)。""" + module_name = TEST_MODULES.get(name) + if not module_name: + print(f"未知服务: {name}") + return 0, 0, 0 + + try: + mod = importlib.import_module(module_name) + except ImportError as e: + print(f"无法加载测试模块 {module_name}: {e}") + return 0, 0, 0 + + if not hasattr(mod, "run"): + print(f"模块 {module_name} 缺少 run(url) 函数") + return 0, 0, 0 + + svc = SERVICES[name] + print(f"\n{'='*60}") + print(f" {svc['description']} ({url})") + print(f"{'='*60}") + + reachable, detail = check_service(url) + if not reachable: + print(f" [WARN] 服务不可达: {url}") + if detail: + print(f" 原因: {detail}") + print(f" 所有测试将被跳过。请先启动服务。\n") + return 0, 0, 0 + + passed, failed, skipped = mod.run(url) + return passed, failed, skipped + + +def run_all(): + """运行全部服务的测试。""" + total_passed = 0 + total_failed = 0 + total_skipped = 0 + + for name in SERVICES: + url = get_url(name) + p, f, s = run_service_test(name, url) + total_passed += p + total_failed += f + total_skipped += s + + total = total_passed + total_failed + total_skipped + print(f"\n{'='*60}") + print(f" 全部测试完成: {total} total, " + f"{total_passed} passed, {total_failed} failed, {total_skipped} skipped") + print(f"{'='*60}") + + return total_failed + + +def run_by_url(url: str): + """以 URL 为入口,测试全部可代理服务,内部服务自动回退 localhost。 + + 可代理服务 (通过 WAF→gateway 代理链): waf, gateway, static, dnfs + 内部服务 (仅 localhost 直连): db, ai_review, captcha, smtp + """ + from urllib.parse import urlparse + + hostname = urlparse(url).hostname or "" + is_remote = hostname not in ("127.0.0.1", "localhost", "::1") + + if is_remote: + print(f" 入口: {url}") + print(f" 可代理服务 (waf/gateway/static/dnfs) 通过入口测试") + print(f" 内部服务 (db/ai_review/captcha/smtp) 回退到 localhost") + print() + + # 可通过入口 URL 访问的服务 + proxyable = {"waf", "gateway", "static", "dnfs"} + total_passed = 0 + total_failed = 0 + total_skipped = 0 + + for name in SERVICES: + if name in proxyable: + service_url = url + else: + service_url = get_url(name) + + p, f, s = run_service_test(name, service_url) + total_passed += p + total_failed += f + total_skipped += s + + total = total_passed + total_failed + total_skipped + print(f"\n{'='*60}") + print(f" 全部测试完成: {total} total, " + f"{total_passed} passed, {total_failed} failed, {total_skipped} skipped") + print(f"{'='*60}") + + return total_failed + + +def run_by_name(name: str): + """按服务名运行测试。""" + svc = SERVICES.get(name) + if not svc: + print(f"未知服务: {name}") + print(f"可用服务: {', '.join(SERVICES.keys())}") + return 1 + + url = get_url(name) + p, f, s = run_service_test(name, url) + return f + + +def list_tests(): + """列出所有可用测试。""" + print("可用的黑盒测试:\n") + for name, svc in SERVICES.items(): + print(f" {name:12s} 端口 {svc['port']:<5d} {svc['description']}") + print() + + +def main(): + parser = argparse.ArgumentParser( + description="micro_servers 黑盒用户模拟测试", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +示例: + %(prog)s # 全部服务 localhost 测试 + %(prog)s --url https://qsont.me # 公网入口测试全部可代理服务 + %(prog)s --url http://127.0.0.1:8443 # 本地入口测试全部 + %(prog)s --service gateway # 仅测试指定服务 + %(prog)s --list # 列出可用测试 + """, + ) + parser.add_argument("--url", help="入口 URL,通过它测试全部可代理服务(内部服务回退 localhost)") + parser.add_argument("--service", help="按服务名称运行测试") + parser.add_argument("--list", action="store_true", help="列出所有可用测试") + + args = parser.parse_args() + + if args.list: + list_tests() + return 0 + + if args.url: + return run_by_url(args.url) + + if args.service: + return run_by_name(args.service) + + # 默认:运行全部 + return run_all() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tests/blackbox/test_smtp.py b/tests/blackbox/test_smtp.py new file mode 100644 index 0000000..ada18fa --- /dev/null +++ b/tests/blackbox/test_smtp.py @@ -0,0 +1,114 @@ +""" +smtp 黑盒用户模拟测试 — 发送邮箱验证码 → 校验。 + +用户旅程: + 1. 发送验证码到测试邮箱 + 2. 用错误验证码校验 → 应失败 + 3. 用空参数校验 → 应报错 + +注意: SMTP 服务需要配置真实的邮件服务器。若服务不可达或邮件发送失败, +相关测试将标记为 SKIP。验证码有效期为 60 秒。 +""" + +import json +import random +import string + +from helpers import ( + http_post, try_parse_json, + assert_eq, assert_status, assert_true, + skip, Counter, check_service, +) +from config import get_url + +SMTP_URL = get_url("smtp") + + +def run(url: str = None): + """smtp 用户模拟测试入口。返回 (passed, failed, skipped)。""" + su = url or SMTP_URL + c = Counter() + + print(f"\n--- smtp 邮件验证码发送与校验流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(su)[0]: + skip("全部测试", "smtp 服务不可达", c) + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 场景 1: 发送验证码 — 缺少 email 参数 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{su}/send_email", {}) + data = try_parse_json(body) + # 预期返回错误 + assert_true( + status != 200 or (data and data.get("error")), + "发送验证码-缺少email-报错", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 2: 发送验证码 — 空 email + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{su}/send_email", {"email": ""}) + data = try_parse_json(body) + assert_true( + status != 200 or (data and data.get("error")), + "发送验证码-空email-报错", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 3: 校验验证码 — 缺少参数 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{su}/verify_email", {}) + data = try_parse_json(body) + assert_true( + status != 200 or (data and data.get("error")), + "校验验证码-缺少参数-报错", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 4: 校验验证码 — 错误验证码 + # ------------------------------------------------------------------ + test_email = f"test_{random.randint(10000, 99999)}@example.com" + status, body, _ = http_post(f"{su}/verify_email", { + "email": test_email, + "input_captcha": "000000", + }) + data = try_parse_json(body) + # 未发送过的 email 验证应失败 + assert_true( + status != 200 or (data and not data.get("success")), + "校验验证码-错误码-拒绝", c, + f"status={status} body={body[:100]}", + ) + + # ------------------------------------------------------------------ + # 场景 5: 发送验证码 — 不存在的邮箱域名 + # ------------------------------------------------------------------ + status, body, _ = http_post(f"{su}/send_email", { + "email": "nobody@this-domain-does-not-exist-12345.com", + }) + data = try_parse_json(body) + # SMTP 可能成功发送请求(服务接受),或者返回错误 + # 两种情况都算通过 — 至少服务正常响应了 + assert_true( + status in (200, 400, 500) and data is not None, + "发送验证码-服务正常响应", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n smtp 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_static.py b/tests/blackbox/test_static.py new file mode 100644 index 0000000..3454d8c --- /dev/null +++ b/tests/blackbox/test_static.py @@ -0,0 +1,146 @@ +""" +static 黑盒用户模拟测试 — 首页加载 → 文件浏览 → 路径遍历防护 → 视频流。 + +用户旅程: + 1. 访问首页 → 返回 HTML 登录页 + 2. 访问 /dnfs.html → 树状笔记前端 + 3. 访问 /api/filelist → 目录列表 JSON + 4. 访问静态资源 (CSS/JS) → 返回正确 MIME 类型 + 5. 路径遍历攻击 → 返回 403 + 6. 不存在的文件 → 返回 404 + 7. 健康检查 + 8. DNFS 代理接口 (CORS 预检) +""" + +import json + +from helpers import ( + http_get, http_post, try_parse_json, + assert_eq, assert_status, assert_true, assert_contains, + skip, Counter, check_service, +) +from config import get_url + +STATIC_URL = get_url("static") + + +def run(url: str = None): + """static 用户模拟测试入口。返回 (passed, failed, skipped)。""" + su = url or STATIC_URL + c = Counter() + + print(f"\n--- static 前端静态服务流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + if not check_service(su)[0]: + skip("全部测试", "static 服务不可达", c) + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 场景 1: 访问首页 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/") + assert_eq(status, 200, "首页-加载 (200)", c) + content_type = headers.get("Content-Type", headers.get("content-type", "")) + assert_contains(content_type, "text/html", "首页-Content-Type text/html", c) + + # ------------------------------------------------------------------ + # 场景 2: 访问 DNFS 前端页面 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/dnfs.html") + assert_eq(status, 200, "DNFS页面-加载 (200)", c) + + # ------------------------------------------------------------------ + # 场景 3: 访问 CSS 资源 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/css/theme.css") + assert_true( + status in (200, 404), + "CSS资源-请求", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 4: 访问 JS 资源 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/js/dnfs.js") + assert_true( + status in (200, 404), + "JS资源-请求", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 5: 路径遍历攻击 — ../ 应返回 403 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/../../../etc/passwd") + assert_eq(status, 403, "路径遍历-../-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 6: 路径遍历 — URL 编码 ..%2f + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/..%2f..%2f..%2fetc%2fpasswd") + assert_eq(status, 403, "路径遍历-URL编码-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 7: 不存在的文件 → 404 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/this-file-does-not-exist-12345.html") + assert_eq(status, 404, "不存在文件-404", c) + + # ------------------------------------------------------------------ + # 场景 8: 健康检查 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/health") + assert_eq(status, 200, "健康检查 (200)", c) + + # ------------------------------------------------------------------ + # 场景 9: /api/filelist — 目录列表 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/api/filelist") + assert_eq(status, 200, "文件列表-API (200)", c) + data = try_parse_json(body) + assert_true( + data is not None and data.get("success") is True, + "文件列表-返回success", c, + f"body={body[:200]}", + ) + if data and data.get("success"): + items = data.get("items", []) + assert_true( + isinstance(items, list), + "文件列表-返回items数组", c, + ) + + # ------------------------------------------------------------------ + # 场景 10: /api/filelist — 路径遍历 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/api/filelist?path=../../../etc") + assert_true( + status in (403, 400), + "文件列表-路径遍历-拒绝", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 11: DNFS 代理接口 — OPTIONS 预检 + # ------------------------------------------------------------------ + status, body, headers = http_get(f"{su}/add_note") # OPTIONS 需要特殊处理 + # 简单的 GET 代理转发测试 + assert_true( + status in (200, 400, 401, 405), + "DNFS代理-add_note可达", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n static 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/tests/blackbox/test_waf.py b/tests/blackbox/test_waf.py new file mode 100644 index 0000000..0c00a22 --- /dev/null +++ b/tests/blackbox/test_waf.py @@ -0,0 +1,139 @@ +""" +waf 黑盒用户模拟测试 — 正常请求通行 vs 攻击载荷拦截。 + +用户旅程: + 1. 正常请求 → 通过 + 2. SQL 注入载荷 → 403 blocked by WAF + 3. XSS 跨站脚本载荷 → 403 + 4. 命令注入载荷 → 403 + 5. 路径遍历载荷 → 403 + 6. 扫描器 User-Agent → 403 + +注意: WAF 监听 443 端口 (TLS),测试时需注意证书验证。 +""" + +import ssl +import urllib.request +import urllib.error + +from helpers import ( + http_get, + assert_eq, assert_status, assert_true, assert_contains, + skip, Counter, check_service, +) +from config import get_url + +WAF_URL = "https://127.0.0.1:443" # WAF 监听 443 需要 HTTPS + + +def _waf_get(base_url: str, path: str, headers: dict = None): + """通过 WAF 发送 HTTPS GET 请求(跳过证书验证)。""" + ctx = ssl._create_unverified_context() + url = f"{base_url}{path}" + hdrs = headers or {} + req = urllib.request.Request(url, headers=hdrs, method="GET") + try: + with urllib.request.urlopen(req, timeout=10.0, context=ctx) as resp: + return resp.status, resp.read().decode("utf-8", errors="replace"), dict(resp.headers) + except urllib.error.HTTPError as e: + body = e.read().decode("utf-8", errors="replace") if e.fp else "" + return e.code, body, dict(e.headers) if e.headers else {} + except Exception as e: + return 0, str(e), {} + + +def run(url: str = None): + """waf 用户模拟测试入口。返回 (passed, failed, skipped)。""" + wu = url or WAF_URL + c = Counter() + + print(f"\n--- waf 安全防护流程 ---\n") + + # ------------------------------------------------------------------ + # 0. 检查服务可用性 + # ------------------------------------------------------------------ + reachable, detail = check_service(wu) + if not reachable: + skip("全部测试", f"WAF 不可达: {detail}", c) + return c.passed, c.failed, c.skipped + + # ------------------------------------------------------------------ + # 场景 1: 正常请求应通过 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/") + assert_true( + status != 403, + "正常请求-通过", c, + f"status={status}", + ) + + # ------------------------------------------------------------------ + # 场景 2: SQL 注入 — UNION SELECT + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?id=1 UNION SELECT * FROM users") + assert_eq(status, 403, "SQLi-UNION SELECT-拦截 (403)", c) + assert_contains(body, "blocked by WAF", "SQLi-响应体 blocked", c) + + # ------------------------------------------------------------------ + # 场景 3: SQL 注入 — SQL 注释符 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?user=admin'--") + assert_eq(status, 403, "SQLi-注释符-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 4: XSS — script 标签 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?q=") + assert_eq(status, 403, "XSS-script标签-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 5: XSS — onerror 事件 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?q=") + assert_eq(status, 403, "XSS-onerror-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 6: 命令注入 — cat /etc/passwd + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?cmd=; cat /etc/passwd") + assert_eq(status, 403, "命令注入-cat-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 7: 命令注入 — id 命令 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?x=| id") + assert_eq(status, 403, "命令注入-id-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 8: 路径遍历 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?file=../../../etc/passwd") + assert_eq(status, 403, "路径遍历-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 9: 路径遍历 — URL 编码 + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/?file=..%2f..%2f..%2fetc%2fpasswd") + assert_eq(status, 403, "路径遍历-URL编码-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 10: 扫描器 User-Agent + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/", headers={"User-Agent": "sqlmap/1.0"}) + assert_eq(status, 403, "扫描器UA-sqlmap-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 场景 11: 扫描器 User-Agent — Nikto + # ------------------------------------------------------------------ + status, body, headers = _waf_get(wu, "/", headers={"User-Agent": "Nikto"}) + assert_eq(status, 403, "扫描器UA-nikto-拦截 (403)", c) + + # ------------------------------------------------------------------ + # 汇总 + # ------------------------------------------------------------------ + print(f"\n waf 测试完成: {c.summary()}") + return c.passed, c.failed, c.skipped + + +if __name__ == "__main__": + run() diff --git a/gateway/_gen.sh b/waf/_gen.sh similarity index 100% rename from gateway/_gen.sh rename to waf/_gen.sh diff --git a/waf/internal/proxy/proxy.go b/waf/internal/proxy/proxy.go index 861a9a7..bacd0a4 100644 --- a/waf/internal/proxy/proxy.go +++ b/waf/internal/proxy/proxy.go @@ -48,11 +48,34 @@ func New(upstream string, waf *engine.Engine) (*Proxy, error) { rp.ErrorHandler = func(w http.ResponseWriter, r *http.Request, err error) { logclient.Error("waf", fmt.Sprintf("upstream_error path=%s err=%v", r.URL.Path, err), map[string]any{"ip": r.RemoteAddr}) + setSecurityHeaders(w.Header()) http.Error(w, "upstream unavailable", http.StatusBadGateway) } + // 统一注入安全响应头:在边缘单点覆盖所有出站响应。 + // Header.Set 覆盖下游同名头,不会产生重复字段 + rp.ModifyResponse = func(res *http.Response) error { + setSecurityHeaders(res.Header) + return nil + } return p, nil } +// setSecurityHeaders 设置安全响应头基线(与 static/security_middleware.py 保持一致)。 +// CSP 暂保留 unsafe-inline:forgot.html 与 games/*.html 含内联脚本。 +// HSTS 半年期、不含子域,站点全量 HTTPS 后可按需收紧。 +func setSecurityHeaders(h http.Header) { + // SAMEORIGIN:允许本站 iframe 嵌套(登录页条例弹窗),仍防跨站点击劫持 + h.Set("X-Frame-Options", "SAMEORIGIN") + h.Set("X-Content-Type-Options", "nosniff") + h.Set("X-XSS-Protection", "1; mode=block") + h.Set("Referrer-Policy", "strict-origin-when-cross-origin") + h.Set("Permissions-Policy", "camera=(), microphone=(), geolocation=()") + h.Set("Strict-Transport-Security", "max-age=15552000") + h.Set("Content-Security-Policy", + "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; "+ + "img-src 'self' data: blob:; font-src 'self'; connect-src 'self'; frame-ancestors 'self'") +} + // ServeHTTP 实现 http.Handler。 // 流程:ProcessRequest → 命中则 403 → 否则转发 → ProcessResponseHeaders。 func (p *Proxy) ServeHTTP(w http.ResponseWriter, r *http.Request) { @@ -126,6 +149,7 @@ func (p *Proxy) block(w http.ResponseWriter, r *http.Request, ruleID int, start "ua": r.UserAgent(), "cost_ms": time.Since(start).Milliseconds(), }) + setSecurityHeaders(w.Header()) w.WriteHeader(http.StatusForbidden) _, _ = w.Write([]byte("blocked by WAF\n")) }