diff --git a/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.FCStd b/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.FCStd
new file mode 100644
index 00000000..0512bafd
Binary files /dev/null and b/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.FCStd differ
diff --git a/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.step b/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.step
new file mode 100644
index 00000000..6e29bb24
--- /dev/null
+++ b/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.step
@@ -0,0 +1,1419 @@
+ISO-10303-21;
+HEADER;
+FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
+FILE_NAME('Open CASCADE Shape Model','2024-08-10T18:33:26',(''),(''),
+  'Open CASCADE STEP processor 7.6','FreeCAD','Unknown');
+FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
+ENDSEC;
+DATA;
+#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
+  'automotive_design',2000,#2);
+#2 = APPLICATION_CONTEXT(
+  'core data for automotive mechanical design processes');
+#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
+#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
+#5 = PRODUCT_DEFINITION('design','',#6,#9);
+#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
+#7 = PRODUCT('Duct_curved_circular_complete_R02',
+  'Duct_curved_circular_complete_R02','',(#8));
+#8 = PRODUCT_CONTEXT('',#2,'mechanical');
+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#10 = SHAPE_REPRESENTATION('',(#11,#15,#19,#23),#27);
+#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
+#12 = CARTESIAN_POINT('',(0.,0.,0.));
+#13 = DIRECTION('',(0.,0.,1.));
+#14 = DIRECTION('',(1.,0.,-0.));
+#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);
+#16 = CARTESIAN_POINT('',(0.,0.,0.));
+#17 = DIRECTION('',(0.,0.,1.));
+#18 = DIRECTION('',(1.,0.,0.));
+#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);
+#20 = CARTESIAN_POINT('',(0.,0.,0.));
+#21 = DIRECTION('',(0.,0.,1.));
+#22 = DIRECTION('',(1.,0.,0.));
+#23 = AXIS2_PLACEMENT_3D('',#24,#25,#26);
+#24 = CARTESIAN_POINT('',(0.,0.,0.));
+#25 = DIRECTION('',(0.,0.,1.));
+#26 = DIRECTION('',(1.,0.,0.));
+#27 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#31)) GLOBAL_UNIT_ASSIGNED_CONTEXT(
+(#28,#29,#30)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#28 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#29 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#30 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#31 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-06),#28,
+  'distance_accuracy_value','confusion accuracy');
+#32 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
+#33 = SHAPE_DEFINITION_REPRESENTATION(#34,#40);
+#34 = PRODUCT_DEFINITION_SHAPE('','',#35);
+#35 = PRODUCT_DEFINITION('design','',#36,#39);
+#36 = PRODUCT_DEFINITION_FORMATION('','',#37);
+#37 = PRODUCT('Duct_reduction_curved_','Duct_reduction_curved_','',(#38)
+  );
+#38 = PRODUCT_CONTEXT('',#2,'mechanical');
+#39 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#40 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#41),#649);
+#41 = MANIFOLD_SOLID_BREP('',#42);
+#42 = CLOSED_SHELL('',(#43,#334,#374,#414));
+#43 = ADVANCED_FACE('',(#44),#117,.F.);
+#44 = FACE_BOUND('',#45,.F.);
+#45 = EDGE_LOOP('',(#46,#62,#89,#90));
+#46 = ORIENTED_EDGE('',*,*,#47,.T.);
+#47 = EDGE_CURVE('',#48,#50,#52,.T.);
+#48 = VERTEX_POINT('',#49);
+#49 = CARTESIAN_POINT('',(703.,5.7E-14,5.7E-14));
+#50 = VERTEX_POINT('',#51);
+#51 = CARTESIAN_POINT('',(2.1942412E-08,653.,-5.7E-14));
+#52 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#53,#54,#55,#56,#57,#58,#59,#60,
+    #61),.UNSPECIFIED.,.F.,.F.,(9,9),(0.,1.570796326761),
+  .PIECEWISE_BEZIER_KNOTS.);
+#53 = CARTESIAN_POINT('',(703.,5.684E-14,5.684E-14));
+#54 = CARTESIAN_POINT('',(696.75,138.03372721415,4.263E-14));
+#55 = CARTESIAN_POINT('',(659.52530404611,273.26246098764,2.842E-14));
+#56 = CARTESIAN_POINT('',(592.42762179908,397.57695136175,1.421E-14));
+#57 = CARTESIAN_POINT('',(499.10473585542,503.33011807388,0.));
+#58 = CARTESIAN_POINT('',(385.53112700546,584.33357048376,-1.421E-14));
+#59 = CARTESIAN_POINT('',(259.23749380582,636.72834073398,-2.842E-14));
+#60 = CARTESIAN_POINT('',(128.21625019404,659.24999999569,-4.263E-14));
+#61 = CARTESIAN_POINT('',(2.194241233E-08,653.,-5.684E-14));
+#62 = ORIENTED_EDGE('',*,*,#63,.F.);
+#63 = EDGE_CURVE('',#50,#50,#64,.T.);
+#64 = B_SPLINE_CURVE_WITH_KNOTS('',12,(#65,#66,#67,#68,#69,#70,#71,#72,
+    #73,#74,#75,#76,#77,#78,#79,#80,#81,#82,#83,#84,#85,#86,#87,#88),
+  .UNSPECIFIED.,.T.,.F.,(1,12,11,12,1),(-0.5,0.,0.5,1.,1.5),
+  .UNSPECIFIED.);
+#65 = CARTESIAN_POINT('',(2.194241233E-08,653.,-5.684E-14));
+#66 = CARTESIAN_POINT('',(2.194246917E-08,653.,66.235245113205));
+#67 = CARTESIAN_POINT('',(2.130684607E-08,634.08325784252,
+    132.47049025548));
+#68 = CARTESIAN_POINT('',(2.003548616E-08,596.24977753206,
+    192.76286538041));
+#69 = CARTESIAN_POINT('',(1.819825002E-08,541.5739913598,241.16950295042
+    ));
+#70 = CARTESIAN_POINT('',(1.593440402E-08,474.20487528965,
+    272.56215979594));
+#71 = CARTESIAN_POINT('',(1.344102429E-08,400.,283.44190432631));
+#72 = CARTESIAN_POINT('',(1.094753088E-08,325.79512471033,
+    272.56215979593));
+#73 = CARTESIAN_POINT('',(8.68377015E-09,258.42600864019,241.16950295044
+    ));
+#74 = CARTESIAN_POINT('',(6.84656243E-09,203.75022246794,192.7628653804)
+  );
+#75 = CARTESIAN_POINT('',(5.57523094E-09,165.91674215746,132.47049025548
+    ));
+#76 = CARTESIAN_POINT('',(4.93957941E-09,147.,66.235245113207));
+#77 = CARTESIAN_POINT('',(4.93959362E-09,146.99999999999,-66.23524511321
+    ));
+#78 = CARTESIAN_POINT('',(5.57524515E-09,165.91674215747,-132.4704902554
+    ));
+#79 = CARTESIAN_POINT('',(6.84653401E-09,203.75022246791,-192.7628653805
+    ));
+#80 = CARTESIAN_POINT('',(8.68377015E-09,258.42600864026,-241.1695029501
+    ));
+#81 = CARTESIAN_POINT('',(1.09475593E-08,325.79512471022,-272.5621597963
+    ));
+#82 = CARTESIAN_POINT('',(1.344102429E-08,400.00000000016,
+    -283.4419043258));
+#83 = CARTESIAN_POINT('',(1.593451771E-08,474.20487528948,
+    -272.5621597962));
+#84 = CARTESIAN_POINT('',(1.819825002E-08,541.57399135994,
+    -241.1695029502));
+#85 = CARTESIAN_POINT('',(2.0035543E-08,596.24977753197,-192.7628653804)
+  );
+#86 = CARTESIAN_POINT('',(2.130684607E-08,634.08325784256,
+    -132.4704902554));
+#87 = CARTESIAN_POINT('',(2.194246917E-08,652.99999999999,-66.2352451132
+    ));
+#88 = CARTESIAN_POINT('',(2.194241233E-08,653.,-5.684E-14));
+#89 = ORIENTED_EDGE('',*,*,#47,.F.);
+#90 = ORIENTED_EDGE('',*,*,#91,.T.);
+#91 = EDGE_CURVE('',#48,#48,#92,.T.);
+#92 = B_SPLINE_CURVE_WITH_KNOTS('',12,(#93,#94,#95,#96,#97,#98,#99,#100,
+    #101,#102,#103,#104,#105,#106,#107,#108,#109,#110,#111,#112,#113,
+    #114,#115,#116),.UNSPECIFIED.,.T.,.F.,(1,12,11,12,1),(-0.5,0.,0.5,1.
+    ,1.5),.UNSPECIFIED.);
+#93 = CARTESIAN_POINT('',(703.,5.684E-14,5.684E-14));
+#94 = CARTESIAN_POINT('',(703.00000000001,0.,79.325214503158));
+#95 = CARTESIAN_POINT('',(680.34477125012,0.,158.65042904118));
+#96 = CARTESIAN_POINT('',(635.03431854635,5.684E-14,230.85829332111));
+#97 = CARTESIAN_POINT('',(569.55304103555,5.684E-14,288.83146005543));
+#98 = CARTESIAN_POINT('',(488.86987040633,1.1369E-13,326.42819928105));
+#99 = CARTESIAN_POINT('',(399.99999999984,5.684E-14,339.45809095235));
+#100 = CARTESIAN_POINT('',(311.13012959395,5.684E-14,326.42819928104));
+#101 = CARTESIAN_POINT('',(230.44695896423,5.684E-14,288.83146005544));
+#102 = CARTESIAN_POINT('',(164.96568145377,2.842E-14,230.8582933211));
+#103 = CARTESIAN_POINT('',(119.65522874982,4.263E-14,158.65042904118));
+#104 = CARTESIAN_POINT('',(97.000000000004,2.842E-14,79.325214503165));
+#105 = CARTESIAN_POINT('',(96.999999999993,-2.842E-14,-79.32521450317));
+#106 = CARTESIAN_POINT('',(119.65522874986,1.421E-14,-158.650429041));
+#107 = CARTESIAN_POINT('',(164.96568145365,-5.684E-14,-230.8582933214));
+#108 = CARTESIAN_POINT('',(230.44695896445,-5.684E-14,-288.8314600546));
+#109 = CARTESIAN_POINT('',(311.13012959362,-5.684E-14,-326.4281992821));
+#110 = CARTESIAN_POINT('',(400.00000000024,0.,-339.4580909511));
+#111 = CARTESIAN_POINT('',(488.86987040595,-1.1369E-13,-326.428199282));
+#112 = CARTESIAN_POINT('',(569.55304103584,-1.1369E-13,-288.8314600547)
+  );
+#113 = CARTESIAN_POINT('',(635.03431854619,0.,-230.8582933214));
+#114 = CARTESIAN_POINT('',(680.34477125019,1.1369E-13,-158.650429041));
+#115 = CARTESIAN_POINT('',(702.99999999999,1.1369E-13,-79.32521450318));
+#116 = CARTESIAN_POINT('',(703.,5.684E-14,5.684E-14));
+#117 = B_SPLINE_SURFACE_WITH_KNOTS('',12,8,(
+    (#118,#119,#120,#121,#122,#123,#124,#125,#126)
+    ,(#127,#128,#129,#130,#131,#132,#133,#134,#135)
+    ,(#136,#137,#138,#139,#140,#141,#142,#143,#144)
+    ,(#145,#146,#147,#148,#149,#150,#151,#152,#153)
+    ,(#154,#155,#156,#157,#158,#159,#160,#161,#162)
+    ,(#163,#164,#165,#166,#167,#168,#169,#170,#171)
+    ,(#172,#173,#174,#175,#176,#177,#178,#179,#180)
+    ,(#181,#182,#183,#184,#185,#186,#187,#188,#189)
+    ,(#190,#191,#192,#193,#194,#195,#196,#197,#198)
+    ,(#199,#200,#201,#202,#203,#204,#205,#206,#207)
+    ,(#208,#209,#210,#211,#212,#213,#214,#215,#216)
+    ,(#217,#218,#219,#220,#221,#222,#223,#224,#225)
+    ,(#226,#227,#228,#229,#230,#231,#232,#233,#234)
+    ,(#235,#236,#237,#238,#239,#240,#241,#242,#243)
+    ,(#244,#245,#246,#247,#248,#249,#250,#251,#252)
+    ,(#253,#254,#255,#256,#257,#258,#259,#260,#261)
+    ,(#262,#263,#264,#265,#266,#267,#268,#269,#270)
+    ,(#271,#272,#273,#274,#275,#276,#277,#278,#279)
+    ,(#280,#281,#282,#283,#284,#285,#286,#287,#288)
+    ,(#289,#290,#291,#292,#293,#294,#295,#296,#297)
+    ,(#298,#299,#300,#301,#302,#303,#304,#305,#306)
+    ,(#307,#308,#309,#310,#311,#312,#313,#314,#315)
+    ,(#316,#317,#318,#319,#320,#321,#322,#323,#324)
+    ,(#325,#326,#327,#328,#329,#330,#331,#332,#333
+  )),.UNSPECIFIED.,.T.,.F.,.F.,(1,12,11,12,1),(9,9),(-0.5,0.,0.5,1.,1.5)
+  ,(0.,1.570796326761),.UNSPECIFIED.);
+#118 = CARTESIAN_POINT('',(703.,5.684E-14,5.684E-14));
+#119 = CARTESIAN_POINT('',(696.75,138.03372721415,4.263E-14));
+#120 = CARTESIAN_POINT('',(659.52530404611,273.26246098764,2.842E-14));
+#121 = CARTESIAN_POINT('',(592.42762179908,397.57695136175,1.421E-14));
+#122 = CARTESIAN_POINT('',(499.10473585542,503.33011807388,0.));
+#123 = CARTESIAN_POINT('',(385.53112700546,584.33357048376,-1.421E-14));
+#124 = CARTESIAN_POINT('',(259.23749380582,636.72834073398,-2.842E-14));
+#125 = CARTESIAN_POINT('',(128.21625019404,659.24999999569,-4.263E-14));
+#126 = CARTESIAN_POINT('',(2.194241233E-08,653.,-5.684E-14));
+#127 = CARTESIAN_POINT('',(703.00000000001,0.,79.325214503158));
+#128 = CARTESIAN_POINT('',(696.75000000001,138.03372721414,
+    77.688968329414));
+#129 = CARTESIAN_POINT('',(659.52530404612,273.26246098766,
+    76.052722155668));
+#130 = CARTESIAN_POINT('',(592.4276217991,397.57695136173,
+    74.416475981929));
+#131 = CARTESIAN_POINT('',(499.10473585541,503.33011807391,
+    72.780229808177));
+#132 = CARTESIAN_POINT('',(385.53112700548,584.33357048375,
+    71.143983634441));
+#133 = CARTESIAN_POINT('',(259.23749380581,636.728340734,69.507737460691
+    ));
+#134 = CARTESIAN_POINT('',(128.21625019404,659.24999999569,
+    67.871491286949));
+#135 = CARTESIAN_POINT('',(2.194246917E-08,653.,66.235245113205));
+#136 = CARTESIAN_POINT('',(680.34477125012,0.,158.65042904118));
+#137 = CARTESIAN_POINT('',(674.56208207417,133.58538345136,
+    155.37793669297));
+#138 = CARTESIAN_POINT('',(638.80290295045,264.57550206948,
+    152.10544434475));
+#139 = CARTESIAN_POINT('',(574.08657469264,385.12243611187,
+    148.83295199655));
+#140 = CARTESIAN_POINT('',(483.89647974922,487.80593127149,
+    145.56045964833));
+#141 = CARTESIAN_POINT('',(373.97727481345,566.59771342316,
+    142.28796730012));
+#142 = CARTESIAN_POINT('',(251.59917792398,617.71046247171,
+    139.0154749519));
+#143 = CARTESIAN_POINT('',(124.50195655648,639.86594701429,
+    135.74298260369));
+#144 = CARTESIAN_POINT('',(2.130684607E-08,634.08325784252,
+    132.47049025548));
+#145 = CARTESIAN_POINT('',(635.03431854635,5.684E-14,230.85829332111));
+#146 = CARTESIAN_POINT('',(630.18625091956,124.68869686749,
+    226.09636482852));
+#147 = CARTESIAN_POINT('',(597.35810514591,247.20158607212,
+    221.33443633594));
+#148 = CARTESIAN_POINT('',(537.40448436244,360.21340824865,
+    216.57250784335));
+#149 = CARTESIAN_POINT('',(453.47997075626,456.75756095307,
+    211.81057935077));
+#150 = CARTESIAN_POINT('',(350.8695728753,531.1260030565,207.04865085817
+    ));
+#151 = CARTESIAN_POINT('',(236.32254777725,579.6747099731,
+    202.28672236559));
+#152 = CARTESIAN_POINT('',(117.07337006764,601.09784515491,197.524793873
+    ));
+#153 = CARTESIAN_POINT('',(2.003548616E-08,596.24977753206,
+    192.76286538041));
+#154 = CARTESIAN_POINT('',(569.55304103555,5.684E-14,288.83146005543));
+#155 = CARTESIAN_POINT('',(566.05565982608,111.83147809429,
+    282.8737154173));
+#156 = CARTESIAN_POINT('',(537.46335361564,222.09333517227,
+    276.91597077918));
+#157 = CARTESIAN_POINT('',(484.39265170017,324.21564462668,
+    270.95822614104));
+#158 = CARTESIAN_POINT('',(409.52296420643,411.88740778186,
+    265.00048150293));
+#159 = CARTESIAN_POINT('',(317.47503027083,479.86337442015,
+    259.04273686479));
+#160 = CARTESIAN_POINT('',(214.2452301083,524.70660623399,
+    253.08499222667));
+#161 = CARTESIAN_POINT('',(106.33780455549,545.07137256569,
+    247.12724758854));
+#162 = CARTESIAN_POINT('',(1.819825002E-08,541.5739913598,
+    241.16950295042));
+#163 = CARTESIAN_POINT('',(488.86987040633,1.1369E-13,326.42819928105));
+#164 = CARTESIAN_POINT('',(487.03674601674,95.989374587319,
+    319.69494434541));
+#165 = CARTESIAN_POINT('',(463.66365634003,191.15604487244,
+    312.96168940977));
+#166 = CARTESIAN_POINT('',(419.07378648162,279.86077228772,
+    306.22843447414));
+#167 = CARTESIAN_POINT('',(355.361060306,356.60036449097,299.49517953848
+    ));
+#168 = CARTESIAN_POINT('',(276.32773318873,416.69980201587,
+    292.76192460287));
+#169 = CARTESIAN_POINT('',(187.04252337686,456.97730922335,
+    286.02866966721));
+#170 = CARTESIAN_POINT('',(93.109909545659,476.03799967611,
+    279.29541473158));
+#171 = CARTESIAN_POINT('',(1.593440402E-08,474.20487528965,
+    272.56215979594));
+#172 = CARTESIAN_POINT('',(399.99999999984,5.684E-14,339.45809095235));
+#173 = CARTESIAN_POINT('',(399.99999999986,78.539816338035,
+    332.45606762409));
+#174 = CARTESIAN_POINT('',(382.37570642727,157.07963267607,
+    325.45404429584));
+#175 = CARTESIAN_POINT('',(347.1271953674,231.00533284583,
+    318.45202096758));
+#176 = CARTESIAN_POINT('',(295.70349673922,295.70349672925,
+    311.44999763933));
+#177 = CARTESIAN_POINT('',(231.00533285752,347.12719535968,
+    304.44797431107));
+#178 = CARTESIAN_POINT('',(157.07963268897,382.37570642206,
+    297.44595098282));
+#179 = CARTESIAN_POINT('',(78.539816351506,399.99999999734,
+    290.44392765456));
+#180 = CARTESIAN_POINT('',(1.344102429E-08,400.,283.44190432631));
+#181 = CARTESIAN_POINT('',(311.13012959395,5.684E-14,326.42819928104));
+#182 = CARTESIAN_POINT('',(312.96325398349,61.090258088869,
+    319.6949443454));
+#183 = CARTESIAN_POINT('',(301.08775651492,123.0032204799,
+    312.96168940976));
+#184 = CARTESIAN_POINT('',(275.18060425349,182.14989340419,
+    306.22843447412));
+#185 = CARTESIAN_POINT('',(236.0459331726,234.80662896776,
+    299.49517953848));
+#186 = CARTESIAN_POINT('',(185.68293252642,277.55458870369,
+    292.76192460285));
+#187 = CARTESIAN_POINT('',(127.1167420011,307.7741036209,286.0286696672)
+  );
+#188 = CARTESIAN_POINT('',(63.969723157351,323.96200031863,
+    279.29541473157));
+#189 = CARTESIAN_POINT('',(1.094753088E-08,325.79512471033,
+    272.56215979593));
+#190 = CARTESIAN_POINT('',(230.44695896423,5.684E-14,288.83146005544));
+#191 = CARTESIAN_POINT('',(233.94434017372,45.248154581791,
+    282.87371541731));
+#192 = CARTESIAN_POINT('',(227.28805923896,92.065930179912,
+    276.91597077919));
+#193 = CARTESIAN_POINT('',(209.8617390347,137.795021065,270.95822614106)
+  );
+#194 = CARTESIAN_POINT('',(181.884029272,179.5195856767,265.00048150295)
+  );
+#195 = CARTESIAN_POINT('',(144.53563544424,214.39101629921,
+    259.04273686481));
+#196 = CARTESIAN_POINT('',(99.914035269633,240.04480661015,
+    253.08499222669));
+#197 = CARTESIAN_POINT('',(50.741828147517,254.92862742899,
+    247.12724758856));
+#198 = CARTESIAN_POINT('',(8.68377015E-09,258.42600864019,
+    241.16950295044));
+#199 = CARTESIAN_POINT('',(164.96568145377,2.842E-14,230.8582933211));
+#200 = CARTESIAN_POINT('',(169.81374908054,32.390935808657,
+    226.09636482851));
+#201 = CARTESIAN_POINT('',(167.39330770894,66.957679280177,
+    221.33443633593));
+#202 = CARTESIAN_POINT('',(156.84990637259,101.79725744319,
+    216.57250784333));
+#203 = CARTESIAN_POINT('',(137.92702272232,134.64943250561,
+    211.81057935076));
+#204 = CARTESIAN_POINT('',(111.14109283981,163.12838766301,
+    207.04865085816));
+#205 = CARTESIAN_POINT('',(77.836717600717,185.07670287113,
+    202.28672236558));
+#206 = CARTESIAN_POINT('',(40.006262635365,198.90215483983,
+    197.52479387299));
+#207 = CARTESIAN_POINT('',(6.84656243E-09,203.75022246794,192.7628653804
+    ));
+#208 = CARTESIAN_POINT('',(119.65522874982,4.263E-14,158.65042904118));
+#209 = CARTESIAN_POINT('',(125.43791792577,23.49424922475,
+    155.37793669297));
+#210 = CARTESIAN_POINT('',(125.94850990426,49.583763282755,
+    152.10544434476));
+#211 = CARTESIAN_POINT('',(120.16781604229,76.888229579892,
+    148.83295199654));
+#212 = CARTESIAN_POINT('',(107.51051372928,103.60106218711,
+    145.56045964834));
+#213 = CARTESIAN_POINT('',(88.033390901632,127.65667729626,
+    142.28796730011));
+#214 = CARTESIAN_POINT('',(62.560087453972,147.04095037246,
+    139.01547495191));
+#215 = CARTESIAN_POINT('',(32.577676146524,160.13405298041,
+    135.74298260369));
+#216 = CARTESIAN_POINT('',(5.57523094E-09,165.91674215746,
+    132.47049025548));
+#217 = CARTESIAN_POINT('',(97.000000000004,2.842E-14,79.325214503165));
+#218 = CARTESIAN_POINT('',(103.25,19.045905461982,77.68896832942));
+#219 = CARTESIAN_POINT('',(105.22610880864,40.896804364608,
+    76.052722155676));
+#220 = CARTESIAN_POINT('',(101.8267689359,64.43371433004,74.416475981931
+    ));
+#221 = CARTESIAN_POINT('',(92.302257623094,88.076875384757,
+    72.780229808186));
+#222 = CARTESIAN_POINT('',(76.479538709649,109.92082023569,
+    71.143983634441));
+#223 = CARTESIAN_POINT('',(54.921771572135,128.02307211021,
+    69.507737460697));
+#224 = CARTESIAN_POINT('',(28.863382508968,140.74999999903,
+    67.871491286952));
+#225 = CARTESIAN_POINT('',(4.93957941E-09,147.,66.235245113207));
+#226 = CARTESIAN_POINT('',(96.999999999993,-2.842E-14,-79.32521450317));
+#227 = CARTESIAN_POINT('',(103.24999999999,19.045905461979,
+    -77.68896832943));
+#228 = CARTESIAN_POINT('',(105.22610880863,40.896804364603,
+    -76.05272215568));
+#229 = CARTESIAN_POINT('',(101.82676893589,64.433714330037,
+    -74.41647598194));
+#230 = CARTESIAN_POINT('',(92.302257623087,88.076875384749,
+    -72.78022980819));
+#231 = CARTESIAN_POINT('',(76.479538709647,109.92082023569,
+    -71.14398363445));
+#232 = CARTESIAN_POINT('',(54.921771572132,128.02307211021,
+    -69.5077374607));
+#233 = CARTESIAN_POINT('',(28.863382508968,140.74999999902,
+    -67.87149128695));
+#234 = CARTESIAN_POINT('',(4.93959362E-09,146.99999999999,
+    -66.23524511321));
+#235 = CARTESIAN_POINT('',(119.65522874986,1.421E-14,-158.650429041));
+#236 = CARTESIAN_POINT('',(125.43791792582,23.494249224759,
+    -155.3779366928));
+#237 = CARTESIAN_POINT('',(125.9485099043,49.583763282772,
+    -152.1054443446));
+#238 = CARTESIAN_POINT('',(120.16781604232,76.888229579914,
+    -148.8329519964));
+#239 = CARTESIAN_POINT('',(107.5105137293,103.60106218714,
+    -145.5604596482));
+#240 = CARTESIAN_POINT('',(88.033390901644,127.65667729629,-142.2879673)
+  );
+#241 = CARTESIAN_POINT('',(62.56008745398,147.04095037248,
+    -139.0154749518));
+#242 = CARTESIAN_POINT('',(32.577676146526,160.13405298043,
+    -135.7429826036));
+#243 = CARTESIAN_POINT('',(5.57524515E-09,165.91674215747,
+    -132.4704902554));
+#244 = CARTESIAN_POINT('',(164.96568145365,-5.684E-14,-230.8582933214));
+#245 = CARTESIAN_POINT('',(169.81374908043,32.390935808633,
+    -226.0963648288));
+#246 = CARTESIAN_POINT('',(167.39330770885,66.957679280136,
+    -221.3344363362));
+#247 = CARTESIAN_POINT('',(156.84990637251,101.79725744313,
+    -216.5725078436));
+#248 = CARTESIAN_POINT('',(137.92702272226,134.64943250555,
+    -211.810579351));
+#249 = CARTESIAN_POINT('',(111.14109283978,163.12838766294,
+    -207.0486508584));
+#250 = CARTESIAN_POINT('',(77.836717600698,185.07670287107,
+    -202.2867223658));
+#251 = CARTESIAN_POINT('',(40.006262635358,198.90215483978,
+    -197.5247938732));
+#252 = CARTESIAN_POINT('',(6.84653401E-09,203.75022246791,
+    -192.7628653805));
+#253 = CARTESIAN_POINT('',(230.44695896445,-5.684E-14,-288.8314600546));
+#254 = CARTESIAN_POINT('',(233.94434017393,45.248154581835,
+    -282.8737154166));
+#255 = CARTESIAN_POINT('',(227.28805923914,92.065930179991,
+    -276.9159707785));
+#256 = CARTESIAN_POINT('',(209.86173903483,137.79502106511,
+    -270.9582261404));
+#257 = CARTESIAN_POINT('',(181.88402927211,179.51958567681,
+    -265.0004815024));
+#258 = CARTESIAN_POINT('',(144.5356354443,214.39101629932,
+    -259.0427368643));
+#259 = CARTESIAN_POINT('',(99.914035269672,240.04480661026,
+    -253.0849922262));
+#260 = CARTESIAN_POINT('',(50.741828147529,254.92862742908,
+    -247.1272475881));
+#261 = CARTESIAN_POINT('',(8.68377015E-09,258.42600864026,
+    -241.1695029501));
+#262 = CARTESIAN_POINT('',(311.13012959362,-5.684E-14,-326.4281992821));
+#263 = CARTESIAN_POINT('',(312.96325398319,61.090258088803,
+    -319.6949443463));
+#264 = CARTESIAN_POINT('',(301.08775651465,123.00322047978,
+    -312.9616894106));
+#265 = CARTESIAN_POINT('',(275.18060425329,182.14989340403,
+    -306.2284344749));
+#266 = CARTESIAN_POINT('',(236.04593317244,234.80662896759,
+    -299.4951795392));
+#267 = CARTESIAN_POINT('',(185.68293252632,277.55458870351,
+    -292.7619246035));
+#268 = CARTESIAN_POINT('',(127.11674200104,307.77410362074,
+    -286.0286696678));
+#269 = CARTESIAN_POINT('',(63.96972315733,323.96200031849,-279.295414732
+    ));
+#270 = CARTESIAN_POINT('',(1.09475593E-08,325.79512471022,
+    -272.5621597963));
+#271 = CARTESIAN_POINT('',(400.00000000024,0.,-339.4580909511));
+#272 = CARTESIAN_POINT('',(400.00000000023,78.539816338113,
+    -332.456067623));
+#273 = CARTESIAN_POINT('',(382.37570642758,157.07963267621,
+    -325.4540442948));
+#274 = CARTESIAN_POINT('',(347.12719536767,231.00533284602,
+    -318.4520209666));
+#275 = CARTESIAN_POINT('',(295.7034967394,295.70349672946,
+    -311.4499976385));
+#276 = CARTESIAN_POINT('',(231.00533285766,347.1271953599,
+    -304.4479743103));
+#277 = CARTESIAN_POINT('',(157.07963268904,382.37570642227,
+    -297.4459509822));
+#278 = CARTESIAN_POINT('',(78.539816351538,399.99999999753,
+    -290.443927654));
+#279 = CARTESIAN_POINT('',(1.344102429E-08,400.00000000016,
+    -283.4419043258));
+#280 = CARTESIAN_POINT('',(488.86987040595,-1.1369E-13,-326.428199282));
+#281 = CARTESIAN_POINT('',(487.03674601639,95.989374587243,
+    -319.6949443463));
+#282 = CARTESIAN_POINT('',(463.66365633972,191.1560448723,
+    -312.9616894106));
+#283 = CARTESIAN_POINT('',(419.07378648136,279.86077228753,
+    -306.2284344748));
+#284 = CARTESIAN_POINT('',(355.36106030581,356.60036449077,
+    -299.4951795391));
+#285 = CARTESIAN_POINT('',(276.3277331886,416.69980201565,
+    -292.7619246034));
+#286 = CARTESIAN_POINT('',(187.04252337678,456.97730922314,
+    -286.0286696677));
+#287 = CARTESIAN_POINT('',(93.109909545625,476.03799967591,
+    -279.2954147319));
+#288 = CARTESIAN_POINT('',(1.593451771E-08,474.20487528948,
+    -272.5621597962));
+#289 = CARTESIAN_POINT('',(569.55304103584,-1.1369E-13,-288.8314600547)
+  );
+#290 = CARTESIAN_POINT('',(566.05565982635,111.83147809435,
+    -282.8737154167));
+#291 = CARTESIAN_POINT('',(537.46335361588,222.09333517237,
+    -276.9159707786));
+#292 = CARTESIAN_POINT('',(484.39265170036,324.21564462682,
+    -270.9582261405));
+#293 = CARTESIAN_POINT('',(409.5229642066,411.88740778202,
+    -265.0004815025));
+#294 = CARTESIAN_POINT('',(317.47503027092,479.86337442034,
+    -259.0427368644));
+#295 = CARTESIAN_POINT('',(214.24523010837,524.70660623416,
+    -253.0849922263));
+#296 = CARTESIAN_POINT('',(106.33780455552,545.07137256585,
+    -247.1272475883));
+#297 = CARTESIAN_POINT('',(1.819825002E-08,541.57399135994,
+    -241.1695029502));
+#298 = CARTESIAN_POINT('',(635.03431854619,0.,-230.8582933214));
+#299 = CARTESIAN_POINT('',(630.18625091941,124.68869686746,
+    -226.0963648288));
+#300 = CARTESIAN_POINT('',(597.35810514576,247.20158607206,
+    -221.3344363362));
+#301 = CARTESIAN_POINT('',(537.40448436234,360.21340824856,
+    -216.5725078435));
+#302 = CARTESIAN_POINT('',(453.47997075615,456.75756095298,
+    -211.8105793509));
+#303 = CARTESIAN_POINT('',(350.86957287525,531.12600305638,
+    -207.0486508583));
+#304 = CARTESIAN_POINT('',(236.3225477772,579.674709973,-202.2867223657)
+  );
+#305 = CARTESIAN_POINT('',(117.07337006763,601.09784515481,
+    -197.5247938731));
+#306 = CARTESIAN_POINT('',(2.0035543E-08,596.24977753197,-192.7628653804
+    ));
+#307 = CARTESIAN_POINT('',(680.34477125019,1.1369E-13,-158.650429041));
+#308 = CARTESIAN_POINT('',(674.56208207423,133.58538345138,
+    -155.3779366928));
+#309 = CARTESIAN_POINT('',(638.8029029505,264.57550206951,
+    -152.1054443446));
+#310 = CARTESIAN_POINT('',(574.0865746927,385.12243611189,
+    -148.8329519964));
+#311 = CARTESIAN_POINT('',(483.89647974924,487.80593127154,
+    -145.5604596482));
+#312 = CARTESIAN_POINT('',(373.97727481349,566.5977134232,-142.2879673)
+  );
+#313 = CARTESIAN_POINT('',(251.59917792399,617.71046247176,
+    -139.0154749518));
+#314 = CARTESIAN_POINT('',(124.50195655649,639.86594701433,
+    -135.7429826036));
+#315 = CARTESIAN_POINT('',(2.130684607E-08,634.08325784256,
+    -132.4704902554));
+#316 = CARTESIAN_POINT('',(702.99999999999,1.1369E-13,-79.32521450318));
+#317 = CARTESIAN_POINT('',(696.74999999999,138.03372721414,
+    -77.68896832943));
+#318 = CARTESIAN_POINT('',(659.52530404611,273.26246098764,
+    -76.05272215568));
+#319 = CARTESIAN_POINT('',(592.42762179908,397.57695136174,
+    -74.41647598193));
+#320 = CARTESIAN_POINT('',(499.10473585541,503.33011807388,
+    -72.78022980819));
+#321 = CARTESIAN_POINT('',(385.53112700546,584.33357048376,
+    -71.14398363444));
+#322 = CARTESIAN_POINT('',(259.23749380581,636.72834073397,
+    -69.5077374607));
+#323 = CARTESIAN_POINT('',(128.21625019404,659.24999999568,
+    -67.87149128695));
+#324 = CARTESIAN_POINT('',(2.194246917E-08,652.99999999999,
+    -66.2352451132));
+#325 = CARTESIAN_POINT('',(703.,5.684E-14,5.684E-14));
+#326 = CARTESIAN_POINT('',(696.75,138.03372721415,4.263E-14));
+#327 = CARTESIAN_POINT('',(659.52530404611,273.26246098764,2.842E-14));
+#328 = CARTESIAN_POINT('',(592.42762179908,397.57695136175,1.421E-14));
+#329 = CARTESIAN_POINT('',(499.10473585542,503.33011807388,0.));
+#330 = CARTESIAN_POINT('',(385.53112700546,584.33357048376,-1.421E-14));
+#331 = CARTESIAN_POINT('',(259.23749380582,636.72834073398,-2.842E-14));
+#332 = CARTESIAN_POINT('',(128.21625019404,659.24999999569,-4.263E-14));
+#333 = CARTESIAN_POINT('',(2.194241233E-08,653.,-5.684E-14));
+#334 = ADVANCED_FACE('',(#335,#338),#369,.T.);
+#335 = FACE_BOUND('',#336,.T.);
+#336 = EDGE_LOOP('',(#337));
+#337 = ORIENTED_EDGE('',*,*,#91,.T.);
+#338 = FACE_BOUND('',#339,.T.);
+#339 = EDGE_LOOP('',(#340));
+#340 = ORIENTED_EDGE('',*,*,#341,.F.);
+#341 = EDGE_CURVE('',#342,#342,#344,.T.);
+#342 = VERTEX_POINT('',#343);
+#343 = CARTESIAN_POINT('',(700.,5.7E-14,0.));
+#344 = B_SPLINE_CURVE_WITH_KNOTS('',12,(#345,#346,#347,#348,#349,#350,
+    #351,#352,#353,#354,#355,#356,#357,#358,#359,#360,#361,#362,#363,
+    #364,#365,#366,#367,#368),.UNSPECIFIED.,.T.,.F.,(1,12,11,12,1),(-0.5
+    ,0.,0.5,1.,1.5),.UNSPECIFIED.);
+#345 = CARTESIAN_POINT('',(700.,5.684E-14,0.));
+#346 = CARTESIAN_POINT('',(700.00000000001,0.,78.539816339766));
+#347 = CARTESIAN_POINT('',(677.56908044566,-5.684E-14,157.07963271402));
+#348 = CARTESIAN_POINT('',(632.70724608549,-5.684E-14,228.57256764473));
+#349 = CARTESIAN_POINT('',(567.87429805501,5.684E-14,285.97174262901));
+#350 = CARTESIAN_POINT('',(487.98997069933,5.684E-14,323.19623691209));
+#351 = CARTESIAN_POINT('',(399.99999999984,1.1369E-13,336.09711975465));
+#352 = CARTESIAN_POINT('',(312.01002930095,5.684E-14,323.19623691203));
+#353 = CARTESIAN_POINT('',(232.12570194478,8.527E-14,285.97174262909));
+#354 = CARTESIAN_POINT('',(167.29275391462,8.527E-14,228.57256764468));
+#355 = CARTESIAN_POINT('',(122.43091955428,1.421E-14,157.07963271403));
+#356 = CARTESIAN_POINT('',(100.,4.263E-14,78.539816339768));
+#357 = CARTESIAN_POINT('',(99.999999999996,-1.421E-14,-78.53981633977));
+#358 = CARTESIAN_POINT('',(122.43091955431,-1.421E-14,-157.0796327139));
+#359 = CARTESIAN_POINT('',(167.29275391454,-2.842E-14,-228.572567645));
+#360 = CARTESIAN_POINT('',(232.12570194493,-8.527E-14,-285.9717426284));
+#361 = CARTESIAN_POINT('',(312.01002930071,-8.527E-14,-323.1962369128));
+#362 = CARTESIAN_POINT('',(400.00000000012,-1.1369E-13,-336.0971197538)
+  );
+#363 = CARTESIAN_POINT('',(487.98997069906,-1.1369E-13,-323.1962369127)
+  );
+#364 = CARTESIAN_POINT('',(567.87429805521,-1.1369E-13,-285.9717426286)
+  );
+#365 = CARTESIAN_POINT('',(632.70724608537,-5.684E-14,-228.5725676449));
+#366 = CARTESIAN_POINT('',(677.56908044571,1.1369E-13,-157.0796327139));
+#367 = CARTESIAN_POINT('',(699.99999999999,5.684E-14,-78.53981633977));
+#368 = CARTESIAN_POINT('',(700.,5.684E-14,0.));
+#369 = PLANE('',#370);
+#370 = AXIS2_PLACEMENT_3D('',#371,#372,#373);
+#371 = CARTESIAN_POINT('',(400.,1.639E-14,-6.253E-14));
+#372 = DIRECTION('',(7.E-17,-1.,1.6E-16));
+#373 = DIRECTION('',(0.,-1.6E-16,-1.));
+#374 = ADVANCED_FACE('',(#375,#378),#409,.F.);
+#375 = FACE_BOUND('',#376,.F.);
+#376 = EDGE_LOOP('',(#377));
+#377 = ORIENTED_EDGE('',*,*,#63,.T.);
+#378 = FACE_BOUND('',#379,.F.);
+#379 = EDGE_LOOP('',(#380));
+#380 = ORIENTED_EDGE('',*,*,#381,.F.);
+#381 = EDGE_CURVE('',#382,#382,#384,.T.);
+#382 = VERTEX_POINT('',#383);
+#383 = CARTESIAN_POINT('',(2.1841686E-08,650.,0.));
+#384 = B_SPLINE_CURVE_WITH_KNOTS('',12,(#385,#386,#387,#388,#389,#390,
+    #391,#392,#393,#394,#395,#396,#397,#398,#399,#400,#401,#402,#403,
+    #404,#405,#406,#407,#408),.UNSPECIFIED.,.T.,.F.,(1,12,11,12,1),(-0.5
+    ,0.,0.5,1.,1.5),.UNSPECIFIED.);
+#385 = CARTESIAN_POINT('',(2.184168579E-08,650.,0.));
+#386 = CARTESIAN_POINT('',(2.184174264E-08,650.00000000001,
+    65.449846949795));
+#387 = CARTESIAN_POINT('',(2.121350917E-08,631.30756703804,
+    130.89969392839));
+#388 = CARTESIAN_POINT('',(1.995726961E-08,593.92270507126,
+    190.47713970383));
+#389 = CARTESIAN_POINT('',(1.814186135E-08,539.89524837913,
+    238.30978552439));
+#390 = CARTESIAN_POINT('',(1.590495913E-08,473.32497558282,
+    269.33019742645));
+#391 = CARTESIAN_POINT('',(1.344102429E-08,399.99999999981,
+    280.08093312918));
+#392 = CARTESIAN_POINT('',(1.097708946E-08,326.6750244175,
+    269.33019742643));
+#393 = CARTESIAN_POINT('',(8.74021566E-09,260.10475162062,
+    238.30978552442));
+#394 = CARTESIAN_POINT('',(6.92472213E-09,206.07729492886,
+    190.47713970381));
+#395 = CARTESIAN_POINT('',(5.66849678E-09,168.69243296189,130.8996939284
+    ));
+#396 = CARTESIAN_POINT('',(5.04039122E-09,150.,65.449846949799));
+#397 = CARTESIAN_POINT('',(5.04040543E-09,149.99999999999,
+    -65.44984694981));
+#398 = CARTESIAN_POINT('',(5.66849678E-09,168.69243296195,
+    -130.8996939282));
+#399 = CARTESIAN_POINT('',(6.92472213E-09,206.07729492872,
+    -190.4771397041));
+#400 = CARTESIAN_POINT('',(8.74018724E-09,260.10475162089,
+    -238.3097855238));
+#401 = CARTESIAN_POINT('',(1.097708946E-08,326.67502441709,
+    -269.3301974272));
+#402 = CARTESIAN_POINT('',(1.344108114E-08,400.00000000029,
+    -280.0809331282));
+#403 = CARTESIAN_POINT('',(1.590484544E-08,473.32497558237,
+    -269.3301974272));
+#404 = CARTESIAN_POINT('',(1.81418045E-08,539.89524837947,
+    -238.3097855239));
+#405 = CARTESIAN_POINT('',(1.995732646E-08,593.92270507107,
+    -190.477139704));
+#406 = CARTESIAN_POINT('',(2.121350917E-08,631.30756703812,
+    -130.8996939283));
+#407 = CARTESIAN_POINT('',(2.184168579E-08,649.99999999999,
+    -65.44984694981));
+#408 = CARTESIAN_POINT('',(2.184168579E-08,650.,0.));
+#409 = PLANE('',#410);
+#410 = AXIS2_PLACEMENT_3D('',#411,#412,#413);
+#411 = CARTESIAN_POINT('',(1.344101898E-08,400.,-6.602E-14));
+#412 = DIRECTION('',(1.,-3.36025E-11,5.E-17));
+#413 = DIRECTION('',(3.36025E-11,1.,0.));
+#414 = ADVANCED_FACE('',(#415),#432,.T.);
+#415 = FACE_BOUND('',#416,.T.);
+#416 = EDGE_LOOP('',(#417,#429,#430,#431));
+#417 = ORIENTED_EDGE('',*,*,#418,.T.);
+#418 = EDGE_CURVE('',#342,#382,#419,.T.);
+#419 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#420,#421,#422,#423,#424,#425,
+    #426,#427,#428),.UNSPECIFIED.,.F.,.F.,(9,9),(0.,1.570796326761),
+  .PIECEWISE_BEZIER_KNOTS.);
+#420 = CARTESIAN_POINT('',(700.,5.684E-14,0.));
+#421 = CARTESIAN_POINT('',(693.75,137.44467859161,0.));
+#422 = CARTESIAN_POINT('',(656.6574862479,272.08436374257,0.));
+#423 = CARTESIAN_POINT('',(589.82416783383,395.8444113654,0.));
+#424 = CARTESIAN_POINT('',(496.88695962986,501.11234184841,0.));
+#425 = CARTESIAN_POINT('',(383.79858700904,581.73011651857,0.));
+#426 = CARTESIAN_POINT('',(258.05939656064,633.86052293581,0.));
+#427 = CARTESIAN_POINT('',(127.6272015714,656.24999999571,0.));
+#428 = CARTESIAN_POINT('',(2.184168579E-08,650.,0.));
+#429 = ORIENTED_EDGE('',*,*,#381,.F.);
+#430 = ORIENTED_EDGE('',*,*,#418,.F.);
+#431 = ORIENTED_EDGE('',*,*,#341,.T.);
+#432 = B_SPLINE_SURFACE_WITH_KNOTS('',12,8,(
+    (#433,#434,#435,#436,#437,#438,#439,#440,#441)
+    ,(#442,#443,#444,#445,#446,#447,#448,#449,#450)
+    ,(#451,#452,#453,#454,#455,#456,#457,#458,#459)
+    ,(#460,#461,#462,#463,#464,#465,#466,#467,#468)
+    ,(#469,#470,#471,#472,#473,#474,#475,#476,#477)
+    ,(#478,#479,#480,#481,#482,#483,#484,#485,#486)
+    ,(#487,#488,#489,#490,#491,#492,#493,#494,#495)
+    ,(#496,#497,#498,#499,#500,#501,#502,#503,#504)
+    ,(#505,#506,#507,#508,#509,#510,#511,#512,#513)
+    ,(#514,#515,#516,#517,#518,#519,#520,#521,#522)
+    ,(#523,#524,#525,#526,#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,#614,#615,#616,#617,#618,#619,#620,#621)
+    ,(#622,#623,#624,#625,#626,#627,#628,#629,#630)
+    ,(#631,#632,#633,#634,#635,#636,#637,#638,#639)
+    ,(#640,#641,#642,#643,#644,#645,#646,#647,#648
+  )),.UNSPECIFIED.,.T.,.F.,.F.,(1,12,11,12,1),(9,9),(-0.5,0.,0.5,1.,1.5)
+  ,(0.,1.570796326761),.UNSPECIFIED.);
+#433 = CARTESIAN_POINT('',(700.,5.684E-14,0.));
+#434 = CARTESIAN_POINT('',(693.75,137.44467859161,0.));
+#435 = CARTESIAN_POINT('',(656.6574862479,272.08436374257,0.));
+#436 = CARTESIAN_POINT('',(589.82416783383,395.8444113654,0.));
+#437 = CARTESIAN_POINT('',(496.88695962986,501.11234184841,0.));
+#438 = CARTESIAN_POINT('',(383.79858700904,581.73011651857,0.));
+#439 = CARTESIAN_POINT('',(258.05939656064,633.86052293581,0.));
+#440 = CARTESIAN_POINT('',(127.6272015714,656.24999999571,0.));
+#441 = CARTESIAN_POINT('',(2.184168579E-08,650.,0.));
+#442 = CARTESIAN_POINT('',(700.00000000001,0.,78.539816339766));
+#443 = CARTESIAN_POINT('',(693.75000000001,137.44467859161,
+    76.90357016602));
+#444 = CARTESIAN_POINT('',(656.65748624791,272.08436374258,
+    75.267323992273));
+#445 = CARTESIAN_POINT('',(589.82416783384,395.84441136541,
+    73.631077818527));
+#446 = CARTESIAN_POINT('',(496.88695962988,501.11234184842,
+    71.99483164478));
+#447 = CARTESIAN_POINT('',(383.79858700904,581.73011651857,
+    70.358585471034));
+#448 = CARTESIAN_POINT('',(258.05939656065,633.86052293583,
+    68.722339297288));
+#449 = CARTESIAN_POINT('',(127.62720157141,656.24999999572,
+    67.086093123541));
+#450 = CARTESIAN_POINT('',(2.184174264E-08,650.00000000001,
+    65.449846949795));
+#451 = CARTESIAN_POINT('',(677.56908044566,-5.684E-14,157.07963271402));
+#452 = CARTESIAN_POINT('',(671.78639126971,133.04037783638,
+    153.80714036581));
+#453 = CARTESIAN_POINT('',(636.14951112,263.48549083951,150.53464801761)
+  );
+#454 = CARTESIAN_POINT('',(571.67778028223,383.51943766646,
+    147.26215566941));
+#455 = CARTESIAN_POINT('',(481.84452605735,485.75397757969,
+    143.9896633212));
+#456 = CARTESIAN_POINT('',(372.37427636796,564.18891901281,140.717170973
+    ));
+#457 = CARTESIAN_POINT('',(250.50916669391,615.05707064129,
+    137.4446786248));
+#458 = CARTESIAN_POINT('',(123.9569509414,637.09025620983,
+    134.17218627659));
+#459 = CARTESIAN_POINT('',(2.121350917E-08,631.30756703804,
+    130.89969392839));
+#460 = CARTESIAN_POINT('',(632.70724608549,-5.684E-14,228.57256764473));
+#461 = CARTESIAN_POINT('',(627.85917845871,124.23177725829,
+    223.81063915212));
+#462 = CARTESIAN_POINT('',(595.1335652056,246.28774685372,
+    219.04871065951));
+#463 = CARTESIAN_POINT('',(535.38500902058,358.8694928777,214.2867821669
+    ));
+#464 = CARTESIAN_POINT('',(451.75966209667,455.03725229356,
+    209.52485367428));
+#465 = CARTESIAN_POINT('',(349.52565750433,529.10652771468,
+    204.76292518167));
+#466 = CARTESIAN_POINT('',(235.40870855879,577.45017003286,
+    200.00099668905));
+#467 = CARTESIAN_POINT('',(116.61645045837,598.77077269412,
+    195.23906819644));
+#468 = CARTESIAN_POINT('',(1.995726961E-08,593.92270507126,
+    190.47713970383));
+#469 = CARTESIAN_POINT('',(567.87429805501,5.684E-14,285.97174262901));
+#470 = CARTESIAN_POINT('',(564.37691684552,111.50185768087,
+    280.01399799094));
+#471 = CARTESIAN_POINT('',(535.85857728287,221.43409434541,
+    274.05625335285));
+#472 = CARTESIAN_POINT('',(482.93580834368,323.24614817421,
+    268.09850871478));
+#473 = CARTESIAN_POINT('',(408.2819387827,410.64638235817,
+    262.14076407669));
+#474 = CARTESIAN_POINT('',(316.50553381827,478.40653106369,
+    256.18301943862));
+#475 = CARTESIAN_POINT('',(213.58598928135,523.10182990118,
+    250.22527480054));
+#476 = CARTESIAN_POINT('',(106.00818414198,543.39262958506,
+    244.26753016246));
+#477 = CARTESIAN_POINT('',(1.814186135E-08,539.89524837913,
+    238.30978552439));
+#478 = CARTESIAN_POINT('',(487.98997069933,5.684E-14,323.19623691209));
+#479 = CARTESIAN_POINT('',(486.15684630977,95.81660668386,
+    316.46298197638));
+#480 = CARTESIAN_POINT('',(462.82252565996,190.81050906553,
+    309.72972704068));
+#481 = CARTESIAN_POINT('',(418.31019368793,279.35261847603,
+    302.99647210497));
+#482 = CARTESIAN_POINT('',(354.71058675574,355.94989094071,
+    296.26321716927));
+#483 = CARTESIAN_POINT('',(275.81957937705,415.93620922224,
+    289.52996223356));
+#484 = CARTESIAN_POINT('',(186.69698756997,456.13617854336,
+    282.79670729786));
+#485 = CARTESIAN_POINT('',(92.937141642202,475.15809996927,
+    276.06345236215));
+#486 = CARTESIAN_POINT('',(1.590495913E-08,473.32497558282,
+    269.33019742645));
+#487 = CARTESIAN_POINT('',(399.99999999984,1.1369E-13,336.09711975465));
+#488 = CARTESIAN_POINT('',(399.99999999983,78.539816338033,
+    329.09509642646));
+#489 = CARTESIAN_POINT('',(382.37570642722,157.07963267606,
+    322.09307309828));
+#490 = CARTESIAN_POINT('',(347.12719536733,231.00533284579,
+    315.0910497701));
+#491 = CARTESIAN_POINT('',(295.70349673914,295.70349672919,
+    308.08902644191));
+#492 = CARTESIAN_POINT('',(231.00533285744,347.12719535957,
+    301.08700311373));
+#493 = CARTESIAN_POINT('',(157.07963268891,382.37570642193,
+    294.08497978555));
+#494 = CARTESIAN_POINT('',(78.539816351469,399.99999999718,
+    287.08295645737));
+#495 = CARTESIAN_POINT('',(1.344102429E-08,399.99999999981,
+    280.08093312918));
+#496 = CARTESIAN_POINT('',(312.01002930095,5.684E-14,323.19623691203));
+#497 = CARTESIAN_POINT('',(313.84315369051,61.263025992327,
+    316.46298197633));
+#498 = CARTESIAN_POINT('',(301.92888719508,123.34875628683,
+    309.72972704063));
+#499 = CARTESIAN_POINT('',(275.94419704729,182.65804721593,
+    302.99647210493));
+#500 = CARTESIAN_POINT('',(236.69640672302,235.45710251815,
+    296.26321716923));
+#501 = CARTESIAN_POINT('',(186.19108633823,278.31818149749,
+    289.52996223352));
+#502 = CARTESIAN_POINT('',(127.4622778081,308.61523430113,
+    282.79670729783));
+#503 = CARTESIAN_POINT('',(64.142491060873,324.84190002577,
+    276.06345236213));
+#504 = CARTESIAN_POINT('',(1.097708946E-08,326.6750244175,
+    269.33019742643));
+#505 = CARTESIAN_POINT('',(232.12570194478,8.527E-14,285.97174262909));
+#506 = CARTESIAN_POINT('',(235.62308315426,45.577774995219,280.013997991
+    ));
+#507 = CARTESIAN_POINT('',(228.89283557167,92.725171006762,
+    274.05625335292));
+#508 = CARTESIAN_POINT('',(211.3185823911,138.76451751744,
+    268.09850871484));
+#509 = CARTESIAN_POINT('',(183.12505469564,180.7606111003,
+    262.14076407676));
+#510 = CARTESIAN_POINT('',(145.5051318967,215.84785965556,
+    256.18301943867));
+#511 = CARTESIAN_POINT('',(100.5732760965,241.64958294279,
+    250.22527480059));
+#512 = CARTESIAN_POINT('',(51.071448560976,256.60737040942,
+    244.2675301625));
+#513 = CARTESIAN_POINT('',(8.74021566E-09,260.10475162062,
+    238.30978552442));
+#514 = CARTESIAN_POINT('',(167.29275391462,8.527E-14,228.57256764468));
+#515 = CARTESIAN_POINT('',(172.1408215414,32.847855417858,
+    223.81063915207));
+#516 = CARTESIAN_POINT('',(169.61784764927,67.871518498587,
+    219.04871065946));
+#517 = CARTESIAN_POINT('',(158.86938171449,103.14117281413,
+    214.28678216686));
+#518 = CARTESIAN_POINT('',(139.64733138194,136.36974116519,
+    209.52485367424));
+#519 = CARTESIAN_POINT('',(112.48500821085,165.14786300487,
+    204.76292518164));
+#520 = CARTESIAN_POINT('',(78.750556819219,187.30124281146,
+    200.00099668902));
+#521 = CARTESIAN_POINT('',(40.463182244658,201.22922730072,
+    195.23906819642));
+#522 = CARTESIAN_POINT('',(6.92472213E-09,206.07729492886,
+    190.47713970381));
+#523 = CARTESIAN_POINT('',(122.43091955428,1.421E-14,157.07963271403));
+#524 = CARTESIAN_POINT('',(128.21360873023,24.039254839734,
+    153.80714036583));
+#525 = CARTESIAN_POINT('',(128.6019017347,50.673774512721,
+    150.53464801762));
+#526 = CARTESIAN_POINT('',(122.57661045269,78.491228025292,
+    147.26215566942));
+#527 = CARTESIAN_POINT('',(109.56246742113,105.6530158789,
+    143.98966332121));
+#528 = CARTESIAN_POINT('',(89.636389347108,130.0654717066,
+    140.71717097301));
+#529 = CARTESIAN_POINT('',(63.650098684018,149.69434220285,
+    137.4446786248));
+#530 = CARTESIAN_POINT('',(33.122681761596,162.90974378482,
+    134.1721862766));
+#531 = CARTESIAN_POINT('',(5.66849678E-09,168.69243296189,130.8996939284
+    ));
+#532 = CARTESIAN_POINT('',(100.,4.263E-14,78.539816339768));
+#533 = CARTESIAN_POINT('',(106.25,19.634954084517,76.903570166022));
+#534 = CARTESIAN_POINT('',(108.09392660684,42.074901609678,
+    75.267323992275));
+#535 = CARTESIAN_POINT('',(104.43022290116,66.166254326386,
+    73.63107781853));
+#536 = CARTESIAN_POINT('',(94.520033848639,90.294651610226,
+    71.994831644783));
+#537 = CARTESIAN_POINT('',(78.212078706083,112.5242742009,
+    70.358585471038));
+#538 = CARTESIAN_POINT('',(56.099868817303,130.89088990838,
+    68.722339297291));
+#539 = CARTESIAN_POINT('',(29.452431131606,143.74999999901,
+    67.086093123545));
+#540 = CARTESIAN_POINT('',(5.04039122E-09,150.,65.449846949799));
+#541 = CARTESIAN_POINT('',(99.999999999996,-1.421E-14,-78.53981633977));
+#542 = CARTESIAN_POINT('',(106.24999999999,19.634954084515,
+    -76.90357016603));
+#543 = CARTESIAN_POINT('',(108.09392660684,42.074901609676,
+    -75.26732399228));
+#544 = CARTESIAN_POINT('',(104.43022290115,66.166254326379,
+    -73.63107781854));
+#545 = CARTESIAN_POINT('',(94.520033848633,90.294651610222,
+    -71.99483164479));
+#546 = CARTESIAN_POINT('',(78.212078706075,112.52427420088,
+    -70.35858547104));
+#547 = CARTESIAN_POINT('',(56.099868817299,130.89088990837,
+    -68.7223392973));
+#548 = CARTESIAN_POINT('',(29.452431131603,143.749999999,-67.08609312355
+    ));
+#549 = CARTESIAN_POINT('',(5.04040543E-09,149.99999999999,
+    -65.44984694981));
+#550 = CARTESIAN_POINT('',(122.43091955431,-1.421E-14,-157.0796327139));
+#551 = CARTESIAN_POINT('',(128.21360873026,24.03925483974,
+    -153.8071403657));
+#552 = CARTESIAN_POINT('',(128.60190173474,50.673774512734,
+    -150.5346480175));
+#553 = CARTESIAN_POINT('',(122.57661045272,78.491228025315,
+    -147.2621556693));
+#554 = CARTESIAN_POINT('',(109.56246742116,105.65301587893,
+    -143.9896633211));
+#555 = CARTESIAN_POINT('',(89.636389347137,130.06547170664,
+    -140.7171709729));
+#556 = CARTESIAN_POINT('',(63.650098684039,149.69434220289,
+    -137.4446786247));
+#557 = CARTESIAN_POINT('',(33.122681761607,162.90974378488,
+    -134.1721862765));
+#558 = CARTESIAN_POINT('',(5.66849678E-09,168.69243296195,
+    -130.8996939282));
+#559 = CARTESIAN_POINT('',(167.29275391454,-2.842E-14,-228.572567645));
+#560 = CARTESIAN_POINT('',(172.14082154131,32.847855417843,
+    -223.8106391523));
+#561 = CARTESIAN_POINT('',(169.61784764918,67.871518498551,
+    -219.0487106597));
+#562 = CARTESIAN_POINT('',(158.8693817144,103.14117281408,
+    -214.2867821671));
+#563 = CARTESIAN_POINT('',(139.64733138185,136.3697411651,
+    -209.5248536745));
+#564 = CARTESIAN_POINT('',(112.48500821077,165.14786300477,
+    -204.7629251819));
+#565 = CARTESIAN_POINT('',(78.750556819165,187.30124281134,
+    -200.0009966893));
+#566 = CARTESIAN_POINT('',(40.463182244629,201.22922730058,
+    -195.2390681967));
+#567 = CARTESIAN_POINT('',(6.92472213E-09,206.07729492872,
+    -190.4771397041));
+#568 = CARTESIAN_POINT('',(232.12570194493,-8.527E-14,-285.9717426284));
+#569 = CARTESIAN_POINT('',(235.62308315443,45.577774995249,
+    -280.0139979904));
+#570 = CARTESIAN_POINT('',(228.89283557185,92.725171006829,
+    -274.0562533523));
+#571 = CARTESIAN_POINT('',(211.31858239128,138.76451751756,
+    -268.0985087142));
+#572 = CARTESIAN_POINT('',(183.1250546958,180.76061110046,
+    -262.1407640761));
+#573 = CARTESIAN_POINT('',(145.50513189684,215.84785965576,
+    -256.183019438));
+#574 = CARTESIAN_POINT('',(100.5732760966,241.64958294302,-250.2252748)
+  );
+#575 = CARTESIAN_POINT('',(51.071448561031,256.60737040968,
+    -244.2675301619));
+#576 = CARTESIAN_POINT('',(8.74018724E-09,260.10475162089,
+    -238.3097855238));
+#577 = CARTESIAN_POINT('',(312.01002930071,-8.527E-14,-323.1962369128));
+#578 = CARTESIAN_POINT('',(313.84315369025,61.26302599228,
+    -316.4629819771));
+#579 = CARTESIAN_POINT('',(301.92888719481,123.34875628673,
+    -309.7297270414));
+#580 = CARTESIAN_POINT('',(275.94419704703,182.65804721576,
+    -302.9964721057));
+#581 = CARTESIAN_POINT('',(236.69640672277,235.45710251792,-296.26321717
+    ));
+#582 = CARTESIAN_POINT('',(186.19108633802,278.31818149719,
+    -289.5299622343));
+#583 = CARTESIAN_POINT('',(127.46227780795,308.61523430079,
+    -282.7967072986));
+#584 = CARTESIAN_POINT('',(64.142491060794,324.84190002539,
+    -276.0634523629));
+#585 = CARTESIAN_POINT('',(1.097708946E-08,326.67502441709,
+    -269.3301974272));
+#586 = CARTESIAN_POINT('',(400.00000000012,-1.1369E-13,-336.0971197538)
+  );
+#587 = CARTESIAN_POINT('',(400.00000000015,78.53981633809,
+    -329.0950964256));
+#588 = CARTESIAN_POINT('',(382.37570642754,157.07963267618,
+    -322.0930730974));
+#589 = CARTESIAN_POINT('',(347.12719536766,231.00533284599,
+    -315.0910497692));
+#590 = CARTESIAN_POINT('',(295.70349673942,295.70349672947,
+    -308.089026441));
+#591 = CARTESIAN_POINT('',(231.00533285769,347.12719535992,
+    -301.0870031128));
+#592 = CARTESIAN_POINT('',(157.07963268908,382.37570642234,
+    -294.0849797846));
+#593 = CARTESIAN_POINT('',(78.539816351564,399.99999999763,
+    -287.0829564564));
+#594 = CARTESIAN_POINT('',(1.344108114E-08,400.00000000029,
+    -280.0809331282));
+#595 = CARTESIAN_POINT('',(487.98997069906,-1.1369E-13,-323.1962369127)
+  );
+#596 = CARTESIAN_POINT('',(486.15684630947,95.816606683805,
+    -316.462981977));
+#597 = CARTESIAN_POINT('',(462.82252565965,190.81050906542,
+    -309.7297270413));
+#598 = CARTESIAN_POINT('',(418.31019368763,279.35261847583,
+    -302.9964721056));
+#599 = CARTESIAN_POINT('',(354.71058675547,355.94989094045,
+    -296.2632171699));
+#600 = CARTESIAN_POINT('',(275.81957937682,415.9362092219,
+    -289.5299622342));
+#601 = CARTESIAN_POINT('',(186.69698756981,456.13617854298,
+    -282.7967072985));
+#602 = CARTESIAN_POINT('',(92.937141642113,475.15809996884,
+    -276.0634523629));
+#603 = CARTESIAN_POINT('',(1.590484544E-08,473.32497558237,
+    -269.3301974272));
+#604 = CARTESIAN_POINT('',(567.87429805521,-1.1369E-13,-285.9717426286)
+  );
+#605 = CARTESIAN_POINT('',(564.37691684575,111.50185768091,
+    -280.0139979905));
+#606 = CARTESIAN_POINT('',(535.8585772831,221.4340943455,-274.0562533524
+    ));
+#607 = CARTESIAN_POINT('',(482.93580834391,323.24614817434,
+    -268.0985087143));
+#608 = CARTESIAN_POINT('',(408.28193878291,410.64638235837,
+    -262.1407640762));
+#609 = CARTESIAN_POINT('',(316.50553381845,478.40653106393,
+    -256.1830194381));
+#610 = CARTESIAN_POINT('',(213.58598928148,523.10182990147,-250.2252748)
+  );
+#611 = CARTESIAN_POINT('',(106.00818414205,543.39262958537,
+    -244.2675301619));
+#612 = CARTESIAN_POINT('',(1.81418045E-08,539.89524837947,
+    -238.3097855239));
+#613 = CARTESIAN_POINT('',(632.70724608537,-5.684E-14,-228.5725676449));
+#614 = CARTESIAN_POINT('',(627.85917845858,124.23177725827,
+    -223.8106391523));
+#615 = CARTESIAN_POINT('',(595.13356520547,246.28774685366,
+    -219.0487106597));
+#616 = CARTESIAN_POINT('',(535.38500902045,358.86949287764,
+    -214.2867821671));
+#617 = CARTESIAN_POINT('',(451.75966209655,455.03725229343,
+    -209.5248536744));
+#618 = CARTESIAN_POINT('',(349.52565750423,529.10652771455,
+    -204.7629251818));
+#619 = CARTESIAN_POINT('',(235.40870855871,577.45017003268,
+    -200.0009966892));
+#620 = CARTESIAN_POINT('',(116.61645045834,598.77077269394,
+    -195.2390681966));
+#621 = CARTESIAN_POINT('',(1.995732646E-08,593.92270507107,
+    -190.477139704));
+#622 = CARTESIAN_POINT('',(677.56908044571,1.1369E-13,-157.0796327139));
+#623 = CARTESIAN_POINT('',(671.78639126976,133.04037783639,
+    -153.8071403657));
+#624 = CARTESIAN_POINT('',(636.14951112005,263.48549083953,
+    -150.5346480175));
+#625 = CARTESIAN_POINT('',(571.67778028229,383.51943766649,
+    -147.2621556693));
+#626 = CARTESIAN_POINT('',(481.84452605739,485.75397757975,
+    -143.9896633211));
+#627 = CARTESIAN_POINT('',(372.37427636801,564.18891901286,
+    -140.7171709729));
+#628 = CARTESIAN_POINT('',(250.50916669394,615.05707064137,
+    -137.4446786247));
+#629 = CARTESIAN_POINT('',(123.95695094142,637.09025620991,
+    -134.1721862765));
+#630 = CARTESIAN_POINT('',(2.121350917E-08,631.30756703812,
+    -130.8996939283));
+#631 = CARTESIAN_POINT('',(699.99999999999,5.684E-14,-78.53981633977));
+#632 = CARTESIAN_POINT('',(693.74999999999,137.44467859161,
+    -76.90357016603));
+#633 = CARTESIAN_POINT('',(656.65748624791,272.08436374257,
+    -75.26732399228));
+#634 = CARTESIAN_POINT('',(589.82416783382,395.8444113654,
+    -73.63107781854));
+#635 = CARTESIAN_POINT('',(496.88695962987,501.11234184841,
+    -71.99483164479));
+#636 = CARTESIAN_POINT('',(383.79858700903,581.73011651855,
+    -70.35858547105));
+#637 = CARTESIAN_POINT('',(258.05939656065,633.86052293581,
+    -68.7223392973));
+#638 = CARTESIAN_POINT('',(127.6272015714,656.2499999957,-67.08609312355
+    ));
+#639 = CARTESIAN_POINT('',(2.184168579E-08,649.99999999999,
+    -65.44984694981));
+#640 = CARTESIAN_POINT('',(700.,5.684E-14,0.));
+#641 = CARTESIAN_POINT('',(693.75,137.44467859161,0.));
+#642 = CARTESIAN_POINT('',(656.6574862479,272.08436374257,0.));
+#643 = CARTESIAN_POINT('',(589.82416783383,395.8444113654,0.));
+#644 = CARTESIAN_POINT('',(496.88695962986,501.11234184841,0.));
+#645 = CARTESIAN_POINT('',(383.79858700904,581.73011651857,0.));
+#646 = CARTESIAN_POINT('',(258.05939656064,633.86052293581,0.));
+#647 = CARTESIAN_POINT('',(127.6272015714,656.24999999571,0.));
+#648 = CARTESIAN_POINT('',(2.184168579E-08,650.,0.));
+#649 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#653)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#650,#651,#652)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#650 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#651 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#652 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#653 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(5.E-06),#650,
+  'distance_accuracy_value','confusion accuracy');
+#654 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#655,#657);
+#655 = ( REPRESENTATION_RELATIONSHIP('','',#40,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#656) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#656 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
+#657 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#658
+  );
+#658 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','Duct_reduction_curved_','',#5
+  ,#35,$);
+#659 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#37));
+#660 = SHAPE_DEFINITION_REPRESENTATION(#661,#667);
+#661 = PRODUCT_DEFINITION_SHAPE('','',#662);
+#662 = PRODUCT_DEFINITION('design','',#663,#666);
+#663 = PRODUCT_DEFINITION_FORMATION('','',#664);
+#664 = PRODUCT('Flange_01_','Flange_01_','',(#665));
+#665 = PRODUCT_CONTEXT('',#2,'mechanical');
+#666 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#667 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#668),#760);
+#668 = MANIFOLD_SOLID_BREP('',#669);
+#669 = CLOSED_SHELL('',(#670,#703,#736,#748));
+#670 = ADVANCED_FACE('',(#671),#698,.T.);
+#671 = FACE_BOUND('',#672,.T.);
+#672 = EDGE_LOOP('',(#673,#683,#690,#691));
+#673 = ORIENTED_EDGE('',*,*,#674,.T.);
+#674 = EDGE_CURVE('',#675,#677,#679,.T.);
+#675 = VERTEX_POINT('',#676);
+#676 = CARTESIAN_POINT('',(750.,0.,0.));
+#677 = VERTEX_POINT('',#678);
+#678 = CARTESIAN_POINT('',(750.,5.,-1.E-15));
+#679 = LINE('',#680,#681);
+#680 = CARTESIAN_POINT('',(750.,0.,0.));
+#681 = VECTOR('',#682,1.);
+#682 = DIRECTION('',(-0.,1.,-2.2E-16));
+#683 = ORIENTED_EDGE('',*,*,#684,.T.);
+#684 = EDGE_CURVE('',#677,#677,#685,.T.);
+#685 = CIRCLE('',#686,350.);
+#686 = AXIS2_PLACEMENT_3D('',#687,#688,#689);
+#687 = CARTESIAN_POINT('',(400.,5.,-1.E-15));
+#688 = DIRECTION('',(0.,-1.,0.));
+#689 = DIRECTION('',(1.,0.,0.));
+#690 = ORIENTED_EDGE('',*,*,#674,.F.);
+#691 = ORIENTED_EDGE('',*,*,#692,.F.);
+#692 = EDGE_CURVE('',#675,#675,#693,.T.);
+#693 = CIRCLE('',#694,350.);
+#694 = AXIS2_PLACEMENT_3D('',#695,#696,#697);
+#695 = CARTESIAN_POINT('',(400.,0.,0.));
+#696 = DIRECTION('',(0.,-1.,0.));
+#697 = DIRECTION('',(1.,0.,0.));
+#698 = CYLINDRICAL_SURFACE('',#699,350.);
+#699 = AXIS2_PLACEMENT_3D('',#700,#701,#702);
+#700 = CARTESIAN_POINT('',(400.,0.,0.));
+#701 = DIRECTION('',(0.,-1.,2.2E-16));
+#702 = DIRECTION('',(1.,0.,0.));
+#703 = ADVANCED_FACE('',(#704),#731,.F.);
+#704 = FACE_BOUND('',#705,.F.);
+#705 = EDGE_LOOP('',(#706,#716,#723,#724));
+#706 = ORIENTED_EDGE('',*,*,#707,.T.);
+#707 = EDGE_CURVE('',#708,#710,#712,.T.);
+#708 = VERTEX_POINT('',#709);
+#709 = CARTESIAN_POINT('',(700.,0.,0.));
+#710 = VERTEX_POINT('',#711);
+#711 = CARTESIAN_POINT('',(700.,5.,-1.E-15));
+#712 = LINE('',#713,#714);
+#713 = CARTESIAN_POINT('',(700.,0.,0.));
+#714 = VECTOR('',#715,1.);
+#715 = DIRECTION('',(-0.,1.,-2.2E-16));
+#716 = ORIENTED_EDGE('',*,*,#717,.T.);
+#717 = EDGE_CURVE('',#710,#710,#718,.T.);
+#718 = CIRCLE('',#719,300.);
+#719 = AXIS2_PLACEMENT_3D('',#720,#721,#722);
+#720 = CARTESIAN_POINT('',(400.,5.,-1.E-15));
+#721 = DIRECTION('',(0.,-1.,0.));
+#722 = DIRECTION('',(1.,0.,0.));
+#723 = ORIENTED_EDGE('',*,*,#707,.F.);
+#724 = ORIENTED_EDGE('',*,*,#725,.F.);
+#725 = EDGE_CURVE('',#708,#708,#726,.T.);
+#726 = CIRCLE('',#727,300.);
+#727 = AXIS2_PLACEMENT_3D('',#728,#729,#730);
+#728 = CARTESIAN_POINT('',(400.,0.,0.));
+#729 = DIRECTION('',(0.,-1.,0.));
+#730 = DIRECTION('',(1.,0.,0.));
+#731 = CYLINDRICAL_SURFACE('',#732,300.);
+#732 = AXIS2_PLACEMENT_3D('',#733,#734,#735);
+#733 = CARTESIAN_POINT('',(400.,0.,0.));
+#734 = DIRECTION('',(0.,-1.,2.2E-16));
+#735 = DIRECTION('',(1.,0.,0.));
+#736 = ADVANCED_FACE('',(#737,#740),#743,.F.);
+#737 = FACE_BOUND('',#738,.T.);
+#738 = EDGE_LOOP('',(#739));
+#739 = ORIENTED_EDGE('',*,*,#692,.T.);
+#740 = FACE_BOUND('',#741,.F.);
+#741 = EDGE_LOOP('',(#742));
+#742 = ORIENTED_EDGE('',*,*,#725,.T.);
+#743 = PLANE('',#744);
+#744 = AXIS2_PLACEMENT_3D('',#745,#746,#747);
+#745 = CARTESIAN_POINT('',(400.,0.,9.54E-15));
+#746 = DIRECTION('',(-0.,1.,-2.2E-16));
+#747 = DIRECTION('',(0.,2.2E-16,1.));
+#748 = ADVANCED_FACE('',(#749,#752),#755,.T.);
+#749 = FACE_BOUND('',#750,.F.);
+#750 = EDGE_LOOP('',(#751));
+#751 = ORIENTED_EDGE('',*,*,#684,.T.);
+#752 = FACE_BOUND('',#753,.T.);
+#753 = EDGE_LOOP('',(#754));
+#754 = ORIENTED_EDGE('',*,*,#717,.T.);
+#755 = PLANE('',#756);
+#756 = AXIS2_PLACEMENT_3D('',#757,#758,#759);
+#757 = CARTESIAN_POINT('',(400.,5.,8.54E-15));
+#758 = DIRECTION('',(0.,1.,-2.2E-16));
+#759 = DIRECTION('',(0.,2.2E-16,1.));
+#760 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#764)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#761,#762,#763)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#761 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#762 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#763 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#764 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#761,
+  'distance_accuracy_value','confusion accuracy');
+#765 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#766,#768);
+#766 = ( REPRESENTATION_RELATIONSHIP('','',#667,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#767) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#767 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
+#768 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#769
+  );
+#769 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','Flange_01_','',#5,#662,$);
+#770 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#664));
+#771 = SHAPE_DEFINITION_REPRESENTATION(#772,#778);
+#772 = PRODUCT_DEFINITION_SHAPE('','',#773);
+#773 = PRODUCT_DEFINITION('design','',#774,#777);
+#774 = PRODUCT_DEFINITION_FORMATION('','',#775);
+#775 = PRODUCT('Flange_02','Flange_02','',(#776));
+#776 = PRODUCT_CONTEXT('',#2,'mechanical');
+#777 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#778 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#779),#871);
+#779 = MANIFOLD_SOLID_BREP('',#780);
+#780 = CLOSED_SHELL('',(#781,#814,#847,#859));
+#781 = ADVANCED_FACE('',(#782),#809,.T.);
+#782 = FACE_BOUND('',#783,.F.);
+#783 = EDGE_LOOP('',(#784,#794,#801,#802));
+#784 = ORIENTED_EDGE('',*,*,#785,.T.);
+#785 = EDGE_CURVE('',#786,#788,#790,.T.);
+#786 = VERTEX_POINT('',#787);
+#787 = CARTESIAN_POINT('',(2.3521742E-08,700.,0.));
+#788 = VERTEX_POINT('',#789);
+#789 = CARTESIAN_POINT('',(5.000000023522,699.99999999983,0.));
+#790 = LINE('',#791,#792);
+#791 = CARTESIAN_POINT('',(2.35217424E-08,700.,0.));
+#792 = VECTOR('',#793,1.);
+#793 = DIRECTION('',(1.,-3.360245E-11,0.));
+#794 = ORIENTED_EDGE('',*,*,#795,.T.);
+#795 = EDGE_CURVE('',#788,#788,#796,.T.);
+#796 = CIRCLE('',#797,300.);
+#797 = AXIS2_PLACEMENT_3D('',#798,#799,#800);
+#798 = CARTESIAN_POINT('',(5.000000013441,399.99999999983,0.));
+#799 = DIRECTION('',(1.,-3.3602E-11,0.));
+#800 = DIRECTION('',(3.3602E-11,1.,0.));
+#801 = ORIENTED_EDGE('',*,*,#785,.F.);
+#802 = ORIENTED_EDGE('',*,*,#803,.F.);
+#803 = EDGE_CURVE('',#786,#786,#804,.T.);
+#804 = CIRCLE('',#805,300.);
+#805 = AXIS2_PLACEMENT_3D('',#806,#807,#808);
+#806 = CARTESIAN_POINT('',(1.3441006E-08,400.,0.));
+#807 = DIRECTION('',(1.,-3.3602E-11,0.));
+#808 = DIRECTION('',(3.3602E-11,1.,0.));
+#809 = CYLINDRICAL_SURFACE('',#810,300.);
+#810 = AXIS2_PLACEMENT_3D('',#811,#812,#813);
+#811 = CARTESIAN_POINT('',(1.344100615E-08,400.,0.));
+#812 = DIRECTION('',(-1.,3.360245E-11,-0.));
+#813 = DIRECTION('',(3.360245E-11,1.,0.));
+#814 = ADVANCED_FACE('',(#815),#842,.F.);
+#815 = FACE_BOUND('',#816,.T.);
+#816 = EDGE_LOOP('',(#817,#827,#834,#835));
+#817 = ORIENTED_EDGE('',*,*,#818,.T.);
+#818 = EDGE_CURVE('',#819,#821,#823,.T.);
+#819 = VERTEX_POINT('',#820);
+#820 = CARTESIAN_POINT('',(2.184162E-08,650.,0.));
+#821 = VERTEX_POINT('',#822);
+#822 = CARTESIAN_POINT('',(5.000000021842,649.99999999983,0.));
+#823 = LINE('',#824,#825);
+#824 = CARTESIAN_POINT('',(2.184161969E-08,650.,0.));
+#825 = VECTOR('',#826,1.);
+#826 = DIRECTION('',(1.,-3.360245E-11,0.));
+#827 = ORIENTED_EDGE('',*,*,#828,.T.);
+#828 = EDGE_CURVE('',#821,#821,#829,.T.);
+#829 = CIRCLE('',#830,250.);
+#830 = AXIS2_PLACEMENT_3D('',#831,#832,#833);
+#831 = CARTESIAN_POINT('',(5.000000013441,399.99999999983,0.));
+#832 = DIRECTION('',(1.,-3.3602E-11,0.));
+#833 = DIRECTION('',(3.3602E-11,1.,0.));
+#834 = ORIENTED_EDGE('',*,*,#818,.F.);
+#835 = ORIENTED_EDGE('',*,*,#836,.F.);
+#836 = EDGE_CURVE('',#819,#819,#837,.T.);
+#837 = CIRCLE('',#838,250.);
+#838 = AXIS2_PLACEMENT_3D('',#839,#840,#841);
+#839 = CARTESIAN_POINT('',(1.3441006E-08,400.,0.));
+#840 = DIRECTION('',(1.,-3.3602E-11,0.));
+#841 = DIRECTION('',(3.3602E-11,1.,0.));
+#842 = CYLINDRICAL_SURFACE('',#843,250.);
+#843 = AXIS2_PLACEMENT_3D('',#844,#845,#846);
+#844 = CARTESIAN_POINT('',(1.344100615E-08,400.,0.));
+#845 = DIRECTION('',(-1.,3.360245E-11,-0.));
+#846 = DIRECTION('',(3.360245E-11,1.,0.));
+#847 = ADVANCED_FACE('',(#848,#851),#854,.F.);
+#848 = FACE_BOUND('',#849,.F.);
+#849 = EDGE_LOOP('',(#850));
+#850 = ORIENTED_EDGE('',*,*,#803,.T.);
+#851 = FACE_BOUND('',#852,.T.);
+#852 = EDGE_LOOP('',(#853));
+#853 = ORIENTED_EDGE('',*,*,#836,.T.);
+#854 = PLANE('',#855);
+#855 = AXIS2_PLACEMENT_3D('',#856,#857,#858);
+#856 = CARTESIAN_POINT('',(1.344100615E-08,400.,1.369E-14));
+#857 = DIRECTION('',(1.,-3.360245E-11,-0.));
+#858 = DIRECTION('',(3.360245E-11,1.,0.));
+#859 = ADVANCED_FACE('',(#860,#863),#866,.T.);
+#860 = FACE_BOUND('',#861,.T.);
+#861 = EDGE_LOOP('',(#862));
+#862 = ORIENTED_EDGE('',*,*,#795,.T.);
+#863 = FACE_BOUND('',#864,.F.);
+#864 = EDGE_LOOP('',(#865));
+#865 = ORIENTED_EDGE('',*,*,#828,.T.);
+#866 = PLANE('',#867);
+#867 = AXIS2_PLACEMENT_3D('',#868,#869,#870);
+#868 = CARTESIAN_POINT('',(5.000000013441,399.99999999983,1.369E-14));
+#869 = DIRECTION('',(1.,-3.360245E-11,0.));
+#870 = DIRECTION('',(3.360245E-11,1.,0.));
+#871 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#875)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#872,#873,#874)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#872 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#873 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#874 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#875 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#872,
+  'distance_accuracy_value','confusion accuracy');
+#876 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#877,#879);
+#877 = ( REPRESENTATION_RELATIONSHIP('','',#778,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#878) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#878 = ITEM_DEFINED_TRANSFORMATION('','',#11,#23);
+#879 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#880
+  );
+#880 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('3','Flange_02','',#5,#773,$);
+#881 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#775));
+#882 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#883)
+  ,#760);
+#883 = STYLED_ITEM('color',(#884),#668);
+#884 = PRESENTATION_STYLE_ASSIGNMENT((#885,#891));
+#885 = SURFACE_STYLE_USAGE(.BOTH.,#886);
+#886 = SURFACE_SIDE_STYLE('',(#887));
+#887 = SURFACE_STYLE_FILL_AREA(#888);
+#888 = FILL_AREA_STYLE('',(#889));
+#889 = FILL_AREA_STYLE_COLOUR('',#890);
+#890 = COLOUR_RGB('',0.800000010877,0.800000010877,0.800000010877);
+#891 = CURVE_STYLE('',#892,POSITIVE_LENGTH_MEASURE(0.1),#893);
+#892 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#893 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
+  9.803921802644E-02);
+#894 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#895)
+  ,#871);
+#895 = STYLED_ITEM('color',(#896),#779);
+#896 = PRESENTATION_STYLE_ASSIGNMENT((#897,#902));
+#897 = SURFACE_STYLE_USAGE(.BOTH.,#898);
+#898 = SURFACE_SIDE_STYLE('',(#899));
+#899 = SURFACE_STYLE_FILL_AREA(#900);
+#900 = FILL_AREA_STYLE('',(#901));
+#901 = FILL_AREA_STYLE_COLOUR('',#890);
+#902 = CURVE_STYLE('',#903,POSITIVE_LENGTH_MEASURE(0.1),#893);
+#903 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#904 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#905)
+  ,#649);
+#905 = STYLED_ITEM('color',(#906),#41);
+#906 = PRESENTATION_STYLE_ASSIGNMENT((#907,#912));
+#907 = SURFACE_STYLE_USAGE(.BOTH.,#908);
+#908 = SURFACE_SIDE_STYLE('',(#909));
+#909 = SURFACE_STYLE_FILL_AREA(#910);
+#910 = FILL_AREA_STYLE('',(#911));
+#911 = FILL_AREA_STYLE_COLOUR('',#890);
+#912 = CURVE_STYLE('',#913,POSITIVE_LENGTH_MEASURE(0.1),#893);
+#913 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+ENDSEC;
+END-ISO-10303-21;
diff --git a/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.stl b/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.stl
new file mode 100644
index 00000000..8338cfff
Binary files /dev/null and b/HVAC/Ducts/Circular/Duct_curved_circular_complete_R02.stl differ
diff --git a/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.FCStd b/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.FCStd
new file mode 100644
index 00000000..46221afd
Binary files /dev/null and b/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.FCStd differ
diff --git a/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.step b/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.step
new file mode 100644
index 00000000..b71505cd
--- /dev/null
+++ b/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.step
@@ -0,0 +1,439 @@
+ISO-10303-21;
+HEADER;
+FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
+FILE_NAME('Open CASCADE Shape Model','2024-08-10T18:34:14',(''),(''),
+  'Open CASCADE STEP processor 7.6','FreeCAD','Unknown');
+FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
+ENDSEC;
+DATA;
+#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
+  'automotive_design',2000,#2);
+#2 = APPLICATION_CONTEXT(
+  'core data for automotive mechanical design processes');
+#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
+#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
+#5 = PRODUCT_DEFINITION('design','',#6,#9);
+#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
+#7 = PRODUCT('Duct_linear_circular_complete_R02',
+  'Duct_linear_circular_complete_R02','',(#8));
+#8 = PRODUCT_CONTEXT('',#2,'mechanical');
+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#10 = SHAPE_REPRESENTATION('',(#11,#15,#19,#23),#27);
+#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
+#12 = CARTESIAN_POINT('',(0.,0.,0.));
+#13 = DIRECTION('',(0.,0.,1.));
+#14 = DIRECTION('',(1.,0.,-0.));
+#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);
+#16 = CARTESIAN_POINT('',(0.,0.,0.));
+#17 = DIRECTION('',(0.,0.,1.));
+#18 = DIRECTION('',(1.,0.,0.));
+#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);
+#20 = CARTESIAN_POINT('',(0.,0.,0.));
+#21 = DIRECTION('',(0.,0.,1.));
+#22 = DIRECTION('',(1.,0.,0.));
+#23 = AXIS2_PLACEMENT_3D('',#24,#25,#26);
+#24 = CARTESIAN_POINT('',(0.,0.,0.));
+#25 = DIRECTION('',(0.,0.,1.));
+#26 = DIRECTION('',(1.,0.,0.));
+#27 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#31)) GLOBAL_UNIT_ASSIGNED_CONTEXT(
+(#28,#29,#30)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#28 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#29 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#30 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#31 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#28,
+  'distance_accuracy_value','confusion accuracy');
+#32 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
+#33 = SHAPE_DEFINITION_REPRESENTATION(#34,#40);
+#34 = PRODUCT_DEFINITION_SHAPE('','',#35);
+#35 = PRODUCT_DEFINITION('design','',#36,#39);
+#36 = PRODUCT_DEFINITION_FORMATION('','',#37);
+#37 = PRODUCT('Duct_001','Duct_001','',(#38));
+#38 = PRODUCT_CONTEXT('',#2,'mechanical');
+#39 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#40 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#41),#133);
+#41 = MANIFOLD_SOLID_BREP('',#42);
+#42 = CLOSED_SHELL('',(#43,#76,#96,#116));
+#43 = ADVANCED_FACE('',(#44),#71,.T.);
+#44 = FACE_BOUND('',#45,.T.);
+#45 = EDGE_LOOP('',(#46,#56,#63,#64));
+#46 = ORIENTED_EDGE('',*,*,#47,.T.);
+#47 = EDGE_CURVE('',#48,#50,#52,.T.);
+#48 = VERTEX_POINT('',#49);
+#49 = CARTESIAN_POINT('',(0.,303.,-7.4E-14));
+#50 = VERTEX_POINT('',#51);
+#51 = CARTESIAN_POINT('',(1.E+03,303.,-7.4E-14));
+#52 = LINE('',#53,#54);
+#53 = CARTESIAN_POINT('',(0.,303.,0.));
+#54 = VECTOR('',#55,1.);
+#55 = DIRECTION('',(1.,0.,0.));
+#56 = ORIENTED_EDGE('',*,*,#57,.F.);
+#57 = EDGE_CURVE('',#50,#50,#58,.T.);
+#58 = CIRCLE('',#59,303.);
+#59 = AXIS2_PLACEMENT_3D('',#60,#61,#62);
+#60 = CARTESIAN_POINT('',(1.E+03,0.,0.));
+#61 = DIRECTION('',(1.,0.,0.));
+#62 = DIRECTION('',(0.,1.,0.));
+#63 = ORIENTED_EDGE('',*,*,#47,.F.);
+#64 = ORIENTED_EDGE('',*,*,#65,.T.);
+#65 = EDGE_CURVE('',#48,#48,#66,.T.);
+#66 = CIRCLE('',#67,303.);
+#67 = AXIS2_PLACEMENT_3D('',#68,#69,#70);
+#68 = CARTESIAN_POINT('',(0.,0.,0.));
+#69 = DIRECTION('',(1.,0.,0.));
+#70 = DIRECTION('',(0.,1.,0.));
+#71 = CYLINDRICAL_SURFACE('',#72,303.);
+#72 = AXIS2_PLACEMENT_3D('',#73,#74,#75);
+#73 = CARTESIAN_POINT('',(0.,0.,0.));
+#74 = DIRECTION('',(1.,0.,0.));
+#75 = DIRECTION('',(0.,1.,0.));
+#76 = ADVANCED_FACE('',(#77,#80),#91,.F.);
+#77 = FACE_BOUND('',#78,.F.);
+#78 = EDGE_LOOP('',(#79));
+#79 = ORIENTED_EDGE('',*,*,#65,.T.);
+#80 = FACE_BOUND('',#81,.F.);
+#81 = EDGE_LOOP('',(#82));
+#82 = ORIENTED_EDGE('',*,*,#83,.F.);
+#83 = EDGE_CURVE('',#84,#84,#86,.T.);
+#84 = VERTEX_POINT('',#85);
+#85 = CARTESIAN_POINT('',(0.,300.,-7.3E-14));
+#86 = CIRCLE('',#87,300.);
+#87 = AXIS2_PLACEMENT_3D('',#88,#89,#90);
+#88 = CARTESIAN_POINT('',(0.,0.,0.));
+#89 = DIRECTION('',(1.,0.,0.));
+#90 = DIRECTION('',(0.,1.,0.));
+#91 = PLANE('',#92);
+#92 = AXIS2_PLACEMENT_3D('',#93,#94,#95);
+#93 = CARTESIAN_POINT('',(0.,-1.849E-14,2.46E-14));
+#94 = DIRECTION('',(1.,0.,0.));
+#95 = DIRECTION('',(0.,0.,1.));
+#96 = ADVANCED_FACE('',(#97,#100),#111,.T.);
+#97 = FACE_BOUND('',#98,.T.);
+#98 = EDGE_LOOP('',(#99));
+#99 = ORIENTED_EDGE('',*,*,#57,.T.);
+#100 = FACE_BOUND('',#101,.T.);
+#101 = EDGE_LOOP('',(#102));
+#102 = ORIENTED_EDGE('',*,*,#103,.F.);
+#103 = EDGE_CURVE('',#104,#104,#106,.T.);
+#104 = VERTEX_POINT('',#105);
+#105 = CARTESIAN_POINT('',(1.E+03,300.,-7.3E-14));
+#106 = CIRCLE('',#107,300.);
+#107 = AXIS2_PLACEMENT_3D('',#108,#109,#110);
+#108 = CARTESIAN_POINT('',(1.E+03,0.,0.));
+#109 = DIRECTION('',(1.,0.,0.));
+#110 = DIRECTION('',(0.,1.,0.));
+#111 = PLANE('',#112);
+#112 = AXIS2_PLACEMENT_3D('',#113,#114,#115);
+#113 = CARTESIAN_POINT('',(1.E+03,-1.849E-14,2.46E-14));
+#114 = DIRECTION('',(1.,0.,0.));
+#115 = DIRECTION('',(0.,0.,1.));
+#116 = ADVANCED_FACE('',(#117),#128,.F.);
+#117 = FACE_BOUND('',#118,.F.);
+#118 = EDGE_LOOP('',(#119,#125,#126,#127));
+#119 = ORIENTED_EDGE('',*,*,#120,.T.);
+#120 = EDGE_CURVE('',#84,#104,#121,.T.);
+#121 = LINE('',#122,#123);
+#122 = CARTESIAN_POINT('',(0.,300.,0.));
+#123 = VECTOR('',#124,1.);
+#124 = DIRECTION('',(1.,0.,0.));
+#125 = ORIENTED_EDGE('',*,*,#103,.F.);
+#126 = ORIENTED_EDGE('',*,*,#120,.F.);
+#127 = ORIENTED_EDGE('',*,*,#83,.T.);
+#128 = CYLINDRICAL_SURFACE('',#129,300.);
+#129 = AXIS2_PLACEMENT_3D('',#130,#131,#132);
+#130 = CARTESIAN_POINT('',(0.,0.,0.));
+#131 = DIRECTION('',(1.,0.,0.));
+#132 = DIRECTION('',(0.,1.,0.));
+#133 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#137)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#134,#135,#136)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#134 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#135 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#136 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#137 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#134,
+  'distance_accuracy_value','confusion accuracy');
+#138 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#139,#141);
+#139 = ( REPRESENTATION_RELATIONSHIP('','',#40,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#140) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#140 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
+#141 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#142
+  );
+#142 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('4','Duct_001','',#5,#35,$);
+#143 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#37));
+#144 = SHAPE_DEFINITION_REPRESENTATION(#145,#151);
+#145 = PRODUCT_DEFINITION_SHAPE('','',#146);
+#146 = PRODUCT_DEFINITION('design','',#147,#150);
+#147 = PRODUCT_DEFINITION_FORMATION('','',#148);
+#148 = PRODUCT('Flange_01_','Flange_01_','',(#149));
+#149 = PRODUCT_CONTEXT('',#2,'mechanical');
+#150 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#151 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#152),#244);
+#152 = MANIFOLD_SOLID_BREP('',#153);
+#153 = CLOSED_SHELL('',(#154,#187,#220,#232));
+#154 = ADVANCED_FACE('',(#155),#182,.T.);
+#155 = FACE_BOUND('',#156,.F.);
+#156 = EDGE_LOOP('',(#157,#167,#174,#175));
+#157 = ORIENTED_EDGE('',*,*,#158,.T.);
+#158 = EDGE_CURVE('',#159,#161,#163,.T.);
+#159 = VERTEX_POINT('',#160);
+#160 = CARTESIAN_POINT('',(0.,350.,0.));
+#161 = VERTEX_POINT('',#162);
+#162 = CARTESIAN_POINT('',(5.,350.,0.));
+#163 = LINE('',#164,#165);
+#164 = CARTESIAN_POINT('',(0.,350.,0.));
+#165 = VECTOR('',#166,1.);
+#166 = DIRECTION('',(1.,0.,0.));
+#167 = ORIENTED_EDGE('',*,*,#168,.T.);
+#168 = EDGE_CURVE('',#161,#161,#169,.T.);
+#169 = CIRCLE('',#170,350.);
+#170 = AXIS2_PLACEMENT_3D('',#171,#172,#173);
+#171 = CARTESIAN_POINT('',(5.,0.,0.));
+#172 = DIRECTION('',(1.,0.,0.));
+#173 = DIRECTION('',(0.,1.,0.));
+#174 = ORIENTED_EDGE('',*,*,#158,.F.);
+#175 = ORIENTED_EDGE('',*,*,#176,.F.);
+#176 = EDGE_CURVE('',#159,#159,#177,.T.);
+#177 = CIRCLE('',#178,350.);
+#178 = AXIS2_PLACEMENT_3D('',#179,#180,#181);
+#179 = CARTESIAN_POINT('',(0.,0.,0.));
+#180 = DIRECTION('',(1.,0.,0.));
+#181 = DIRECTION('',(0.,1.,0.));
+#182 = CYLINDRICAL_SURFACE('',#183,350.);
+#183 = AXIS2_PLACEMENT_3D('',#184,#185,#186);
+#184 = CARTESIAN_POINT('',(0.,0.,0.));
+#185 = DIRECTION('',(-1.,-0.,-0.));
+#186 = DIRECTION('',(0.,1.,0.));
+#187 = ADVANCED_FACE('',(#188),#215,.F.);
+#188 = FACE_BOUND('',#189,.T.);
+#189 = EDGE_LOOP('',(#190,#200,#207,#208));
+#190 = ORIENTED_EDGE('',*,*,#191,.T.);
+#191 = EDGE_CURVE('',#192,#194,#196,.T.);
+#192 = VERTEX_POINT('',#193);
+#193 = CARTESIAN_POINT('',(0.,300.,0.));
+#194 = VERTEX_POINT('',#195);
+#195 = CARTESIAN_POINT('',(5.,300.,0.));
+#196 = LINE('',#197,#198);
+#197 = CARTESIAN_POINT('',(0.,300.,0.));
+#198 = VECTOR('',#199,1.);
+#199 = DIRECTION('',(1.,0.,0.));
+#200 = ORIENTED_EDGE('',*,*,#201,.T.);
+#201 = EDGE_CURVE('',#194,#194,#202,.T.);
+#202 = CIRCLE('',#203,300.);
+#203 = AXIS2_PLACEMENT_3D('',#204,#205,#206);
+#204 = CARTESIAN_POINT('',(5.,0.,0.));
+#205 = DIRECTION('',(1.,0.,0.));
+#206 = DIRECTION('',(0.,1.,0.));
+#207 = ORIENTED_EDGE('',*,*,#191,.F.);
+#208 = ORIENTED_EDGE('',*,*,#209,.F.);
+#209 = EDGE_CURVE('',#192,#192,#210,.T.);
+#210 = CIRCLE('',#211,300.);
+#211 = AXIS2_PLACEMENT_3D('',#212,#213,#214);
+#212 = CARTESIAN_POINT('',(0.,0.,0.));
+#213 = DIRECTION('',(1.,0.,0.));
+#214 = DIRECTION('',(0.,1.,0.));
+#215 = CYLINDRICAL_SURFACE('',#216,300.);
+#216 = AXIS2_PLACEMENT_3D('',#217,#218,#219);
+#217 = CARTESIAN_POINT('',(0.,0.,0.));
+#218 = DIRECTION('',(-1.,-0.,-0.));
+#219 = DIRECTION('',(0.,1.,0.));
+#220 = ADVANCED_FACE('',(#221,#224),#227,.F.);
+#221 = FACE_BOUND('',#222,.F.);
+#222 = EDGE_LOOP('',(#223));
+#223 = ORIENTED_EDGE('',*,*,#176,.T.);
+#224 = FACE_BOUND('',#225,.F.);
+#225 = EDGE_LOOP('',(#226));
+#226 = ORIENTED_EDGE('',*,*,#209,.F.);
+#227 = PLANE('',#228);
+#228 = AXIS2_PLACEMENT_3D('',#229,#230,#231);
+#229 = CARTESIAN_POINT('',(0.,-8.E-15,1.772E-14));
+#230 = DIRECTION('',(1.,0.,0.));
+#231 = DIRECTION('',(0.,0.,1.));
+#232 = ADVANCED_FACE('',(#233,#236),#239,.T.);
+#233 = FACE_BOUND('',#234,.T.);
+#234 = EDGE_LOOP('',(#235));
+#235 = ORIENTED_EDGE('',*,*,#168,.T.);
+#236 = FACE_BOUND('',#237,.T.);
+#237 = EDGE_LOOP('',(#238));
+#238 = ORIENTED_EDGE('',*,*,#201,.F.);
+#239 = PLANE('',#240);
+#240 = AXIS2_PLACEMENT_3D('',#241,#242,#243);
+#241 = CARTESIAN_POINT('',(5.,-8.E-15,1.772E-14));
+#242 = DIRECTION('',(1.,0.,0.));
+#243 = DIRECTION('',(0.,0.,1.));
+#244 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#248)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#245,#246,#247)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#245 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#246 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#247 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#248 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#245,
+  'distance_accuracy_value','confusion accuracy');
+#249 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#250,#252);
+#250 = ( REPRESENTATION_RELATIONSHIP('','',#151,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#251) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#251 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
+#252 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#253
+  );
+#253 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('5','Flange_01_','',#5,#146,$);
+#254 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#148));
+#255 = SHAPE_DEFINITION_REPRESENTATION(#256,#262);
+#256 = PRODUCT_DEFINITION_SHAPE('','',#257);
+#257 = PRODUCT_DEFINITION('design','',#258,#261);
+#258 = PRODUCT_DEFINITION_FORMATION('','',#259);
+#259 = PRODUCT('Flange_02_001','Flange_02_001','',(#260));
+#260 = PRODUCT_CONTEXT('',#2,'mechanical');
+#261 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#262 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#263),#355);
+#263 = MANIFOLD_SOLID_BREP('',#264);
+#264 = CLOSED_SHELL('',(#265,#298,#331,#343));
+#265 = ADVANCED_FACE('',(#266),#293,.T.);
+#266 = FACE_BOUND('',#267,.T.);
+#267 = EDGE_LOOP('',(#268,#278,#285,#286));
+#268 = ORIENTED_EDGE('',*,*,#269,.T.);
+#269 = EDGE_CURVE('',#270,#272,#274,.T.);
+#270 = VERTEX_POINT('',#271);
+#271 = CARTESIAN_POINT('',(1.E+03,350.,0.));
+#272 = VERTEX_POINT('',#273);
+#273 = CARTESIAN_POINT('',(995.,350.,0.));
+#274 = LINE('',#275,#276);
+#275 = CARTESIAN_POINT('',(1.E+03,350.,0.));
+#276 = VECTOR('',#277,1.);
+#277 = DIRECTION('',(-1.,-0.,-0.));
+#278 = ORIENTED_EDGE('',*,*,#279,.T.);
+#279 = EDGE_CURVE('',#272,#272,#280,.T.);
+#280 = CIRCLE('',#281,350.);
+#281 = AXIS2_PLACEMENT_3D('',#282,#283,#284);
+#282 = CARTESIAN_POINT('',(995.,0.,0.));
+#283 = DIRECTION('',(1.,0.,0.));
+#284 = DIRECTION('',(0.,1.,0.));
+#285 = ORIENTED_EDGE('',*,*,#269,.F.);
+#286 = ORIENTED_EDGE('',*,*,#287,.F.);
+#287 = EDGE_CURVE('',#270,#270,#288,.T.);
+#288 = CIRCLE('',#289,350.);
+#289 = AXIS2_PLACEMENT_3D('',#290,#291,#292);
+#290 = CARTESIAN_POINT('',(1.E+03,0.,0.));
+#291 = DIRECTION('',(1.,0.,0.));
+#292 = DIRECTION('',(0.,1.,0.));
+#293 = CYLINDRICAL_SURFACE('',#294,350.);
+#294 = AXIS2_PLACEMENT_3D('',#295,#296,#297);
+#295 = CARTESIAN_POINT('',(1.E+03,0.,0.));
+#296 = DIRECTION('',(1.,0.,0.));
+#297 = DIRECTION('',(-0.,1.,0.));
+#298 = ADVANCED_FACE('',(#299),#326,.F.);
+#299 = FACE_BOUND('',#300,.F.);
+#300 = EDGE_LOOP('',(#301,#311,#318,#319));
+#301 = ORIENTED_EDGE('',*,*,#302,.T.);
+#302 = EDGE_CURVE('',#303,#305,#307,.T.);
+#303 = VERTEX_POINT('',#304);
+#304 = CARTESIAN_POINT('',(1.E+03,300.,0.));
+#305 = VERTEX_POINT('',#306);
+#306 = CARTESIAN_POINT('',(995.,300.,0.));
+#307 = LINE('',#308,#309);
+#308 = CARTESIAN_POINT('',(1.E+03,300.,0.));
+#309 = VECTOR('',#310,1.);
+#310 = DIRECTION('',(-1.,-0.,-0.));
+#311 = ORIENTED_EDGE('',*,*,#312,.T.);
+#312 = EDGE_CURVE('',#305,#305,#313,.T.);
+#313 = CIRCLE('',#314,300.);
+#314 = AXIS2_PLACEMENT_3D('',#315,#316,#317);
+#315 = CARTESIAN_POINT('',(995.,0.,0.));
+#316 = DIRECTION('',(1.,0.,0.));
+#317 = DIRECTION('',(0.,1.,0.));
+#318 = ORIENTED_EDGE('',*,*,#302,.F.);
+#319 = ORIENTED_EDGE('',*,*,#320,.F.);
+#320 = EDGE_CURVE('',#303,#303,#321,.T.);
+#321 = CIRCLE('',#322,300.);
+#322 = AXIS2_PLACEMENT_3D('',#323,#324,#325);
+#323 = CARTESIAN_POINT('',(1.E+03,0.,0.));
+#324 = DIRECTION('',(1.,0.,0.));
+#325 = DIRECTION('',(0.,1.,0.));
+#326 = CYLINDRICAL_SURFACE('',#327,300.);
+#327 = AXIS2_PLACEMENT_3D('',#328,#329,#330);
+#328 = CARTESIAN_POINT('',(1.E+03,0.,0.));
+#329 = DIRECTION('',(1.,0.,0.));
+#330 = DIRECTION('',(-0.,1.,0.));
+#331 = ADVANCED_FACE('',(#332,#335),#338,.T.);
+#332 = FACE_BOUND('',#333,.T.);
+#333 = EDGE_LOOP('',(#334));
+#334 = ORIENTED_EDGE('',*,*,#287,.T.);
+#335 = FACE_BOUND('',#336,.T.);
+#336 = EDGE_LOOP('',(#337));
+#337 = ORIENTED_EDGE('',*,*,#320,.F.);
+#338 = PLANE('',#339);
+#339 = AXIS2_PLACEMENT_3D('',#340,#341,#342);
+#340 = CARTESIAN_POINT('',(1.E+03,-8.E-15,1.772E-14));
+#341 = DIRECTION('',(1.,-0.,0.));
+#342 = DIRECTION('',(-0.,0.,1.));
+#343 = ADVANCED_FACE('',(#344,#347),#350,.F.);
+#344 = FACE_BOUND('',#345,.F.);
+#345 = EDGE_LOOP('',(#346));
+#346 = ORIENTED_EDGE('',*,*,#279,.T.);
+#347 = FACE_BOUND('',#348,.F.);
+#348 = EDGE_LOOP('',(#349));
+#349 = ORIENTED_EDGE('',*,*,#312,.F.);
+#350 = PLANE('',#351);
+#351 = AXIS2_PLACEMENT_3D('',#352,#353,#354);
+#352 = CARTESIAN_POINT('',(995.,-8.E-15,1.772E-14));
+#353 = DIRECTION('',(1.,0.,0.));
+#354 = DIRECTION('',(0.,0.,1.));
+#355 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#359)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#356,#357,#358)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#356 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#357 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#358 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#359 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#356,
+  'distance_accuracy_value','confusion accuracy');
+#360 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#361,#363);
+#361 = ( REPRESENTATION_RELATIONSHIP('','',#262,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#362) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#362 = ITEM_DEFINED_TRANSFORMATION('','',#11,#23);
+#363 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#364
+  );
+#364 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('6','Flange_02_001','',#5,#257,$);
+#365 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#259));
+#366 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#367)
+  ,#133);
+#367 = STYLED_ITEM('color',(#368),#41);
+#368 = PRESENTATION_STYLE_ASSIGNMENT((#369,#375));
+#369 = SURFACE_STYLE_USAGE(.BOTH.,#370);
+#370 = SURFACE_SIDE_STYLE('',(#371));
+#371 = SURFACE_STYLE_FILL_AREA(#372);
+#372 = FILL_AREA_STYLE('',(#373));
+#373 = FILL_AREA_STYLE_COLOUR('',#374);
+#374 = COLOUR_RGB('',0.800000010877,0.800000010877,0.800000010877);
+#375 = CURVE_STYLE('',#376,POSITIVE_LENGTH_MEASURE(0.1),#377);
+#376 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#377 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
+  9.803921802644E-02);
+#378 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#379)
+  ,#244);
+#379 = STYLED_ITEM('color',(#380),#152);
+#380 = PRESENTATION_STYLE_ASSIGNMENT((#381,#386));
+#381 = SURFACE_STYLE_USAGE(.BOTH.,#382);
+#382 = SURFACE_SIDE_STYLE('',(#383));
+#383 = SURFACE_STYLE_FILL_AREA(#384);
+#384 = FILL_AREA_STYLE('',(#385));
+#385 = FILL_AREA_STYLE_COLOUR('',#374);
+#386 = CURVE_STYLE('',#387,POSITIVE_LENGTH_MEASURE(0.1),#377);
+#387 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#388 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#389)
+  ,#355);
+#389 = STYLED_ITEM('color',(#390),#263);
+#390 = PRESENTATION_STYLE_ASSIGNMENT((#391,#396));
+#391 = SURFACE_STYLE_USAGE(.BOTH.,#392);
+#392 = SURFACE_SIDE_STYLE('',(#393));
+#393 = SURFACE_STYLE_FILL_AREA(#394);
+#394 = FILL_AREA_STYLE('',(#395));
+#395 = FILL_AREA_STYLE_COLOUR('',#374);
+#396 = CURVE_STYLE('',#397,POSITIVE_LENGTH_MEASURE(0.1),#377);
+#397 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+ENDSEC;
+END-ISO-10303-21;
diff --git a/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.stl b/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.stl
new file mode 100644
index 00000000..d5c86551
Binary files /dev/null and b/HVAC/Ducts/Circular/Duct_linear_circular_complete_R02.stl differ