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

<html>

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

<head>

<title>Introduction</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=2228>
<meta name=layout-width content=554>
<meta name=date content="09 1, 2005 2:19:08 PM">


<!--(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>Introduction</h1>

<p CLASS=Paragraph>This online help documentation contains the following 
 sections:</p>

<ul>
	
	<li style="margin-left: 40px;"
		class=kadov-p-CListBullet><p CLASS=ListBullet>Postprocessing in 
 general</p></li>
	
	<li style="margin-left: 40px;"
		class=kadov-p-CListBullet><p CLASS=ListBullet>Postprocessing with 
 Post</p></li>
	
	<li style="margin-left: 40px;"
		class=kadov-p-CListBullet><p CLASS=ListBullet>Developing a Post</p></li>
	
	<li style="margin-left: 40px;"
		class=kadov-p-CListBullet><p CLASS=ListBullet>Installing a Post</p></li>
</ul>

<h1>Postprocessing in General</h1>

<p CLASS=Paragraph>Your primary use of the Manufacturing application is 
 to generate NX tool paths in order to manufacture parts. Generally, you 
 cannot just send an unmodified tool path file to a machine and start cutting 
 because there are many different <span style="font-style: italic;">types</span> 
 of machines. Each type of machine has unique hardware capabilities and 
 requirements; for instance, it can have a vertical or a horizontal spindle, 
 it can cut while moving several axes simultaneously, etc.</p>

<p CLASS=Paragraph
	style="font-size: 9pt;">Furthermore, each machine is controlled by 
 a computer (i.e., <span style="font-style: italic;">controller</span>). 
 The controller accepts a tool path file and directs tool motion and other 
 machine activity (e.g., turning the coolant or air on and off). Naturally, 
 just as each <span style="font-style: italic;">type</span> of machine 
 has unique hardware characteristics, controllers also differ in software 
 characteristics. For instance, most controllers require that the instruction 
 for turning the coolant on be given in a particular code. Some controllers 
 also restrict the number of M codes that are allowed in one line of output. 
 This information is not in the initial NX tool path.</p>

<p CLASS=Image><img src="../graphics/introfi04.gif"
					x-maintain-ratio=true
					style="border-style: none;
							margin-top: 0px;
							margin-bottom: 0px;
							margin-left: 0px;
							margin-right: 0px;
							width: 199px;
							height: 55px;
							float: none;"
					width=199
					height=55
					border=0></p>

<p CLASS=Paragraph>The tool path file hits the controller's brick wall 
 of incompatibility. The tool path data is not formatted for the machine.</p>

<p CLASS=Paragraph>Therefore, the tool path must be modified to suit the 
 unique parameters of each different machine/controller combination. The 
 modification is called <span style="font-style: italic;">postprocessing</span>. 
 The result is a postprocessed tool path.</p>

<p CLASS=Paragraph>Two elements are essential for postprocessing. They 
 are:</p>

<!--(Table)=========================================================-->
<table x-use-null-cells
		wrapperparagraphselector=P.Paragraph
		style="x-border-left: 1px table-solid;
				x-border-top: 1px table-solid;
				x-border-right: 1px table-solid;
				x-border-bottom: 1px table-solid;
				border-collapse: separate;
				border-spacing: 0px;"
		cellspacing=0
		border=1>

<tr>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">Tool Path Data</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>This is an NX tool path.</td></tr>

<tr>
<td NOWRAP
	style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">A Postprocessor</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>This is a program that reads the tool path data and reformats 
 it for use with a particular machine and its accompanying controller.</td></tr>
</table>

<p CLASS=Image><img src="../graphics/introfi03.gif"
					x-maintain-ratio=true
					style="border-style: none;
							margin-top: 0px;
							margin-bottom: 0px;
							margin-left: 0px;
							margin-right: 0px;
							width: 345px;
							height: 56px;
							float: none;"
					width=345
					height=56
					border=0></p>

<p CLASS=Paragraph>The tool path data is reformatted by the postprocessor 
 for the machine.</p>

<p CLASS=Paragraph
	style="margin-left: 40px;"><img src="../note.gif"
									alt=note
									x-maintain-ratio=true
									style="border: none;
											width: 25px;
											height: 25px;
											float: none;"
									width=25
									height=25
									border=0>Make sure the output units 
 in NX match the Postprocessor units. If they do not match the following 
 warning is issued: <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}--></p>

<p CLASS=Paragraph
	style="margin-left: 80px;">&quot;The output units and the units of 
 the postprocessor do not match. The output formats may be incorrect. You 
 should set the units to post-defined.&quot;</p>

<p CLASS=Paragraph
	style="margin-left: 40px;"><span style="margin-left: 80px;">Stop the 
 postprocess and correct this mismatch. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->I</span>f 
 you continue the following problems may exist in your output:</p>

<p class=Paragraph
	style="margin-left: 40px;">1) The coordinate output will be rounded 
 incorrectly.</p>

<p class=Paragraph
	style="margin-left: 40px;">2) Inch/metric codes (G70/G71 or G20/G21) 
 will be incorrect.</p>

<p class=Paragraph
	style="margin-left: 40px;">3) If there is no decimal point in the coordinate 
 output (G01 X1000 Y2000), the coordinate data will be interpreted incorrectly.</p>

<p class=Paragraph
	style="margin-left: 40px;">4) Dimensional output will be either 25.4 
 times too small or too large.</p>

<p class=Paragraph
	style="margin-left: 40px;">5) Feed rate limits (IPM/MMPM, IPR/MMPR) 
 will give erroneous warning messages.</p>

<p CLASS=Paragraph>The postprocessor program is usually dedicated to a 
 single type of machine/controller combination. You can modify postprocessor 
 file parameters for functions of that particular type of machine/controller 
 combination. However, you cannot modify the program for use with another 
 type of machine/controller combination.</p>

<p CLASS=Paragraph>NX provides a generalized postprocessor program, Post, 
 which uses NX tool path data as input, and outputs machine readable NC 
 code. Post is highly customizable and can be used for both very simple 
 and very complex machine tool/controller combinations.</p>

<p CLASS=Paragraph>Post Builder is the NX product that is used to customize 
 the postprocessor for each machine tool/controller combination.</p>

<p CLASS=Paragraph>&nbsp;</p>

<h1><a NAME=ugpostproces></a>The Post Postprocessor</h1>

<h5>Postprocessing with Post</h5>

<p CLASS=Paragraph>NX provides the Post postprocessor that <span style="font-style: italic;">can</span> 
 properly format tool paths for specific types of machine/controller combinations. 
 The Post postprocessor requires several elements:</p>

<!--(Table)=========================================================-->
<table x-use-null-cells
		wrapperparagraphselector=P.Paragraph
		style="x-border-left: 1px table-solid;
				x-border-top: 1px table-solid;
				x-border-right: 1px table-solid;
				x-border-bottom: 1px table-solid;
				border-collapse: separate;
				border-spacing: 0px;"
		cellspacing=0
		border=1>

<tr>
<td NOWRAP
	style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">Event Generator</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>Is the NX core module that cycles through the events in 
 a part file and communicates the data associated with each event to the 
 Post postprocessor. An event is a collection of data, that when processed 
 by Post, causes the NC machine to perform some specific action. This is 
 activated by following the path <span style="font-weight: bold;">Tools--&gt;Operation 
 Navigator--&gt;Output--&gt;Post Postprocessor</span><span style="font-weight: normal;">, 
 or the icon.</span></td></tr>

<tr>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">Event Handler (.tcl)</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>Is a file containing a set of instructions dictating how 
 each event type is to be processed. This is created with Postbuilder.</td></tr>

<tr>
<td NOWRAP
	style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">Definition File (.def)</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>Is a file containing static information related to a particular 
 machine tool/controller combination. This is created with Postbuilder.</td></tr>

<tr>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">Output File</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>Is the file where the postprocessor puts the postprocessed 
 NC instructions that will be read and executed by the machine tool.</td></tr>

<tr>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellTopic
	style="text-align: left; margin-bottom: 0;"
	align=left><span style="font-weight: bold;">Post User Interface file 
 (.pui)</span></td>
<td style="x-cell-content-align: TOP;
			padding-left: 2px;
			padding-top: 2px;
			padding-right: 2px;
			padding-bottom: 2px;"
	valign=top>
<p CLASS=CellDescrip
	style="text-align: left; margin-bottom: 0;"
	align=left>This is used by Postbuilder to edit the event handler and 
 definition files.</td></tr>
</table>

<p CLASS=Paragraph>The Event Generator, the Event Handler, and the Definition 
 File are dependent upon each other. Together they transform the tool path 
 data contained in the part file into a set of formatted instructions that 
 they can be read and executed by a specific machine tool/controller combination.</p>

<p CLASS=Paragraph>The Post Postprocessor does the following:</p>

<ul>
	
	<li class=kadov-p-CListBullet><p CLASS=ListBullet>Uses the Event Generator 
 to read the events (tool path data) in the part file.</p></li>
	
	<li class=kadov-p-CListBullet><p CLASS=ListBullet>Each event is processed 
 according to the instructions contained in the Event Handler.</p></li>
	
	<li class=kadov-p-CListBullet><p CLASS=ListBullet>The resulting instructions 
 are formatted according to the information contained in the Definition 
 File.</p></li>
	
	<li class=kadov-p-CListBullet><p CLASS=ListBullet>The postprocessed 
 machine control instructions are written to the Output File.</p></li>
</ul>

<p CLASS=Image><img src="../graphics/introfi02.gif"
					x-maintain-ratio=true
					style="border-style: none;
							margin-top: 0px;
							margin-bottom: 0px;
							margin-left: 0px;
							margin-right: 0px;
							width: 387px;
							height: 128px;
							float: none;"
					width=387
					height=128
					border=0></p>

<p CLASS=Paragraph>The tool path data is postprocessed according to the 
 instructions in the Event Handler and the formats in the Definition File.</p>

<p style="margin-bottom: 0;">&nbsp; </p>

</body>

</html>
