<!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>Component mapping</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">Component mapping</div>
      <hr noshade="true">
      <p class="para_topic">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_topic">The mapping file is invoked by the variable ComponentMapFile in the <i class="fileName">pcbx_ug_filter.ini</i> file. The variable is a text string consisting of the name and path of the mapping file. Note that mapping is performed only on those components which pass all the filters specified in the  <i class="fileName">pcbx_ug_filter.ini</i> file. See  <a class="links" href="javascript:void(0)" onclick="top.openFile('pcb/xu_filter.html');return(false);">Working with Entity Filters</a> for more information.
      </p>
      <p class="para_topic">The mapping file contains a list of component names and numbers to map during write. Each line of the file consists of 4 comma delimited values: ReadName,ReadNumber,WriteName,WriteNumber</p>
      <p class="para_topic">A mapping file can be created for writing ECAD files, or for writing NX assemblies.</p>
      <div class="title_division"> Sample component mapping files</div>
      <p class="para_division">The * symbol in the  <code>ReadName</code> or <code>ReadNumber</code> field is a wildcard for pattern matching. The $ symbol in the <code>WriteName</code> or  <code>WriteNumber</code> fields substitutes the original Name or the original Number respectively.
      </p>
      <p class="para_division">The pound sign (#) comments out the text that follows it on that line.</p>
      <div class="title_division"> Example 1:</div>
      <p class="para_division">ComponentMapFile=%MAYA_PCB_DIR%/pcbx_MapMentor2NX.txt</p>
      <p class="para_division">Example File (pcbx_MapMentor2NX.txt):</p><pre class="indent"> # map from Mentor to NX, note the write 
# number is an attribute of the assembly component name in PCB.modeler 
# read name, read number, write name, write number 
RES_H, PN1234, RES-H, 1234 
# horiz mount resistor 
RES_H, PN5678, RES-H, 5678 
# if pckg same for PN1234 &amp; PN5678 
RES_H, PN9876, RES-H-9876, 9876 
# package diff than RES-H 
RES_V, PN1234, RES-V, 1234 
# same number, but vert mounting </pre><div class="title_division"> Example 2: </div>
      <p class="para_division">ComponentMapFile=%MAYA_PCB_DIR%/pcbx_MapNX2Mentor.txt</p>
      <p class="para_division">Example File (pcbx_MapNX2Mentor.txt):</p><pre class="indent"> # map from NX to Mentor, note that the 
# $ is used to MATCH the component name 
# read name, read number, write name, write number 
RES-H, *, RES_H, PN$ 
# all horiz mount resistor RES-H-9876, *, 
RES_H, PN9876 
# package diff than RES-H 
RES-V, *, RES_V, PN$ 
# same number, but vert mounting </pre></body>
</html>