diff --git a/fab.3dshapes/Capacitor-0603.step b/fab.3dshapes/Capacitor-0603.step
new file mode 100644
index 0000000000000000000000000000000000000000..624f4c9d5727d535d721b138f3f0ff07d1fa11e4
--- /dev/null
+++ b/fab.3dshapes/Capacitor-0603.step
@@ -0,0 +1,614 @@
+ISO-10303-21;
+HEADER;
+FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
+FILE_NAME('Open CASCADE Shape Model','2025-02-24T19:01:52',(
+    '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('0603','0603','',(#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.,1.224646799147E-16,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('Body0603','Body0603','',(#38));
+#38 = PRODUCT_CONTEXT('',#2,'mechanical');
+#39 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#40 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#41),#191);
+#41 = MANIFOLD_SOLID_BREP('',#42);
+#42 = CLOSED_SHELL('',(#43,#83,#114,#145,#167,#179));
+#43 = ADVANCED_FACE('',(#44),#78,.F.);
+#44 = FACE_BOUND('',#45,.F.);
+#45 = EDGE_LOOP('',(#46,#56,#64,#72));
+#46 = ORIENTED_EDGE('',*,*,#47,.T.);
+#47 = EDGE_CURVE('',#48,#50,#52,.T.);
+#48 = VERTEX_POINT('',#49);
+#49 = CARTESIAN_POINT('',(-0.37,0.77,3.E-02));
+#50 = VERTEX_POINT('',#51);
+#51 = CARTESIAN_POINT('',(-0.37,0.77,0.77));
+#52 = LINE('',#53,#54);
+#53 = CARTESIAN_POINT('',(-0.37,0.77,3.E-02));
+#54 = VECTOR('',#55,1.);
+#55 = DIRECTION('',(0.,0.,1.));
+#56 = ORIENTED_EDGE('',*,*,#57,.T.);
+#57 = EDGE_CURVE('',#50,#58,#60,.T.);
+#58 = VERTEX_POINT('',#59);
+#59 = CARTESIAN_POINT('',(-0.37,-0.77,0.77));
+#60 = LINE('',#61,#62);
+#61 = CARTESIAN_POINT('',(-0.37,0.77,0.77));
+#62 = VECTOR('',#63,1.);
+#63 = DIRECTION('',(0.,-1.,0.));
+#64 = ORIENTED_EDGE('',*,*,#65,.F.);
+#65 = EDGE_CURVE('',#66,#58,#68,.T.);
+#66 = VERTEX_POINT('',#67);
+#67 = CARTESIAN_POINT('',(-0.37,-0.77,3.E-02));
+#68 = LINE('',#69,#70);
+#69 = CARTESIAN_POINT('',(-0.37,-0.77,3.E-02));
+#70 = VECTOR('',#71,1.);
+#71 = DIRECTION('',(0.,0.,1.));
+#72 = ORIENTED_EDGE('',*,*,#73,.F.);
+#73 = EDGE_CURVE('',#48,#66,#74,.T.);
+#74 = LINE('',#75,#76);
+#75 = CARTESIAN_POINT('',(-0.37,0.77,3.E-02));
+#76 = VECTOR('',#77,1.);
+#77 = DIRECTION('',(0.,-1.,0.));
+#78 = PLANE('',#79);
+#79 = AXIS2_PLACEMENT_3D('',#80,#81,#82);
+#80 = CARTESIAN_POINT('',(-0.37,0.77,3.E-02));
+#81 = DIRECTION('',(1.,0.,0.));
+#82 = DIRECTION('',(0.,-1.,0.));
+#83 = ADVANCED_FACE('',(#84),#109,.F.);
+#84 = FACE_BOUND('',#85,.F.);
+#85 = EDGE_LOOP('',(#86,#87,#95,#103));
+#86 = ORIENTED_EDGE('',*,*,#65,.T.);
+#87 = ORIENTED_EDGE('',*,*,#88,.T.);
+#88 = EDGE_CURVE('',#58,#89,#91,.T.);
+#89 = VERTEX_POINT('',#90);
+#90 = CARTESIAN_POINT('',(0.37,-0.77,0.77));
+#91 = LINE('',#92,#93);
+#92 = CARTESIAN_POINT('',(-0.37,-0.77,0.77));
+#93 = VECTOR('',#94,1.);
+#94 = DIRECTION('',(1.,0.,0.));
+#95 = ORIENTED_EDGE('',*,*,#96,.F.);
+#96 = EDGE_CURVE('',#97,#89,#99,.T.);
+#97 = VERTEX_POINT('',#98);
+#98 = CARTESIAN_POINT('',(0.37,-0.77,3.E-02));
+#99 = LINE('',#100,#101);
+#100 = CARTESIAN_POINT('',(0.37,-0.77,3.E-02));
+#101 = VECTOR('',#102,1.);
+#102 = DIRECTION('',(0.,0.,1.));
+#103 = ORIENTED_EDGE('',*,*,#104,.F.);
+#104 = EDGE_CURVE('',#66,#97,#105,.T.);
+#105 = LINE('',#106,#107);
+#106 = CARTESIAN_POINT('',(-0.37,-0.77,3.E-02));
+#107 = VECTOR('',#108,1.);
+#108 = DIRECTION('',(1.,0.,0.));
+#109 = PLANE('',#110);
+#110 = AXIS2_PLACEMENT_3D('',#111,#112,#113);
+#111 = CARTESIAN_POINT('',(-0.37,-0.77,3.E-02));
+#112 = DIRECTION('',(0.,1.,0.));
+#113 = DIRECTION('',(1.,0.,0.));
+#114 = ADVANCED_FACE('',(#115),#140,.F.);
+#115 = FACE_BOUND('',#116,.F.);
+#116 = EDGE_LOOP('',(#117,#118,#126,#134));
+#117 = ORIENTED_EDGE('',*,*,#96,.T.);
+#118 = ORIENTED_EDGE('',*,*,#119,.T.);
+#119 = EDGE_CURVE('',#89,#120,#122,.T.);
+#120 = VERTEX_POINT('',#121);
+#121 = CARTESIAN_POINT('',(0.37,0.77,0.77));
+#122 = LINE('',#123,#124);
+#123 = CARTESIAN_POINT('',(0.37,-0.77,0.77));
+#124 = VECTOR('',#125,1.);
+#125 = DIRECTION('',(0.,1.,0.));
+#126 = ORIENTED_EDGE('',*,*,#127,.F.);
+#127 = EDGE_CURVE('',#128,#120,#130,.T.);
+#128 = VERTEX_POINT('',#129);
+#129 = CARTESIAN_POINT('',(0.37,0.77,3.E-02));
+#130 = LINE('',#131,#132);
+#131 = CARTESIAN_POINT('',(0.37,0.77,3.E-02));
+#132 = VECTOR('',#133,1.);
+#133 = DIRECTION('',(0.,0.,1.));
+#134 = ORIENTED_EDGE('',*,*,#135,.F.);
+#135 = EDGE_CURVE('',#97,#128,#136,.T.);
+#136 = LINE('',#137,#138);
+#137 = CARTESIAN_POINT('',(0.37,-0.77,3.E-02));
+#138 = VECTOR('',#139,1.);
+#139 = DIRECTION('',(0.,1.,0.));
+#140 = PLANE('',#141);
+#141 = AXIS2_PLACEMENT_3D('',#142,#143,#144);
+#142 = CARTESIAN_POINT('',(0.37,-0.77,3.E-02));
+#143 = DIRECTION('',(-1.,0.,0.));
+#144 = DIRECTION('',(0.,1.,0.));
+#145 = ADVANCED_FACE('',(#146),#162,.F.);
+#146 = FACE_BOUND('',#147,.F.);
+#147 = EDGE_LOOP('',(#148,#149,#155,#156));
+#148 = ORIENTED_EDGE('',*,*,#127,.T.);
+#149 = ORIENTED_EDGE('',*,*,#150,.T.);
+#150 = EDGE_CURVE('',#120,#50,#151,.T.);
+#151 = LINE('',#152,#153);
+#152 = CARTESIAN_POINT('',(0.37,0.77,0.77));
+#153 = VECTOR('',#154,1.);
+#154 = DIRECTION('',(-1.,0.,0.));
+#155 = ORIENTED_EDGE('',*,*,#47,.F.);
+#156 = ORIENTED_EDGE('',*,*,#157,.F.);
+#157 = EDGE_CURVE('',#128,#48,#158,.T.);
+#158 = LINE('',#159,#160);
+#159 = CARTESIAN_POINT('',(0.37,0.77,3.E-02));
+#160 = VECTOR('',#161,1.);
+#161 = DIRECTION('',(-1.,0.,0.));
+#162 = PLANE('',#163);
+#163 = AXIS2_PLACEMENT_3D('',#164,#165,#166);
+#164 = CARTESIAN_POINT('',(0.37,0.77,3.E-02));
+#165 = DIRECTION('',(0.,-1.,0.));
+#166 = DIRECTION('',(-1.,0.,0.));
+#167 = ADVANCED_FACE('',(#168),#174,.F.);
+#168 = FACE_BOUND('',#169,.F.);
+#169 = EDGE_LOOP('',(#170,#171,#172,#173));
+#170 = ORIENTED_EDGE('',*,*,#73,.T.);
+#171 = ORIENTED_EDGE('',*,*,#104,.T.);
+#172 = ORIENTED_EDGE('',*,*,#135,.T.);
+#173 = ORIENTED_EDGE('',*,*,#157,.T.);
+#174 = PLANE('',#175);
+#175 = AXIS2_PLACEMENT_3D('',#176,#177,#178);
+#176 = CARTESIAN_POINT('',(0.,-2.434699615406E-17,3.E-02));
+#177 = DIRECTION('',(0.,0.,1.));
+#178 = DIRECTION('',(1.,0.,0.));
+#179 = ADVANCED_FACE('',(#180),#186,.T.);
+#180 = FACE_BOUND('',#181,.T.);
+#181 = EDGE_LOOP('',(#182,#183,#184,#185));
+#182 = ORIENTED_EDGE('',*,*,#57,.T.);
+#183 = ORIENTED_EDGE('',*,*,#88,.T.);
+#184 = ORIENTED_EDGE('',*,*,#119,.T.);
+#185 = ORIENTED_EDGE('',*,*,#150,.T.);
+#186 = PLANE('',#187);
+#187 = AXIS2_PLACEMENT_3D('',#188,#189,#190);
+#188 = CARTESIAN_POINT('',(0.,-2.434699615406E-17,0.77));
+#189 = DIRECTION('',(0.,0.,1.));
+#190 = DIRECTION('',(1.,0.,0.));
+#191 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#195)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#192,#193,#194)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#192 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#193 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#194 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#195 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#192,
+  'distance_accuracy_value','confusion accuracy');
+#196 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#197,#199);
+#197 = ( REPRESENTATION_RELATIONSHIP('','',#40,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#198) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#198 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
+#199 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#200
+  );
+#200 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('5','Body0603','',#5,#35,$);
+#201 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#37));
+#202 = SHAPE_DEFINITION_REPRESENTATION(#203,#209);
+#203 = PRODUCT_DEFINITION_SHAPE('','',#204);
+#204 = PRODUCT_DEFINITION('design','',#205,#208);
+#205 = PRODUCT_DEFINITION_FORMATION('','',#206);
+#206 = PRODUCT('Contact0603A','Contact0603A','',(#207));
+#207 = PRODUCT_CONTEXT('',#2,'mechanical');
+#208 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#209 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#210),#360);
+#210 = MANIFOLD_SOLID_BREP('',#211);
+#211 = CLOSED_SHELL('',(#212,#252,#283,#314,#336,#348));
+#212 = ADVANCED_FACE('',(#213),#247,.T.);
+#213 = FACE_BOUND('',#214,.T.);
+#214 = EDGE_LOOP('',(#215,#225,#233,#241));
+#215 = ORIENTED_EDGE('',*,*,#216,.T.);
+#216 = EDGE_CURVE('',#217,#219,#221,.T.);
+#217 = VERTEX_POINT('',#218);
+#218 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#219 = VERTEX_POINT('',#220);
+#220 = CARTESIAN_POINT('',(-0.4,-0.533333333333,0.8));
+#221 = LINE('',#222,#223);
+#222 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#223 = VECTOR('',#224,1.);
+#224 = DIRECTION('',(-0.,1.,-3.330669073875E-16));
+#225 = ORIENTED_EDGE('',*,*,#226,.T.);
+#226 = EDGE_CURVE('',#219,#227,#229,.T.);
+#227 = VERTEX_POINT('',#228);
+#228 = CARTESIAN_POINT('',(-0.4,-0.533333333333,1.110223024625E-16));
+#229 = LINE('',#230,#231);
+#230 = CARTESIAN_POINT('',(-0.4,-0.533333333333,0.8));
+#231 = VECTOR('',#232,1.);
+#232 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#233 = ORIENTED_EDGE('',*,*,#234,.F.);
+#234 = EDGE_CURVE('',#235,#227,#237,.T.);
+#235 = VERTEX_POINT('',#236);
+#236 = CARTESIAN_POINT('',(-0.4,-0.8,1.110223024625E-16));
+#237 = LINE('',#238,#239);
+#238 = CARTESIAN_POINT('',(-0.4,-0.8,1.7763568394E-16));
+#239 = VECTOR('',#240,1.);
+#240 = DIRECTION('',(-0.,1.,-3.330669073875E-16));
+#241 = ORIENTED_EDGE('',*,*,#242,.F.);
+#242 = EDGE_CURVE('',#217,#235,#243,.T.);
+#243 = LINE('',#244,#245);
+#244 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#245 = VECTOR('',#246,1.);
+#246 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#247 = PLANE('',#248);
+#248 = AXIS2_PLACEMENT_3D('',#249,#250,#251);
+#249 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#250 = DIRECTION('',(-1.,0.,0.));
+#251 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#252 = ADVANCED_FACE('',(#253),#278,.T.);
+#253 = FACE_BOUND('',#254,.T.);
+#254 = EDGE_LOOP('',(#255,#256,#264,#272));
+#255 = ORIENTED_EDGE('',*,*,#234,.T.);
+#256 = ORIENTED_EDGE('',*,*,#257,.T.);
+#257 = EDGE_CURVE('',#227,#258,#260,.T.);
+#258 = VERTEX_POINT('',#259);
+#259 = CARTESIAN_POINT('',(0.4,-0.533333333333,1.110223024625E-16));
+#260 = LINE('',#261,#262);
+#261 = CARTESIAN_POINT('',(-0.4,-0.533333333333,1.110223024625E-16));
+#262 = VECTOR('',#263,1.);
+#263 = DIRECTION('',(1.,0.,0.));
+#264 = ORIENTED_EDGE('',*,*,#265,.F.);
+#265 = EDGE_CURVE('',#266,#258,#268,.T.);
+#266 = VERTEX_POINT('',#267);
+#267 = CARTESIAN_POINT('',(0.4,-0.8,1.110223024625E-16));
+#268 = LINE('',#269,#270);
+#269 = CARTESIAN_POINT('',(0.4,-0.8,1.7763568394E-16));
+#270 = VECTOR('',#271,1.);
+#271 = DIRECTION('',(-0.,1.,-3.330669073875E-16));
+#272 = ORIENTED_EDGE('',*,*,#273,.F.);
+#273 = EDGE_CURVE('',#235,#266,#274,.T.);
+#274 = LINE('',#275,#276);
+#275 = CARTESIAN_POINT('',(-0.4,-0.8,1.7763568394E-16));
+#276 = VECTOR('',#277,1.);
+#277 = DIRECTION('',(1.,0.,0.));
+#278 = PLANE('',#279);
+#279 = AXIS2_PLACEMENT_3D('',#280,#281,#282);
+#280 = CARTESIAN_POINT('',(-0.4,-0.8,1.7763568394E-16));
+#281 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#282 = DIRECTION('',(1.,0.,0.));
+#283 = ADVANCED_FACE('',(#284),#309,.T.);
+#284 = FACE_BOUND('',#285,.T.);
+#285 = EDGE_LOOP('',(#286,#287,#295,#303));
+#286 = ORIENTED_EDGE('',*,*,#265,.T.);
+#287 = ORIENTED_EDGE('',*,*,#288,.T.);
+#288 = EDGE_CURVE('',#258,#289,#291,.T.);
+#289 = VERTEX_POINT('',#290);
+#290 = CARTESIAN_POINT('',(0.4,-0.533333333333,0.8));
+#291 = LINE('',#292,#293);
+#292 = CARTESIAN_POINT('',(0.4,-0.533333333333,1.110223024625E-16));
+#293 = VECTOR('',#294,1.);
+#294 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#295 = ORIENTED_EDGE('',*,*,#296,.F.);
+#296 = EDGE_CURVE('',#297,#289,#299,.T.);
+#297 = VERTEX_POINT('',#298);
+#298 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#299 = LINE('',#300,#301);
+#300 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#301 = VECTOR('',#302,1.);
+#302 = DIRECTION('',(-0.,1.,-3.330669073875E-16));
+#303 = ORIENTED_EDGE('',*,*,#304,.F.);
+#304 = EDGE_CURVE('',#266,#297,#305,.T.);
+#305 = LINE('',#306,#307);
+#306 = CARTESIAN_POINT('',(0.4,-0.8,1.7763568394E-16));
+#307 = VECTOR('',#308,1.);
+#308 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#309 = PLANE('',#310);
+#310 = AXIS2_PLACEMENT_3D('',#311,#312,#313);
+#311 = CARTESIAN_POINT('',(0.4,-0.8,1.7763568394E-16));
+#312 = DIRECTION('',(1.,0.,0.));
+#313 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#314 = ADVANCED_FACE('',(#315),#331,.T.);
+#315 = FACE_BOUND('',#316,.T.);
+#316 = EDGE_LOOP('',(#317,#318,#324,#325));
+#317 = ORIENTED_EDGE('',*,*,#296,.T.);
+#318 = ORIENTED_EDGE('',*,*,#319,.T.);
+#319 = EDGE_CURVE('',#289,#219,#320,.T.);
+#320 = LINE('',#321,#322);
+#321 = CARTESIAN_POINT('',(0.4,-0.533333333333,0.8));
+#322 = VECTOR('',#323,1.);
+#323 = DIRECTION('',(-1.,0.,0.));
+#324 = ORIENTED_EDGE('',*,*,#216,.F.);
+#325 = ORIENTED_EDGE('',*,*,#326,.F.);
+#326 = EDGE_CURVE('',#297,#217,#327,.T.);
+#327 = LINE('',#328,#329);
+#328 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#329 = VECTOR('',#330,1.);
+#330 = DIRECTION('',(-1.,0.,0.));
+#331 = PLANE('',#332);
+#332 = AXIS2_PLACEMENT_3D('',#333,#334,#335);
+#333 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#334 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#335 = DIRECTION('',(-1.,0.,0.));
+#336 = ADVANCED_FACE('',(#337),#343,.F.);
+#337 = FACE_BOUND('',#338,.T.);
+#338 = EDGE_LOOP('',(#339,#340,#341,#342));
+#339 = ORIENTED_EDGE('',*,*,#242,.T.);
+#340 = ORIENTED_EDGE('',*,*,#273,.T.);
+#341 = ORIENTED_EDGE('',*,*,#304,.T.);
+#342 = ORIENTED_EDGE('',*,*,#326,.T.);
+#343 = PLANE('',#344);
+#344 = AXIS2_PLACEMENT_3D('',#345,#346,#347);
+#345 = CARTESIAN_POINT('',(0.,-0.8,0.4));
+#346 = DIRECTION('',(0.,1.,-3.885780586188E-16));
+#347 = DIRECTION('',(0.,3.885780586188E-16,1.));
+#348 = ADVANCED_FACE('',(#349),#355,.T.);
+#349 = FACE_BOUND('',#350,.F.);
+#350 = EDGE_LOOP('',(#351,#352,#353,#354));
+#351 = ORIENTED_EDGE('',*,*,#226,.T.);
+#352 = ORIENTED_EDGE('',*,*,#257,.T.);
+#353 = ORIENTED_EDGE('',*,*,#288,.T.);
+#354 = ORIENTED_EDGE('',*,*,#319,.T.);
+#355 = PLANE('',#356);
+#356 = AXIS2_PLACEMENT_3D('',#357,#358,#359);
+#357 = CARTESIAN_POINT('',(0.,-0.533333333333,0.4));
+#358 = DIRECTION('',(0.,1.,-3.885780586188E-16));
+#359 = DIRECTION('',(0.,3.885780586188E-16,1.));
+#360 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#364)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#361,#362,#363)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#361 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#362 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#363 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#364 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#361,
+  'distance_accuracy_value','confusion accuracy');
+#365 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#366,#368);
+#366 = ( REPRESENTATION_RELATIONSHIP('','',#209,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#367) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#367 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
+#368 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#369
+  );
+#369 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('6','Contact0603A','',#5,#204,$);
+#370 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#206));
+#371 = SHAPE_DEFINITION_REPRESENTATION(#372,#378);
+#372 = PRODUCT_DEFINITION_SHAPE('','',#373);
+#373 = PRODUCT_DEFINITION('design','',#374,#377);
+#374 = PRODUCT_DEFINITION_FORMATION('','',#375);
+#375 = PRODUCT('Contact0603B','Contact0603B','',(#376));
+#376 = PRODUCT_CONTEXT('',#2,'mechanical');
+#377 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
+#378 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#379),#529);
+#379 = MANIFOLD_SOLID_BREP('',#380);
+#380 = CLOSED_SHELL('',(#381,#421,#452,#483,#505,#517));
+#381 = ADVANCED_FACE('',(#382),#416,.T.);
+#382 = FACE_BOUND('',#383,.T.);
+#383 = EDGE_LOOP('',(#384,#394,#402,#410));
+#384 = ORIENTED_EDGE('',*,*,#385,.T.);
+#385 = EDGE_CURVE('',#386,#388,#390,.T.);
+#386 = VERTEX_POINT('',#387);
+#387 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#388 = VERTEX_POINT('',#389);
+#389 = CARTESIAN_POINT('',(-0.4,-0.533333333333,0.8));
+#390 = LINE('',#391,#392);
+#391 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#392 = VECTOR('',#393,1.);
+#393 = DIRECTION('',(0.,1.,-3.330669073875E-16));
+#394 = ORIENTED_EDGE('',*,*,#395,.T.);
+#395 = EDGE_CURVE('',#388,#396,#398,.T.);
+#396 = VERTEX_POINT('',#397);
+#397 = CARTESIAN_POINT('',(-0.4,-0.533333333333,1.110223024625E-16));
+#398 = LINE('',#399,#400);
+#399 = CARTESIAN_POINT('',(-0.4,-0.533333333333,0.8));
+#400 = VECTOR('',#401,1.);
+#401 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#402 = ORIENTED_EDGE('',*,*,#403,.F.);
+#403 = EDGE_CURVE('',#404,#396,#406,.T.);
+#404 = VERTEX_POINT('',#405);
+#405 = CARTESIAN_POINT('',(-0.4,-0.8,1.110223024625E-16));
+#406 = LINE('',#407,#408);
+#407 = CARTESIAN_POINT('',(-0.4,-0.8,1.7763568394E-16));
+#408 = VECTOR('',#409,1.);
+#409 = DIRECTION('',(0.,1.,-3.330669073875E-16));
+#410 = ORIENTED_EDGE('',*,*,#411,.F.);
+#411 = EDGE_CURVE('',#386,#404,#412,.T.);
+#412 = LINE('',#413,#414);
+#413 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#414 = VECTOR('',#415,1.);
+#415 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#416 = PLANE('',#417);
+#417 = AXIS2_PLACEMENT_3D('',#418,#419,#420);
+#418 = CARTESIAN_POINT('',(-0.4,-0.8,0.8));
+#419 = DIRECTION('',(-1.,0.,0.));
+#420 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#421 = ADVANCED_FACE('',(#422),#447,.T.);
+#422 = FACE_BOUND('',#423,.T.);
+#423 = EDGE_LOOP('',(#424,#425,#433,#441));
+#424 = ORIENTED_EDGE('',*,*,#403,.T.);
+#425 = ORIENTED_EDGE('',*,*,#426,.T.);
+#426 = EDGE_CURVE('',#396,#427,#429,.T.);
+#427 = VERTEX_POINT('',#428);
+#428 = CARTESIAN_POINT('',(0.4,-0.533333333333,1.110223024625E-16));
+#429 = LINE('',#430,#431);
+#430 = CARTESIAN_POINT('',(-0.4,-0.533333333333,1.110223024625E-16));
+#431 = VECTOR('',#432,1.);
+#432 = DIRECTION('',(1.,0.,0.));
+#433 = ORIENTED_EDGE('',*,*,#434,.F.);
+#434 = EDGE_CURVE('',#435,#427,#437,.T.);
+#435 = VERTEX_POINT('',#436);
+#436 = CARTESIAN_POINT('',(0.4,-0.8,1.110223024625E-16));
+#437 = LINE('',#438,#439);
+#438 = CARTESIAN_POINT('',(0.4,-0.8,1.7763568394E-16));
+#439 = VECTOR('',#440,1.);
+#440 = DIRECTION('',(0.,1.,-3.330669073875E-16));
+#441 = ORIENTED_EDGE('',*,*,#442,.F.);
+#442 = EDGE_CURVE('',#404,#435,#443,.T.);
+#443 = LINE('',#444,#445);
+#444 = CARTESIAN_POINT('',(-0.4,-0.8,1.7763568394E-16));
+#445 = VECTOR('',#446,1.);
+#446 = DIRECTION('',(1.,0.,0.));
+#447 = PLANE('',#448);
+#448 = AXIS2_PLACEMENT_3D('',#449,#450,#451);
+#449 = CARTESIAN_POINT('',(-0.4,-0.8,1.7763568394E-16));
+#450 = DIRECTION('',(0.,-3.330669073875E-16,-1.));
+#451 = DIRECTION('',(1.,0.,0.));
+#452 = ADVANCED_FACE('',(#453),#478,.T.);
+#453 = FACE_BOUND('',#454,.T.);
+#454 = EDGE_LOOP('',(#455,#456,#464,#472));
+#455 = ORIENTED_EDGE('',*,*,#434,.T.);
+#456 = ORIENTED_EDGE('',*,*,#457,.T.);
+#457 = EDGE_CURVE('',#427,#458,#460,.T.);
+#458 = VERTEX_POINT('',#459);
+#459 = CARTESIAN_POINT('',(0.4,-0.533333333333,0.8));
+#460 = LINE('',#461,#462);
+#461 = CARTESIAN_POINT('',(0.4,-0.533333333333,1.110223024625E-16));
+#462 = VECTOR('',#463,1.);
+#463 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#464 = ORIENTED_EDGE('',*,*,#465,.F.);
+#465 = EDGE_CURVE('',#466,#458,#468,.T.);
+#466 = VERTEX_POINT('',#467);
+#467 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#468 = LINE('',#469,#470);
+#469 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#470 = VECTOR('',#471,1.);
+#471 = DIRECTION('',(0.,1.,-3.330669073875E-16));
+#472 = ORIENTED_EDGE('',*,*,#473,.F.);
+#473 = EDGE_CURVE('',#435,#466,#474,.T.);
+#474 = LINE('',#475,#476);
+#475 = CARTESIAN_POINT('',(0.4,-0.8,1.7763568394E-16));
+#476 = VECTOR('',#477,1.);
+#477 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#478 = PLANE('',#479);
+#479 = AXIS2_PLACEMENT_3D('',#480,#481,#482);
+#480 = CARTESIAN_POINT('',(0.4,-0.8,1.7763568394E-16));
+#481 = DIRECTION('',(1.,0.,0.));
+#482 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#483 = ADVANCED_FACE('',(#484),#500,.T.);
+#484 = FACE_BOUND('',#485,.T.);
+#485 = EDGE_LOOP('',(#486,#487,#493,#494));
+#486 = ORIENTED_EDGE('',*,*,#465,.T.);
+#487 = ORIENTED_EDGE('',*,*,#488,.T.);
+#488 = EDGE_CURVE('',#458,#388,#489,.T.);
+#489 = LINE('',#490,#491);
+#490 = CARTESIAN_POINT('',(0.4,-0.533333333333,0.8));
+#491 = VECTOR('',#492,1.);
+#492 = DIRECTION('',(-1.,0.,0.));
+#493 = ORIENTED_EDGE('',*,*,#385,.F.);
+#494 = ORIENTED_EDGE('',*,*,#495,.F.);
+#495 = EDGE_CURVE('',#466,#386,#496,.T.);
+#496 = LINE('',#497,#498);
+#497 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#498 = VECTOR('',#499,1.);
+#499 = DIRECTION('',(-1.,0.,0.));
+#500 = PLANE('',#501);
+#501 = AXIS2_PLACEMENT_3D('',#502,#503,#504);
+#502 = CARTESIAN_POINT('',(0.4,-0.8,0.8));
+#503 = DIRECTION('',(0.,3.330669073875E-16,1.));
+#504 = DIRECTION('',(-1.,0.,0.));
+#505 = ADVANCED_FACE('',(#506),#512,.F.);
+#506 = FACE_BOUND('',#507,.T.);
+#507 = EDGE_LOOP('',(#508,#509,#510,#511));
+#508 = ORIENTED_EDGE('',*,*,#411,.T.);
+#509 = ORIENTED_EDGE('',*,*,#442,.T.);
+#510 = ORIENTED_EDGE('',*,*,#473,.T.);
+#511 = ORIENTED_EDGE('',*,*,#495,.T.);
+#512 = PLANE('',#513);
+#513 = AXIS2_PLACEMENT_3D('',#514,#515,#516);
+#514 = CARTESIAN_POINT('',(0.,-0.8,0.4));
+#515 = DIRECTION('',(0.,1.,-3.885780586188E-16));
+#516 = DIRECTION('',(0.,3.885780586188E-16,1.));
+#517 = ADVANCED_FACE('',(#518),#524,.T.);
+#518 = FACE_BOUND('',#519,.F.);
+#519 = EDGE_LOOP('',(#520,#521,#522,#523));
+#520 = ORIENTED_EDGE('',*,*,#395,.T.);
+#521 = ORIENTED_EDGE('',*,*,#426,.T.);
+#522 = ORIENTED_EDGE('',*,*,#457,.T.);
+#523 = ORIENTED_EDGE('',*,*,#488,.T.);
+#524 = PLANE('',#525);
+#525 = AXIS2_PLACEMENT_3D('',#526,#527,#528);
+#526 = CARTESIAN_POINT('',(0.,-0.533333333333,0.4));
+#527 = DIRECTION('',(0.,1.,-3.885780586188E-16));
+#528 = DIRECTION('',(0.,3.885780586188E-16,1.));
+#529 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#533)) GLOBAL_UNIT_ASSIGNED_CONTEXT
+((#530,#531,#532)) REPRESENTATION_CONTEXT('Context #1',
+  '3D Context with UNIT and UNCERTAINTY') );
+#530 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
+#531 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
+#532 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
+#533 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#530,
+  'distance_accuracy_value','confusion accuracy');
+#534 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#535,#537);
+#535 = ( REPRESENTATION_RELATIONSHIP('','',#378,#10) 
+REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#536) 
+SHAPE_REPRESENTATION_RELATIONSHIP() );
+#536 = ITEM_DEFINED_TRANSFORMATION('','',#11,#23);
+#537 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#538
+  );
+#538 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('7','Contact0603B','',#5,#373,$);
+#539 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#375));
+#540 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#541)
+  ,#191);
+#541 = STYLED_ITEM('color',(#542),#41);
+#542 = PRESENTATION_STYLE_ASSIGNMENT((#543,#549));
+#543 = SURFACE_STYLE_USAGE(.BOTH.,#544);
+#544 = SURFACE_SIDE_STYLE('',(#545));
+#545 = SURFACE_STYLE_FILL_AREA(#546);
+#546 = FILL_AREA_STYLE('',(#547));
+#547 = FILL_AREA_STYLE_COLOUR('',#548);
+#548 = COLOUR_RGB('',1.,0.670588257465,0.);
+#549 = CURVE_STYLE('',#550,POSITIVE_LENGTH_MEASURE(0.1),#551);
+#550 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#551 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
+  9.803921802644E-02);
+#552 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#553)
+  ,#529);
+#553 = STYLED_ITEM('color',(#554),#379);
+#554 = PRESENTATION_STYLE_ASSIGNMENT((#555,#561));
+#555 = SURFACE_STYLE_USAGE(.BOTH.,#556);
+#556 = SURFACE_SIDE_STYLE('',(#557));
+#557 = SURFACE_STYLE_FILL_AREA(#558);
+#558 = FILL_AREA_STYLE('',(#559));
+#559 = FILL_AREA_STYLE_COLOUR('',#560);
+#560 = COLOUR_RGB('',0.83137256512,0.83137256512,0.83137256512);
+#561 = CURVE_STYLE('',#562,POSITIVE_LENGTH_MEASURE(0.1),#551);
+#562 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+#563 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#564)
+  ,#360);
+#564 = STYLED_ITEM('color',(#565),#210);
+#565 = PRESENTATION_STYLE_ASSIGNMENT((#566,#571));
+#566 = SURFACE_STYLE_USAGE(.BOTH.,#567);
+#567 = SURFACE_SIDE_STYLE('',(#568));
+#568 = SURFACE_STYLE_FILL_AREA(#569);
+#569 = FILL_AREA_STYLE('',(#570));
+#570 = FILL_AREA_STYLE_COLOUR('',#560);
+#571 = CURVE_STYLE('',#572,POSITIVE_LENGTH_MEASURE(0.1),#551);
+#572 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
+ENDSEC;
+END-ISO-10303-21;
diff --git a/fab.3dsource/Capacitor.FCStd b/fab.3dsource/Capacitor.FCStd
index 8a851d305401dd0d73eaceb07ad7573c913663d4..19cf77bf6c2df57df591fd2d54ef33c88a8b0975 100644
Binary files a/fab.3dsource/Capacitor.FCStd and b/fab.3dsource/Capacitor.FCStd differ
diff --git a/fab.pretty/C_0603.kicad_mod b/fab.pretty/C_0603.kicad_mod
new file mode 100644
index 0000000000000000000000000000000000000000..40dc64d49dd818482f20205e618d5746dc8daa12
--- /dev/null
+++ b/fab.pretty/C_0603.kicad_mod
@@ -0,0 +1,143 @@
+(footprint "C_0603"
+	(version 20240108)
+	(generator "pcbnew")
+	(generator_version "8.0")
+	(layer "F.Cu")
+	(descr "Capacitor SMD 0603")
+	(tags "capacitor 0603")
+	(property "Reference" "REF**"
+		(at 0.9 -1.5 0)
+		(layer "F.SilkS")
+		(uuid "11be9a5f-750a-41bb-a02c-6c54833166f1")
+		(effects
+			(font
+				(size 1 1)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Value" "C_0603"
+		(at 0 1.7 0)
+		(layer "F.Fab")
+		(uuid "1c675ee7-93c4-4e30-b06c-53770e29aa3d")
+		(effects
+			(font
+				(size 1 1)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Footprint" ""
+		(at 0 0 0)
+		(layer "F.Fab")
+		(hide yes)
+		(uuid "46f32486-95a4-4e31-90d0-bdd48c162304")
+		(effects
+			(font
+				(size 1.27 1.27)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Datasheet" ""
+		(at 0 0 0)
+		(layer "F.Fab")
+		(hide yes)
+		(uuid "edf54bc3-401b-4acf-91a5-34fecebb8fd3")
+		(effects
+			(font
+				(size 1.27 1.27)
+				(thickness 0.15)
+			)
+		)
+	)
+	(property "Description" ""
+		(at 0 0 0)
+		(layer "F.Fab")
+		(hide yes)
+		(uuid "1e199442-8176-4cba-86c6-a51e5f1d0ca2")
+		(effects
+			(font
+				(size 1.27 1.27)
+				(thickness 0.15)
+			)
+		)
+	)
+	(attr smd)
+	(fp_line
+		(start -0.8 -0.7)
+		(end 0.8 -0.7)
+		(stroke
+			(width 0.12)
+			(type solid)
+		)
+		(layer "F.SilkS")
+		(uuid "61050a98-2e67-4861-8e4a-6ccf55596240")
+	)
+	(fp_line
+		(start 0.8 0.7)
+		(end -0.8 0.7)
+		(stroke
+			(width 0.12)
+			(type solid)
+		)
+		(layer "F.SilkS")
+		(uuid "e2348f6e-c3fe-49eb-9af4-441b2d8bd1dc")
+	)
+	(fp_rect
+		(start -1.3 -0.6)
+		(end 1.3 0.6)
+		(stroke
+			(width 0.05)
+			(type default)
+		)
+		(fill none)
+		(layer "F.CrtYd")
+		(uuid "81a07dd0-643c-463e-b7e9-2ff7d7694c45")
+	)
+	(fp_rect
+		(start -0.8 -0.4)
+		(end 0.8 0.4)
+		(stroke
+			(width 0.1)
+			(type default)
+		)
+		(fill none)
+		(layer "F.Fab")
+		(uuid "9705fcaa-c724-414f-ad3d-7f1fecb3252f")
+	)
+	(fp_text user "${REFERENCE}"
+		(at 0 0 0)
+		(layer "F.Fab")
+		(uuid "e9ffb4af-af8a-465a-aabc-c654e7bccf5d")
+		(effects
+			(font
+				(size 0.7 0.7)
+				(thickness 0.105)
+			)
+		)
+	)
+	(pad "1" smd rect
+		(at -0.75 0)
+		(size 0.61 0.81)
+		(layers "F.Cu" "F.Paste" "F.Mask")
+		(uuid "a65dd18a-21ee-45ce-9687-8ac88c783b19")
+	)
+	(pad "2" smd rect
+		(at 0.75 0)
+		(size 0.61 0.81)
+		(layers "F.Cu" "F.Paste" "F.Mask")
+		(uuid "8b1aa8a6-264c-436a-8721-41a8baedaba4")
+	)
+	(model "${FAB}/fab.3dshapes/Capacitor-0603.step"
+		(offset
+			(xyz 0 0 0)
+		)
+		(scale
+			(xyz 1 1 1)
+		)
+		(rotate
+			(xyz 0 0 90)
+		)
+	)
+)