// // File: mtp_feedthru_htm_w_cbl_geom.txt // // Original Date: 18-Jan-2013 // Date: 18-Mar-2018 Version for HTM Card // Date: 23-Apr-2018 Add the "Not In BOM" property // // // // This component is the feedthrough connector housing that // holds the MTP optical connectors on the stub optical cables // that run from the Avago MiniPOD devices to the front panel. // // Vertical version of the MTP Feedthrough // ---------- // // // NOTE: For some reason the CMX card's MTP Feedthrough // is called "vertical" even though its long axis // is horizontal flat against the CMX PCB. // // For the HTM Card its front panel is wide enough // so that the long axis of the MTP feedthroug is // vertical coming up off of the HTM PCB. // // // This version of the mtp geometry includes a cable stub // plugged into the on board side. // // These are not electrical components. They are included // in the HTM Front Panel Comps files so that we can see // where they will appear in the final fully assembled card. // We can not put tall electrical components on the HTM PCB // where they will interferre with these MTP feedthroughs. // // // This part will be layed out with its optical axis // horizontal so there is no rotation when it is placed. // // I will make the 0,0 of this geometry so that is in the // center in X and Y. This means that when placed its X // coordinate should be -6.64mm (4.1mm + 2.54mm) in order // to put its spring clip right on the back inside surface // of the front panel. // // Recall that the front edge of the pcb is 2.54mm back // from the inside back surface of the front panel and // that a standard ATCA front panel is 1.00 mm thick. // // Place this part in the Comps file with the options that // allow it to overlap other components. The intent is that // short electrical components can be under this feedthrough // connector, i.e. between the top surface of the pcb and // the body of the connector. // // The Molex drawing of this connector is a little lacking // in detailed dimensions. As we will use it I believe // that it looks like: // // It is 19.8mm long on the X axis // The lips at the front and back are 0.5mm wide. // The 4.0mm wide buldge is in the middle of the part. // Except for the spring clip the part is symmetric in X. // The spring clip terminates 5.8mm from the back edge. // The part is 14.9mm wide. // The part is 9.8mm tall. // // The panel hole is to be 10.1mm by 15.1mm // The panel is to be 1.75mm +/- 0.15mm thick. // // // // The tentative vertical placement locations for these // MTP Feedthrough Connectors in the pcb coordinate system are: // // MTP Conn -6.35 322.00 // -6.35 303.00 // // // // Currently there is no estimate of the space available // between the top surface of the PCB and the lowest part // of these MTP Feedthrough connectors. // // As used on HTM the MTP Feedthrough itself is 9.8mm thick. // // Now thinking about the ribbon cable connector that plugs // into the mtp feedthrough. // // Recall that to save space on the Dual Virtex CMX cards // with the front panel buildout for the tripple MTP // feedthroughs that it was possible to save space by // trimming off part of the pinch handles on the MTP // connectors on the optical stub cables. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- // MTP_Feedthrough Connector Housing Geometry $$create_component("MTP_Feedthrough", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'CO$MTP_Feedthrough'] ); $$point_mode(@vertex); $$attribute( "COMPONENT_LAYOUT_TYPE", "surface"); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); $$attribute( "COMPONENT_HEIGHT", "", , @scale , , [ 15.0, 0.0 ]); $$attribute( "COMPONENT_NOT_IN_BOM" ); // // Component Placement Outline for the MTP Feedthrough // $$initial([ 9.90, 4.50 ], , @nosnap ); $$terminal([ 9.40, 4.50 ] ); $$terminal([ 9.40, -4.50 ] ); $$terminal([ 9.90, -4.50 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); $$template_line_style( @Solid ); // // Basic Connector Outline // // East and West Vertical Lines $$path( "CONFORMAL_MASK", 0.20, , [ -9.90, 4.90, -9.90, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 9.90, 4.90, 9.90, -4.90 ]); // East and West Vertical Lips $$path( "CONFORMAL_MASK", 0.20, , [ -9.40, 4.90, -9.40, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 9.40, 4.90, 9.40, -4.90 ]); // West Vertical Line $$path( "CONFORMAL_MASK", 0.20, , [ -5.90, 4.90, -5.90, -4.90 ]); // Horizontal lines $$path( "CONFORMAL_MASK", 0.20, , [ -9.90, 4.90, -9.40, 4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ -9.90, -4.90, -9.40, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 9.90, 4.90, 9.40, 4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 9.90, -4.90, 9.40, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ -9.40, 4.90, -2.00, 4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ -9.40, -4.90, -2.00, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 2.00, 4.90, 9.40, 4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 2.00, -4.90, 9.40, -4.90 ]); // The center Buldge Vertical Lines $$path( "CONFORMAL_MASK", 0.20, , [ -2.00, 4.90, -2.00, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 2.00, 4.90, 2.00, -4.90 ]); // The center Buldge Horzontal Lines $$path( "CONFORMAL_MASK", 0.20, , [ -2.00, 4.90, 2.00, 4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ -2.00, -4.90, 2.00, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ -2.00, 3.00, 2.00, 3.00 ]); $$path( "CONFORMAL_MASK", 0.20, , [ -2.00, -3.00, 2.00, -3.00 ]); // Spring Clip Upper and Lower // Outer Loop $$path( "CONFORMAL_MASK", 0.20, , [ 2.20, 3.40, 9.20, 3.40 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 2.20, -3.40, 3.90, -3.40 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 7.50, -3.40, 9.20, -3.40 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 2.20, 3.40, 2.20, -3.40 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 9.20, 3.40, 9.20, -3.40 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 3.90, -3.40, 3.90, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 7.50, -3.40, 7.50, -4.90 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 3.90, -4.80, 7.50, -4.80 ]); // Inner Loop $$path( "CONFORMAL_MASK", 0.20, , [ 3.20, 2.30, 8.20, 2.30 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 3.20, -2.30, 8.20, -2.30 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 3.20, 2.30, 3.20, -2.30 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 8.20, 2.30, 8.20, -2.30 ]); // Retention Tang $$path( "CONFORMAL_MASK", 0.20, , [ 4.20, 1.50, 8.20, 1.50 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 4.20, -1.50, 8.20, -1.50 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 4.20, 1.50, 4.20, -1.50 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 5.00, 1.50, 5.00, -1.50 ]); // // Now start the section that shows the Cable Stub pulgged // into the feedthrough connector from the on card side. // // Recall that the East end of the feedthrough connector // is located at X = 9.90 mm // // Main 3 sided block 10mm out But with indents for thumbs $$path( "CONFORMAL_MASK", 0.20, , [ 9.90, 3.75, 11.70, 3.75 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 9.90, -3.75, 11.70, -3.75 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 11.70, 3.30, 18.90, 3.30 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 11.70, -3.30, 18.90, -3.30 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 18.90, 3.75, 19.90, 3.75 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 18.90, -3.75, 19.90, -3.75 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 19.90, 3.75, 19.90, -3.75 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 11.70, 3.75, 11.70, -3.75 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 18.90, 3.75, 18.90, -3.75 ]); // Now the Push In Part $$path( "CONFORMAL_MASK", 0.20, , [ 19.90, 2.45, 22.40, 2.45 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 19.90, -2.45, 22.40, -2.45 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 22.40, 3.35, 23.00, 3.35 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 22.40, -3.35, 23.00, -3.35 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 22.40, 2.45, 22.40, 3.35 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 22.40, -2.45, 22.40, -3.35 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 23.00, 3.35, 23.00, -3.35 ]); // Now the Thumb part 8 mm further out $$path( "CONFORMAL_MASK", 0.20, , [ 23.00, 2.95, 30.90, 2.95 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 23.00, -2.95, 30.90, -2.95 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 26.90, 2.95, 26.90, -2.95 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 27.90, 2.95, 27.90, -2.95 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 28.90, 2.95, 28.90, -2.95 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 30.90, 2.95, 30.90, -2.95 ]); // Cable Stub $$path( "CONFORMAL_MASK", 0.20, , [ 30.90, 0.15, 34.90, 0.15 ]); $$path( "CONFORMAL_MASK", 0.20, , [ 30.90, -0.15, 34.90, -0.15 ]); // Reference Designator is on both sides of the SILKSCREEN Layer. $$text( "SILKSCREEN_1", "^$ref", 8.0, 0.0, 1.7, @CC, 90, 0.7, 0.20, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN_2", "^$ref", 8.0, 0.0, 1.7, @CC, 90, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // ... with partial marks hinting at the location $$path( "SILKSCREEN_1", 0.20, , [ 6.80, 4.90, 9.40, 4.90 ]); $$path( "SILKSCREEN_1", 0.20, , [ 9.40, 4.90, 9.40, -4.90 ]); $$path( "SILKSCREEN_1", 0.20, , [ 6.80, -4.90, 9.40, -4.90 ]); $$path( "SILKSCREEN_2", 0.20, , [ 6.80, 4.90, 9.40, 4.90 ]); $$path( "SILKSCREEN_2", 0.20, , [ 9.40, 4.90, 9.40, -4.90 ]); $$path( "SILKSCREEN_2", 0.20, , [ 6.80, -4.90, 9.40, -4.90 ]);