// // file: polypropylene_10_ufd_geom // // // Date: 27-Jan-2023 Original Version of this Geometery // // // // Polypropylene 10 uFd 250 Volt Kemet R75 // --------------------------------------------- // // // This is the geometry for the Kemet R75 10 uFd 250 Volt // capacitor for the Disco-Kraken board. // // The dimensions of this capacitor are: // // Lead Spacing of Capacitor: 27.5 mm // Length of Capacitor along the board: 32.0 mm // Thickness of Capacitor along the board: 22.0 mm // Height of the Capacitor above the board: 37.0 mm // Diameter of Leads: 0.80 mm // // // This geometry will assume that you are bending the leads, // in the plane of the leads, by 90 degrees and laying the // capacitor flat against the pcb so that it is only 22.0 mm // tall above the top surface of the pcb. // // The leads will be along the X axis at Y = 0.0 // // The boday of the capacitor will lay North of the vias // for its leads. For now I will leave 5.0 mm between // the body of the capacitor and the vias for its leads. // This gives 5.0 mm for the capacitor leads to make a // 90 degree bend. // // The center of this geometry is the center spot between // its 2 thd terminals and all of its body lies to the north. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // This is the Through Hole Pin/Pad Stack for // this 10 mm diameter electrolytic capacitor: // // Component Lead Diameter 0.80 mm // // Drill Diameter 1.20 mm // PAD Diameter 5.00 // Solder Mask Opening Dia. 5.10 // Power Plane Relief Dia. 8.00 // // Thus: // // Width of the Donut 1.900 mm // Solder Space each side of Lead 0.200 // Closest Approach of the 2 Pads 22.500 for 27.50 mm lead spacing // Power to Pad Edge Relief 1.500 // Power to Drill Hole Relief 3.400 // $$create_pin("Term_Cap_Polyprop", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$Term_Cap_Polyprop']); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", "default"); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 1.20, 0.0 ]); $$circle( "PAD", 0.0, 0.0, 5.00, 0.0); $$circle( "SIGNAL", 0.0, 0.0, 5.00, 0.0); $$circle( "SOLDER_MASK", 0.0, 0.0, 5.10, 0.0); $$circle( "POWER", 0.0, 0.0, 8.00, 0.0); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- $$create_component("Cap_Polyprop", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'CO$Cap_Polyprop']); $$point_mode(@vertex); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); $$attribute( "COMPONENT_HEIGHT", "", , @scale , , [17.0, 0.0]); $$attribute( "COMPONENT_OUTLINE_OVERHANG", "no"); // // The Component Placement Outline is a square box // just outside the 10 mm diameter of this capacitor. $$template_line_style( @Solid ); $$initial([ 16.75, 3.00 ], , @nosnap ); $$terminal([ -16.75, 3.00 ] ); $$terminal([ -16.75, -3.00 ] ); $$terminal([ 16.75, -3.00 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); // Draw the Silkscreen // Draw a bpx around the body of the capacitor. $$path( "SILKSCREEN", 0.25 , , [ -16.80, 5.00, 16.80, 5.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ -16.80, 42.00, 16.80, 42.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ -16.80, 42.00, -16.80, 5.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ 16.80, 42.00, 16.80, 5.00 ] ); // Draw little extensions over each of the 2 terminals $$path( "SILKSCREEN", 0.25 , , [ -16.80, 5.00, -16.80, -3.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ -16.80, -3.00, -10.70, -3.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ -10.70, 5.00, -10.70, -3.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ 16.80, 5.00, 16.80, -3.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ 16.80, -3.00, 10.70, -3.00 ] ); $$path( "SILKSCREEN", 0.25 , , [ 10.70, 5.00, 10.70, -3.00 ] ); // Draw Silkscreen Reference Designators $$text( "SILKSCREEN_1", "^$ref", 0.0, 0.0, 2.2, @CC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN_2", "^$ref", 0.0, 0.0, 2.2, @CC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // End of the Silkscreen // The component pins $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ -13.75, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1, Term_Cap_Polyprop"); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ 13.75, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2, Term_Cap_Polyprop");