<!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>MOM_cycle_objects</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_topic7" id="xps10_pagetitle">MOM_cycle_objects</div>
      <hr noshade="true">
      <div class="title_division">MOM_cycle_objects [command string]</div>
      <p class="para_division">This command cycles through the currently active part file in an NX session to extract information about certain objects. The command_string specifies the objects search and specifies what to do with the information extracted. The object is always the first word in the command_string.</p>
      <table cellspacing="3" align="center">
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">MOM_cycle_objects</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">MOM_cycle_objects is used to systematically search through the CAM objects in the setup. The objects can be cycled in any of the four views.</p>
            </td>
         </tr>
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Object Retrieval</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Based on the specified  <a class="links" href="javascript:void(0)" onclick="top.openFile('mfggeneral/main_cam_object_types.html');return(false);">object type,</a> MOM_cycle_objects loads all the parameters and attributes that belong to each object in a class.
               </p>
            </td>
         </tr>
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Object Selection</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">The retrieved contents of each object may be subject to a selection process specified by a  <a class="links" href="javascript:void(0)" onclick="top.openFile('mfggeneral/main_query.html');return(false);">query expression</a>. Only the object containing a parameter(s) or an attribute(s) that satisfies the query criteria is passed onto the next step.
               </p>
            </td>
         </tr>
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Data Enhancement</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">In addition to the default contents, the information of each object may be enhanced by deriving new data from the existing one based on the  <a class="links" href="javascript:void(0)" onclick="top.openFile('mfggeneral/main_head_body_footer.html');return(false);">specified instruction (Header Body Footer)</a>.
               </p>
            </td>
         </tr>
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Presentation</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">This is the end result of all of the format choices you have made. &nbsp;The information is generally divided into header, body and footer. The header section contains the introductory statements regarding a particular class of objects. The body section contains the detailed description of each individual object. And the footer section presents the ending statements about this class of interest.</p>
            </td>
         </tr>
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Syntax of MOM_cycle_objects</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1">
               <p class="para_td">Object Retrieval is conducted based on the specified object type. Object Selection, Data Enhancement, and Presentation is performed based on a list of keywords. The syntax of the command is shown in the following section. </p>
            </td>
         </tr>
      </table><br><p class="para_division">When you expand the command string and cycle multiple objects you receive a command format that is displayed below:</p><pre class="indent">MOM_cycle_objects 
&nbsp;&nbsp;&nbsp;{object_type keyword=string keyword=string  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{object_type keyword=string keyword=string  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{object_type keyword=string keyword=string  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{...
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;}</pre><div class="title_division">Object Types</div>
      <p class="para_division">The system defines object types for the setup, for each view, and for most of the objects that the system can encounter while cycling. In general, the system starts cycling at the setup level and then proceeds to one of the four views. From there it cycles for specific object types or for MEMBERS, depending on the command string. &nbsp;</p>
      <p class="para_division">Although the system cycles all objects, it can only use these object types in the command:</p>
      <p class="para_division">SETUP</p>
      <p class="para_division">PROGRAMVIEW</p>
      <p class="para_division">GEOMVIEW</p>
      <p class="para_division">METHODVIEW</p>
      <p class="para_division">MACHVIEW</p>
      <p class="para_division">MEMBERS</p>
      <p class="para_division">OPER</p>
      <p class="para_division">TOOL</p>
      <p class="para_division">If you use MEMBERS all objects at the current level are cycled regardless of their type. For example, if the object is a group, then its members are cycled. When all the members of the group have been cycled, then each member within each member of the group is cycled. The system continues cycling until all the objects are cycled. </p>
      <p class="para_division">When you use members, since any object type can be found, use the special tcl procedures for each object, as shown in the  <a class="links" href="javascript:void(0)" onclick="top.openFile('mfggeneral/main_shop_spec_proc.html');return(false);">MOM_cycle_objects procedures chart</a>. &nbsp;
      </p>
      <p class="para_division">For more information, please read more about  <a class="links" href="javascript:void(0)" onclick="top.openFile('mfggeneral/main_cam_object_types.html');return(false);">object types</a>. 
      </p>
      <p class="para_division"><a class="links" href="javascript:void(0)" onclick="top.openFile('mfggeneral/main_shop_keywords.html');return(false);">Keywords</a></p>
      <div class="title_division"> Default Header, Body and Footer Procedures</div>
      <p class="para_division">During the execution of MOM_cycle_objects, the following event handlers (Tcl procedures), if supplied, are triggered automatically for each object type to present the header, body and footer descriptions:</p><pre class="indent">proc MOM_objectType_HDR (Header)
proc MOM_objectType_BODY (Body)
proc MOM_objectType_FTR (Footer)</pre><p class="para_division">The object type can be any of those found in mom_rm_names.c. You have to supply all the necessary event handlers for the object types being interrogated.</p>
      <p class="para_division">These default headers, bodies and footers, if present, are executed before the ones specified by using the keywords (HDRT, BDYT and FTRT) discussed in the Keywords section.</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 Unused Items group is a special system group and is not cycled like other MEMBERS.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Object Hierarchy</div>
      <p class="para_division">The hierarchy of the CAM objects dictates the types of sub-objects that are interrogated under certain object types. This hierarchy is best seen by looking in the Operation Navigator.</p>
      <p class="para_division">We see in the Operation Navigator that in a given SETUP there are four views: PROGRAMVIEW, METHODVIEW, GEOMVIEW, and MACHVIEW which correspond to views organized by the Program, Method, Geometry and Machine Tools respectively. In each view there are a variety of object types that may appear. For example, in MACHVIEW we have a Machine Tool under Machine Tools are Cutting Tools and under Cutting tools are the operations. </p>
      <p align="center"><img align="bottom" src="graphics/hierarchy.gif"></p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/ico_t_machine_tool_view.gif"></p>
      </div>
      <div class="title_figure">Operation Navigator -&gt;Tool View or the Tool View Icon  </div>
      <p class="para_division">Use the Operation Navigator to view the hierarchy and its various creation dialogs to determine exactly which object types can appear in a view and how those object types may be arranged with respect to each other.</p>
      <div class="title_division"> Tables</div>
      <p class="para_division">A common format for Shop documentation is tables. Tables within the documentation are defined in three sections: header, body, and footer. The header and footer are usually constant titles for the tables and therefore you can use literals. The body includes the variable data in the table. Because the data changes in this case, you can use the Tcl commands.</p>
   </body>
</html>