Hi, everyone!
I've got trouble with those custom commands. Where I have to put "CLAMP/AUTO ON" as it's written in help docs.
Thanks a lot for any help.
Sounds great, but is it possible to add some king od UDE, that fully automatically decided if there is a need to clamp/unclamp axis?
Really, I just do not want to activate any machine events manually. I do believe, that there is a possibility to make it work automaticaly
Don't have NX in front of me but you can have the post do it automatically. I believe there is a custom command for that to include in your post. I says where to insert it in PostBuilder. Look in the sample files. The downside if I recall is it will then clamp/unclamp on every axis rotation. Ok if you only do indexing, not good for continuous axis machining.
There are 4 custom commands of clamping and unclamping rotary, which are called from some kind of user definded event (UDE). But where is this UDE default file. NX is installed by default as well as post builder.
<<From NX Docs:>>
This option allows you to set up your post to automatically clamp and unclamp the fourth axis and/or fifth axis for all motion events and Rotate UDE events.
To activate auto clamping, program a UDE post command CLAMP/AUTO, ON.
To turn off auto clamping, program a UDE post command CLAMP/AUTO, OFF.
The postbuilder post is already set up to do it. Make NO EDITS to the post. No custom command, nothing.
The "ON" that they speak of... is the "CLAMP" start event you need to add to your NX program.
The post will automatically determine the axis status (clamped or unclamped) and output the appropriate codes for every operation following that command. Works like a charm.
It is possible to default the postprocessor so to say to 'active' clamping. However, as mentioned before it is a bit crude it will not work very well with multi-axis milling. Most machines will hesitate (delay) when the clamp is activated or even released. Do you need the tcl code for the postprocessor to default the machine to 'active' clamping?
By the way tryed to put in start of the program (in custom command "Before output" some set strings like "set $mom_clamp_status "AUTO"... no positive results
Not sure if you did but you will need to make the variable known outside your procedure: global mom_clamp_status
The $ sign is used to pass on values in a variable. It is possible to use it as you have done but I am not sure if it is what you intended.
set mom_clamp_status "AUTO"
If you put a static command in the before_output procedure it will be reinstated each time a line is outputted. It would be better to declare it once at the start of the postprocessor. For instance you could create your own initial variables procedure and put it in the start of program procedure. I will try to dig up the postprocessor I once used for the auto setting for the actual coding.