<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Importing ECAD files into NX</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <div class="title_topic3" id="xps10_pagetitle">Importing ECAD files into NX</div>
      <hr noshade="true">
      <div class="title_division"> Assemblies, components and parts created by PCB.xchange</div>
      <p class="para_division">By default, PCB.xchange creates all uniquely named ECAD components as NX parts when it creates a PCB assembly in NX. The components are created by extruding the footprint to the specified component height. (This representation is sometimes called an ice cube model.) Several tools are provided to manage default component creation, incomplete data in the ECAD file and referencing components in NX. See the article Component Naming and Numbering for a discussion of related issues.</p>
      <div class="title_division"> Using component collections in PCB.xchange</div>
      <p class="para_division">PCB.xchange can create geometry for the PCB components when writing an NX model. However, you may want to use certain detailed components already in existence as .prt files, rather than automatically generating simple ice cube parts. See also <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/xu_component_collections.html');return(false);">Using Component Collections</a> for additional information.
      </p>
      <div class="title_division"> Procedure for importing PCB assemblies from ECAD to NX</div>
      <ol type="1" start="1">
         <li>
            <p class="para_item">Create an empty NX part file, and choose<b class="uiTerm">Start</b>&rarr;<b class="uiTerm">All Applications</b>&rarr;<b class="uiTerm">PCB.xchange</b>. 
            </p>
         </li>
         <li>
            <p class="para_item">Choose <b class="uiTerm">PCB.xchange</b>&rarr;<b class="uiTerm">Import ECAD Model</b>.
            </p>
         </li>
         <li>
            <p class="para_item">In the dialog box, specify the desired part numbers and parameters. (To avoid repetitious settings, you can define default values for some of these parameters by modifying the file <i class="fileName">pcbx_ug_model.ini</i>.) For a brief explanation of available options, see  <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/mc_import_ecad.html');return(false);">Import ECAD Model</a></p>
         </li>
         <li>
            <p class="para_item">Specify any options and click OK. For a brief explanation of available options, see  <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/mc_import_ecad.html');return(false);">Import ECAD Model</a> 
            </p>
         </li>
      </ol>
      <div class="title_division"> Alternate procedure</div>
      <ol type="1" start="1">
         <li>
            <p class="para_item">Start the PCB.xchange application by choosing <b class="uiTerm">PCB.xchange</b>&rarr;<b class="uiTerm">Open PBC.xchange</b></p>
         </li>
         <li>
            <p class="para_item">Choose <b class="uiTerm">File</b>&rarr; <b class="uiTerm">Read</b>&rarr;<b class="uiTerm">Read ECAD Model</b>.
            </p>
         </li>
         <li>
            <p class="para_item">Chose <b class="uiTerm">File</b>&rarr;<b class="uiTerm">Write</b>&rarr; <b class="uiTerm">Write NX Model</b> and specify the desired part numbers and parameters. (To avoid repetitious settings, you can define default values for some of these parameters by modifying the file pcbx_ug_model.ini.) For a description of available options, press the Help button in the dialog box. 
            </p>
         </li>
         <li>
            <p class="para_item">Select <b class="uiTerm">Use Entity Filters</b>. The <b class="uiTerm">Preview</b> button becomes available, which enables you to preview the PCB Assembly based on the settings of the Entity Filter. Press the  <em>Esc</em> key to return to the Write NX Model dialog box.
            </p>
         </li>
         <li>
            <p class="para_item">Click <b class="uiTerm">OK</b>. 
            </p>
         </li>
      </ol>
      <div class="title_division"> Entity mapping</div>
      <p class="para_division">The following table illustrates how entities are translated from ECAD to NX.</p>
      <table border="3" align="center">
         <tr>
            <td colspan="1" rowspan="1">
               <p class="para_td">ECAD Label</p>
            </td>
            <td colspan="1" rowspan="1">
               <p class="para_td">NX Label</p>
            </td>
         </tr>
         <tr>
            <td colspan="1" rowspan="1">
               <p class="para_td">Component Name (Package, Geometry or Footprint Name)</p>
            </td>
            <td colspan="1" rowspan="1">
               <p class="para_td">Part Name</p>
            </td>
         </tr>
         <tr>
            <td colspan="1" rowspan="1">
               <p class="para_td">Component Part Number</p>
            </td>
            <td colspan="1" rowspan="1">
               <p class="para_td">Stored as component attribute in NX</p>
            </td>
         </tr>
         <tr>
            <td colspan="1" rowspan="1">
               <p class="para_td">Reference Designator</p>
            </td>
            <td colspan="1" rowspan="1">
               <p class="para_td">Assembly component name in NX</p>
            </td>
         </tr>
         <tr>
            <td colspan="1" rowspan="1">
               <p class="para_td">Board Name</p>
            </td>
            <td colspan="1" rowspan="1">
               <p class="para_td">Board Part Name</p>
            </td>
         </tr>
      </table><br><div class="title_division"> Mapping component names</div>
      <p class="para_division">Component names may be mapped to a different format when writing an ECAD file or an NX assembly. This can be useful if you want to maintain different naming conventions in ECAD and MCAD applications.</p>
      <p class="para_division">The mapping file is invoked by the variable  <i class="variableText">ComponentMapFile</i> in the file <i class="fileName">%MAYA_PCB_DIR%/pcbx_ug_filter.ini</i> (or  <i class="fileName">$MAYA_PCB_DIR/pcbx_ug_filter.ini</i> on UNIX). The variable is a text string consisting of the name and path of the mapping file. See the article Component Mapping for more information.
      </p>
      <div class="title_division"> Default values for imported components</div>
      <p class="para_division">When PCB.xchange imports ECAD data into an NX Model, the components are created by extruding the component footprint to the component height. The values used are those specified in the original ECAD file. A problem arises if in the ECAD file the component height field is unspecified (zero), since NX cannot use an extrusion distance of zero. In this case, PCB.xchange assigns a default height to the component. Note that the assigned value for component height remains in effect if the NX Assembly is later translated back to ECAD.</p>
      <p class="para_division">The default component height, as well as other values, can be defined by making a local copy of <i class="fileName">pcbx_ug_model.ini</i> as described in the article  <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/xu_modif_ini.html');return(false);">Modifying Initialization Files</a>. The new settings take effect the next time you start PCB.xchange. The following lists the default values that can be set by modifying  <i class="fileName">pcbx_ug_model.ini</i>.
      </p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">NxWriteColorTopComponent and NxWriteColorBottomComponent define colors for components on the top of the board and the bottom of the board respectively. Use standard NX color codes (permissible values: 1 - 216). To see color samples identified by number, open the Visualization Preferences dialog box in NX, and select the Color Palette tab. </p>
         </li>
         <li>
            <p class="para_item">NxWriteDefaultCompHeight defines default component height (in SI units) when none is specified . The application default is 0.005. </p>
         </li>
         <li>
            <p class="para_item">NxWriteDefaultBoardThk defines default board thickness (in SI units) when none is specified. The application default is 0.002. </p>
         </li>
         <li>
            <p class="para_item">NxWriteDefaultHoleDia defines hole diameter (in SI units) when none is specified. The application default is 0.002. </p>
         </li>
         <li>
            <p class="para_item">NxWriteDefaultUnits defines the the default setting for units on the Write NX Model dialog box. Permissible values are Millimeters and Inches. The application default is Millimeters. </p>
         </li>
         <li>
            <p class="para_item">NxWriteErrorChecking specifies that geometry error checking be activated (Yes) or deactivated (No). The application default Yes. This enables you to turn off this functionality in the event that false error messages interfere with work. </p>
         </li>
      </ol>
      <div class="title_division"> Problem characters in component names</div>
      <p class="para_division">Several non-alphanumeric characters are not allowed in NX part names (examples: @ * &quot; : ; ). These characters may occur in your ECAD libraries. In order to solve this problem when writing NX models from PCB.xchange a character swapping capability is provided. To define illegal characters to be swapped for legal NX characters, make a local copy of the  <em>pcbx_ug_model.ini</em> file as described in the article <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/xu_modif_ini.html');return(false);">Modifying Initialization Files</a>. In the local copy of the  <em>pcbx_ug_model.ini </em>file, create WriteCharSwap entries that define which illegal characters to swap for which legal ones in Part Names and Numbers. Note that this swap is done in one direction only - when writing to NX, not to ECAD.
      </p>
      <p class="para_division">The swap of characters is also applied to the board name/numbers.</p>
      <div class="title_division">Filtering entities while importing ECAD model or exporting NX model</div>
      <p class="para_division">Filtering allows you to control which components are translated to the new file during a Write operation and which are not. A variety of filters are available; others can be constructed. See the article <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/xu_filter.html');return(false);">Working with Entity Filters</a> for details.
      </p>
   </body>
</html>