<!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>Understanding ASCII text files</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">Understanding ASCII text files</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('ugtojt/intro.html');return(false);">Overview</a></p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('ugtojt/intro_rt.html');return(false);">Related Topics</a></p>
            </td>
         </tr>
      </table><br><p class="para_topic">The ASCII file format consists of a hierarchy of assembly and partition nodes. This format allows for transformation and attribute information to be attached to each node.</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 extension of all ASCII DirectModel files is .ajt.</p>
                  <p class="para_note_body">You can include comments by placing a # character in column &quot;0.&quot;</p>
                  <p class="para_note_body">Keywords are not case-sensitive.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Indenture Level</div>
      <p class="para_division">When you specify either an assembly or partition node, the first column contains the indenture level of the node. The indenture level indicates the depth of the node in the assembly tree. For example, the root assembly node always resides at level 0 and the direct children of the root node reside at level 1.&nbsp;Lines that specify transforms or attributes do not indicate the indenture level. These properties are attached to the previous assembly or partition node.</p>
      <div class="title_division">Assembly Nodes</div>
      <p class="para_division">Assembly nodes are specified by the keyword ASM followed by the node name contained in double quotes.</p>
      <p class="para_division">&nbsp;0&nbsp;&nbsp; ASM&nbsp;&nbsp; &quot;Node name&quot;</p>
      <div class="title_division">Partition Nodes</div>
      <p class="para_division">Partition nodes are specified using two lines. The first line contains the keyword PRT followed by the node name contained in double quotes. The second line contains the keyword FILE followed by the file path in double quotes. Either a relative or absolute path may be used. If a relative path is used, the path must be relative to the output JT file. A partition node may refer to an assembly file or a part file.</p>
      <p class="para_division">&nbsp;1&nbsp;&nbsp; PRT&nbsp; &quot;Partition name&quot;</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File &quot;./pathtopart/part.jt&quot;</p>
      <div class="title_division">Transformations</div>
      <p class="para_division">Transformations may be added to a node using the keyword MATRIX followed by a 4x4 transformation matrix. The following entry translates -5 units in the X direction, 2 units in the Y direction, and 4 units in the Z direction.</p>
      <p class="para_division">MATRIX&nbsp; [ 1 0 0 0 ]</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ 0 1 0 0 ]</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ 0 0 1 0 ]</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ -5 2 4&nbsp;1 ]</p>
      <div class="title_division">Attributes</div>
      <p class="para_division">You can add two types of attributes to a node: regular and hidden. Use the keyword ATTR to specify a regular attribute, and ATTR_H to specify a hidden attribute. Both regular and hidden attributes require three fields: a type, a key, and a value. The type of field indicates whether the value is a string, an integer, a floating point number, or a date (respective keywords: STRING, INT, FLOAT, DATE). The key identifies the attribute and is associated with a value. The key appears on the left side of the attribute window and the value appears on the right. </p>
      <p class="para_division">The following lines specify four attributes.</p>
      <ul>
         <li>
            <p class="para_item">ATTR&nbsp; Type=&quot;STRING&quot; Key=&quot;My String Key&quot;&nbsp; Value=&quot;test value&quot;</p>
         </li>
         <li>
            <p class="para_item">ATTR&nbsp; Type=&quot;INT&quot;&nbsp;&nbsp;&nbsp;&nbsp;Key=&quot;My Int Key&quot;&nbsp; Value=&quot;3&quot;</p>
         </li>
         <li>
            <p class="para_item">ATTR&nbsp; Type=&quot;FLOAT&quot;&nbsp;&nbsp;Key=&quot;My Float Key&quot;&nbsp; Value=&quot;2.1234&quot;</p>
         </li>
         <li>
            <p class="para_item">ATTR&nbsp; Type=&quot;DATE&quot;&nbsp;&nbsp;&nbsp;Key=&quot;Translated&quot;&nbsp; Value=&quot;12 31 1998 11 45 30</p>
         </li>
      </ul>
      <div class="title_division">Specifications</div>
      <ul>
         <li>
            <p class="para_item">The extension of all ASCII Direct Model files is .ajt.</p>
         </li>
         <li>
            <p class="para_item">A node is indicated by placing the indenture level of the node in column 0 followed by the node type and the node name in double quotes.</p>
         </li>
         <li>
            <p class="para_item">The first node always starts at level 0. It is the only node to reside at level 0.</p>
         </li>
         <li>
            <p class="para_item">The indenture level may only increase by one level at a time when increasing.</p>
         </li>
         <li>
            <p class="para_item">There are no limits on the node level step size when decreasing.</p>
         </li>
         <li>
            <p class="para_item">There are currently only two nodes: assemblies and partitions. Assemblies are identified by the keyword ASM and partitions by the keyword PRT. The name of each node immediately follows each keyword and is contained in double quotes.</p>
         </li>
         <li>
            <p class="para_item">Partition nodes must have a file path associated with them. Preceding each file path is the keyword FILE. IF a relative path is used, the path must be relative to the output JT file.</p>
         </li>
         <li>
            <p class="para_item">Matrices are indicated with the keyword MATRIX. The matrices are set at 4X4 dimesnions. If a matrix is not specified then the identity matrix is assumed.</p>
         </li>
         <li>
            <p class="para_item">Comments may be included by placing a # character in column 0.</p>
         </li>
         <li>
            <p class="para_item">The keywords are not case-sensitive.</p>
         </li>
      </ul>
   </body>
</html>