// // File: cap_0402 // // Date: 5-Dec-2012 original version // 20-Apr-2015 clean up and move rc --> cap for the Hub Module // // // Geometry for the Capacitor versions of the 0402 component. // // The Reference Designator is on the SilkScreen Layer. // // The long axis of this part is horizontal with pin #1 to the left. // // There appear to be many variations of the 0402 foot print // in the documentation from different manufacturers. For // reference I have listed the following AVX, Kement, and IPC // recommended dimensions along with the dimensions that I // have used in this geometry. // // // Pad Pad Pad Center Opening // Version Width X Height Y to Center Between Pads // ------- -------- -------- ---------- ------------ // // TDK Cap 0.35/0.45 0.40/0.60 0.30 / 0.50 0.00 / 0.15 // // AVX Cap 0.60 0.50 1.10 0.50 // // Kemet Cap 0.93 0.74 1.21 0.28 // // Kemet Cap 0.62 0.62 0.90 0.28 // IPC-7351 // // IPC Ref 1.30 0.45 // IPC Range 0.80/0.90 0.60/0.80 1.20 / 1.40 0.30 / 0.60 // // This Geom 0.62 0.62 0.90 0.28 // // // As currently made this 0402 Capacitor geometry has // exactly the Kemet recommended middle IPC-7351 dimensions. // // The AVX and TDK layouts do not fit very well with IPC standard. // // The IPC 0402 Courtyard is 3mm in the long dimension X // by 1mm in the Y dimension. // // Kemet shows a Courtyard that is 1.90 mm in the long dimension X // by 1.00 mm in the Y dimension. // // I will make this Courtyard is 2.00 mm in the long dimension X // by 1.00 mm in the Y dimension. // /// This geometry was made for the Hub Module design. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- $$create_pin("cap_0402_pad", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$cap_0402_pad'] ); $$point_mode(@vertex); $$polygon( "PAD", , [ -0.31, -0.31, 0.31, -0.31, 0.31, 0.31, -0.31, 0.31 ] ); $$polygon( "SOLDER_MASK", , [ -0.36, -0.36, 0.36, -0.36, 0.36, 0.36, -0.36, 0.36 ] ); $$polygon( "PASTE_MASK", , [ -0.31, -0.31, 0.31, -0.31, 0.31, 0.31, -0.31, 0.31 ] ); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- $$create_component("cap_0402", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'CO$cap_0402'] ); $$point_mode(@vertex); $$attribute( "COMPONENT_LAYOUT_TYPE", "surface"); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); $$attribute( "COMPONENT_HEIGHT", "", , @scale , , [0.028, 0.0]); // // Component Placement Outline for the cap_0402 // $$initial([ -1.00, -0.45 ], , @nosnap ); $$terminal([ -1.00, 0.45 ] ); $$terminal([ 1.00, 0.45 ] ); $$terminal([ 1.00, -0.45 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); $$template_line_style( @Solid ); $$path( "SILKSCREEN", 0.20, , [-1.00, 0.55, 1.00, 0.55]); $$path( "SILKSCREEN", 0.20, , [-1.00, -0.55, 1.00, -0.55]); // Reference Designator is on the SILKSCREEN Layer. $$text( "SILKSCREEN", "^$ref", 0.0, 0.0, 1.4, @CC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // // Define the two pins on the cap_0402: // pin #1 is to the left, pin #2 to the right, the axis is horizontal $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ -0.45, 0.0 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1, cap_0402_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ 0.45, 0.0 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2, cap_0402_pad");