diff --git a/Generic objects/pushpins/pushpin-model-I.fcstd b/Generic objects/pushpins/pushpin-model-I.fcstd
new file mode 100644
index 00000000..85211d95
Binary files /dev/null and b/Generic objects/pushpins/pushpin-model-I.fcstd differ
diff --git a/Generic objects/pushpins/pushpin-model-I.step b/Generic objects/pushpins/pushpin-model-I.step
new file mode 100644
index 00000000..33fb8e8f
--- /dev/null
+++ b/Generic objects/pushpins/pushpin-model-I.step	
@@ -0,0 +1,734 @@
+ISO-10303-21;
+HEADER;
+FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
+FILE_NAME(
+'/home/obijuan/develop/FreeCAD-library/Generic 
+objects/pushpin/pushpin-model-I.step','2017-03-20T07:58:04',('Author'),(
+    ''),'Open CASCADE STEP processor 6.8','FreeCAD','Unknown');
+FILE_SCHEMA(('AUTOMOTIVE_DESIGN_CC2 { 1 2 10303 214 -1 1 5 4 }'));
+ENDSEC;
+DATA;
+#1 = APPLICATION_PROTOCOL_DEFINITION('committee draft',
+  'automotive_design',1997,#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('ASSEMBLY','ASSEMBLY','',(#8));
+#8 = MECHANICAL_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.,-1.,2.22044604925E-16));
+#18 = DIRECTION('',(1.,0.,0.));
+#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);
+#20 = CARTESIAN_POINT('',(0.,0.,0.));
+#21 = DIRECTION('',(0.,-1.,2.22044604925E-16));
+#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-06),#24,
+  'distance_accuracy_value','confusion accuracy');
+#28 = PRODUCT_TYPE('part',$,(#7));
+#29 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#30),#388);
+#30 = MANIFOLD_SOLID_BREP('',#31);
+#31 = CLOSED_SHELL('',(#32,#69,#124,#179,#238,#294,#329,#384));
+#32 = ADVANCED_FACE('',(#33),#46,.T.);
+#33 = FACE_BOUND('',#34,.F.);
+#34 = EDGE_LOOP('',(#35));
+#35 = ORIENTED_EDGE('',*,*,#36,.F.);
+#36 = EDGE_CURVE('',#37,#37,#39,.T.);
+#37 = VERTEX_POINT('',#38);
+#38 = CARTESIAN_POINT('',(3.65,12.3,-5.462297281156E-15));
+#39 = SURFACE_CURVE('',#40,(#45,#57),.PCURVE_S1.);
+#40 = CIRCLE('',#41,3.65);
+#41 = AXIS2_PLACEMENT_3D('',#42,#43,#44);
+#42 = CARTESIAN_POINT('',(0.,12.3,-2.731148640578E-15));
+#43 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#44 = DIRECTION('',(1.,-1.661470742161E-31,-7.482599015282E-16));
+#45 = PCURVE('',#46,#51);
+#46 = PLANE('',#47);
+#47 = AXIS2_PLACEMENT_3D('',#48,#49,#50);
+#48 = CARTESIAN_POINT('',(0.,12.3,-2.731148640578E-15));
+#49 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#50 = DIRECTION('',(1.,-1.661470742161E-31,-7.482599015282E-16));
+#51 = DEFINITIONAL_REPRESENTATION('',(#52),#56);
+#52 = CIRCLE('',#53,3.65);
+#53 = AXIS2_PLACEMENT_2D('',#54,#55);
+#54 = CARTESIAN_POINT('',(0.,0.));
+#55 = DIRECTION('',(1.,4.32252550806E-31));
+#56 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#57 = PCURVE('',#58,#63);
+#58 = CYLINDRICAL_SURFACE('',#59,3.65);
+#59 = AXIS2_PLACEMENT_3D('',#60,#61,#62);
+#60 = CARTESIAN_POINT('',(0.,12.3,-2.731148640578E-15));
+#61 = DIRECTION('',(-0.,-1.,2.22044604925E-16));
+#62 = DIRECTION('',(1.,-1.661470742161E-31,-7.482599015282E-16));
+#63 = DEFINITIONAL_REPRESENTATION('',(#64),#68);
+#64 = LINE('',#65,#66);
+#65 = CARTESIAN_POINT('',(-0.,0.));
+#66 = VECTOR('',#67,1.);
+#67 = DIRECTION('',(-1.,0.));
+#68 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#69 = ADVANCED_FACE('',(#70),#58,.T.);
+#70 = FACE_BOUND('',#71,.F.);
+#71 = EDGE_LOOP('',(#72,#73,#96,#123));
+#72 = ORIENTED_EDGE('',*,*,#36,.T.);
+#73 = ORIENTED_EDGE('',*,*,#74,.T.);
+#74 = EDGE_CURVE('',#37,#75,#77,.T.);
+#75 = VERTEX_POINT('',#76);
+#76 = CARTESIAN_POINT('',(3.65,10.8,-4.796163466381E-15));
+#77 = SEAM_CURVE('',#78,(#82,#89),.PCURVE_S1.);
+#78 = LINE('',#79,#80);
+#79 = CARTESIAN_POINT('',(3.65,12.3,-5.462297281156E-15));
+#80 = VECTOR('',#81,1.);
+#81 = DIRECTION('',(0.,-1.,4.440892098501E-16));
+#82 = PCURVE('',#58,#83);
+#83 = DEFINITIONAL_REPRESENTATION('',(#84),#88);
+#84 = LINE('',#85,#86);
+#85 = CARTESIAN_POINT('',(-0.,0.));
+#86 = VECTOR('',#87,1.);
+#87 = DIRECTION('',(-0.,1.));
+#88 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#89 = PCURVE('',#58,#90);
+#90 = DEFINITIONAL_REPRESENTATION('',(#91),#95);
+#91 = LINE('',#92,#93);
+#92 = CARTESIAN_POINT('',(-6.28318530718,0.));
+#93 = VECTOR('',#94,1.);
+#94 = DIRECTION('',(-0.,1.));
+#95 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#96 = ORIENTED_EDGE('',*,*,#97,.F.);
+#97 = EDGE_CURVE('',#75,#75,#98,.T.);
+#98 = SURFACE_CURVE('',#99,(#104,#111),.PCURVE_S1.);
+#99 = CIRCLE('',#100,3.65);
+#100 = AXIS2_PLACEMENT_3D('',#101,#102,#103);
+#101 = CARTESIAN_POINT('',(0.,10.8,-2.39808173319E-15));
+#102 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#103 = DIRECTION('',(1.,-1.45885235897E-31,-6.570086940248E-16));
+#104 = PCURVE('',#58,#105);
+#105 = DEFINITIONAL_REPRESENTATION('',(#106),#110);
+#106 = LINE('',#107,#108);
+#107 = CARTESIAN_POINT('',(-0.,1.5));
+#108 = VECTOR('',#109,1.);
+#109 = DIRECTION('',(-1.,0.));
+#110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#111 = PCURVE('',#112,#117);
+#112 = CONICAL_SURFACE('',#113,3.65,1.138388551224);
+#113 = AXIS2_PLACEMENT_3D('',#114,#115,#116);
+#114 = CARTESIAN_POINT('',(0.,10.8,-2.39808173319E-15));
+#115 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#116 = DIRECTION('',(1.,-1.45885235897E-31,-6.570086940248E-16));
+#117 = DEFINITIONAL_REPRESENTATION('',(#118),#122);
+#118 = LINE('',#119,#120);
+#119 = CARTESIAN_POINT('',(0.,-0.));
+#120 = VECTOR('',#121,1.);
+#121 = DIRECTION('',(1.,-0.));
+#122 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#123 = ORIENTED_EDGE('',*,*,#74,.F.);
+#124 = ADVANCED_FACE('',(#125),#112,.T.);
+#125 = FACE_BOUND('',#126,.F.);
+#126 = EDGE_LOOP('',(#127,#128,#151,#178));
+#127 = ORIENTED_EDGE('',*,*,#97,.T.);
+#128 = ORIENTED_EDGE('',*,*,#129,.T.);
+#129 = EDGE_CURVE('',#75,#130,#132,.T.);
+#130 = VERTEX_POINT('',#131);
+#131 = CARTESIAN_POINT('',(1.7,9.9,-4.396483177516E-15));
+#132 = SEAM_CURVE('',#133,(#137,#144),.PCURVE_S1.);
+#133 = LINE('',#134,#135);
+#134 = CARTESIAN_POINT('',(3.65,10.8,-4.796163466381E-15));
+#135 = VECTOR('',#136,1.);
+#136 = DIRECTION('',(-0.9079593845,-0.419058177462,1.860992149102E-16));
+#137 = PCURVE('',#112,#138);
+#138 = DEFINITIONAL_REPRESENTATION('',(#139),#143);
+#139 = LINE('',#140,#141);
+#140 = CARTESIAN_POINT('',(0.,-0.));
+#141 = VECTOR('',#142,1.);
+#142 = DIRECTION('',(0.,-1.));
+#143 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#144 = PCURVE('',#112,#145);
+#145 = DEFINITIONAL_REPRESENTATION('',(#146),#150);
+#146 = LINE('',#147,#148);
+#147 = CARTESIAN_POINT('',(6.28318530718,-0.));
+#148 = VECTOR('',#149,1.);
+#149 = DIRECTION('',(0.,-1.));
+#150 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#151 = ORIENTED_EDGE('',*,*,#152,.F.);
+#152 = EDGE_CURVE('',#130,#130,#153,.T.);
+#153 = SURFACE_CURVE('',#154,(#159,#166),.PCURVE_S1.);
+#154 = CIRCLE('',#155,1.7);
+#155 = AXIS2_PLACEMENT_3D('',#156,#157,#158);
+#156 = CARTESIAN_POINT('',(0.,9.9,-2.198241588758E-15));
+#157 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#158 = DIRECTION('',(1.,-2.871221677091E-31,-1.293083287505E-15));
+#159 = PCURVE('',#112,#160);
+#160 = DEFINITIONAL_REPRESENTATION('',(#161),#165);
+#161 = LINE('',#162,#163);
+#162 = CARTESIAN_POINT('',(0.,-0.9));
+#163 = VECTOR('',#164,1.);
+#164 = DIRECTION('',(1.,-0.));
+#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#166 = PCURVE('',#167,#172);
+#167 = CONICAL_SURFACE('',#168,1.7,8.550529367821E-02);
+#168 = AXIS2_PLACEMENT_3D('',#169,#170,#171);
+#169 = CARTESIAN_POINT('',(0.,9.9,-2.198241588758E-15));
+#170 = DIRECTION('',(-0.,-1.,2.22044604925E-16));
+#171 = DIRECTION('',(1.,-2.871221677091E-31,-1.293083287505E-15));
+#172 = DEFINITIONAL_REPRESENTATION('',(#173),#177);
+#173 = LINE('',#174,#175);
+#174 = CARTESIAN_POINT('',(-0.,0.));
+#175 = VECTOR('',#176,1.);
+#176 = DIRECTION('',(-1.,0.));
+#177 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#178 = ORIENTED_EDGE('',*,*,#129,.F.);
+#179 = ADVANCED_FACE('',(#180),#167,.T.);
+#180 = FACE_BOUND('',#181,.F.);
+#181 = EDGE_LOOP('',(#182,#183,#206,#237));
+#182 = ORIENTED_EDGE('',*,*,#152,.T.);
+#183 = ORIENTED_EDGE('',*,*,#184,.T.);
+#184 = EDGE_CURVE('',#130,#185,#187,.T.);
+#185 = VERTEX_POINT('',#186);
+#186 = CARTESIAN_POINT('',(2.3,2.9,-1.287858708565E-15));
+#187 = SEAM_CURVE('',#188,(#192,#199),.PCURVE_S1.);
+#188 = LINE('',#189,#190);
+#189 = CARTESIAN_POINT('',(1.7,9.9,-4.396483177516E-15));
+#190 = VECTOR('',#191,1.);
+#191 = DIRECTION('',(8.540114134644E-02,-0.996346649042,
+    4.424667961097E-16));
+#192 = PCURVE('',#167,#193);
+#193 = DEFINITIONAL_REPRESENTATION('',(#194),#198);
+#194 = LINE('',#195,#196);
+#195 = CARTESIAN_POINT('',(-0.,0.));
+#196 = VECTOR('',#197,1.);
+#197 = DIRECTION('',(-0.,1.));
+#198 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#199 = PCURVE('',#167,#200);
+#200 = DEFINITIONAL_REPRESENTATION('',(#201),#205);
+#201 = LINE('',#202,#203);
+#202 = CARTESIAN_POINT('',(-6.28318530718,0.));
+#203 = VECTOR('',#204,1.);
+#204 = DIRECTION('',(-0.,1.));
+#205 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#206 = ORIENTED_EDGE('',*,*,#207,.F.);
+#207 = EDGE_CURVE('',#185,#185,#208,.T.);
+#208 = SURFACE_CURVE('',#209,(#214,#221),.PCURVE_S1.);
+#209 = CIRCLE('',#210,2.3);
+#210 = AXIS2_PLACEMENT_3D('',#211,#212,#213);
+#211 = CARTESIAN_POINT('',(0.,2.9,-6.439293542826E-16));
+#212 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#213 = DIRECTION('',(1.,-6.216566916144E-32,-2.799692844707E-16));
+#214 = PCURVE('',#167,#215);
+#215 = DEFINITIONAL_REPRESENTATION('',(#216),#220);
+#216 = LINE('',#217,#218);
+#217 = CARTESIAN_POINT('',(-0.,7.));
+#218 = VECTOR('',#219,1.);
+#219 = DIRECTION('',(-1.,0.));
+#220 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#221 = PCURVE('',#222,#231);
+#222 = SURFACE_OF_REVOLUTION('',#223,#228);
+#223 = CIRCLE('',#224,2.993888888889);
+#224 = AXIS2_PLACEMENT_3D('',#225,#226,#227);
+#225 = CARTESIAN_POINT('',(1.556111111111,0.,0.));
+#226 = DIRECTION('',(-0.,4.440892098501E-16,1.));
+#227 = DIRECTION('',(1.,0.,0.));
+#228 = AXIS1_PLACEMENT('',#229,#230);
+#229 = CARTESIAN_POINT('',(0.,0.,0.));
+#230 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#231 = DEFINITIONAL_REPRESENTATION('',(#232),#236);
+#232 = LINE('',#233,#234);
+#233 = CARTESIAN_POINT('',(0.,1.319696852578));
+#234 = VECTOR('',#235,1.);
+#235 = DIRECTION('',(1.,0.));
+#236 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#237 = ORIENTED_EDGE('',*,*,#184,.F.);
+#238 = ADVANCED_FACE('',(#239),#222,.T.);
+#239 = FACE_BOUND('',#240,.T.);
+#240 = EDGE_LOOP('',(#241,#270,#292,#293));
+#241 = ORIENTED_EDGE('',*,*,#242,.T.);
+#242 = EDGE_CURVE('',#243,#243,#245,.T.);
+#243 = VERTEX_POINT('',#244);
+#244 = CARTESIAN_POINT('',(4.55,0.,0.));
+#245 = SURFACE_CURVE('',#246,(#251,#258),.PCURVE_S1.);
+#246 = CIRCLE('',#247,4.55);
+#247 = AXIS2_PLACEMENT_3D('',#248,#249,#250);
+#248 = CARTESIAN_POINT('',(0.,0.,0.));
+#249 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#250 = DIRECTION('',(1.,0.,0.));
+#251 = PCURVE('',#222,#252);
+#252 = DEFINITIONAL_REPRESENTATION('',(#253),#257);
+#253 = LINE('',#254,#255);
+#254 = CARTESIAN_POINT('',(0.,0.));
+#255 = VECTOR('',#256,1.);
+#256 = DIRECTION('',(1.,0.));
+#257 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#258 = PCURVE('',#259,#264);
+#259 = PLANE('',#260);
+#260 = AXIS2_PLACEMENT_3D('',#261,#262,#263);
+#261 = CARTESIAN_POINT('',(0.,0.,0.));
+#262 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#263 = DIRECTION('',(1.,0.,0.));
+#264 = DEFINITIONAL_REPRESENTATION('',(#265),#269);
+#265 = CIRCLE('',#266,4.55);
+#266 = AXIS2_PLACEMENT_2D('',#267,#268);
+#267 = CARTESIAN_POINT('',(0.,0.));
+#268 = DIRECTION('',(1.,-0.));
+#269 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#270 = ORIENTED_EDGE('',*,*,#271,.T.);
+#271 = EDGE_CURVE('',#243,#185,#272,.T.);
+#272 = SEAM_CURVE('',#273,(#278,#285),.PCURVE_S1.);
+#273 = CIRCLE('',#274,2.993888888889);
+#274 = AXIS2_PLACEMENT_3D('',#275,#276,#277);
+#275 = CARTESIAN_POINT('',(1.556111111111,0.,0.));
+#276 = DIRECTION('',(-0.,4.440892098501E-16,1.));
+#277 = DIRECTION('',(1.,0.,0.));
+#278 = PCURVE('',#222,#279);
+#279 = DEFINITIONAL_REPRESENTATION('',(#280),#284);
+#280 = LINE('',#281,#282);
+#281 = CARTESIAN_POINT('',(0.,0.));
+#282 = VECTOR('',#283,1.);
+#283 = DIRECTION('',(0.,1.));
+#284 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#285 = PCURVE('',#222,#286);
+#286 = DEFINITIONAL_REPRESENTATION('',(#287),#291);
+#287 = LINE('',#288,#289);
+#288 = CARTESIAN_POINT('',(6.28318530718,0.));
+#289 = VECTOR('',#290,1.);
+#290 = DIRECTION('',(0.,1.));
+#291 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#292 = ORIENTED_EDGE('',*,*,#207,.F.);
+#293 = ORIENTED_EDGE('',*,*,#271,.F.);
+#294 = ADVANCED_FACE('',(#295,#326),#259,.F.);
+#295 = FACE_BOUND('',#296,.T.);
+#296 = EDGE_LOOP('',(#297));
+#297 = ORIENTED_EDGE('',*,*,#298,.T.);
+#298 = EDGE_CURVE('',#299,#299,#301,.T.);
+#299 = VERTEX_POINT('',#300);
+#300 = CARTESIAN_POINT('',(0.65,0.,0.));
+#301 = SURFACE_CURVE('',#302,(#307,#314),.PCURVE_S1.);
+#302 = CIRCLE('',#303,0.65);
+#303 = AXIS2_PLACEMENT_3D('',#304,#305,#306);
+#304 = CARTESIAN_POINT('',(0.,0.,0.));
+#305 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#306 = DIRECTION('',(1.,0.,0.));
+#307 = PCURVE('',#259,#308);
+#308 = DEFINITIONAL_REPRESENTATION('',(#309),#313);
+#309 = CIRCLE('',#310,0.65);
+#310 = AXIS2_PLACEMENT_2D('',#311,#312);
+#311 = CARTESIAN_POINT('',(0.,0.));
+#312 = DIRECTION('',(1.,-0.));
+#313 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#314 = PCURVE('',#315,#320);
+#315 = CYLINDRICAL_SURFACE('',#316,0.65);
+#316 = AXIS2_PLACEMENT_3D('',#317,#318,#319);
+#317 = CARTESIAN_POINT('',(0.,0.85,-1.887379141863E-16));
+#318 = DIRECTION('',(-0.,-1.,2.22044604925E-16));
+#319 = DIRECTION('',(1.,-6.447420859979E-32,-2.90366021825E-16));
+#320 = DEFINITIONAL_REPRESENTATION('',(#321),#325);
+#321 = LINE('',#322,#323);
+#322 = CARTESIAN_POINT('',(-0.,0.85));
+#323 = VECTOR('',#324,1.);
+#324 = DIRECTION('',(-1.,0.));
+#325 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#326 = FACE_BOUND('',#327,.T.);
+#327 = EDGE_LOOP('',(#328));
+#328 = ORIENTED_EDGE('',*,*,#242,.F.);
+#329 = ADVANCED_FACE('',(#330),#315,.F.);
+#330 = FACE_BOUND('',#331,.T.);
+#331 = EDGE_LOOP('',(#332,#361,#382,#383));
+#332 = ORIENTED_EDGE('',*,*,#333,.T.);
+#333 = EDGE_CURVE('',#334,#334,#336,.T.);
+#334 = VERTEX_POINT('',#335);
+#335 = CARTESIAN_POINT('',(0.65,0.85,-3.774758283726E-16));
+#336 = SURFACE_CURVE('',#337,(#342,#349),.PCURVE_S1.);
+#337 = CIRCLE('',#338,0.65);
+#338 = AXIS2_PLACEMENT_3D('',#339,#340,#341);
+#339 = CARTESIAN_POINT('',(0.,0.85,-1.887379141863E-16));
+#340 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#341 = DIRECTION('',(1.,-6.447420859979E-32,-2.90366021825E-16));
+#342 = PCURVE('',#315,#343);
+#343 = DEFINITIONAL_REPRESENTATION('',(#344),#348);
+#344 = LINE('',#345,#346);
+#345 = CARTESIAN_POINT('',(-0.,0.));
+#346 = VECTOR('',#347,1.);
+#347 = DIRECTION('',(-1.,0.));
+#348 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#349 = PCURVE('',#350,#355);
+#350 = PLANE('',#351);
+#351 = AXIS2_PLACEMENT_3D('',#352,#353,#354);
+#352 = CARTESIAN_POINT('',(0.,0.85,-1.887379141863E-16));
+#353 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#354 = DIRECTION('',(1.,-6.447420859979E-32,-2.90366021825E-16));
+#355 = DEFINITIONAL_REPRESENTATION('',(#356),#360);
+#356 = CIRCLE('',#357,0.65);
+#357 = AXIS2_PLACEMENT_2D('',#358,#359);
+#358 = CARTESIAN_POINT('',(0.,0.));
+#359 = DIRECTION('',(1.,7.58520101174E-32));
+#360 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#361 = ORIENTED_EDGE('',*,*,#362,.T.);
+#362 = EDGE_CURVE('',#334,#299,#363,.T.);
+#363 = SEAM_CURVE('',#364,(#368,#375),.PCURVE_S1.);
+#364 = LINE('',#365,#366);
+#365 = CARTESIAN_POINT('',(0.65,0.85,-3.774758283726E-16));
+#366 = VECTOR('',#367,1.);
+#367 = DIRECTION('',(0.,-1.,4.440892098501E-16));
+#368 = PCURVE('',#315,#369);
+#369 = DEFINITIONAL_REPRESENTATION('',(#370),#374);
+#370 = LINE('',#371,#372);
+#371 = CARTESIAN_POINT('',(-0.,0.));
+#372 = VECTOR('',#373,1.);
+#373 = DIRECTION('',(-0.,1.));
+#374 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#375 = PCURVE('',#315,#376);
+#376 = DEFINITIONAL_REPRESENTATION('',(#377),#381);
+#377 = LINE('',#378,#379);
+#378 = CARTESIAN_POINT('',(-6.28318530718,0.));
+#379 = VECTOR('',#380,1.);
+#380 = DIRECTION('',(-0.,1.));
+#381 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#382 = ORIENTED_EDGE('',*,*,#298,.F.);
+#383 = ORIENTED_EDGE('',*,*,#362,.F.);
+#384 = ADVANCED_FACE('',(#385),#350,.F.);
+#385 = FACE_BOUND('',#386,.T.);
+#386 = EDGE_LOOP('',(#387));
+#387 = ORIENTED_EDGE('',*,*,#333,.F.);
+#388 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#392)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#389,#390,#391)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#389 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#390 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#391 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#392 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#389,
+  'distance_accuracy_value','confusion accuracy');
+#393 = SHAPE_DEFINITION_REPRESENTATION(#394,#29);
+#394 = PRODUCT_DEFINITION_SHAPE('','',#395);
+#395 = PRODUCT_DEFINITION('design','',#396,#399);
+#396 = PRODUCT_DEFINITION_FORMATION('','',#397);
+#397 = PRODUCT('Handle','Handle','',(#398));
+#398 = MECHANICAL_CONTEXT('',#2,'mechanical');
+#399 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#400 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#401,#403);
+#401 = ( REPRESENTATION_RELATIONSHIP('','',#29,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#402) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#402 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
+#403 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#404
+  );
+#404 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','=>[0:1:1:2]','',#5,#395,$);
+#405 = PRODUCT_TYPE('part',$,(#397));
+#406 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#407),#581);
+#407 = MANIFOLD_SOLID_BREP('',#408);
+#408 = CLOSED_SHELL('',(#409,#468,#522,#554));
+#409 = ADVANCED_FACE('',(#410),#423,.F.);
+#410 = FACE_BOUND('',#411,.F.);
+#411 = EDGE_LOOP('',(#412));
+#412 = ORIENTED_EDGE('',*,*,#413,.T.);
+#413 = EDGE_CURVE('',#414,#414,#416,.T.);
+#414 = VERTEX_POINT('',#415);
+#415 = CARTESIAN_POINT('',(0.575,0.85,-3.774758283726E-16));
+#416 = SURFACE_CURVE('',#417,(#422,#434),.PCURVE_S1.);
+#417 = CIRCLE('',#418,0.575);
+#418 = AXIS2_PLACEMENT_3D('',#419,#420,#421);
+#419 = CARTESIAN_POINT('',(0.,0.85,-1.887379141863E-16));
+#420 = DIRECTION('',(0.,-1.,2.22044604925E-16));
+#421 = DIRECTION('',(1.,-7.288388798238E-32,-3.282398507587E-16));
+#422 = PCURVE('',#423,#428);
+#423 = PLANE('',#424);
+#424 = AXIS2_PLACEMENT_3D('',#425,#426,#427);
+#425 = CARTESIAN_POINT('',(0.,0.85,-1.887379141863E-16));
+#426 = DIRECTION('',(-0.,-1.,2.22044604925E-16));
+#427 = DIRECTION('',(1.,-7.288388798238E-32,-3.282398507587E-16));
+#428 = DEFINITIONAL_REPRESENTATION('',(#429),#433);
+#429 = CIRCLE('',#430,0.575);
+#430 = AXIS2_PLACEMENT_2D('',#431,#432);
+#431 = CARTESIAN_POINT('',(0.,0.));
+#432 = DIRECTION('',(1.,-8.57457505675E-32));
+#433 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#434 = PCURVE('',#435,#440);
+#435 = CYLINDRICAL_SURFACE('',#436,0.575);
+#436 = AXIS2_PLACEMENT_3D('',#437,#438,#439);
+#437 = CARTESIAN_POINT('',(0.,-6.6,1.465494392505E-15));
+#438 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#439 = DIRECTION('',(1.,5.659219537455E-31,2.548685900009E-15));
+#440 = DEFINITIONAL_REPRESENTATION('',(#441),#467);
+#441 = B_SPLINE_CURVE_WITH_KNOTS('',3,(#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),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,1,
+    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4),(0.,0.285599332145,0.571198664289,
+    0.856797996434,1.142397328578,1.427996660723,1.713595992867,
+    1.999195325012,2.284794657156,2.570393989301,2.855993321445,
+    3.14159265359,3.427191985734,3.712791317879,3.998390650023,
+    4.283989982168,4.569589314312,4.855188646457,5.140787978601,
+    5.426387310746,5.711986642891,5.997585975035,6.28318530718),
+  .QUASI_UNIFORM_KNOTS.);
+#442 = CARTESIAN_POINT('',(2.6645352591E-15,7.45));
+#443 = CARTESIAN_POINT('',(-9.519977738151E-02,7.45));
+#444 = CARTESIAN_POINT('',(-0.285599332145,7.45));
+#445 = CARTESIAN_POINT('',(-0.571198664289,7.45));
+#446 = CARTESIAN_POINT('',(-0.856797996434,7.45));
+#447 = CARTESIAN_POINT('',(-1.142397328578,7.45));
+#448 = CARTESIAN_POINT('',(-1.427996660723,7.45));
+#449 = CARTESIAN_POINT('',(-1.713595992867,7.45));
+#450 = CARTESIAN_POINT('',(-1.999195325012,7.45));
+#451 = CARTESIAN_POINT('',(-2.284794657156,7.45));
+#452 = CARTESIAN_POINT('',(-2.570393989301,7.45));
+#453 = CARTESIAN_POINT('',(-2.855993321445,7.45));
+#454 = CARTESIAN_POINT('',(-3.14159265359,7.45));
+#455 = CARTESIAN_POINT('',(-3.427191985734,7.45));
+#456 = CARTESIAN_POINT('',(-3.712791317879,7.45));
+#457 = CARTESIAN_POINT('',(-3.998390650023,7.45));
+#458 = CARTESIAN_POINT('',(-4.283989982168,7.45));
+#459 = CARTESIAN_POINT('',(-4.569589314312,7.45));
+#460 = CARTESIAN_POINT('',(-4.855188646457,7.45));
+#461 = CARTESIAN_POINT('',(-5.140787978601,7.45));
+#462 = CARTESIAN_POINT('',(-5.426387310746,7.45));
+#463 = CARTESIAN_POINT('',(-5.711986642891,7.45));
+#464 = CARTESIAN_POINT('',(-5.997585975035,7.45));
+#465 = CARTESIAN_POINT('',(-6.187985529798,7.45));
+#466 = CARTESIAN_POINT('',(-6.28318530718,7.45));
+#467 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#468 = ADVANCED_FACE('',(#469),#435,.T.);
+#469 = FACE_BOUND('',#470,.F.);
+#470 = EDGE_LOOP('',(#471,#472,#494,#521));
+#471 = ORIENTED_EDGE('',*,*,#413,.F.);
+#472 = ORIENTED_EDGE('',*,*,#473,.F.);
+#473 = EDGE_CURVE('',#474,#414,#476,.T.);
+#474 = VERTEX_POINT('',#475);
+#475 = CARTESIAN_POINT('',(0.575,-6.6,2.93098878501E-15));
+#476 = SEAM_CURVE('',#477,(#480,#487),.PCURVE_S1.);
+#477 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#478,#479),.UNSPECIFIED.,.F.,.F.,
+  (2,2),(0.,7.45),.PIECEWISE_BEZIER_KNOTS.);
+#478 = CARTESIAN_POINT('',(0.575,-6.6,7.473440377982E-16));
+#479 = CARTESIAN_POINT('',(0.575,0.85,-9.068882688933E-16));
+#480 = PCURVE('',#435,#481);
+#481 = DEFINITIONAL_REPRESENTATION('',(#482),#486);
+#482 = LINE('',#483,#484);
+#483 = CARTESIAN_POINT('',(2.6645352591E-15,-0.));
+#484 = VECTOR('',#485,1.);
+#485 = DIRECTION('',(-0.,1.));
+#486 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#487 = PCURVE('',#435,#488);
+#488 = DEFINITIONAL_REPRESENTATION('',(#489),#493);
+#489 = LINE('',#490,#491);
+#490 = CARTESIAN_POINT('',(-6.28318530718,0.));
+#491 = VECTOR('',#492,1.);
+#492 = DIRECTION('',(-0.,1.));
+#493 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#494 = ORIENTED_EDGE('',*,*,#495,.T.);
+#495 = EDGE_CURVE('',#474,#474,#496,.T.);
+#496 = SURFACE_CURVE('',#497,(#502,#509),.PCURVE_S1.);
+#497 = CIRCLE('',#498,0.575);
+#498 = AXIS2_PLACEMENT_3D('',#499,#500,#501);
+#499 = CARTESIAN_POINT('',(0.,-6.6,1.465494392505E-15));
+#500 = DIRECTION('',(0.,-1.,2.22044604925E-16));
+#501 = DIRECTION('',(1.,5.659219537455E-31,2.548685900009E-15));
+#502 = PCURVE('',#435,#503);
+#503 = DEFINITIONAL_REPRESENTATION('',(#504),#508);
+#504 = LINE('',#505,#506);
+#505 = CARTESIAN_POINT('',(-0.,0.));
+#506 = VECTOR('',#507,1.);
+#507 = DIRECTION('',(-1.,0.));
+#508 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#509 = PCURVE('',#510,#515);
+#510 = CONICAL_SURFACE('',#511,0.225,9.827395325601E-02);
+#511 = AXIS2_PLACEMENT_3D('',#512,#513,#514);
+#512 = CARTESIAN_POINT('',(0.,-10.15,2.253752739989E-15));
+#513 = DIRECTION('',(0.,1.,-2.22044604925E-16));
+#514 = DIRECTION('',(1.,2.224149496665E-30,1.00166788444E-14));
+#515 = DEFINITIONAL_REPRESENTATION('',(#516),#520);
+#516 = LINE('',#517,#518);
+#517 = CARTESIAN_POINT('',(-0.,3.55));
+#518 = VECTOR('',#519,1.);
+#519 = DIRECTION('',(-1.,0.));
+#520 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#521 = ORIENTED_EDGE('',*,*,#473,.T.);
+#522 = ADVANCED_FACE('',(#523),#536,.T.);
+#523 = FACE_BOUND('',#524,.F.);
+#524 = EDGE_LOOP('',(#525));
+#525 = ORIENTED_EDGE('',*,*,#526,.F.);
+#526 = EDGE_CURVE('',#527,#527,#529,.T.);
+#527 = VERTEX_POINT('',#528);
+#528 = CARTESIAN_POINT('',(0.225,-10.15,4.507505479978E-15));
+#529 = SURFACE_CURVE('',#530,(#535,#547),.PCURVE_S1.);
+#530 = CIRCLE('',#531,0.225);
+#531 = AXIS2_PLACEMENT_3D('',#532,#533,#534);
+#532 = CARTESIAN_POINT('',(0.,-10.15,2.253752739989E-15));
+#533 = DIRECTION('',(0.,-1.,2.22044604925E-16));
+#534 = DIRECTION('',(1.,2.224149496665E-30,1.00166788444E-14));
+#535 = PCURVE('',#536,#541);
+#536 = PLANE('',#537);
+#537 = AXIS2_PLACEMENT_3D('',#538,#539,#540);
+#538 = CARTESIAN_POINT('',(0.,-10.15,2.253752739989E-15));
+#539 = DIRECTION('',(-0.,-1.,2.22044604925E-16));
+#540 = DIRECTION('',(1.,2.224149496665E-30,1.00166788444E-14));
+#541 = DEFINITIONAL_REPRESENTATION('',(#542),#546);
+#542 = CIRCLE('',#543,0.225);
+#543 = AXIS2_PLACEMENT_2D('',#544,#545);
+#544 = CARTESIAN_POINT('',(0.,0.));
+#545 = DIRECTION('',(1.,-0.));
+#546 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#547 = PCURVE('',#510,#548);
+#548 = DEFINITIONAL_REPRESENTATION('',(#549),#553);
+#549 = LINE('',#550,#551);
+#550 = CARTESIAN_POINT('',(-0.,0.));
+#551 = VECTOR('',#552,1.);
+#552 = DIRECTION('',(-1.,0.));
+#553 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#554 = ADVANCED_FACE('',(#555),#510,.T.);
+#555 = FACE_BOUND('',#556,.F.);
+#556 = EDGE_LOOP('',(#557,#558,#579,#580));
+#557 = ORIENTED_EDGE('',*,*,#526,.T.);
+#558 = ORIENTED_EDGE('',*,*,#559,.T.);
+#559 = EDGE_CURVE('',#527,#474,#560,.T.);
+#560 = SEAM_CURVE('',#561,(#565,#572),.PCURVE_S1.);
+#561 = LINE('',#562,#563);
+#562 = CARTESIAN_POINT('',(0.225,-10.15,4.507505479978E-15));
+#563 = VECTOR('',#564,1.);
+#564 = DIRECTION('',(9.811584508618E-02,0.99517500016,
+    -4.419464794835E-16));
+#565 = PCURVE('',#510,#566);
+#566 = DEFINITIONAL_REPRESENTATION('',(#567),#571);
+#567 = LINE('',#568,#569);
+#568 = CARTESIAN_POINT('',(-0.,0.));
+#569 = VECTOR('',#570,1.);
+#570 = DIRECTION('',(-0.,1.));
+#571 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#572 = PCURVE('',#510,#573);
+#573 = DEFINITIONAL_REPRESENTATION('',(#574),#578);
+#574 = LINE('',#575,#576);
+#575 = CARTESIAN_POINT('',(-6.28318530718,0.));
+#576 = VECTOR('',#577,1.);
+#577 = DIRECTION('',(-0.,1.));
+#578 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
+PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
+  ) );
+#579 = ORIENTED_EDGE('',*,*,#495,.F.);
+#580 = ORIENTED_EDGE('',*,*,#559,.F.);
+#581 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#585)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#582,#583,#584)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#582 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#583 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#584 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#585 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-05),#582,
+  'distance_accuracy_value','confusion accuracy');
+#586 = SHAPE_DEFINITION_REPRESENTATION(#587,#406);
+#587 = PRODUCT_DEFINITION_SHAPE('','',#588);
+#588 = PRODUCT_DEFINITION('design','',#589,#592);
+#589 = PRODUCT_DEFINITION_FORMATION('','',#590);
+#590 = PRODUCT('Pin','Pin','',(#591));
+#591 = MECHANICAL_CONTEXT('',#2,'mechanical');
+#592 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#593 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#594,#596);
+#594 = ( REPRESENTATION_RELATIONSHIP('','',#406,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#595) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#595 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
+#596 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#597
+  );
+#597 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','=>[0:1:1:3]','',#5,#588,$);
+#598 = PRODUCT_TYPE('part',$,(#590));
+#599 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#600)
+  ,#388);
+#600 = STYLED_ITEM('color',(#601),#30);
+#601 = PRESENTATION_STYLE_ASSIGNMENT((#602,#608));
+#602 = SURFACE_STYLE_USAGE(.BOTH.,#603);
+#603 = SURFACE_SIDE_STYLE('',(#604));
+#604 = SURFACE_STYLE_FILL_AREA(#605);
+#605 = FILL_AREA_STYLE('',(#606));
+#606 = FILL_AREA_STYLE_COLOUR('',#607);
+#607 = DRAUGHTING_PRE_DEFINED_COLOUR('red');
+#608 = CURVE_STYLE('',#609,POSITIVE_LENGTH_MEASURE(0.1),#607);
+#609 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#610 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#611)
+  ,#581);
+#611 = STYLED_ITEM('color',(#612),#407);
+#612 = PRESENTATION_STYLE_ASSIGNMENT((#613,#619));
+#613 = SURFACE_STYLE_USAGE(.BOTH.,#614);
+#614 = SURFACE_SIDE_STYLE('',(#615));
+#615 = SURFACE_STYLE_FILL_AREA(#616);
+#616 = FILL_AREA_STYLE('',(#617));
+#617 = FILL_AREA_STYLE_COLOUR('',#618);
+#618 = COLOUR_RGB('',0.603921592236,0.603921592236,0.603921592236);
+#619 = CURVE_STYLE('',#620,POSITIVE_LENGTH_MEASURE(0.1),#618);
+#620 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+ENDSEC;
+END-ISO-10303-21;
diff --git a/Generic objects/pushpins/pushpin-model-I.stl b/Generic objects/pushpins/pushpin-model-I.stl
new file mode 100644
index 00000000..84453b02
Binary files /dev/null and b/Generic objects/pushpins/pushpin-model-I.stl differ