Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
Hello,
I try to customise my postprocessor configuration to make it better. At the beggining of each of my programs i have a line with multiple initialisation codes. I never really asked myself the question where they came from since I needed them.
With tests i discover their origin. They come from the FIL EDITOR in LOADTL Section
DYM=POSTF(13)
This option is responsible for :
- Calling tool
- Put the good offset
- And the prep codes
Can someone explain this witchcraft to me ? And how to modify the prepcodes ?
Thanks in advance
Are you wondering what POSTF is?
The POSTF function is used in the FIL code for pretty much anything that is important. It's a strange function that is called with the number of arguments that are needed for a specific data inquiry. The general format of a call is POSTF ( number, arg1, arg2,...)
The first integer supplied to the POSTF function tells it what actual operation you want it to perform. POSTF(13) for example is telling the post processor to process the current line of NCL code.
I find the POSTF stuff to be pretty frustrating, because when you look at the FIL code, unless you have memorized what the first integer means, you have no idea what that particular invocation of the function will do. I have to look up the function in the documentation I have, or search for it online, etc.
Also, notice that every call to POSTF assigns the return code to a variable, often a "throwaway" variable. The return code can be useful if something has gone wrong, or if the POSTF operation being performed is supposed to return a numeric or other type of result.
What is done with the line of code POSTF is looking at depends on what it contains. The CIMFIL block you show apparently looks at the tool change line and if necessary, adds more arguments to it before sending it for processing. It's like you're erasing the current "line" on the "tape", then writing in a new expanded "line", then letting the program interpret that new "line".
As for what prep codes are output when a tool change happens, those could be "hard coded" into your FIL code, like the G90 added with an INSERT/ statement. They could also be specified in the post-processor settings you can set from within Creo, via:
Applications->NC Post Processor->Machine Codes->Tool Change Sequence
You could handle all the outputting of information in your FIL code and never let the post processor interpret things, if you want, by not having the POSTF(13) line in the CIMFIL block.
If you are going to be modifying FIL code, I'd highly recommend finding a copy of some sort of document detailing the POSTF functions. There's no way to guess as to what a function is doing, unless you have example code that is well commented or easy to interpret.
Ok thanks, i have fount this document to explain the functions :
http://bdml.stanford.edu/twiki/pub/Manufacturing/HaasReferenceInfo/V61_FIL_CD_Manual.pdf
I try to change a lot of things. The last one, empty all of the fil editor (i cut and paste in a notpad to save it).
Tool change and cutter compensation disapear. For solving it i change 2 options :
But the famous line "G00 G90 G17 G40 G49 G54;" is still there...
Where does it come from ?!
I don't know what your post is set up as. There are a lot of different things set all over the place.
Maybe your post is set up with things being output for a tool change - user blocks.
In the Option File Generator, look under
Machine Codes -> Tool Change Sequence -> User Blocks
See if there are lines defined in there either for BEFORE or AFTER tool change. Maybe that's where the pile of G codes are defined?
I have no user define blocks for the beginning and the end.
I want to delete this line and after replace it by user define blocks. Because i can personnalize this blocks instead of my actual line which I don't know where it comes from.
I just made a discovery. In my postprocessor location i have 2 files for the one I use :
C:\Program Files\PTC\Creo 10.0.2.0\Common Files\x86e_win64\gpost
uncx01.s49
uncx01.p49
Their content is exactly the same, and at the end of this files i have :
I search informations about these CHRCOM variables and found that in Option File Generator
Impossible to modify these variable through Option File Generator or i do not find the location.
If i delete the line directly on files, it works, i get an empty line (because i still have the LOADTL in my .ncl file).
Do we have to go through the .p## and .s## files to add personal lines ?
Is there a cleaner method ?
Thanks