Showing results for 
Search instead for 
Did you mean: 

Safety zone variable....




I am trying to get the Z3.25M08$ code highlighted on line 92 in the picture to output in my post. The post on the far right is what I am trying to get my post to look like.  The writer of the program told me that the line has to do with the safety zone around the part during rapid.  This line is at the beginning of every operation so that every operation has coolant on and the cutter is brought down to the part.  What confuses me is that I cannot figure out how to get the 3.25 out of the NX and into the post where I can tack it on to a Z prefix and an M08 (or something like that).  When I just added a Z coordinate block it just outputted the Z coordinate of the line 93.


Moreover, line 91 and 93 are Rapid Move commands and postbuilder won't let me slip a line in between them (I'm Posting for a 4 axis mill).


Does anybody have any ideas? Or any good questions that I should be asking the CAD/CAM guys?


Re: Safety zone variable....


this is NOT intended to be a definitive solution to your question, consider it as a starting point to find the solution best suited to your machine/programming  situation.

also, please read the warnings at the end of this post


I think you can add M_coolant address with (M08 - Coolant On) value to rapid move event



then you must add a rapid XY move to both initial and first move events




and you must also add a  M_coolant address with (M09 - Coolant Off) value to end-of-path event at the end of operation



In this way the initial/first move will move XY axes, the next rapid move will output only the Z (since X and Y are Modal)  with M8.( M_coolant must be Modal, otherwise it will be repeated at every rapid move) At the end of the operation the coolant will be turned OFF (M9) and will be turned on again by modality in the next operation.



Note that X Y M_coolant and G_motion must be  Modal, otherwise they will be repeated on every rapid move.


this is very important:

the last move of every operation MUST lift the tool along the axis away from the part and  the first move of every operation must be a movement from an higher to lower Z, otherwise the first XY move can be a problem (maybe you can check this before outputting XY move in first move event, initial move should not be a problem as is the first move after a tool change so it is supposed your tool is above the part)


As an alternative you can activate WORK PLANE CHANGE on rapid move event



this will break down every rapid move in an XY move -  Z move (if you go from high to low ) or Z move - XY move (if you go from low to high), the problem is that the break down will be done for every rapid move, not only for the first one.


hope this will be useful to find a solution good for you





Re: Safety zone variable....


Well I got the right output at the right spot but the Z#M08 also repeats itself in other rapids as well. (I had to force output the Z in order for it to work though).  Does anybody know if it is possible to go the custom proc route?  Is it possible to output a Z# from a proc? (like a mom_variable or something like that?)



Re: Safety zone variable....

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Mark M08 optional and it will be output only once.

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX12.0.2, VERICUT 8.2, FBM, MRL 3.1.7 | TcUA 10.1 MP7 Patch 0 ( | TcVis 11.4
Development: C (ITK), .NET, Tcl/Tk Testing: NX (1876) | AWC 3.4 Preparing: -

Employees of the customers, together we are strong Smiley Wink
How to Get the Most from Your Signature in the Community
NX Customization - Best Practice Guide

Learn online

Solution Information