// File: sfp_1x2_cage_amp_2007263_1_geom.txt // // Date: 15-Oct-2023 Start work on the 1x2 SFP Cage Geom // // // Final Official Desision: The DK Board will use the AMP 2007263-1 // 1x2 SFP Cage with the AMP 1888247-1 SFP+ connectors. // // This is the geometry file for the AMP 2007263-1 1x2 dual SFP cage. // // This geometry has the long axis of the SFP modules in the // Vertical direction and the SFP Connectors at the top. // // This geometry will include the 2 mechanical alignment pin holes // for each of the SFP connectors but the SMD Pads and such for // these connectors will be in their own geometries. // // // To get started just extract from the data-sheet for these 1x2 // Cages the location and diameter off all their required holes. // Recall that these are press-fit cages that are installed after // the reflow soldering process. // // // Location and diameter of all Cage Mounting holes relative // to the mounting hole in the SW corner - all in mm: // These are all Plated Grounded holes. // // // Hole Location Finished // Number X Y Diameter // ------ ------ ------ -------- // // 1 0.0 0.0 1.05 // 2 8.575 0.0 1.05 // 3 22.875 0.0 1.05 // // 4 14.25 5.0 0.95 <--- // 5 28.5 5.0 1.05 // // 6 0.0 10.0 1.05 // // 7 5.675 15.0 1.05 // 8 11.075 15.0 1.05 // 9 14.25 15.0 0.95 <--- // 10 19.925 15.0 1.05 // 11 25.325 15.0 1.05 // 12 28.5 15.0 1.05 // // 13 0.0 20.0 1.05 // // 14 0.0 22.8 0.95 <--- // 15 28.5 22.8 0.95 <--- // // 16 14.25 25.0 0.95 <--- // 17 28.5 25.0 1.05 // // 18 0.0 27.5 0.95 <--- // // 19 0.0 32.5 0.95 <--- // // 20 14.25 35.0 0.95 <--- // 21 28.5 35.0 1.05 // // 22 2.325 37.1 0.95 <--- // 23 7.125 37.1 0.95 <--- // 24 16.575 37.1 0.95 <--- // 25 21.375 37.1 0.95 <--- // // // Thess are all Plated holes with Drill Diameters of about: // 1.05 (for 0.95 finished) and 1.15 mm (for 1.05 finished). // // // Now the 4 Alingment Pin holes for the SFP Connectors: // // Hole Locations Finished // Number X Y Diameter // ------ ------ ------ -------- // // 1 2.325 30.9 1.55 // 2 11.925 30.9 1.55 // 3 16.575 30.9 1.55 // 4 26.175 30.9 1.55 // // These 4 Alignment Pin holes are Un-Plated // // These Alignment Pin locations imply that the center // of the Pad Array for the SFP Connectors is located // at the following X Y pairs: // // 7.125 30.9 and 21.375 30.9 // // The overall outer size of this cage, ignoring its spring // fingers in front and including wall thickness is about: // 28.75 mm in X by 48.7 mm in Y. // // This pitch from one cage to the next is: 14.25 mm exact. // // This SW most mounting hole is right along the West edge of // the cage and is approximately 11.5 mm or 11.6 mm // North of the South edge of the cage. // // // The 4 corners of the Cage ignoring its wall thickness // are located at: start SW and go CCW X Y pairs // // 0.0 -11.6 // 28.5 -11.6 // 28.5 37.2 // 0.0 37.2 // // This is based on the cage being 48.7 mm in its long axis // and the holes at its North most end being at Y = 37.1 mm. // // // All 25 Mounting Pins on this SFP Cage are electrical pins // that are connected to the Ground Net. // // The 0,0 of this geometry is at its SW most mounting pin. // This is about 14.25 mm to the West in X // and about 12.75 mm to the South in Y // from the physical center of this component. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- // // The Smaller of the two Cage Mounting Pin sizes // for the 0.95 mm Finished diameter holes: // $$lock_windows(@on); $$create_pin("SFP_1MM10"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$SFP_1MM10'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 1.10, 0.0 ]); $$circle( "PAD", 0.0, 0.0, 1.50, 0.0); $$circle( "SIGNAL", 0.0, 0.0, 1.50, 0.0); $$circle( "SOLDER_MASK", 0.0, 0.0, 1.50, 0.0); $$circle( "POWER", 0.0, 0.0, 2.00, 0.0); //---------------------------------------------------------------------------- // // The Larger of the two Cage Mounting Pin sizes // for the 1.05 mm Finished diameter holes: // $$lock_windows(@on); $$create_pin("SFP_1MM20"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$SFP_1MM20'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 1.20, 0.0 ]); $$circle( "PAD", 0.0, 0.0, 1.60, 0.0); $$circle( "SIGNAL", 0.0, 0.0, 1.60, 0.0); $$circle( "SOLDER_MASK", 0.0, 0.0, 1.60, 0.0); $$circle( "POWER", 0.0, 0.0, 2.10, 0.0); //---------------------------------------------------------------------------- // // Now start the actual Geometry for this SFP Cage // $$create_component("SFP_1x2_Cage", @replace); $$page( 0.0, 0.0, 0.0, @mm, 0.0, 0.0, [ 0.0, 0.0, 'CO$SFP_1x2_Cage' ]); $$point_mode(@vertex); // // Do not declare this to be a SMD component. // This is a THD type component. // $$attribute( "COMPONENT_HEIGHT", "10.0", , @scale , , [0.0, 0.0] ); $$attribute( "COMPONENT_OUTLINE_OVERHANG", "yes"); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); // // Setup the Component Placement Outline for this connector. // Start in the SW corner and go around CCW. // // I will make this a small component outline to avoid // any overlap with the SFP Connectors. $$initial([ 0.20, -2.00 ], , @nosnap ); $$terminal([ 28.30, -2.00 ] ); $$terminal([ 28.30, 17.00 ] ); $$terminal([ 0.20, 17.00 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); // Silkscreen: // // Just the basic box: // $$path( "SILKSCREEN", 0.20 , , [ 0.00, -11.60, 0.00, 37.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 28.50, -11.60, 28.50, 37.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 0.00, -11.60, 28.50, -11.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 0.00, 37.20, 28.50, 37.20 ] ); // Now try to hint at the grounding fingers on the cage $$path( "SILKSCREEN", 0.20 , , [ 1.55, -5.50, 2.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 1.55, -10.00, 1.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 2.95, -10.00, 2.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 4.55, -5.50, 5.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 4.55, -10.00, 4.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 5.95, -10.00, 5.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 7.55, -5.50, 8.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 7.55, -10.00, 7.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 8.95, -10.00, 8.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 10.55, -5.50, 11.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 10.55, -10.00, 10.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 11.95, -10.00, 11.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 13.55, -5.50, 14.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 13.55, -10.00, 13.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 14.95, -10.00, 14.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 16.55, -5.50, 17.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 16.55, -10.00, 16.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 17.95, -10.00, 17.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 19.55, -5.50, 20.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 19.55, -10.00, 19.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 20.95, -10.00, 20.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 22.55, -5.50, 23.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 22.55, -10.00, 22.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 23.95, -10.00, 23.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 25.55, -5.50, 26.95, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 25.55, -10.00, 25.55, -5.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 26.95, -10.00, 26.95, -5.50 ] ); // Now try to hint at 2 SFP Modules with Small LC // or Large SC Optical Connectors $$path( "SILKSCREEN", 0.20 , , [ 0.43, -11.60, 13.82, -11.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 0.43, -20.50, 13.82, -20.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 0.43, -28.00, 13.82, -28.00 ] ); $$path( "SILKSCREEN", 0.20 , , [ 0.43, -11.60, 0.43, -28.00 ] ); $$path( "SILKSCREEN", 0.20 , , [ 13.82, -11.60, 13.82, -28.00 ] ); $$path( "SILKSCREEN", 0.20 , , [ 28.07, -11.60, 14.68, -11.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 28.07, -20.50, 14.68, -20.50 ] ); $$path( "SILKSCREEN", 0.20 , , [ 28.07, -28.00, 14.68, -28.00 ] ); $$path( "SILKSCREEN", 0.20 , , [ 28.07, -11.60, 28.07, -28.00 ] ); $$path( "SILKSCREEN", 0.20 , , [ 14.68, -11.60, 14.68, -28.00 ] ); // Now try to hint at the orientation of the SMD connector // // Left Connector $$path( "SILKSCREEN", 0.20 , , [ 1.50, 32.10, 1.50, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 1.50, 34.60, 2.50, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 1.50, 29.70, 1.50, 27.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 1.50, 27.20, 3.00, 27.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 12.80, 32.10, 12.80, 33.80 ] ); $$path( "SILKSCREEN", 0.20 , , [ 12.80, 33.80, 12.00, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 12.00, 34.60, 11.30, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 12.80, 29.70, 12.80, 27.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 12.80, 27.20, 11.80, 27.20 ] ); // Right Connector $$path( "SILKSCREEN", 0.20 , , [ 15.70, 32.10, 15.70, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 15.70, 34.60, 16.70, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 15.70, 29.70, 15.70, 27.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 15.70, 27.20, 17.20, 27.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 27.00, 32.10, 27.00, 33.80 ] ); $$path( "SILKSCREEN", 0.20 , , [ 27.00, 33.80, 26.20, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 26.20, 34.60, 25.50, 34.60 ] ); $$path( "SILKSCREEN", 0.20 , , [ 27.00, 29.70, 27.00, 27.20 ] ); $$path( "SILKSCREEN", 0.20 , , [ 27.00, 27.20, 26.00, 27.20 ] ); // Now show the location of pin "1" $$text( "SILKSCREEN", "1", 2.0, 24.6, 1.5, @BC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN", "1", 16.2, 24.6, 1.5, @BC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // Reference Designator $$text( "SILKSCREEN", "^$ref", 14.25, 38.5, 2.5, @BC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // SFP Connector Alignment Pin Holes 1.55 mm diameter // // Plane Relief is 2.00 mm diameter. $$attribute( "DRILL_DEFINITION_UNPLATED", "1.55", , @scale , , [ 2.325, 30.90 ]); $$attribute( "DRILL_DEFINITION_UNPLATED", "1.55", , @scale , , [ 11.925, 30.90 ]); $$attribute( "DRILL_DEFINITION_UNPLATED", "1.55", , @scale , , [ 16.575, 30.90 ]); $$attribute( "DRILL_DEFINITION_UNPLATED", "1.55", , @scale , , [ 26.175, 30.90 ]); $$circle( "POWER", 2.325, 30.90, 2.00, 0.0 ); $$circle( "POWER", 11.925, 30.90, 2.00, 0.0 ); $$circle( "POWER", 16.575, 30.90, 2.00, 0.0 ); $$circle( "POWER", 26.175, 30.90, 2.00, 0.0 ); // // Now define the Electrical Pins on this 1x2 SFP Cage: // $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ 0.000, 0.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ 8.575, 0.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "3", , @scale , , [ 22.875, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1, SFP_1MM20 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2, SFP_1MM20 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "3, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "4", , @scale , , [ 14.250, 5.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "5", , @scale , , [ 28.500, 5.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "4, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "5, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "6", , @scale , , [ 0.000, 10.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "6, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "7", , @scale , , [ 5.675, 15.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "8", , @scale , , [ 11.075, 15.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "9", , @scale , , [ 14.250, 15.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "10", , @scale , , [ 19.925, 15.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "11", , @scale , , [ 25.325, 15.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "12", , @scale , , [ 28.500, 15.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "7, SFP_1MM20 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "8, SFP_1MM20 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "9, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "10, SFP_1MM20 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "11, SFP_1MM20 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "12, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "13", , @scale , , [ 0.000, 20.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "13, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "14", , @scale , , [ 0.000, 22.80 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "15", , @scale , , [ 28.500, 22.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "14, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "15, SFP_1MM10 "); $$attribute( "COMPONENT_PIN_DEFINITION", "16", , @scale , , [ 14.250, 25.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "17", , @scale , , [ 28.500, 25.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "16, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "17, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "18", , @scale , , [ 0.000, 27.50 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "18, SFP_1MM10 "); $$attribute( "COMPONENT_PIN_DEFINITION", "19", , @scale , , [ 0.000, 32.50 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "19, SFP_1MM10 "); $$attribute( "COMPONENT_PIN_DEFINITION", "20", , @scale , , [ 14.250, 35.00 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "21", , @scale , , [ 28.500, 35.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "20, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "21, SFP_1MM20 "); $$attribute( "COMPONENT_PIN_DEFINITION", "22", , @scale , , [ 2.325, 37.10 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "23", , @scale , , [ 7.125, 37.10 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "24", , @scale , , [ 16.575, 37.10 ]); $$attribute( "COMPONENT_PIN_DEFINITION", "25", , @scale , , [ 21.375, 37.10 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "22, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "23, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "24, SFP_1MM10 "); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "25, SFP_1MM10 ");