<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">

<html>

<!--(==============================================================)-->
<!--(Document created with RoboEditor. )============================-->
<!--(==============================================================)-->

<head>

<title>Post Base File</title>

<!--(Meta)==========================================================-->

<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
<meta name=generator-major-version content=0.1>
<meta name=generator-minor-version content=1>
<meta name=filetype content=kadov>
<meta name=filetype-version content=1>
<meta name=page-count content=1>
<meta name=layout-height content=9553>
<meta name=layout-width content=834>
<meta name=date content="05 13, 2002 10:43:03 AM">


<!--(Links)=========================================================-->

<link rel="StyleSheet" href="../../css/main_styles.css">



<!--(Style Sheet)===================================================-->

<style>
<!--
body {background-color: #ffffff;}
-->
</style>


</head>

<!--(Body)==========================================================-->


<body class="bodydocs" onLoad="top.pageLoader()" bgcolor="#FFFFFF">


<h1 CLASS=ChapName>Post Base File</h1>

<p style="line-height: normal;
			margin-bottom: 14pt;
			margin-top: 14pt;
			x-text-tab-stops: repeat 1in;
			white-space: nowrap;
			font-size: smaller;
			font-family: monospace;">###############################################################################</p>

<p class=Preformatted-Code>#</p>

<p class=Preformatted-Code># DESCRIPTION</p>

<p class=Preformatted-Code>#</p>

<p class=Preformatted-Code># This section contains the base section for all post processors.</p>

<p class=Preformatted-Code># It sets the default G and M codes.</p>

<p class=Preformatted-Code># If any of the procs do not exist in the EVENT HANDLER tcl file,ie, an</p>

<p class=Preformatted-Code># event is triggered from the event generator without the proc,</p>

<p class=Preformatted-Code># warnings are generated.</p>

<p class=Preformatted-Code># If there is a proc which needs to be in all post processors without the</p>

<p class=Preformatted-Code># user modifying it, put it here,eg, mom_pprint and mom_operator_message.</p>

<p class=Preformatted-Code>#</p>

<p class=Preformatted-Code>#</p>

<p class=Preformatted-Code># REVISIONS</p>

<p class=Preformatted-Code>#</p>

<p class=Preformatted-Code># Date Who Reason</p>

<p class=Preformatted-Code># 22May1998 whb Initial</p>

<p class=Preformatted-Code># 02Jul1998 whb Update FEEDRATE_SET and commentary output</p>

<p class=Preformatted-Code># 08Jul1998 whb close files</p>

<p class=Preformatted-Code># 30Jul1998 MKG MOM_catch_warning automatically handles min-max errors.</p>

<p class=Preformatted-Code># $HISTORY$</p>

<p class=Preformatted-Code>#</p>

<p class=Preformatted-Code>################################################################################</p>

<p class=Preformatted-Code># BASE SECTION</p>

<p class=Preformatted-Code># This section contains the base section for all post processors.</p>

<p class=Preformatted-Code># If any of the files doesn't exit in the EVENT HANDLER tcl file,</p>

<p class=Preformatted-Code># Warnings are generated</p>

<p class=Preformatted-Code>################################################################################</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># Default G/M codes</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>set mom_sys_program_stop_code 0</p>

<p class=Preformatted-Code>set mom_sys_optional_stop_code 1</p>

<p class=Preformatted-Code>set mom_sys_end_of_program_code 2</p>

<p class=Preformatted-Code>set mom_sys_spindle_direction_code(CLW) 3</p>

<p class=Preformatted-Code>set mom_sys_spindle_direction_code(CCLW) 4</p>

<p class=Preformatted-Code>set mom_sys_spindle_direction_code(OFF) 5</p>

<p class=Preformatted-Code>set mom_sys_tool_change_code 6</p>

<p class=Preformatted-Code>set mom_sys_coolant_code(MIST) 7</p>

<p class=Preformatted-Code>set mom_sys_coolant_code(FLOOD) 8</p>

<p class=Preformatted-Code>set mom_sys_coolant_code(TAP) 8</p>

<p class=Preformatted-Code>set mom_sys_coolant_code(OFF) 9</p>

<p class=Preformatted-Code>set mom_sys_clamp_code(ON) 10</p>

<p class=Preformatted-Code>set mom_sys_clamp_code(OFF) 11</p>

<p class=Preformatted-Code>set mom_sys_clamp_code(AXISON) 10</p>

<p class=Preformatted-Code>set mom_sys_clamp_code(AXISOFF) 11</p>

<p class=Preformatted-Code>set mom_sys_rapid_code 0</p>

<p class=Preformatted-Code>set mom_sys_linear_code 1</p>

<p class=Preformatted-Code>set mom_sys_circle_code(CLW) 2</p>

<p class=Preformatted-Code>set mom_sys_circle_code(CCLW) 3</p>

<p class=Preformatted-Code>set mom_sys_delay_code(REVOLUTIONS) 4</p>

<p class=Preformatted-Code>set mom_sys_delay_code(SECONDS) 4</p>

<p class=Preformatted-Code>set mom_sys_cutcom_plane_code(XY) 17</p>

<p class=Preformatted-Code>set mom_sys_cutcom_plane_code(ZX) 18</p>

<p class=Preformatted-Code>set mom_sys_cutcom_plane_code(YZ) 19</p>

<p class=Preformatted-Code>set mom_sys_cutcom_code(OFF) 40</p>

<p class=Preformatted-Code>set mom_sys_cutcom_code(LEFT) 41</p>

<p class=Preformatted-Code>set mom_sys_cutcom_code(RIGHT) 42</p>

<p class=Preformatted-Code>set mom_sys_inch_code 70</p>

<p class=Preformatted-Code>set mom_sys_metric_code 71</p>

<p class=Preformatted-Code>set mom_sys_cycle_breakchip_code 73</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_no_drag_code 76</p>

<p class=Preformatted-Code>set mom_sys_cycle_off 80</p>

<p class=Preformatted-Code>set mom_sys_cycle_drill_code 81</p>

<p class=Preformatted-Code>set mom_sys_cycle_drill_dwell_code 82</p>

<p class=Preformatted-Code>set mom_sys_cycle_drill_deep_code 83</p>

<p class=Preformatted-Code>set mom_sys_cycle_tap_code 84</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_code 85</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_drag_code 86</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_back_code 87</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_manual_code 88</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_manual_dwell_code 89</p>

<p class=Preformatted-Code>set mom_sys_cycle_bore_dwell_code 89</p>

<p class=Preformatted-Code>set mom_sys_output_code(ABSOLUTE) 90</p>

<p class=Preformatted-Code>set mom_sys_output_code(INCREMENTAL) 91</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># Global Variable Declaration</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>set mom_sys_list_file_columns 80</p>

<p class=Preformatted-Code>set mom_sys_list_file_rows 20</p>

<p class=Preformatted-Code>set mom_sys_commentary_output ON</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>set PI [expr 2.0 * asin(1.0)] ; #value PI</p>

<p class=Preformatted-Code>set RAD2DEG [expr 90.0 / asin(1.0)] ; #multiplier to convert radians to degrees</p>

<p class=Preformatted-Code>set DEG2RAD [expr asin(1.0) / 90.0] ; #multiplier to convert degrees to radians</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>proc MOM_start_of_program {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed at the very begining of the program.</p>

<p class=Preformatted-Code># It gets called before any command is read from the task file.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>global warn_file</p>

<p class=Preformatted-Code>global mom_sys_list_file_columns</p>

<p class=Preformatted-Code>global warn_count</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>OPEN_files</p>

<p class=Preformatted-Code>LIST_FILE_HEADER</p>

<p class=Preformatted-Code>puts $warn_file &quot;MISSING EVENT HANDLER: Event Name: MOM_start_of_program&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;MISSING EVENT HANDLER: Event Name: MOM_start_of_program&quot;</p>

<p class=Preformatted-Code>incr warn_count +1</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc MOM_end_of_program {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed at the end of the program after all</p>

<p class=Preformatted-Code># the paths are traversed.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>global warn_file</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global warn_count</p>

<p class=Preformatted-Code>LIST_FILE_TRAILER</p>

<p class=Preformatted-Code>CLOSE_files</p>

<p class=Preformatted-Code>puts $warn_file &quot;MISSING EVENT HANDLER: Event Name: MOM_end_of_program&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;MISSING EVENT HANDLER: Event Name: MOM_end_of_program&quot;</p>

<p class=Preformatted-Code>incr warn_count +1</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc MOM_before_output {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed just before a line is about to be output</p>

<p class=Preformatted-Code># to the file. It loads the line into a variable MOM_o_buffer and then calls</p>

<p class=Preformatted-Code># this procedure. When it returns from this procedure, the variable MOM_o_buffer</p>

<p class=Preformatted-Code># is read and written to the file.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>#########The following procedure invokes the listing file with warnings.</p>

<p class=Preformatted-Code>LIST_FILE</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc MOM_pprint {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed when the PPrint command is activated.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>PPRINT_OUTPUT</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc MOM_operator_message {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed when the Operator Message command is activated.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>global mom_operator_message</p>

<p class=Preformatted-Code>if {$mom_operator_message != &quot;ON&quot; &amp;&amp; $mom_operator_message != &quot;OFF&quot;} {</p>

<p class=Preformatted-Code>MOM_output_literal &quot;$mom_operator_message&quot;</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc MOM_before_motion {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed before the motion event is activated.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>FEEDRATE_SET</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc FEEDRATE_SET {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure is executed when the Feedrate is set.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>global feed</p>

<p class=Preformatted-Code>global mom_motion_type</p>

<p class=Preformatted-Code>global mom_cycle_feed_rate_mode mom_cycle_feed_rate</p>

<p class=Preformatted-Code>global mom_feed_rate_output_mode</p>

<p class=Preformatted-Code>global mom_feed_rate mom_feed_rate_per_rev mom_feed_rate_number</p>

<p class=Preformatted-Code>global mom_warning_info</p>

<p class=Preformatted-Code>global Feed_IPM Feed_IPR Feed_MMPM Feed_MMPR Feed_INV</p>

<p class=Preformatted-Code>if { $mom_motion_type != &quot;CYCLE&quot; } {</p>

<p class=Preformatted-Code>if { $mom_motion_type == &quot;RAPID&quot; || $mom_motion_type == &quot;FROM&quot; || \</p>

<p class=Preformatted-Code>($mom_feed_rate == 0 &amp;&amp; $mom_feed_rate_per_rev == 0)} { return</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>set mode $mom_feed_rate_output_mode</p>

<p class=Preformatted-Code>set f_pm $mom_feed_rate</p>

<p class=Preformatted-Code>set f_pr $mom_feed_rate_per_rev</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>if {[hiset mom_cycle_feed_rate_mode]} {</p>

<p class=Preformatted-Code>set mode $mom_cycle_feed_rate_mode</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>set mode $mom_feed_rate_output_mode</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>if {[hiset mom_cycle_feed_rate]} {</p>

<p class=Preformatted-Code>set f_pm $mom_cycle_feed_rate</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>set f_pm $mom_feed_rate</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>if {[hiset mom_cycle_feed_rate_per_rev]} {</p>

<p class=Preformatted-Code>set f_pr $mom_cycle_feed_rate_per_rev</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>set f_pr $mom_feed_rate_per_rev</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>switch $mode {</p>

<p class=Preformatted-Code>IPM { MOM_set_address_format F Feed_IPM ; set feed $f_pm }</p>

<p class=Preformatted-Code>MMPM { MOM_set_address_format F Feed_MMPM ; set feed $f_pm }</p>

<p class=Preformatted-Code>IPR { MOM_set_address_format F Feed_IPR ; set feed $f_pr }</p>

<p class=Preformatted-Code>MMPR { MOM_set_address_format F Feed_MMPR ; set feed $f_pr }</p>

<p class=Preformatted-Code>INVERSE { MOM_set_address_format F Feed_INV ; set feed $mom_feed_rate_number }</p>

<p class=Preformatted-Code>default { set mom_warning_info &quot;INVALID FEED RATE&quot; ; MOM_catch_warning ; return }</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc MOM_catch_warning {} {</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># This procedure generates the warnings for missing procedures and values</p>

<p class=Preformatted-Code># falling out of MIN/MAX.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>global mom_warning_info</p>

<p class=Preformatted-Code>global warn_file</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global warn_count</p>

<p class=Preformatted-Code>global mom_sequence_number</p>

<p class=Preformatted-Code>global mom_sequence_increment</p>

<p class=Preformatted-Code>global mom_sequence_frequency</p>

<p class=Preformatted-Code>if { [regexp &quot;mom_seqnum&quot; $mom_warning_info] == 1 } {</p>

<p class=Preformatted-Code>set mom_sequence_number $mom_sequence_increment</p>

<p class=Preformatted-Code>MOM_reset_sequence $mom_sequence_increment $mom_sequence_increment $mom_sequence_frequency</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>puts $warn_file &quot;$mom_warning_info &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;$mom_warning_info &quot;</p>

<p class=Preformatted-Code>flush $warn_file</p>

<p class=Preformatted-Code>flush $list_file</p>

<p class=Preformatted-Code>incr warn_count +1</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># The following procedures are executed to get the commentary data output and the</p>

<p class=Preformatted-Code># warning output. The commentary output data is stored in the the file ptp_name.lpt.</p>

<p class=Preformatted-Code># The warning data is stored in the file ptp_name_warning.out.</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>proc OPEN_files {} {</p>

<p class=Preformatted-Code>global warn_file</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global mom_output_file_basename</p>

<p class=Preformatted-Code>global lpt_file_name</p>

<p class=Preformatted-Code>global warning_file_name</p>

<p class=Preformatted-Code>set lpt_file_name $mom_output_file_basename.lpt</p>

<p class=Preformatted-Code>set warn_sub_name $mom_output_file_basename</p>

<p class=Preformatted-Code>set warning_file_name [append warn_sub_name _warning.out]</p>

<p class=Preformatted-Code>if {[isset warn_file] == &quot;y&quot;} {</p>

<p class=Preformatted-Code>close $warn_file</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>if {[isset list_file] == &quot;y&quot;} {</p>

<p class=Preformatted-Code>close $list_file</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>catch {unset warn_file}</p>

<p class=Preformatted-Code>catch {unset list_file}</p>

<p class=Preformatted-Code>set warn_file [open &quot;$warning_file_name&quot; w ]</p>

<p class=Preformatted-Code>set list_file [open &quot;$lpt_file_name&quot; w ]</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc CLOSE_files {} {</p>

<p class=Preformatted-Code>global warn_file</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>close $warn_file</p>

<p class=Preformatted-Code>close $list_file</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc LIST_FILE {} {</p>

<p class=Preformatted-Code>global mom_o_buffer</p>

<p class=Preformatted-Code>global space_buffer</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global mom_sys_list_file_columns</p>

<p class=Preformatted-Code>global mom_sys_list_file_rows</p>

<p class=Preformatted-Code>global warn_count</p>

<p class=Preformatted-Code>global line_count</p>

<p class=Preformatted-Code>global page_title</p>

<p class=Preformatted-Code>global page_number</p>

<p class=Preformatted-Code>global header</p>

<p class=Preformatted-Code>global spaces1</p>

<p class=Preformatted-Code>global mom_sys_commentary_output</p>

<p class=Preformatted-Code>#*****************ASSUMPTION*************************</p>

<p class=Preformatted-Code>global mom_pos</p>

<p class=Preformatted-Code>if { [catch {set mom_pos(3) }] == 1 } {</p>

<p class=Preformatted-Code>set mom_pos(3) 0</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>if { [catch {set $mom_pos(4) }] == 1 } {</p>

<p class=Preformatted-Code>set mom_pos(4) 0</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>#****************************************************</p>

<p class=Preformatted-Code>set local_o_buffer $mom_o_buffer</p>

<p class=Preformatted-Code>set commentary [ MOM_do_template comment_data CREATE ]</p>

<p class=Preformatted-Code>set outs [ concat $local_o_buffer &quot; &quot; ]</p>

<p class=Preformatted-Code>set list_cut [expr ( $mom_sys_list_file_columns + 1)]</p>

<p class=Preformatted-Code>if { [string length $outs] &lt; $mom_sys_list_file_columns } {</p>

<p class=Preformatted-Code>append outs $spaces1</p>

<p class=Preformatted-Code>set outs [string range $outs 0 $list_cut]</p>

<p class=Preformatted-Code>append outs $commentary</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>append outs &quot;\n$spaces1 $commentary &quot;</p>

<p class=Preformatted-Code>incr line_count +1</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>incr line_count +1</p>

<p class=Preformatted-Code>if { $line_count == $mom_sys_list_file_rows } {</p>

<p class=Preformatted-Code>puts $list_file &quot; \f &quot;</p>

<p class=Preformatted-Code>puts $list_file $page_title$page_number</p>

<p class=Preformatted-Code>puts $list_file $header</p>

<p class=Preformatted-Code>incr page_number +1</p>

<p class=Preformatted-Code>set line_count 0</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>if { $mom_sys_commentary_output == &quot;ON&quot; } {</p>

<p class=Preformatted-Code>puts $list_file $outs</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>flush $list_file</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc LIST_FILE_HEADER {} {</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global mom_sys_list_file_columns</p>

<p class=Preformatted-Code>global mom_ug_version</p>

<p class=Preformatted-Code>global mom_logname</p>

<p class=Preformatted-Code>global mom_date</p>

<p class=Preformatted-Code>global mom_event_handler_file_name</p>

<p class=Preformatted-Code>global mom_definition_file_name</p>

<p class=Preformatted-Code>global mom_part_name</p>

<p class=Preformatted-Code>global ptp_file_name</p>

<p class=Preformatted-Code>global lpt_file_name</p>

<p class=Preformatted-Code>global warning_file_name</p>

<p class=Preformatted-Code>global mom_output_file_basename</p>

<p class=Preformatted-Code>global mom_output_file_suffix</p>

<p class=Preformatted-Code>global warn_count</p>

<p class=Preformatted-Code>global line_count</p>

<p class=Preformatted-Code>global page_title</p>

<p class=Preformatted-Code>global page_number</p>

<p class=Preformatted-Code>global header</p>

<p class=Preformatted-Code>global spaces1</p>

<p class=Preformatted-Code>set line_count 0</p>

<p class=Preformatted-Code>set warn_count 0</p>

<p class=Preformatted-Code>set blan &quot; &quot;</p>

<p class=Preformatted-Code>set header &quot; &quot;</p>

<p class=Preformatted-Code>set page_number 1</p>

<p class=Preformatted-Code>set page_title &quot;UGPOST $mom_ug_version $mom_part_name $mom_date&quot;</p>

<p class=Preformatted-Code>set sub_header1 &quot;Page &quot;</p>

<p class=Preformatted-Code>puts $list_file $page_title</p>

<p class=Preformatted-Code>for { set inx 0 } { $inx &lt; [expr ($mom_sys_list_file_columns - 96)] } { incr inx +1 } {</p>

<p class=Preformatted-Code>append page_title $blan</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>append page_title $sub_header1</p>

<p class=Preformatted-Code>set mom_sys_list_file_columns [expr ($mom_sys_list_file_columns - 90)]</p>

<p class=Preformatted-Code>if { [string length $mom_output_file_suffix] == 0 } {</p>

<p class=Preformatted-Code>set ptp_file_name $mom_output_file_basename</p>

<p class=Preformatted-Code>} elseif { [string length $mom_output_file_suffix] &gt; 0 } {</p>

<p class=Preformatted-Code>set ptp_file_name $mom_output_file_basename.$mom_output_file_suffix</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>puts $list_file &quot;\n\n\n\n\n\n\n&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GGGGG PPPPPP OOOOO SSSSS TTTTTTTT&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GGGGGGG PPPPPPPP OOOOOOO SSSSSSS TTTTTTTT&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GG GG PP PP OO OO SS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GG PP PP OO OO SS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GG GGGG PPPPPPP OO OO SSSSSS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GG GG PPPPPP OO OO SS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\tUU UU GG GG PP OO OO SS SS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\t UUUUUUU GGGGGGG PP OOOOOOO SSSSSSSS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\t\t UUUUU GGGGG PP OOOOO SSSSSS TT &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\n\n\n\n\n\n\n&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST VERSION NUMBER : $mom_ug_version&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST EXECUTED BY : $mom_logname&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST EXECUTION DATE : $mom_date&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST POST NAME : &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST TCL FILE NAME : $mom_event_handler_file_name&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST DEF FILE NAME : $mom_definition_file_name&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST PART FILE NAME : $mom_part_name&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST PTP FILE NAME : $ptp_file_name&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST LPT FILE NAME : $lpt_file_name&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST WARNING FILE NAME : $warning_file_name\n&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;\f&quot;</p>

<p class=Preformatted-Code>set sub_header2 &quot; EVE-NO ABS-X ABS-Y ABS-Z 4AXIS 5AXIS FEED RPM MIN&quot;</p>

<p class=Preformatted-Code>for { set inx 0 } { $inx &lt; $mom_sys_list_file_columns } { incr inx +1 } {</p>

<p class=Preformatted-Code>append header $blan</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>set spaces1 $header</p>

<p class=Preformatted-Code>append header $sub_header2</p>

<p class=Preformatted-Code>puts $list_file $page_title$page_number</p>

<p class=Preformatted-Code>incr page_number +1</p>

<p class=Preformatted-Code>puts $list_file $header</p>

<p class=Preformatted-Code>###### puts $list_file</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc LIST_FILE_TRAILER {} {</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global warn_count</p>

<p class=Preformatted-Code>global page_title</p>

<p class=Preformatted-Code>global page_number</p>

<p class=Preformatted-Code>global mom_machine_time</p>

<p class=Preformatted-Code>global mom_tool_use</p>

<p class=Preformatted-Code>global mom_tool_count</p>

<p class=Preformatted-Code>puts $list_file &quot;\f&quot;</p>

<p class=Preformatted-Code>puts $list_file $page_title$page_number</p>

<p class=Preformatted-Code>puts $list_file &quot; \n\n\n\n\n\n\n &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; UG_POST MACHINE TIME :[ format &quot;%.2f&quot; $mom_machine_time]&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; NUMBER OF WARNINGS : $warn_count&quot;</p>

<p class=Preformatted-Code>if {[isset mom_tool_count] == &quot;n&quot;} {return}</p>

<p class=Preformatted-Code>puts $list_file &quot;\f &quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;******************************************************************************* *&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot; TOOL LIST WITH TOOL USED TIME&quot;</p>

<p class=Preformatted-Code>puts $list_file &quot;******************************************************************************* *&quot;</p>

<p class=Preformatted-Code>for { set nn 0 } { $nn &lt; $mom_tool_count } {incr nn} {</p>

<p class=Preformatted-Code>puts $list_file &quot; TOOL NUMBER [ format &quot;%.2f %.2f&quot; $mom_tool_use($nn,0) $mom_tool_use($nn,1)] minutes&quot;</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>puts $list_file &quot;******************************************************************************* *&quot;</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>proc PPRINT_OUTPUT {} {</p>

<p class=Preformatted-Code>global mom_pprint</p>

<p class=Preformatted-Code>global mom_operator_message_status</p>

<p class=Preformatted-Code>global ptp_file_name</p>

<p class=Preformatted-Code>global lpt_file_name</p>

<p class=Preformatted-Code>global need_commentary</p>

<p class=Preformatted-Code>global op_mess_text</p>

<p class=Preformatted-Code>global list_file</p>

<p class=Preformatted-Code>global mom_o_buffer</p>

<p class=Preformatted-Code>global mom_sys_commentary_output</p>

<p class=Preformatted-Code>if {$mom_operator_message_status == &quot;ON&quot;} {</p>

<p class=Preformatted-Code>MOM_output_literal $mom_pprint</p>

<p class=Preformatted-Code>} elseif {$mom_operator_message_status == &quot;OFF&quot;} {</p>

<p class=Preformatted-Code>set brac_start [string first \( $mom_pprint]</p>

<p class=Preformatted-Code>set brac_end [string first \) $mom_pprint]</p>

<p class=Preformatted-Code>if { ($brac_start &gt; 0) &amp;&amp; ($brac_end &gt; 0) } {</p>

<p class=Preformatted-Code>MOM_set_seq_off</p>

<p class=Preformatted-Code>MOM_close_output_file $ptp_file_name</p>

<p class=Preformatted-Code>MOM_output_literal $mom_pprint</p>

<p class=Preformatted-Code>MOM_open_output_file $ptp_file_name</p>

<p class=Preformatted-Code>MOM_set_seq_on</p>

<p class=Preformatted-Code>set brack [ string range $mom_pprint $brac_start $brac_end]</p>

<p class=Preformatted-Code>set mom_sys_commentary_output OFF</p>

<p class=Preformatted-Code>MOM_output_literal $brack</p>

<p class=Preformatted-Code>set mom_sys_commentary_output ON</p>

<p class=Preformatted-Code>} else {</p>

<p class=Preformatted-Code>MOM_set_seq_off</p>

<p class=Preformatted-Code>MOM_close_output_file $ptp_file_name</p>

<p class=Preformatted-Code>MOM_output_literal $mom_pprint</p>

<p class=Preformatted-Code>MOM_open_output_file $ptp_file_name</p>

<p class=Preformatted-Code>MOM_set_seq_on</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># utility to return &quot;y&quot; if the variable v1 is set, else &quot;n&quot;</p>

<p class=Preformatted-Code># example set xx [isset yy] returns xx as &quot;y&quot; or &quot;n&quot;</p>

<p class=Preformatted-Code># example if {[isset yy] == &quot;y&quot;} {puts &quot;yy&quot;}</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>proc isset { v1 } {</p>

<p class=Preformatted-Code>upvar $v1 v2</p>

<p class=Preformatted-Code>if { [catch { set v2 }] == 0} { return y } else { return n }</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># utility to return TRUE(1) if the variable v1 is set, else FALSE(0)</p>

<p class=Preformatted-Code># example set xx [hiset yy] returns xx as TRUE(1) or FALSE(0)</p>

<p class=Preformatted-Code># example if {[hiset yy]} {puts &quot;yy&quot;}</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>proc hiset { v1 } {</p>

<p class=Preformatted-Code>upvar $v1 v2</p>

<p class=Preformatted-Code>if { [catch { set v2 }] == 0} { return 1 } else { return 0 }</p>

<p class=Preformatted-Code>}</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code># utility to return a variable v1 after formatting it per f1</p>

<p class=Preformatted-Code># example set x [fmt $y &quot;%.3f&quot;] returns x after formatting y per %.3f</p>

<p class=Preformatted-Code>#_______________________________________________________________________________</p>

<p class=Preformatted-Code>proc fmt { v1 f1 } {</p>

<p class=Preformatted-Code>set v2 [format $f1 $v1] ; return $v2</p>

<p class=Preformatted-Code>}</p>

</body>

</html>
