<!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>Product data information &ndash; extended</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_topic2" id="xps10_pagetitle">Product data information &ndash; extended</div>
      <hr noshade="true">
      <table cellspacing="4" align="center">
         <tr valign="top">
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('dataexchange/step_settings.html');return(false);">Overview</a></p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td">How To</p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('dataexchange/step_util.html');return(false);">Options</a></p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('dataexchange/how_do.html');return(false);">Related Topics</a></p>
            </td>
         </tr>
      </table><br><p class="para_topic">The STEP AP203 and AP214 each have a well-defined set of extended product data that will exchange between systems. The STEP AP203 and AP214 translators do not actively use this information during or after translation, they simply retain it.</p>
      <p class="para_topic">The product data associated with product structure &ndash; for example, assembly structure &ndash; creates during the translation based on the actual assembly structure defined in NX or in the STEP file.</p>
      <p class="para_topic">If product data exists in an imported STEP file, the system will write the product data as the value of the NX part attributes described below. The NX attribute name matches the STEP product data item name in the file.</p>
      <p class="para_topic">When exporting, if any of the part attributes described below are found in the NX part, their name and value will be written to the STEP file.</p>
      <p class="para_topic">We provide two utilities to help you enter and manage the list of NX part attributes associated with the STEP product data.</p>
      <div class="title_division">Attribute_list utility</div>
      <p class="para_division">Attribute_list is a tool to list the part and object attributes of an assembly. This utility lists all of the NX part and object level attributes found &ndash; not just those described below.</p>
      <div class="title_division">Usage</div>
      <p class="para_division">attribute_list partname.prt</p>
      <p class="para_division">&ndash; partname.prt is the NX part file from which</p>
      <p class="para_division">attributes will be listed.</p>
      <p class="para_division">If the system omits the part name then the program will prompt for the NX part file. The program will follow the assembly structure and report on each component found. The output writes to a file with the name partfile.attr_ugentid#. The system adds the &nbsp;ugentid number to distinguish between multiple instances of the same component part. First, the file will list the object attributes associated with the component (only string type object attributes on component instances), if any, then the part attributes.</p>
      <div class="title_division">Attribute_set utility</div>
      <p class="para_division">The attribute_set utility provides a method to initially set the part and object attributes for an assembly. Use this utility to initially set the attribute values for an existing file. It will overwrite existing attribute values if the attribute already exists. The tool only utilizes the external files used to set the attributes for attribute_set.</p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">The use of the <b class="uiTerm">&ndash;clear</b> switch should be avoided. It will remove other part attributes used for parametric modeling etc. It will remove <em>all</em> part attributes regardless of where they were generated. Therefore, only use this option if you are sure that no other part attributes are needed.
                  </p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Usage</div>
      <p class="para_division">Part Attributes:</p>
      <p class="para_division">attribute_set [&ndash;clear] partname.prt attribute_file</p>
      <p class="para_division"><em>Object Attributes</em>:
      </p>
      <p class="para_division">&nbsp;&nbsp;attribute_set [&ndash;clear] &ndash;object part name.prt list_of_files.</p>
      <p class="para_division">&nbsp; &ndash;partname.prt is the NX part file where the attributes adds.</p>
      <p class="para_division">&nbsp; &ndash;attribute_file is the file containing the part_attributes strings that you wish to have added to the given part.</p>
      <p class="para_division">&nbsp; &ndash;list_of_files is a space&ndash;delimited list of files to apply one by one to the component objects in the part file. A list of component objects is presented for each file included in list_of_files to indicate which components will only be presented for a number of files in list_of_files. If there are fewer files than components, some components will not have object attributes applied.</p>
      <p class="para_division">For both programs, the [ &ndash;clear ] option will first clear all attributes before setting based on the file. Otherwise the system will overwrite any duplicate attributes. This option with no other input parameters will remove all of the part attributes.</p>
      <p class="para_division">Also each program can run with no part or attribute parameters and the user is asked for the data.</p>
      <p class="para_division">We provide two files, part_attribute.template and obj_attribute.template, with the format as well as all available attributes for both parts and objects. Modify these files to suit your particular need. Do not change the format of these files or add additional attributes as the step processor will ignore them.</p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">Attribute_list and attribute_set are external NX Open programs that require an available STEP203UG or STEP214UG license.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_division">Since these are external NX Open programs, they must run in a window where the NX environment variables have been set up. The easiest way to do this is to use <b class="commandName">UGMENU</b>, pick <b class="commandName">UGadmin</b> and get a UNIX shell. This shell will have the necessary environment variables set. You could then execute attribute_list for example by using <b class="commandName">$UGII_BASE_DIR/step203ug/attribute_list</b>.
      </p>
   </body>
</html>