<!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>List of MOM Commands</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">List of MOM Commands</div>
      <hr noshade="true">
      <div class="title_division">Abort</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_abort &lt;message&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This function causes MOM to write message to the syslog and then terminate by ERROR_raising().</p>
      <div class="title_division">Input</div>
      <p class="para_division">message</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_abort &quot;Error occurred. Postprocessing has been aborted.&quot;</p>
      <div class="title_division">Adding User Function To TCL&nbsp;&nbsp;</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_extend_translator shared_library_name entry_point_name</p>
      <div class="title_division">Description</div>
      <p class="para_division">This function allows MOM to be able to call the function named entry_point_name in the shared library named shared_library_name. That function can then extend the translator from which it was called. It will do this by calling a User Function function named UF_MOM_extend_translator(param, extension_name, extension_entry_point). The param will be passed into entry_point_name as the first argument. The signature of entry_point_name is the same as ufusr. The extension_name is the name of the function as it will appear in a Tcl script. The extension_entry_point is the actual address of the function to be called by the interpreter when interpreting the extension_name call.</p>
      <div class="title_division">Input</div>
      <p class="para_division">shared_library_name entry_point_name</p>
      <div class="title_division">Example</div>
      <p class="para_division">&nbsp;MOM_run_user_function [MOM_ask_env_var UGII_CAM_AUXILIARY_DIR]ugp_adv_kins.dll ufusr</p>
      <div class="title_division">Ask Environment Variable</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_ask_env_var &lt;variable name&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This extension allows you to determine how the environment variable &quot;variable name&quot; is set.</p>
      <div class="title_division">Input</div>
      <p class="para_division">variable name</p>
      <div class="title_division">Example</div>
      <p class="para_division">set path [MOM_ask_env_var UGII_CAM_POST_CONFIG_FILE]</p>
      <div class="title_division">Ask Event Type</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_ask_event_type</p>
      <div class="title_division">Description</div>
      <p class="para_division">Returns the name of the current event. This is the last event that the event generator executed.</p>
      <div class="title_division">Input</div>
      <p class="para_division">None</p>
      <div class="title_division">Example</div>
      <p class="para_division">set event[MOM_ask_event_type]</p>
      <div class="title_division">Ask Expression Variable</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_ask_ess_exp_value &lt;variable_name&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">NX has an Expression module. This allows users to define variables and expressions and then use those variables as parameters for NX entities such as Modeling features.</p>
      <p class="para_division">This MOM function provides access to the variables of the NX Expression module, i.e., it returns the value of the NX Expression variable.</p>
      <div class="title_division">Input</div>
      <p class="para_division">variable name</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_ask_ess_exp_value diameter</p>
      <div class="title_division">Ask Library Attributes</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_ask_library_attributes &lt;LIBRARY_KEY&gt; &lt;libref&gt; &lt;db_alias&gt;+</p>
      <div class="title_division">Description</div>
      <p class="para_division">Retrieves attributes from the specified library. The library key is the entry in the CAM configuration file for the desired library. The db_alias can be found in the definition file for that library. The returned values are placed in the array $mom_lib_attr_value.</p>
      <div class="title_division">Input</div>
      <p class="para_division">library key, libref, db_alias(s)</p>
      <div class="title_division">Example</div>
      <p class="para_division">global mom_lib_attr_value mom_libref</p>
      <p class="para_division">MOM_ask_library_attributes LIBRARY_TOOL $mom_libref Type SubType</p>
      <p class="para_division">MOM_output_literal &quot;Type = $mom_lib_attr_value(Type)&quot;</p>
      <p class="para_division">MOM_output_literal &quot;SubType = $mom_lib_attr_value(SubType)&quot;</p>
      <div class="title_division">Ask Part Units</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_ask_part_units</p>
      <div class="title_division">Description</div>
      <p class="para_division">This command sets the units of the current work part in a variable mom_part_units. The possible values for mom_part_units are &quot;metric&quot; or &quot;english&quot;.</p>
      <div class="title_division">Input</div>
      <p class="para_division">None</p>
      <div class="title_division">Example</div>
      <p class="para_division">global mom_part_units MOM_ask_part_units set part_units $mom_part_units</p>
      <div class="title_division">Close Output File</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_close_output_file &lt;filename&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This extension allows you to suspend writing output to a particular file until it is opened again.</p>
      <div class="title_division">Input</div>
      <p class="para_division">file name</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_close_output_file $mom_output_doc_file2</p>
      <div class="title_division">DEBUG Mode</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_set_debug_mode &lt;ON | OFF&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This will activate, deactivate, and resume the debugger. Like any TCL extension, this command may be called from any place in the TCL script.</p>
      <p class="para_division">If ON, the debugger will activate by initializing with data entered in the debugger dialog or stdout.</p>
      <p class="para_division">If OFF, the debugger will be deactivated.</p>
      <div class="title_division">Input</div>
      <p class="para_division">debug attribute</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_set_debug_mode ON</p>
      <p class="para_division">MOM_set_debug_mode OFF</p>
      <div class="title_division">Delete File</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_remove_file &lt;file_name&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This command deletes a file with the given name. The permissions on the file that is being asked to be removed should be compatible for removal.</p>
      <div class="title_division">Input</div>
      <p class="para_division">file name</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_remove_file file_name</p>
      <div class="title_division">Do Template File</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_do_template_file &lt;template_file_name&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This command opens the specified Shop Documentation template file and executes each line in the file accordingly.</p>
      <div class="title_division">Input</div>
      <p class="para_division">Template File Name</p>
      <div class="title_division">Example</div>
      <p class="para_division">&nbsp;MOM_do_template_file tool_list.tpl</p>
      <div class="title_division">List User Defined Events</div>
      <div class="title_division">Procedure name</div>
      <p class="para_division">MOM_list_user_defined_events &lt; Start/End &gt; &lt; operation_name &gt; &lt; Definition &gt; &lt;Event_handler&gt; [&lt;output&gt;] </p>
      <div class="title_division">Description</div>
      <p class="para_division">This extension allows you to output/list Userdefined events defined in the operation.</p>
      <div class="title_division">Input</div>
      <p class="para_division">Start - String &quot;Start&quot; indicates list of start of operation Userdefined events</p>
      <p class="para_division">End - &nbsp;String &quot;End&quot; indicates list of end of operation Userdefined events</p>
      <p class="para_division">Operation_name - Opearation name for which Userdefined events lists will be output</p>
      <p class="para_division">Definition - definitions file </p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;example :- The definition file should contain following data.</p>
      <p class="para_division">&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;MACHINE TEST</p>
      <p class="para_division">&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;FORMATTING </p>
      <p class="para_division">&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;{</p>
      <p class="para_division">&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;}</p>
      <p class="para_division">Event_handler - The event handler file. This file should contain </p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;MOM_info_user_defined_event&quot; procedure.</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;example:- The MOM_info_user_defined_event procedure is defined as</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;below.</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proc &nbsp;MOM_info_user_defined_event {} {</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global &nbsp;mom_ude_command_string</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOM_output_literal &nbsp;$mom_ude_command_string</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
      <p class="para_division">Output - The output file where Userdefined events will be &nbsp;listed. Specification of this</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file is OPTOINAL. If NOT specified , the Userdefined events lists were output</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in mom output file (As defined in the Manufacturing part report dialog).</p>
      <div class="title_division">Example </div>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOM_list_user_defined_events &quot;Start&quot; $mom_operation_name \</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;$mom_source_directory\\test_info.def&quot; &quot;$mom_source_directory\\test_info.tcl&quot; \</p>
      <p class="para_division">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;c:\\Temp\\XYZ.txt&quot;</p>
      <div class="title_division">Log Message</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_log_message &lt;message&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This function causes MOM to write a message to the syslog.</p>
      <div class="title_division">Input</div>
      <p class="para_division">message</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_log_message &quot;Postprocessing Terminated&quot;</p>
      <div class="title_division">Open Output File</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_open_output_file &lt;filename&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This extension allows you to redirect output to other output files.</p>
      <p class="para_division">If the file &quot;filename&quot; does not exist, a new one will be created with that file name.</p>
      <div class="title_division">Input</div>
      <p class="para_division">file name</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_open_output_file $mom_output_doc_file2</p>
      <div class="title_division">Output Literal</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_output_literal &quot;string&quot; {BUFFER}</p>
      <div class="title_division">Description</div>
      <p class="para_division">This extension outputs a list of literals and variable as a single line. If BUFFER is present then only place &quot;string&quot; in the output buffer. Do not send it to the output yet.</p>
      <div class="title_division">Input</div>
      <p class="para_division">String</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_output_literal &quot;Start of path $mom_path_name&quot;</p>
      <div class="title_division">&nbsp;Output Text</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_output_text &lt;literal&gt; {BUFFER}</p>
      <div class="title_division">Description</div>
      <p class="para_division">This extension outputs a list of literals and variables as a single line, just like MOM_output_literal, except that no sequence number is output.</p>
      <p class="para_division">If BUFFER is present then only place string in the output buffer. Do not send it to the output yet.</p>
      <div class="title_division">Input</div>
      <p class="para_division">String</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_output_text &quot;Start of path $mom_path_name&quot;</p>
      <div class="title_division">Output To Listing Device</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_output_to_listing_device &lt;&quot;string&quot;&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">If running in an interactive NX session, this extension outputs &quot;string&quot; to the listing window, otherwise it does nothing.</p>
      <div class="title_division">Input</div>
      <p class="para_division">string</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_output_to_listing_device &quot;Error occurred while postprocessing.&quot;</p>
      <div class="title_division">Restart Upon Return</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_restart_upon_return</p>
      <div class="title_division">Description</div>
      <p class="para_division">Instructs the event generator to restart event generation immediately after the current event handler returns. Restarts at the first event of the post.</p>
      <div class="title_division">Input</div>
      <p class="para_division">None</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_restart_upon_return</p>
      <div class="title_division">Run User Function</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_run_user_function &lt;shared_library_name&gt; &lt;entry_point_name&gt;</p>
      <div class="title_division">Description</div>
      <p class="para_division">This function causes MOM to call the function named entry_point_name in the shared library named shared_library_name. That function can then extend the translator from which MOM_run_user_function was called. It will do this by calling a User Function function named UF_MOM_extend_translator( param, &quot;extension_name&quot;, extension_entry_point ). The param will be passed into entry_point_name as the first argument. The signature of entry_point_name is the same as ufusr. The extension_name is the name of the function as it will appear in a TCL script. The extension_entry_point is the actual address of the function to be called by the interpreter when interpreting the extension_name call. (See Tcl_CmdProc.)</p>
      <div class="title_division">Input</div>
      <p class="para_division">shared_library_name - Full path name of the shared library where entry_point_name resides.</p>
      <p class="para_division">entry_point_name - Name of the entry point to execute.</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_run_user_function /usr/local/shlib/lib.sl extendInterp</p>
      <div class="title_division">Source Tcl File</div>
      <div class="title_division">Procedure Name</div>
      <p class="para_division">MOM_source &lt;filename&gt;+</p>
      <div class="title_division">Description</div>
      <p class="para_division">Includes the specified tcl files at run time.</p>
      <div class="title_division">Input</div>
      <p class="para_division">filename(s)</p>
      <div class="title_division">Example</div>
      <p class="para_division">MOM_source my_header.tcl</p>
      <p class="para_division">MOM_dump {syslog|stdout}</p>
      <p class="para_division">MOM_ask_unique_filename</p>
   </body>
</html>