// // File: res_0402 // // Date: 22-Dec-2015 original version // // // Geometry for the Resistor versions of the 0402 component. // // // 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 bla bla, and IPC // recommended dimensions along with the dimensions that I // have used in this geometry. // // Note that the actual 0402 resistor chip is 1.00 to 1.10 mm long // and 0.48 to 0.60 mm wide. // // // Pad Pad Pad Center Opening Total X // Version Width X Height Y to Center Between Pads Length // ------- --------- --------- --------- ---------- --------- // // Panasonic --- 0.40 / 0.60 --- 0.50 / 0.60 1.40 / 1.60 // // Samsung 0.60 0.50 1.10 0.50 1.70 // // Dale 0.40 0.60 0.90 0.50 1.30 // // Dale 0.55 0.55 0.90 0.35 1.45 // // Stackpole 0.40 0.60 0.90 0.50 1.30 // // Rohm 0.40 0.50 0.90 0.50 1.30 // // // Average 0.47 0.54 0.94 0.48 1.43 // // // IPC Ref 0.90 1.30 // IPC Range 0.60 / 0.80 0.40 / 0.60 2.00 / 2.20 // // // This Geom 0.50 0.56 1.00 0.50 1.50 // // // As currently made this 0402 Resistor geometry is not // very close to the recommended middle material IPC dimensions. // // The Courtyard is 3.10 mm along the X axis // by 1.80 mm along the Y axis. // // This res_0402 geometry was made for the Hub Module. // // // The Reference Designator is on the SilkScreen Layer. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- $$create_pin("res_0402_pad", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$res_0402_pad'] ); $$point_mode(@vertex); $$polygon( "PAD", , [ -0.25, -0.28, 0.25, -0.28, 0.25, 0.28, -0.25, 0.28 ] ); $$polygon( "SOLDER_MASK", , [ -0.30, -0.33, 0.30, -0.33, 0.30, 0.33, -0.30, 0.33 ] ); $$polygon( "PASTE_MASK", , [ -0.25, -0.28, 0.25, -0.28, 0.25, 0.28, -0.25, 0.28 ] ); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- $$create_component("res_0402", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'CO$res_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 res_0402 // $$initial([ -1.00, -0.50 ], , @nosnap ); $$terminal([ -1.00, 0.50 ] ); $$terminal([ 1.00, 0.50 ] ); $$terminal([ 1.00, -0.50 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); $$template_line_style( @Solid ); $$path( "SILKSCREEN", 0.20, , [ -0.80, 0.57, 0.80, 0.57 ]); $$path( "SILKSCREEN", 0.20, , [ -0.80, -0.57, 0.80, -0.57 ]); // 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 res_0402: // pin #1 is to the left, pin #2 to the right, the axis is horizontal $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ -0.50, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1, res_0402_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ 0.50, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2, res_0402_pad");