diff --git a/fab.3dshapes/Capacitor_Tecate-TPLC-3R8.step b/fab.3dshapes/Capacitor_Tecate-TPLC-3R8.step
new file mode 100644
index 0000000000000000000000000000000000000000..52c2a00bfedf4571ba1b405e26bfedfa2e9d1c06
--- /dev/null
+++ b/fab.3dshapes/Capacitor_Tecate-TPLC-3R8.step
@@ -0,0 +1,1086 @@
+ISO-10303-21;
+HEADER;
+FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
+FILE_NAME('Open CASCADE Shape Model','2025-01-30T21:36:38',(
+    'Krisjanis Rijnieks'),(''),'Open CASCADE STEP processor 7.7',
+  '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('TPLC-3R8','TPLC-3R8','',(#8));
+#8 = PRODUCT_CONTEXT('',#2,'mechanical');
+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#10 = SHAPE_REPRESENTATION('',(#11,#15,#19),#23);
+#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
+#12 = CARTESIAN_POINT('',(0.,0.,0.));
+#13 = DIRECTION('',(0.,0.,1.));
+#14 = DIRECTION('',(1.,0.,-0.));
+#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);
+#16 = CARTESIAN_POINT('',(0.,0.,0.));
+#17 = DIRECTION('',(0.,0.,1.));
+#18 = DIRECTION('',(1.,0.,0.));
+#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);
+#20 = CARTESIAN_POINT('',(0.,0.,0.));
+#21 = DIRECTION('',(0.,0.,1.));
+#22 = DIRECTION('',(1.,0.,0.));
+#23 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#27)) GLOBAL_UNIT_ASSIGNED_CONTEXT(
+(#24,#25,#26)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#24 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#25 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#26 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#27 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-05),#24,
+  'distance_accuracy_value','confusion accuracy');
+#28 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
+#29 = SHAPE_DEFINITION_REPRESENTATION(#30,#36);
+#30 = PRODUCT_DEFINITION_SHAPE('','',#31);
+#31 = PRODUCT_DEFINITION('design','',#32,#35);
+#32 = PRODUCT_DEFINITION_FORMATION('','',#33);
+#33 = PRODUCT('Body','Body','',(#34));
+#34 = PRODUCT_CONTEXT('',#2,'mechanical');
+#35 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#36 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#37),#505);
+#37 = MANIFOLD_SOLID_BREP('',#38);
+#38 = CLOSED_SHELL('',(#39,#97,#123,#195,#253,#262,#314,#386,#444,#470,
+    #496));
+#39 = ADVANCED_FACE('',(#40),#92,.T.);
+#40 = FACE_BOUND('',#41,.F.);
+#41 = EDGE_LOOP('',(#42,#52,#59,#60,#77));
+#42 = ORIENTED_EDGE('',*,*,#43,.F.);
+#43 = EDGE_CURVE('',#44,#46,#48,.T.);
+#44 = VERTEX_POINT('',#45);
+#45 = CARTESIAN_POINT('',(4.,0.,0.4));
+#46 = VERTEX_POINT('',#47);
+#47 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,1.221588293659));
+#48 = LINE('',#49,#50);
+#49 = CARTESIAN_POINT('',(4.,0.,0.));
+#50 = VECTOR('',#51,1.);
+#51 = DIRECTION('',(0.,0.,1.));
+#52 = ORIENTED_EDGE('',*,*,#53,.F.);
+#53 = EDGE_CURVE('',#44,#44,#54,.T.);
+#54 = CIRCLE('',#55,4.);
+#55 = AXIS2_PLACEMENT_3D('',#56,#57,#58);
+#56 = CARTESIAN_POINT('',(0.,0.,0.4));
+#57 = DIRECTION('',(0.,0.,1.));
+#58 = DIRECTION('',(1.,0.,0.));
+#59 = ORIENTED_EDGE('',*,*,#43,.T.);
+#60 = ORIENTED_EDGE('',*,*,#61,.F.);
+#61 = EDGE_CURVE('',#62,#46,#64,.T.);
+#62 = VERTEX_POINT('',#63);
+#63 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,1.221588293659));
+#64 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#65,#66,#67,#68,#69,#70,#71,
+    #72,#73,#74,#75,#76),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(12.566370614359,25.132741228718),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.,1.,1.000000000001,0.999999999999,
+1.000000000001,0.999999999999,1.,1.,1.,1.)) REPRESENTATION_ITEM('') );
+#65 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,1.221588293659));
+#66 = CARTESIAN_POINT('',(-4.,1.121611300988,1.221588293659));
+#67 = CARTESIAN_POINT('',(-3.654302898295,2.243988440983,1.221434082782)
+  );
+#68 = CARTESIAN_POINT('',(-2.959772885326,3.296744841141,1.22186973258)
+  );
+#69 = CARTESIAN_POINT('',(-1.896225481387,4.117630519885,1.221395914658)
+  );
+#70 = CARTESIAN_POINT('',(-0.591166926308,4.463533865469,1.221547516542)
+  );
+#71 = CARTESIAN_POINT('',(0.623738908823,4.465658793366,1.221716465427)
+  );
+#72 = CARTESIAN_POINT('',(1.909327393778,4.077735291043,1.221496996662)
+  );
+#73 = CARTESIAN_POINT('',(2.919542036201,3.298656933712,1.221622504129)
+  );
+#74 = CARTESIAN_POINT('',(3.641815821604,2.285429203579,1.221582290022)
+  );
+#75 = CARTESIAN_POINT('',(4.,1.142079441041,1.221588293659));
+#76 = CARTESIAN_POINT('',(4.,0.,1.221588293659));
+#77 = ORIENTED_EDGE('',*,*,#78,.F.);
+#78 = EDGE_CURVE('',#46,#62,#79,.T.);
+#79 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#80,#81,#82,#83,#84,#85,#86,
+    #87,#88,#89,#90,#91),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(2.011124614717E-15,12.566370614359),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.,0.999999999999,1.000000000001,
+    0.999999999999,1.000000000001,0.999999999999,1.000000000001,1.,1.,1.
+)) REPRESENTATION_ITEM('') );
+#80 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,1.221588293659));
+#81 = CARTESIAN_POINT('',(4.,-1.14207944104,1.221588293659));
+#82 = CARTESIAN_POINT('',(3.641815821602,-2.28542920358,1.221582290022)
+  );
+#83 = CARTESIAN_POINT('',(2.919542036205,-3.298656933711,1.221622504129)
+  );
+#84 = CARTESIAN_POINT('',(1.909327393774,-4.077735291044,1.221496996661)
+  );
+#85 = CARTESIAN_POINT('',(0.623738908825,-4.465658793366,1.221716465428)
+  );
+#86 = CARTESIAN_POINT('',(-0.591166926308,-4.463533865469,1.221547516541
+    ));
+#87 = CARTESIAN_POINT('',(-1.896225481389,-4.117630519884,1.221395914659
+    ));
+#88 = CARTESIAN_POINT('',(-2.959772885324,-3.296744841142,1.22186973258)
+  );
+#89 = CARTESIAN_POINT('',(-3.654302898296,-2.243988440983,1.221434082782
+    ));
+#90 = CARTESIAN_POINT('',(-4.,-1.121611300988,1.221588293659));
+#91 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,1.221588293659));
+#92 = CYLINDRICAL_SURFACE('',#93,4.);
+#93 = AXIS2_PLACEMENT_3D('',#94,#95,#96);
+#94 = CARTESIAN_POINT('',(0.,0.,0.));
+#95 = DIRECTION('',(-0.,-0.,-1.));
+#96 = DIRECTION('',(1.,0.,0.));
+#97 = ADVANCED_FACE('',(#98),#118,.T.);
+#98 = FACE_BOUND('',#99,.F.);
+#99 = EDGE_LOOP('',(#100,#109,#110,#111));
+#100 = ORIENTED_EDGE('',*,*,#101,.F.);
+#101 = EDGE_CURVE('',#44,#102,#104,.T.);
+#102 = VERTEX_POINT('',#103);
+#103 = CARTESIAN_POINT('',(3.6,0.,0.));
+#104 = CIRCLE('',#105,0.4);
+#105 = AXIS2_PLACEMENT_3D('',#106,#107,#108);
+#106 = CARTESIAN_POINT('',(3.6,0.,0.4));
+#107 = DIRECTION('',(-0.,1.,0.));
+#108 = DIRECTION('',(1.,0.,0.));
+#109 = ORIENTED_EDGE('',*,*,#53,.F.);
+#110 = ORIENTED_EDGE('',*,*,#101,.T.);
+#111 = ORIENTED_EDGE('',*,*,#112,.T.);
+#112 = EDGE_CURVE('',#102,#102,#113,.T.);
+#113 = CIRCLE('',#114,3.6);
+#114 = AXIS2_PLACEMENT_3D('',#115,#116,#117);
+#115 = CARTESIAN_POINT('',(0.,0.,0.));
+#116 = DIRECTION('',(0.,0.,1.));
+#117 = DIRECTION('',(1.,0.,0.));
+#118 = TOROIDAL_SURFACE('',#119,3.6,0.4);
+#119 = AXIS2_PLACEMENT_3D('',#120,#121,#122);
+#120 = CARTESIAN_POINT('',(0.,0.,0.4));
+#121 = DIRECTION('',(-0.,-0.,-1.));
+#122 = DIRECTION('',(1.,0.,0.));
+#123 = ADVANCED_FACE('',(#124),#158,.T.);
+#124 = FACE_BOUND('',#125,.T.);
+#125 = EDGE_LOOP('',(#126,#134,#151,#157));
+#126 = ORIENTED_EDGE('',*,*,#127,.T.);
+#127 = EDGE_CURVE('',#46,#128,#130,.T.);
+#128 = VERTEX_POINT('',#129);
+#129 = CARTESIAN_POINT('',(3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#130 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#131,#132,#133),
+.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,3),(0.,
+12.566370614359),.PIECEWISE_BEZIER_KNOTS.) CURVE() 
+GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,
+0.967984818509,1.)) REPRESENTATION_ITEM('') );
+#131 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,1.221588293659));
+#132 = CARTESIAN_POINT('',(4.,-8.881784197001E-16,1.325312543185));
+#133 = CARTESIAN_POINT('',(3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#134 = ORIENTED_EDGE('',*,*,#135,.T.);
+#135 = EDGE_CURVE('',#128,#136,#138,.T.);
+#136 = VERTEX_POINT('',#137);
+#137 = CARTESIAN_POINT('',(-3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#138 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#139,#140,#141,#142,#143,
+    #144,#145,#146,#147,#148,#149,#150),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(2.011124614717E-15,12.566370614359),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.,0.999999999999,1.000000000001,
+    0.999999999999,1.000000000001,0.999999999999,1.000000000001,1.,1.,1.
+)) REPRESENTATION_ITEM('') );
+#139 = CARTESIAN_POINT('',(3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#140 = CARTESIAN_POINT('',(3.949595687092,-1.127688008662,1.415966418887
+    ));
+#141 = CARTESIAN_POINT('',(3.59595276177,-2.256642227252,1.415969386002)
+  );
+#142 = CARTESIAN_POINT('',(2.882567333466,-3.257029312345,1.415949511218
+    ));
+#143 = CARTESIAN_POINT('',(1.885903478318,-4.026472280527,1.416011540807
+    ));
+#144 = CARTESIAN_POINT('',(0.61445932192,-4.409243298155,1.415903070546)
+  );
+#145 = CARTESIAN_POINT('',(-0.581021124165,-4.405509372759,1.41598657697
+    ));
+#146 = CARTESIAN_POINT('',(-1.870757978857,-4.068133061352,
+    1.416061492733));
+#147 = CARTESIAN_POINT('',(-2.92357083328,-3.256163389205,1.415827327408
+    ));
+#148 = CARTESIAN_POINT('',(-3.60936458677,-2.214400272442,1.416042633029
+    ));
+#149 = CARTESIAN_POINT('',(-3.949595687091,-1.105596821624,
+    1.415966418887));
+#150 = CARTESIAN_POINT('',(-3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#151 = ORIENTED_EDGE('',*,*,#152,.F.);
+#152 = EDGE_CURVE('',#62,#136,#153,.T.);
+#153 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#154,#155,#156),
+.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,3),(0.,
+12.566370614359),.PIECEWISE_BEZIER_KNOTS.) CURVE() 
+GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,
+0.967984818509,1.)) REPRESENTATION_ITEM('') );
+#154 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,1.221588293659));
+#155 = CARTESIAN_POINT('',(-4.,-6.661338147751E-16,1.325312543185));
+#156 = CARTESIAN_POINT('',(-3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#157 = ORIENTED_EDGE('',*,*,#78,.F.);
+#158 = ( BOUNDED_SURFACE() B_SPLINE_SURFACE(2,11,(
+    (#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
+)),.UNSPECIFIED.,.F.,.F.,.F.) B_SPLINE_SURFACE_WITH_KNOTS((3,3),(12,12),
+  (0.,12.566370614359),(2.011124614717E-15,12.566370614359),
+.PIECEWISE_BEZIER_KNOTS.) GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_SURFACE((
+    (1.,1.,1.,0.999999999999,1.000000000001,0.999999999999
+      ,1.000000000001,0.999999999999,1.000000000001,1.,1.,1.)
+    ,(0.967984818509,0.967984818509,0.967981597758,0.968003171103
+      ,0.967935841878,0.968053575002,0.967962948277,0.967881609858
+      ,0.968135802329,0.967902089596,0.967984818509,0.967984818509)
+    ,(1.,1.,1.,0.999999999999,1.000000000001,0.999999999999
+      ,1.000000000001,0.999999999999,1.000000000001,1.,1.,1.
+))) REPRESENTATION_ITEM('') SURFACE() );
+#159 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,1.221588293659));
+#160 = CARTESIAN_POINT('',(4.,-1.14207944104,1.221588293659));
+#161 = CARTESIAN_POINT('',(3.641815821602,-2.28542920358,1.221582290022)
+  );
+#162 = CARTESIAN_POINT('',(2.919542036205,-3.298656933711,1.221622504129
+    ));
+#163 = CARTESIAN_POINT('',(1.909327393774,-4.077735291044,1.221496996661
+    ));
+#164 = CARTESIAN_POINT('',(0.623738908825,-4.465658793366,1.221716465428
+    ));
+#165 = CARTESIAN_POINT('',(-0.591166926308,-4.463533865469,
+    1.221547516541));
+#166 = CARTESIAN_POINT('',(-1.896225481389,-4.117630519884,
+    1.221395914659));
+#167 = CARTESIAN_POINT('',(-2.959772885324,-3.296744841142,1.22186973258
+    ));
+#168 = CARTESIAN_POINT('',(-3.654302898296,-2.243988440983,
+    1.221434082782));
+#169 = CARTESIAN_POINT('',(-4.,-1.121611300988,1.221588293659));
+#170 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,1.221588293659));
+#171 = CARTESIAN_POINT('',(4.,-8.881784197001E-16,1.325312543185));
+#172 = CARTESIAN_POINT('',(4.,-1.14207944104,1.325312543185));
+#173 = CARTESIAN_POINT('',(3.641834177645,-2.285402736577,1.325312016861
+    ));
+#174 = CARTESIAN_POINT('',(2.919465145693,-3.298803687293,1.325315542295
+    ));
+#175 = CARTESIAN_POINT('',(1.909419313739,-4.077306201693,1.325304538823
+    ));
+#176 = CARTESIAN_POINT('',(0.6238961858,-4.466523429222,1.325323779448)
+  );
+#177 = CARTESIAN_POINT('',(-0.59179576552,-4.462264024045,1.325308967334
+    ));
+#178 = CARTESIAN_POINT('',(-1.895481721222,-4.118921092688,
+    1.325295676735));
+#179 = CARTESIAN_POINT('',(-2.960134006669,-3.29599841493,1.325337212068
+    ));
+#180 = CARTESIAN_POINT('',(-3.654247086368,-2.244158146835,
+    1.325299022786));
+#181 = CARTESIAN_POINT('',(-4.,-1.121611300988,1.325312543185));
+#182 = CARTESIAN_POINT('',(-4.,-6.661338147751E-16,1.325312543185));
+#183 = CARTESIAN_POINT('',(3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#184 = CARTESIAN_POINT('',(3.949595687092,-1.127688008662,1.415966418887
+    ));
+#185 = CARTESIAN_POINT('',(3.59595276177,-2.256642227252,1.415969386002)
+  );
+#186 = CARTESIAN_POINT('',(2.882567333466,-3.257029312345,1.415949511218
+    ));
+#187 = CARTESIAN_POINT('',(1.885903478318,-4.026472280527,1.416011540807
+    ));
+#188 = CARTESIAN_POINT('',(0.61445932192,-4.409243298155,1.415903070546)
+  );
+#189 = CARTESIAN_POINT('',(-0.581021124165,-4.405509372759,1.41598657697
+    ));
+#190 = CARTESIAN_POINT('',(-1.870757978857,-4.068133061352,
+    1.416061492733));
+#191 = CARTESIAN_POINT('',(-2.92357083328,-3.256163389205,1.415827327408
+    ));
+#192 = CARTESIAN_POINT('',(-3.60936458677,-2.214400272442,1.416042633029
+    ));
+#193 = CARTESIAN_POINT('',(-3.949595687091,-1.105596821624,
+    1.415966418887));
+#194 = CARTESIAN_POINT('',(-3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#195 = ADVANCED_FACE('',(#196),#216,.T.);
+#196 = FACE_BOUND('',#197,.T.);
+#197 = EDGE_LOOP('',(#198,#199,#214,#215));
+#198 = ORIENTED_EDGE('',*,*,#152,.T.);
+#199 = ORIENTED_EDGE('',*,*,#200,.T.);
+#200 = EDGE_CURVE('',#136,#128,#201,.T.);
+#201 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#202,#203,#204,#205,#206,
+    #207,#208,#209,#210,#211,#212,#213),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(12.566370614359,25.132741228718),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.,1.,1.000000000001,0.999999999999,
+1.000000000001,0.999999999999,1.,1.,1.,1.)) REPRESENTATION_ITEM('') );
+#202 = CARTESIAN_POINT('',(-3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#203 = CARTESIAN_POINT('',(-3.949595687092,1.105596821624,1.415966418887
+    ));
+#204 = CARTESIAN_POINT('',(-3.609364586769,2.214400272443,1.416042633029
+    ));
+#205 = CARTESIAN_POINT('',(-2.923570833283,3.256163389204,1.415827327409
+    ));
+#206 = CARTESIAN_POINT('',(-1.870757978853,4.068133061351,1.416061492733
+    ));
+#207 = CARTESIAN_POINT('',(-0.581021124168,4.40550937276,1.415986576971)
+  );
+#208 = CARTESIAN_POINT('',(0.614459321921,4.409243298154,1.415903070545)
+  );
+#209 = CARTESIAN_POINT('',(1.88590347832,4.026472280527,1.416011540808)
+  );
+#210 = CARTESIAN_POINT('',(2.882567333463,3.257029312346,1.415949511218)
+  );
+#211 = CARTESIAN_POINT('',(3.595952761771,2.256642227252,1.415969386002)
+  );
+#212 = CARTESIAN_POINT('',(3.949595687091,1.127688008663,1.415966418887)
+  );
+#213 = CARTESIAN_POINT('',(3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#214 = ORIENTED_EDGE('',*,*,#127,.F.);
+#215 = ORIENTED_EDGE('',*,*,#61,.F.);
+#216 = ( BOUNDED_SURFACE() B_SPLINE_SURFACE(2,11,(
+    (#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
+)),.UNSPECIFIED.,.F.,.F.,.F.) B_SPLINE_SURFACE_WITH_KNOTS((3,3),(12,12),
+  (0.,12.566370614359),(12.566370614359,25.132741228718),
+.PIECEWISE_BEZIER_KNOTS.) GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_SURFACE((
+    (1.,1.,1.,1.,1.000000000001,0.999999999999,1.000000000001
+      ,0.999999999999,1.,1.,1.,1.)
+    ,(0.967984818509,0.967984818509,0.967902089596,0.968135802328
+      ,0.967881609859,0.967962948275,0.968053575003,0.967935841877
+      ,0.968003171104,0.967981597758,0.967984818509,0.967984818509)
+    ,(1.,1.,1.,1.,1.000000000001,0.999999999999,1.000000000001
+,0.999999999999,1.,1.,1.,1.))) REPRESENTATION_ITEM('') SURFACE() );
+#217 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,1.221588293659));
+#218 = CARTESIAN_POINT('',(-4.,1.121611300988,1.221588293659));
+#219 = CARTESIAN_POINT('',(-3.654302898295,2.243988440983,1.221434082782
+    ));
+#220 = CARTESIAN_POINT('',(-2.959772885326,3.296744841141,1.22186973258)
+  );
+#221 = CARTESIAN_POINT('',(-1.896225481387,4.117630519885,1.221395914658
+    ));
+#222 = CARTESIAN_POINT('',(-0.591166926308,4.463533865469,1.221547516542
+    ));
+#223 = CARTESIAN_POINT('',(0.623738908823,4.465658793366,1.221716465427)
+  );
+#224 = CARTESIAN_POINT('',(1.909327393778,4.077735291043,1.221496996662)
+  );
+#225 = CARTESIAN_POINT('',(2.919542036201,3.298656933712,1.221622504129)
+  );
+#226 = CARTESIAN_POINT('',(3.641815821604,2.285429203579,1.221582290022)
+  );
+#227 = CARTESIAN_POINT('',(4.,1.142079441041,1.221588293659));
+#228 = CARTESIAN_POINT('',(4.,0.,1.221588293659));
+#229 = CARTESIAN_POINT('',(-4.,6.661338147751E-16,1.325312543185));
+#230 = CARTESIAN_POINT('',(-4.,1.121611300988,1.325312543185));
+#231 = CARTESIAN_POINT('',(-3.654247086367,2.244158146836,1.325299022786
+    ));
+#232 = CARTESIAN_POINT('',(-2.96013400667,3.295998414928,1.325337212068)
+  );
+#233 = CARTESIAN_POINT('',(-1.89548172122,4.118921092689,1.325295676734)
+  );
+#234 = CARTESIAN_POINT('',(-0.591795765521,4.462264024043,1.325308967335
+    ));
+#235 = CARTESIAN_POINT('',(0.623896185799,4.466523429224,1.325323779447)
+  );
+#236 = CARTESIAN_POINT('',(1.90941931374,4.077306201691,1.325304538823)
+  );
+#237 = CARTESIAN_POINT('',(2.919465145692,3.298803687294,1.325315542295)
+  );
+#238 = CARTESIAN_POINT('',(3.641834177646,2.285402736576,1.325312016861)
+  );
+#239 = CARTESIAN_POINT('',(4.,1.142079441041,1.325312543185));
+#240 = CARTESIAN_POINT('',(4.,1.110223024625E-15,1.325312543185));
+#241 = CARTESIAN_POINT('',(-3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#242 = CARTESIAN_POINT('',(-3.949595687092,1.105596821624,1.415966418887
+    ));
+#243 = CARTESIAN_POINT('',(-3.609364586769,2.214400272443,1.416042633029
+    ));
+#244 = CARTESIAN_POINT('',(-2.923570833283,3.256163389204,1.415827327409
+    ));
+#245 = CARTESIAN_POINT('',(-1.870757978853,4.068133061351,1.416061492733
+    ));
+#246 = CARTESIAN_POINT('',(-0.581021124168,4.40550937276,1.415986576971)
+  );
+#247 = CARTESIAN_POINT('',(0.614459321921,4.409243298154,1.415903070545)
+  );
+#248 = CARTESIAN_POINT('',(1.88590347832,4.026472280527,1.416011540808)
+  );
+#249 = CARTESIAN_POINT('',(2.882567333463,3.257029312346,1.415949511218)
+  );
+#250 = CARTESIAN_POINT('',(3.595952761771,2.256642227252,1.415969386002)
+  );
+#251 = CARTESIAN_POINT('',(3.949595687091,1.127688008663,1.415966418887)
+  );
+#252 = CARTESIAN_POINT('',(3.949595687092,3.144077040688E-16,
+    1.415966418887));
+#253 = ADVANCED_FACE('',(#254),#257,.F.);
+#254 = FACE_BOUND('',#255,.F.);
+#255 = EDGE_LOOP('',(#256));
+#256 = ORIENTED_EDGE('',*,*,#112,.T.);
+#257 = PLANE('',#258);
+#258 = AXIS2_PLACEMENT_3D('',#259,#260,#261);
+#259 = CARTESIAN_POINT('',(-2.563950248511E-16,3.49503809816E-16,0.));
+#260 = DIRECTION('',(0.,0.,1.));
+#261 = DIRECTION('',(1.,0.,0.));
+#262 = ADVANCED_FACE('',(#263),#309,.F.);
+#263 = FACE_BOUND('',#264,.F.);
+#264 = EDGE_LOOP('',(#265,#274,#275,#276,#277,#294));
+#265 = ORIENTED_EDGE('',*,*,#266,.F.);
+#266 = EDGE_CURVE('',#136,#267,#269,.T.);
+#267 = VERTEX_POINT('',#268);
+#268 = CARTESIAN_POINT('',(-3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#269 = CIRCLE('',#270,1.201850425155);
+#270 = AXIS2_PLACEMENT_3D('',#271,#272,#273);
+#271 = CARTESIAN_POINT('',(-5.,4.440892098501E-16,2.));
+#272 = DIRECTION('',(0.,-1.,2.22044604925E-16));
+#273 = DIRECTION('',(1.,0.,0.));
+#274 = ORIENTED_EDGE('',*,*,#200,.T.);
+#275 = ORIENTED_EDGE('',*,*,#135,.T.);
+#276 = ORIENTED_EDGE('',*,*,#266,.T.);
+#277 = ORIENTED_EDGE('',*,*,#278,.F.);
+#278 = EDGE_CURVE('',#279,#267,#281,.T.);
+#279 = VERTEX_POINT('',#280);
+#280 = CARTESIAN_POINT('',(3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#281 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#282,#283,#284,#285,#286,
+    #287,#288,#289,#290,#291,#292,#293),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(2.307266493441E-15,12.566370614359),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.,1.,1.,1.000000000001,1.,1.,1.,1.,1.,1.
+)) REPRESENTATION_ITEM('') );
+#282 = CARTESIAN_POINT('',(3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#283 = CARTESIAN_POINT('',(3.949595687092,-1.127688008663,2.584033581113
+    ));
+#284 = CARTESIAN_POINT('',(3.595952761771,-2.256642227251,2.584030613998
+    ));
+#285 = CARTESIAN_POINT('',(2.882567333464,-3.257029312346,2.584050488781
+    ));
+#286 = CARTESIAN_POINT('',(1.885903478319,-4.026472280527,2.583988459193
+    ));
+#287 = CARTESIAN_POINT('',(0.614459321921,-4.409243298155,2.584096929454
+    ));
+#288 = CARTESIAN_POINT('',(-0.581021124168,-4.405509372759,2.58401342303
+    ));
+#289 = CARTESIAN_POINT('',(-1.870757978853,-4.068133061352,
+    2.583938507267));
+#290 = CARTESIAN_POINT('',(-2.923570833283,-3.256163389204,
+    2.584172672592));
+#291 = CARTESIAN_POINT('',(-3.609364586769,-2.214400272443,
+    2.583957366971));
+#292 = CARTESIAN_POINT('',(-3.949595687092,-1.105596821624,
+    2.584033581113));
+#293 = CARTESIAN_POINT('',(-3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#294 = ORIENTED_EDGE('',*,*,#295,.F.);
+#295 = EDGE_CURVE('',#267,#279,#296,.T.);
+#296 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#297,#298,#299,#300,#301,
+    #302,#303,#304,#305,#306,#307,#308),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(12.566370614359,25.132741228718),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.000000000001,0.999999999999,
+    1.000000000002,0.999999999997,1.000000000002,0.999999999998,
+1.000000000001,1.,1.,1.)) REPRESENTATION_ITEM('') );
+#297 = CARTESIAN_POINT('',(-3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#298 = CARTESIAN_POINT('',(-3.949595687092,1.105596821624,2.584033581113
+    ));
+#299 = CARTESIAN_POINT('',(-3.609364586768,2.214400272443,2.583957366971
+    ));
+#300 = CARTESIAN_POINT('',(-2.923570833284,3.256163389205,2.584172672591
+    ));
+#301 = CARTESIAN_POINT('',(-1.870757978853,4.06813306135,2.583938507267)
+  );
+#302 = CARTESIAN_POINT('',(-0.581021124166,4.405509372762,2.584013423029
+    ));
+#303 = CARTESIAN_POINT('',(0.614459321917,4.409243298152,2.584096929455)
+  );
+#304 = CARTESIAN_POINT('',(1.885903478323,4.026472280528,2.583988459192)
+  );
+#305 = CARTESIAN_POINT('',(2.882567333461,3.257029312346,2.584050488782)
+  );
+#306 = CARTESIAN_POINT('',(3.595952761772,2.256642227251,2.584030613998)
+  );
+#307 = CARTESIAN_POINT('',(3.949595687091,1.127688008663,2.584033581113)
+  );
+#308 = CARTESIAN_POINT('',(3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#309 = TOROIDAL_SURFACE('',#310,5.,1.201850425155);
+#310 = AXIS2_PLACEMENT_3D('',#311,#312,#313);
+#311 = CARTESIAN_POINT('',(0.,4.440892098501E-16,2.));
+#312 = DIRECTION('',(-0.,-2.22044604925E-16,-1.));
+#313 = DIRECTION('',(-1.,0.,0.));
+#314 = ADVANCED_FACE('',(#315),#349,.T.);
+#315 = FACE_BOUND('',#316,.T.);
+#316 = EDGE_LOOP('',(#317,#325,#342,#348));
+#317 = ORIENTED_EDGE('',*,*,#318,.T.);
+#318 = EDGE_CURVE('',#267,#319,#321,.T.);
+#319 = VERTEX_POINT('',#320);
+#320 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,2.778411706341));
+#321 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#322,#323,#324),
+.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,3),(0.,
+12.566370614359),.PIECEWISE_BEZIER_KNOTS.) CURVE() 
+GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,
+0.967984818509,1.)) REPRESENTATION_ITEM('') );
+#322 = CARTESIAN_POINT('',(-3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#323 = CARTESIAN_POINT('',(-4.,4.440892098501E-16,2.674687456815));
+#324 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,2.778411706341));
+#325 = ORIENTED_EDGE('',*,*,#326,.T.);
+#326 = EDGE_CURVE('',#319,#327,#329,.T.);
+#327 = VERTEX_POINT('',#328);
+#328 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,2.778411706341));
+#329 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#330,#331,#332,#333,#334,
+    #335,#336,#337,#338,#339,#340,#341),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(12.566370614359,25.132741228718),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.000000000001,0.999999999999,
+    1.000000000002,0.999999999997,1.000000000002,0.999999999998,
+1.000000000001,1.,1.,1.)) REPRESENTATION_ITEM('') );
+#330 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,2.778411706341));
+#331 = CARTESIAN_POINT('',(-4.,1.121611300988,2.778411706341));
+#332 = CARTESIAN_POINT('',(-3.654302898294,2.243988440984,2.778565917218
+    ));
+#333 = CARTESIAN_POINT('',(-2.959772885328,3.296744841141,2.77813026742)
+  );
+#334 = CARTESIAN_POINT('',(-1.896225481385,4.117630519884,2.778604085342
+    ));
+#335 = CARTESIAN_POINT('',(-0.591166926308,4.463533865471,2.778452483458
+    ));
+#336 = CARTESIAN_POINT('',(0.623738908821,4.465658793365,2.778283534573)
+  );
+#337 = CARTESIAN_POINT('',(1.90932739378,4.077735291044,2.778503003338)
+  );
+#338 = CARTESIAN_POINT('',(2.919542036199,3.298656933713,2.778377495871)
+  );
+#339 = CARTESIAN_POINT('',(3.641815821604,2.285429203579,2.778417709978)
+  );
+#340 = CARTESIAN_POINT('',(4.,1.142079441041,2.778411706341));
+#341 = CARTESIAN_POINT('',(4.,0.,2.778411706341));
+#342 = ORIENTED_EDGE('',*,*,#343,.F.);
+#343 = EDGE_CURVE('',#279,#327,#344,.T.);
+#344 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#345,#346,#347),
+.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,3),(0.,
+12.566370614359),.PIECEWISE_BEZIER_KNOTS.) CURVE() 
+GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,
+0.967984818509,1.)) REPRESENTATION_ITEM('') );
+#345 = CARTESIAN_POINT('',(3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#346 = CARTESIAN_POINT('',(4.,-6.661338147751E-16,2.674687456815));
+#347 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,2.778411706341));
+#348 = ORIENTED_EDGE('',*,*,#295,.F.);
+#349 = ( BOUNDED_SURFACE() B_SPLINE_SURFACE(2,11,(
+    (#350,#351,#352,#353,#354,#355,#356,#357,#358,#359,#360,#361)
+    ,(#362,#363,#364,#365,#366,#367,#368,#369,#370,#371,#372,#373)
+    ,(#374,#375,#376,#377,#378,#379,#380,#381,#382,#383,#384,#385
+)),.UNSPECIFIED.,.F.,.F.,.F.) B_SPLINE_SURFACE_WITH_KNOTS((3,3),(12,12),
+  (0.,12.566370614359),(12.566370614359,25.132741228718),
+.PIECEWISE_BEZIER_KNOTS.) GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_SURFACE((
+    (1.,1.,1.000000000001,0.999999999999,1.000000000002,0.999999999997
+      ,1.000000000002,0.999999999998,1.000000000001,1.,1.,1.)
+    ,(0.967984818509,0.967984818509,0.967902089596,0.968135802328
+      ,0.967881609861,0.967962948274,0.968053575005,0.967935841876
+      ,0.968003171104,0.967981597757,0.967984818509,0.967984818509)
+    ,(1.,1.,1.000000000001,0.999999999999,1.000000000002,0.999999999997
+      ,1.000000000002,0.999999999998,1.000000000001,1.,1.,1.
+))) REPRESENTATION_ITEM('') SURFACE() );
+#350 = CARTESIAN_POINT('',(-3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#351 = CARTESIAN_POINT('',(-3.949595687092,1.105596821624,2.584033581113
+    ));
+#352 = CARTESIAN_POINT('',(-3.609364586768,2.214400272443,2.583957366971
+    ));
+#353 = CARTESIAN_POINT('',(-2.923570833284,3.256163389205,2.584172672591
+    ));
+#354 = CARTESIAN_POINT('',(-1.870757978853,4.06813306135,2.583938507267)
+  );
+#355 = CARTESIAN_POINT('',(-0.581021124166,4.405509372762,2.584013423029
+    ));
+#356 = CARTESIAN_POINT('',(0.614459321917,4.409243298152,2.584096929455)
+  );
+#357 = CARTESIAN_POINT('',(1.885903478323,4.026472280528,2.583988459192)
+  );
+#358 = CARTESIAN_POINT('',(2.882567333461,3.257029312346,2.584050488782)
+  );
+#359 = CARTESIAN_POINT('',(3.595952761772,2.256642227251,2.584030613998)
+  );
+#360 = CARTESIAN_POINT('',(3.949595687091,1.127688008663,2.584033581113)
+  );
+#361 = CARTESIAN_POINT('',(3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#362 = CARTESIAN_POINT('',(-4.,-8.881784197001E-16,2.674687456815));
+#363 = CARTESIAN_POINT('',(-4.,1.121611300988,2.674687456815));
+#364 = CARTESIAN_POINT('',(-3.654247086366,2.244158146837,2.674700977214
+    ));
+#365 = CARTESIAN_POINT('',(-2.960134006672,3.295998414928,2.674662787932
+    ));
+#366 = CARTESIAN_POINT('',(-1.895481721219,4.118921092689,2.674704323266
+    ));
+#367 = CARTESIAN_POINT('',(-0.591795765521,4.462264024043,2.674691032665
+    ));
+#368 = CARTESIAN_POINT('',(0.623896185798,4.466523429224,2.674676220553)
+  );
+#369 = CARTESIAN_POINT('',(1.909419313743,4.077306201691,2.674695461177)
+  );
+#370 = CARTESIAN_POINT('',(2.91946514569,3.298803687295,2.674684457705)
+  );
+#371 = CARTESIAN_POINT('',(3.641834177647,2.285402736576,2.674687983139)
+  );
+#372 = CARTESIAN_POINT('',(4.,1.142079441041,2.674687456815));
+#373 = CARTESIAN_POINT('',(4.,-6.661338147751E-16,2.674687456815));
+#374 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,2.778411706341));
+#375 = CARTESIAN_POINT('',(-4.,1.121611300988,2.778411706341));
+#376 = CARTESIAN_POINT('',(-3.654302898294,2.243988440984,2.778565917218
+    ));
+#377 = CARTESIAN_POINT('',(-2.959772885328,3.296744841141,2.77813026742)
+  );
+#378 = CARTESIAN_POINT('',(-1.896225481385,4.117630519884,2.778604085342
+    ));
+#379 = CARTESIAN_POINT('',(-0.591166926308,4.463533865471,2.778452483458
+    ));
+#380 = CARTESIAN_POINT('',(0.623738908821,4.465658793365,2.778283534573)
+  );
+#381 = CARTESIAN_POINT('',(1.90932739378,4.077735291044,2.778503003338)
+  );
+#382 = CARTESIAN_POINT('',(2.919542036199,3.298656933713,2.778377495871)
+  );
+#383 = CARTESIAN_POINT('',(3.641815821604,2.285429203579,2.778417709978)
+  );
+#384 = CARTESIAN_POINT('',(4.,1.142079441041,2.778411706341));
+#385 = CARTESIAN_POINT('',(4.,0.,2.778411706341));
+#386 = ADVANCED_FACE('',(#387),#407,.T.);
+#387 = FACE_BOUND('',#388,.T.);
+#388 = EDGE_LOOP('',(#389,#390,#405,#406));
+#389 = ORIENTED_EDGE('',*,*,#343,.T.);
+#390 = ORIENTED_EDGE('',*,*,#391,.T.);
+#391 = EDGE_CURVE('',#327,#319,#392,.T.);
+#392 = ( BOUNDED_CURVE() B_SPLINE_CURVE(11,(#393,#394,#395,#396,#397,
+    #398,#399,#400,#401,#402,#403,#404),.UNSPECIFIED.,.F.,.F.) 
+B_SPLINE_CURVE_WITH_KNOTS((12,12),(2.307266493441E-15,12.566370614359),
+.PIECEWISE_BEZIER_KNOTS.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_CURVE((1.,1.,1.,1.,1.,1.000000000001,1.,1.,1.,1.,1.,1.
+)) REPRESENTATION_ITEM('') );
+#393 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,2.778411706341));
+#394 = CARTESIAN_POINT('',(4.,-1.142079441041,2.778411706341));
+#395 = CARTESIAN_POINT('',(3.641815821603,-2.285429203579,2.778417709978
+    ));
+#396 = CARTESIAN_POINT('',(2.919542036202,-3.298656933712,2.778377495871
+    ));
+#397 = CARTESIAN_POINT('',(1.909327393776,-4.077735291043,2.778503003339
+    ));
+#398 = CARTESIAN_POINT('',(0.623738908824,-4.465658793366,2.778283534572
+    ));
+#399 = CARTESIAN_POINT('',(-0.591166926309,-4.463533865469,
+    2.778452483459));
+#400 = CARTESIAN_POINT('',(-1.896225481387,-4.117630519885,
+    2.778604085341));
+#401 = CARTESIAN_POINT('',(-2.959772885326,-3.296744841141,2.77813026742
+    ));
+#402 = CARTESIAN_POINT('',(-3.654302898295,-2.243988440983,
+    2.778565917218));
+#403 = CARTESIAN_POINT('',(-4.,-1.121611300988,2.778411706341));
+#404 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,2.778411706341));
+#405 = ORIENTED_EDGE('',*,*,#318,.F.);
+#406 = ORIENTED_EDGE('',*,*,#278,.F.);
+#407 = ( BOUNDED_SURFACE() B_SPLINE_SURFACE(2,11,(
+    (#408,#409,#410,#411,#412,#413,#414,#415,#416,#417,#418,#419)
+    ,(#420,#421,#422,#423,#424,#425,#426,#427,#428,#429,#430,#431)
+    ,(#432,#433,#434,#435,#436,#437,#438,#439,#440,#441,#442,#443
+)),.UNSPECIFIED.,.F.,.F.,.F.) B_SPLINE_SURFACE_WITH_KNOTS((3,3),(12,12),
+  (0.,12.566370614359),(2.307266493441E-15,12.566370614359),
+.PIECEWISE_BEZIER_KNOTS.) GEOMETRIC_REPRESENTATION_ITEM() 
+RATIONAL_B_SPLINE_SURFACE((
+    (1.,1.,1.,1.,1.,1.000000000001,1.,1.,1.,1.,1.,1.)
+    ,(0.967984818509,0.967984818509,0.967981597757,0.968003171104
+      ,0.967935841877,0.968053575004,0.967962948275,0.96788160986
+      ,0.968135802328,0.967902089596,0.967984818509,0.967984818509)
+    ,(1.,1.,1.,1.,1.,1.000000000001,1.,1.,1.,1.,1.,1.
+))) REPRESENTATION_ITEM('') SURFACE() );
+#408 = CARTESIAN_POINT('',(3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#409 = CARTESIAN_POINT('',(3.949595687092,-1.127688008663,2.584033581113
+    ));
+#410 = CARTESIAN_POINT('',(3.595952761771,-2.256642227251,2.584030613998
+    ));
+#411 = CARTESIAN_POINT('',(2.882567333464,-3.257029312346,2.584050488781
+    ));
+#412 = CARTESIAN_POINT('',(1.885903478319,-4.026472280527,2.583988459193
+    ));
+#413 = CARTESIAN_POINT('',(0.614459321921,-4.409243298155,2.584096929454
+    ));
+#414 = CARTESIAN_POINT('',(-0.581021124168,-4.405509372759,2.58401342303
+    ));
+#415 = CARTESIAN_POINT('',(-1.870757978853,-4.068133061352,
+    2.583938507267));
+#416 = CARTESIAN_POINT('',(-2.923570833283,-3.256163389204,
+    2.584172672592));
+#417 = CARTESIAN_POINT('',(-3.609364586769,-2.214400272443,
+    2.583957366971));
+#418 = CARTESIAN_POINT('',(-3.949595687092,-1.105596821624,
+    2.584033581113));
+#419 = CARTESIAN_POINT('',(-3.949595687092,5.737707156313E-16,
+    2.584033581113));
+#420 = CARTESIAN_POINT('',(4.,-6.661338147751E-16,2.674687456815));
+#421 = CARTESIAN_POINT('',(4.,-1.142079441041,2.674687456815));
+#422 = CARTESIAN_POINT('',(3.641834177646,-2.285402736576,2.674687983139
+    ));
+#423 = CARTESIAN_POINT('',(2.919465145692,-3.298803687294,2.674684457705
+    ));
+#424 = CARTESIAN_POINT('',(1.909419313739,-4.077306201692,2.674695461177
+    ));
+#425 = CARTESIAN_POINT('',(0.623896185801,-4.466523429223,2.674676220552
+    ));
+#426 = CARTESIAN_POINT('',(-0.591795765524,-4.462264024044,
+    2.674691032665));
+#427 = CARTESIAN_POINT('',(-1.895481721218,-4.118921092689,
+    2.674704323265));
+#428 = CARTESIAN_POINT('',(-2.960134006672,-3.295998414929,
+    2.674662787932));
+#429 = CARTESIAN_POINT('',(-3.654247086367,-2.244158146836,
+    2.674700977214));
+#430 = CARTESIAN_POINT('',(-4.,-1.121611300988,2.674687456815));
+#431 = CARTESIAN_POINT('',(-4.,4.440892098501E-16,2.674687456815));
+#432 = CARTESIAN_POINT('',(4.,-9.797174393179E-16,2.778411706341));
+#433 = CARTESIAN_POINT('',(4.,-1.142079441041,2.778411706341));
+#434 = CARTESIAN_POINT('',(3.641815821603,-2.285429203579,2.778417709978
+    ));
+#435 = CARTESIAN_POINT('',(2.919542036202,-3.298656933712,2.778377495871
+    ));
+#436 = CARTESIAN_POINT('',(1.909327393776,-4.077735291043,2.778503003339
+    ));
+#437 = CARTESIAN_POINT('',(0.623738908824,-4.465658793366,2.778283534572
+    ));
+#438 = CARTESIAN_POINT('',(-0.591166926309,-4.463533865469,
+    2.778452483459));
+#439 = CARTESIAN_POINT('',(-1.896225481387,-4.117630519885,
+    2.778604085341));
+#440 = CARTESIAN_POINT('',(-2.959772885326,-3.296744841141,2.77813026742
+    ));
+#441 = CARTESIAN_POINT('',(-3.654302898295,-2.243988440983,
+    2.778565917218));
+#442 = CARTESIAN_POINT('',(-4.,-1.121611300988,2.778411706341));
+#443 = CARTESIAN_POINT('',(-4.,4.898587196589E-16,2.778411706341));
+#444 = ADVANCED_FACE('',(#445),#465,.T.);
+#445 = FACE_BOUND('',#446,.F.);
+#446 = EDGE_LOOP('',(#447,#455,#456,#457,#458));
+#447 = ORIENTED_EDGE('',*,*,#448,.F.);
+#448 = EDGE_CURVE('',#327,#449,#451,.T.);
+#449 = VERTEX_POINT('',#450);
+#450 = CARTESIAN_POINT('',(4.,0.,15.6));
+#451 = LINE('',#452,#453);
+#452 = CARTESIAN_POINT('',(4.,0.,0.));
+#453 = VECTOR('',#454,1.);
+#454 = DIRECTION('',(0.,0.,1.));
+#455 = ORIENTED_EDGE('',*,*,#391,.T.);
+#456 = ORIENTED_EDGE('',*,*,#326,.T.);
+#457 = ORIENTED_EDGE('',*,*,#448,.T.);
+#458 = ORIENTED_EDGE('',*,*,#459,.T.);
+#459 = EDGE_CURVE('',#449,#449,#460,.T.);
+#460 = CIRCLE('',#461,4.);
+#461 = AXIS2_PLACEMENT_3D('',#462,#463,#464);
+#462 = CARTESIAN_POINT('',(0.,0.,15.6));
+#463 = DIRECTION('',(0.,0.,1.));
+#464 = DIRECTION('',(1.,0.,0.));
+#465 = CYLINDRICAL_SURFACE('',#466,4.);
+#466 = AXIS2_PLACEMENT_3D('',#467,#468,#469);
+#467 = CARTESIAN_POINT('',(0.,0.,0.));
+#468 = DIRECTION('',(-0.,-0.,-1.));
+#469 = DIRECTION('',(1.,0.,0.));
+#470 = ADVANCED_FACE('',(#471),#491,.T.);
+#471 = FACE_BOUND('',#472,.T.);
+#472 = EDGE_LOOP('',(#473,#482,#483,#484));
+#473 = ORIENTED_EDGE('',*,*,#474,.F.);
+#474 = EDGE_CURVE('',#449,#475,#477,.T.);
+#475 = VERTEX_POINT('',#476);
+#476 = CARTESIAN_POINT('',(3.6,0.,16.));
+#477 = CIRCLE('',#478,0.4);
+#478 = AXIS2_PLACEMENT_3D('',#479,#480,#481);
+#479 = CARTESIAN_POINT('',(3.6,0.,15.6));
+#480 = DIRECTION('',(0.,-1.,0.));
+#481 = DIRECTION('',(1.,0.,0.));
+#482 = ORIENTED_EDGE('',*,*,#459,.T.);
+#483 = ORIENTED_EDGE('',*,*,#474,.T.);
+#484 = ORIENTED_EDGE('',*,*,#485,.F.);
+#485 = EDGE_CURVE('',#475,#475,#486,.T.);
+#486 = CIRCLE('',#487,3.6);
+#487 = AXIS2_PLACEMENT_3D('',#488,#489,#490);
+#488 = CARTESIAN_POINT('',(0.,0.,16.));
+#489 = DIRECTION('',(0.,0.,1.));
+#490 = DIRECTION('',(1.,0.,0.));
+#491 = TOROIDAL_SURFACE('',#492,3.6,0.4);
+#492 = AXIS2_PLACEMENT_3D('',#493,#494,#495);
+#493 = CARTESIAN_POINT('',(0.,0.,15.6));
+#494 = DIRECTION('',(0.,0.,1.));
+#495 = DIRECTION('',(1.,0.,0.));
+#496 = ADVANCED_FACE('',(#497),#500,.T.);
+#497 = FACE_BOUND('',#498,.T.);
+#498 = EDGE_LOOP('',(#499));
+#499 = ORIENTED_EDGE('',*,*,#485,.T.);
+#500 = PLANE('',#501);
+#501 = AXIS2_PLACEMENT_3D('',#502,#503,#504);
+#502 = CARTESIAN_POINT('',(-2.563950248511E-16,3.49503809816E-16,16.));
+#503 = DIRECTION('',(0.,0.,1.));
+#504 = DIRECTION('',(1.,0.,0.));
+#505 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#509)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#506,#507,#508)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#506 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#507 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#508 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#509 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-05),#506,
+  'distance_accuracy_value','confusion accuracy');
+#510 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#511,#513);
+#511 = ( REPRESENTATION_RELATIONSHIP('','',#36,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#512) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#512 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
+#513 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#514
+  );
+#514 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','Body','',#5,#31,$);
+#515 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#33));
+#516 = SHAPE_DEFINITION_REPRESENTATION(#517,#523);
+#517 = PRODUCT_DEFINITION_SHAPE('','',#518);
+#518 = PRODUCT_DEFINITION('design','',#519,#522);
+#519 = PRODUCT_DEFINITION_FORMATION('','',#520);
+#520 = PRODUCT('Wires','Wires','',(#521));
+#521 = PRODUCT_CONTEXT('',#2,'mechanical');
+#522 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#523 = SHAPE_REPRESENTATION('',(#11,#524,#528),#532);
+#524 = AXIS2_PLACEMENT_3D('',#525,#526,#527);
+#525 = CARTESIAN_POINT('',(3.5,0.,0.));
+#526 = DIRECTION('',(0.,0.,1.));
+#527 = DIRECTION('',(1.,0.,0.));
+#528 = AXIS2_PLACEMENT_3D('',#529,#530,#531);
+#529 = CARTESIAN_POINT('',(0.,0.,0.));
+#530 = DIRECTION('',(0.,0.,1.));
+#531 = DIRECTION('',(1.,0.,0.));
+#532 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#536)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#533,#534,#535)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#533 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#534 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#535 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#536 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#533,
+  'distance_accuracy_value','confusion accuracy');
+#537 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#538,#540);
+#538 = ( REPRESENTATION_RELATIONSHIP('','',#523,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#539) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#539 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
+#540 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#541
+  );
+#541 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('4','Wires','',#5,#518,$);
+#542 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#520));
+#543 = SHAPE_DEFINITION_REPRESENTATION(#544,#550);
+#544 = PRODUCT_DEFINITION_SHAPE('','',#545);
+#545 = PRODUCT_DEFINITION('design','',#546,#549);
+#546 = PRODUCT_DEFINITION_FORMATION('','',#547);
+#547 = PRODUCT('Body002','Body002','',(#548));
+#548 = PRODUCT_CONTEXT('',#2,'mechanical');
+#549 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#550 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#551),#604);
+#551 = MANIFOLD_SOLID_BREP('',#552);
+#552 = CLOSED_SHELL('',(#553,#586,#595));
+#553 = ADVANCED_FACE('',(#554),#581,.T.);
+#554 = FACE_BOUND('',#555,.T.);
+#555 = EDGE_LOOP('',(#556,#566,#573,#574));
+#556 = ORIENTED_EDGE('',*,*,#557,.T.);
+#557 = EDGE_CURVE('',#558,#560,#562,.T.);
+#558 = VERTEX_POINT('',#559);
+#559 = CARTESIAN_POINT('',(-1.45,0.,0.));
+#560 = VERTEX_POINT('',#561);
+#561 = CARTESIAN_POINT('',(-1.45,0.,-2.));
+#562 = LINE('',#563,#564);
+#563 = CARTESIAN_POINT('',(-1.45,0.,0.));
+#564 = VECTOR('',#565,1.);
+#565 = DIRECTION('',(-0.,-0.,-1.));
+#566 = ORIENTED_EDGE('',*,*,#567,.T.);
+#567 = EDGE_CURVE('',#560,#560,#568,.T.);
+#568 = CIRCLE('',#569,0.3);
+#569 = AXIS2_PLACEMENT_3D('',#570,#571,#572);
+#570 = CARTESIAN_POINT('',(-1.75,0.,-2.));
+#571 = DIRECTION('',(0.,0.,1.));
+#572 = DIRECTION('',(1.,0.,0.));
+#573 = ORIENTED_EDGE('',*,*,#557,.F.);
+#574 = ORIENTED_EDGE('',*,*,#575,.F.);
+#575 = EDGE_CURVE('',#558,#558,#576,.T.);
+#576 = CIRCLE('',#577,0.3);
+#577 = AXIS2_PLACEMENT_3D('',#578,#579,#580);
+#578 = CARTESIAN_POINT('',(-1.75,0.,0.));
+#579 = DIRECTION('',(0.,0.,1.));
+#580 = DIRECTION('',(1.,0.,0.));
+#581 = CYLINDRICAL_SURFACE('',#582,0.3);
+#582 = AXIS2_PLACEMENT_3D('',#583,#584,#585);
+#583 = CARTESIAN_POINT('',(-1.75,0.,0.));
+#584 = DIRECTION('',(0.,0.,1.));
+#585 = DIRECTION('',(1.,0.,0.));
+#586 = ADVANCED_FACE('',(#587),#590,.T.);
+#587 = FACE_BOUND('',#588,.T.);
+#588 = EDGE_LOOP('',(#589));
+#589 = ORIENTED_EDGE('',*,*,#575,.T.);
+#590 = PLANE('',#591);
+#591 = AXIS2_PLACEMENT_3D('',#592,#593,#594);
+#592 = CARTESIAN_POINT('',(-1.75,2.336395212674E-17,0.));
+#593 = DIRECTION('',(0.,0.,1.));
+#594 = DIRECTION('',(1.,0.,0.));
+#595 = ADVANCED_FACE('',(#596),#599,.F.);
+#596 = FACE_BOUND('',#597,.F.);
+#597 = EDGE_LOOP('',(#598));
+#598 = ORIENTED_EDGE('',*,*,#567,.T.);
+#599 = PLANE('',#600);
+#600 = AXIS2_PLACEMENT_3D('',#601,#602,#603);
+#601 = CARTESIAN_POINT('',(-1.75,2.336395212674E-17,-2.));
+#602 = DIRECTION('',(0.,0.,1.));
+#603 = DIRECTION('',(1.,0.,0.));
+#604 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#608)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#605,#606,#607)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#605 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#606 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#607 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#608 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#605,
+  'distance_accuracy_value','confusion accuracy');
+#609 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#610,#612);
+#610 = ( REPRESENTATION_RELATIONSHIP('','',#550,#523) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#611) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#611 = ITEM_DEFINED_TRANSFORMATION('','',#11,#524);
+#612 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#613
+  );
+#613 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','Body002','',#518,#545,$);
+#614 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#547));
+#615 = SHAPE_DEFINITION_REPRESENTATION(#616,#622);
+#616 = PRODUCT_DEFINITION_SHAPE('','',#617);
+#617 = PRODUCT_DEFINITION('design','',#618,#621);
+#618 = PRODUCT_DEFINITION_FORMATION('','',#619);
+#619 = PRODUCT('Wire','Wire','',(#620));
+#620 = PRODUCT_CONTEXT('',#2,'mechanical');
+#621 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#622 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#623),#676);
+#623 = MANIFOLD_SOLID_BREP('',#624);
+#624 = CLOSED_SHELL('',(#625,#658,#667));
+#625 = ADVANCED_FACE('',(#626),#653,.T.);
+#626 = FACE_BOUND('',#627,.T.);
+#627 = EDGE_LOOP('',(#628,#638,#645,#646));
+#628 = ORIENTED_EDGE('',*,*,#629,.T.);
+#629 = EDGE_CURVE('',#630,#632,#634,.T.);
+#630 = VERTEX_POINT('',#631);
+#631 = CARTESIAN_POINT('',(-1.45,0.,0.));
+#632 = VERTEX_POINT('',#633);
+#633 = CARTESIAN_POINT('',(-1.45,0.,-2.));
+#634 = LINE('',#635,#636);
+#635 = CARTESIAN_POINT('',(-1.45,0.,0.));
+#636 = VECTOR('',#637,1.);
+#637 = DIRECTION('',(-0.,-0.,-1.));
+#638 = ORIENTED_EDGE('',*,*,#639,.T.);
+#639 = EDGE_CURVE('',#632,#632,#640,.T.);
+#640 = CIRCLE('',#641,0.3);
+#641 = AXIS2_PLACEMENT_3D('',#642,#643,#644);
+#642 = CARTESIAN_POINT('',(-1.75,0.,-2.));
+#643 = DIRECTION('',(0.,0.,1.));
+#644 = DIRECTION('',(1.,0.,0.));
+#645 = ORIENTED_EDGE('',*,*,#629,.F.);
+#646 = ORIENTED_EDGE('',*,*,#647,.F.);
+#647 = EDGE_CURVE('',#630,#630,#648,.T.);
+#648 = CIRCLE('',#649,0.3);
+#649 = AXIS2_PLACEMENT_3D('',#650,#651,#652);
+#650 = CARTESIAN_POINT('',(-1.75,0.,0.));
+#651 = DIRECTION('',(0.,0.,1.));
+#652 = DIRECTION('',(1.,0.,0.));
+#653 = CYLINDRICAL_SURFACE('',#654,0.3);
+#654 = AXIS2_PLACEMENT_3D('',#655,#656,#657);
+#655 = CARTESIAN_POINT('',(-1.75,0.,0.));
+#656 = DIRECTION('',(0.,0.,1.));
+#657 = DIRECTION('',(1.,0.,0.));
+#658 = ADVANCED_FACE('',(#659),#662,.T.);
+#659 = FACE_BOUND('',#660,.T.);
+#660 = EDGE_LOOP('',(#661));
+#661 = ORIENTED_EDGE('',*,*,#647,.T.);
+#662 = PLANE('',#663);
+#663 = AXIS2_PLACEMENT_3D('',#664,#665,#666);
+#664 = CARTESIAN_POINT('',(-1.75,2.336395212674E-17,0.));
+#665 = DIRECTION('',(0.,0.,1.));
+#666 = DIRECTION('',(1.,0.,0.));
+#667 = ADVANCED_FACE('',(#668),#671,.F.);
+#668 = FACE_BOUND('',#669,.F.);
+#669 = EDGE_LOOP('',(#670));
+#670 = ORIENTED_EDGE('',*,*,#639,.T.);
+#671 = PLANE('',#672);
+#672 = AXIS2_PLACEMENT_3D('',#673,#674,#675);
+#673 = CARTESIAN_POINT('',(-1.75,2.336395212674E-17,-2.));
+#674 = DIRECTION('',(0.,0.,1.));
+#675 = DIRECTION('',(1.,0.,0.));
+#676 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#680)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#677,#678,#679)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#677 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#678 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#679 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#680 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#677,
+  'distance_accuracy_value','confusion accuracy');
+#681 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#682,#684);
+#682 = ( REPRESENTATION_RELATIONSHIP('','',#622,#523) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#683) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#683 = ITEM_DEFINED_TRANSFORMATION('','',#11,#528);
+#684 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#685
+  );
+#685 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('3','Wire','',#518,#617,$);
+#686 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#619));
+#687 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#688)
+  ,#604);
+#688 = STYLED_ITEM('color',(#689),#551);
+#689 = PRESENTATION_STYLE_ASSIGNMENT((#690,#696));
+#690 = SURFACE_STYLE_USAGE(.BOTH.,#691);
+#691 = SURFACE_SIDE_STYLE('',(#692));
+#692 = SURFACE_STYLE_FILL_AREA(#693);
+#693 = FILL_AREA_STYLE('',(#694));
+#694 = FILL_AREA_STYLE_COLOUR('',#695);
+#695 = COLOUR_RGB('',0.82999997502,0.82999997502,0.82999997502);
+#696 = CURVE_STYLE('',#697,POSITIVE_LENGTH_MEASURE(0.1),#698);
+#697 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#698 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
+  9.803921802644E-02);
+#699 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#700)
+  ,#505);
+#700 = STYLED_ITEM('color',(#701),#37);
+#701 = PRESENTATION_STYLE_ASSIGNMENT((#702,#708));
+#702 = SURFACE_STYLE_USAGE(.BOTH.,#703);
+#703 = SURFACE_SIDE_STYLE('',(#704));
+#704 = SURFACE_STYLE_FILL_AREA(#705);
+#705 = FILL_AREA_STYLE('',(#706));
+#706 = FILL_AREA_STYLE_COLOUR('',#707);
+#707 = COLOUR_RGB('',0.670000024756,0.670000024756,1.);
+#708 = CURVE_STYLE('',#709,POSITIVE_LENGTH_MEASURE(0.1),#698);
+#709 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#710 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#711)
+  ,#676);
+#711 = STYLED_ITEM('color',(#712),#623);
+#712 = PRESENTATION_STYLE_ASSIGNMENT((#713,#718));
+#713 = SURFACE_STYLE_USAGE(.BOTH.,#714);
+#714 = SURFACE_SIDE_STYLE('',(#715));
+#715 = SURFACE_STYLE_FILL_AREA(#716);
+#716 = FILL_AREA_STYLE('',(#717));
+#717 = FILL_AREA_STYLE_COLOUR('',#695);
+#718 = CURVE_STYLE('',#719,POSITIVE_LENGTH_MEASURE(0.1),#698);
+#719 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+ENDSEC;
+END-ISO-10303-21;
diff --git a/fab.3dsource/Capacitor_Tecate.FCStd b/fab.3dsource/Capacitor_Tecate.FCStd
new file mode 100644
index 0000000000000000000000000000000000000000..0d0b1c756bef866c97f39a915ebca0dd2f5da93f
Binary files /dev/null and b/fab.3dsource/Capacitor_Tecate.FCStd differ
diff --git a/fab.kicad_sym b/fab.kicad_sym
index ca1ba8b3e23ced097b316eb88ffdb16c546e4a9c..679a0c73027d91327a9e601badc095d17876a24f 100644
--- a/fab.kicad_sym
+++ b/fab.kicad_sym
@@ -904,6 +904,186 @@
 			)
 		)
 	)
+	(symbol "CP_Elec_10F_Tecate_TPLC-3R8"
+		(pin_numbers hide)
+		(exclude_from_sim no)
+		(in_bom yes)
+		(on_board yes)
+		(property "Reference" "C"
+			(at 1.27 2.54 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(justify left)
+			)
+		)
+		(property "Value" "CP_Elec_10F_Tecate_TPLC-3R8"
+			(at 1.27 -2.54 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(justify left)
+			)
+		)
+		(property "Footprint" "fab:CP_Elec_10F_Tecate_TPLC-3R8"
+			(at 0 0 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(hide yes)
+			)
+		)
+		(property "Datasheet" "https://www.tecategroup.com/products/data_sheet.php?i=TPLC-3R8/10MR8X14"
+			(at 0 0 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(hide yes)
+			)
+		)
+		(property "Description" "Polarized capacitor, SMD, radial"
+			(at 0 0 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(hide yes)
+			)
+		)
+		(property "ki_keywords" "cap capacitor supercapacitor lithium electrolytic radial TPLC-3R8/10MR8X14"
+			(at 0 0 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(hide yes)
+			)
+		)
+		(property "ki_fp_filters" "*CP*"
+			(at 0 0 0)
+			(effects
+				(font
+					(size 1.27 1.27)
+				)
+				(hide yes)
+			)
+		)
+		(symbol "CP_Elec_10F_Tecate_TPLC-3R8_0_1"
+			(rectangle
+				(start -2.54 -0.635)
+				(end 2.54 -1.27)
+				(stroke
+					(width 0)
+					(type default)
+				)
+				(fill
+					(type outline)
+				)
+			)
+			(polyline
+				(pts
+					(xy -1.27 1.905) (xy -1.27 3.175)
+				)
+				(stroke
+					(width 0)
+					(type default)
+				)
+				(fill
+					(type none)
+				)
+			)
+			(polyline
+				(pts
+					(xy -0.635 2.54) (xy -1.905 2.54)
+				)
+				(stroke
+					(width 0)
+					(type default)
+				)
+				(fill
+					(type none)
+				)
+			)
+			(polyline
+				(pts
+					(xy 0 -1.27) (xy 0 -2.54)
+				)
+				(stroke
+					(width 0)
+					(type default)
+				)
+				(fill
+					(type none)
+				)
+			)
+			(polyline
+				(pts
+					(xy 0 2.54) (xy 0 1.27)
+				)
+				(stroke
+					(width 0)
+					(type default)
+				)
+				(fill
+					(type none)
+				)
+			)
+			(polyline
+				(pts
+					(xy -2.54 -1.27) (xy -2.54 1.27) (xy 2.54 1.27) (xy 2.54 -1.27) (xy -2.54 -1.27)
+				)
+				(stroke
+					(width 0.254)
+					(type default)
+				)
+				(fill
+					(type background)
+				)
+			)
+		)
+		(symbol "CP_Elec_10F_Tecate_TPLC-3R8_1_1"
+			(pin passive line
+				(at 0 5.08 270)
+				(length 2.54)
+				(name "~"
+					(effects
+						(font
+							(size 1.27 1.27)
+						)
+					)
+				)
+				(number "1"
+					(effects
+						(font
+							(size 1.27 1.27)
+						)
+					)
+				)
+			)
+			(pin passive line
+				(at 0 -5.08 90)
+				(length 2.54)
+				(name "~"
+					(effects
+						(font
+							(size 1.27 1.27)
+						)
+					)
+				)
+				(number "2"
+					(effects
+						(font
+							(size 1.27 1.27)
+						)
+					)
+				)
+			)
+		)
+	)
 	(symbol "C_1206"
 		(pin_numbers hide)
 		(exclude_from_sim no)
diff --git a/fab.pretty/CP_Elec_10F_Tecate_TPLC-3R8.kicad_mod b/fab.pretty/CP_Elec_10F_Tecate_TPLC-3R8.kicad_mod
new file mode 100644
index 0000000000000000000000000000000000000000..e5ad7ae7d28c745840fa50fb2212c9dac7165c32
--- /dev/null
+++ b/fab.pretty/CP_Elec_10F_Tecate_TPLC-3R8.kicad_mod
@@ -0,0 +1,178 @@
+(footprint "CP_Elec_10F_Tecate_TPLC-3R8"
+	(version 20240108)
+	(generator "pcbnew")
+	(generator_version "8.0")
+	(layer "F.Cu")
+	(descr "CAP LITH HYBRID 10F 3.8V T/H")
+	(tags "capacitor electrolytic supercapacitor TH")
+	(property "Reference" "REF**"
+		(at 0 -5.2 0)
+		(layer "F.SilkS")
+		(uuid "a2689e5c-8ccd-4e2c-8098-087f3c734022")
+		(effects
+			(font
+				(size 1 1)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Value" "CP_Elec_10F_Tecate_TPLC-3R8"
+		(at 0 5.5 0)
+		(layer "F.Fab")
+		(uuid "aa9c9fa8-922d-4661-b6ba-f949438fcd13")
+		(effects
+			(font
+				(size 1 1)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Footprint" ""
+		(at 0 0 0)
+		(layer "F.Fab")
+		(hide yes)
+		(uuid "998245a4-1d98-45b5-a2a3-37a7c9eadd9d")
+		(effects
+			(font
+				(size 1.27 1.27)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Datasheet" ""
+		(at 0 0 0)
+		(layer "F.Fab")
+		(hide yes)
+		(uuid "f015e7e8-653a-4371-8787-c6266ce34d21")
+		(effects
+			(font
+				(size 1.27 1.27)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Description" ""
+		(at 0 0 0)
+		(layer "F.Fab")
+		(hide yes)
+		(uuid "4384d75e-507b-4e18-b951-c181bbe2ba61")
+		(effects
+			(font
+				(size 1.27 1.27)
+				(thickness 0.15)
+			)
+		)
+	)
+	(attr through_hole)
+	(fp_line
+		(start -5.9 0)
+		(end -5.1 0)
+		(stroke
+			(width 0.12)
+			(type solid)
+		)
+		(layer "F.SilkS")
+		(uuid "b69731dc-a74d-4be9-8b11-0a21dad4be18")
+	)
+	(fp_line
+		(start -5.5 -0.4)
+		(end -5.5 0.4)
+		(stroke
+			(width 0.12)
+			(type solid)
+		)
+		(layer "F.SilkS")
+		(uuid "d42754be-232c-4f72-91c3-410cdb7a8c00")
+	)
+	(fp_circle
+		(center 0 0)
+		(end 4 0)
+		(stroke
+			(width 0.1)
+			(type default)
+		)
+		(fill none)
+		(layer "F.SilkS")
+		(uuid "57070b2e-b939-4ec9-ab2c-85cc49be4510")
+	)
+	(fp_circle
+		(center 0 0)
+		(end 4.5 0)
+		(stroke
+			(width 0.05)
+			(type default)
+		)
+		(fill none)
+		(layer "F.CrtYd")
+		(uuid "c9e35987-b4c8-4387-b9fc-c3f1607be799")
+	)
+	(fp_line
+		(start -2.2 -1.6)
+		(end -1.4 -1.6)
+		(stroke
+			(width 0.1)
+			(type solid)
+		)
+		(layer "F.Fab")
+		(uuid "53ded23b-dad2-4c6d-9d77-91fa13f8ed66")
+	)
+	(fp_line
+		(start -1.8 -2)
+		(end -1.8 -1.2)
+		(stroke
+			(width 0.1)
+			(type solid)
+		)
+		(layer "F.Fab")
+		(uuid "77da69f1-4a7e-4daf-b100-27fb75871e8c")
+	)
+	(fp_circle
+		(center 0 0)
+		(end 4 0)
+		(stroke
+			(width 0.1)
+			(type default)
+		)
+		(fill none)
+		(layer "F.Fab")
+		(uuid "e22687f9-c0b7-40e2-a8b7-8b4e6b6fe43a")
+	)
+	(fp_text user "${REFERENCE}"
+		(at 0 0 180)
+		(layer "F.Fab")
+		(uuid "0dda1646-a646-4a28-a8d2-393b8c94d637")
+		(effects
+			(font
+				(size 1 1)
+				(thickness 0.15)
+			)
+		)
+	)
+	(pad "1" thru_hole circle
+		(at -1.75 0)
+		(size 1.2 1.2)
+		(drill 0.8)
+		(layers "*.Cu" "*.Mask")
+		(remove_unused_layers no)
+		(uuid "a4649f24-d20d-45cd-afcf-e14e3a6451b5")
+	)
+	(pad "2" thru_hole circle
+		(at 1.75 0)
+		(size 1.2 1.2)
+		(drill 0.8)
+		(layers "*.Cu" "*.Mask")
+		(remove_unused_layers no)
+		(uuid "b8e9f158-11ed-47d8-aeca-b823f9f18779")
+	)
+	(model "${FAB}/fab.3dshapes/Capacitor_Tecate-TPLC-3R8.step"
+		(offset
+			(xyz 0 0 0)
+		)
+		(scale
+			(xyz 1 1 1)
+		)
+		(rotate
+			(xyz 0 0 0)
+		)
+	)
+)