Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Post Builder (Rotary Auto Clamping)

Status
Not open for further replies.

i0wa

Industrial
Oct 4, 2009
51
0
0
EE
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.
 
Replies continue below

Recommended for you

It's a user defined event.

The easiest way (in my personal opinion...) is to add an operation and choose the "machine control" type.

Name the operation "AUTO-CLAMP" and put it right at the beginning of your program.

Edit the operation, expand the "machine control" window and choose "user defined events"

Add the "clamp" event. The settings should be status=active, clamp axis=auto, clamp status=on

That should do it.

J
 
^

To elaborate on my previous post.
You DO NOT add anything in the post. you only edit the code you want output. example M10, M12 etc...

You add the event to your NX program file.

The post will automatically output lock and unlock codes.
 
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.

--
Bill
 
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.

Where I have to program "ON"?

 
The ude.cdl file is located in the resource directory under user_defined_events. You can find the resource directory in the log file help->NX logfile.
 
The "ON" is what i described earlier.

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.

I included a picture.

J
 
 http://files.engineering.com/getfile.aspx?folder=0f4e8fd9-5ccf-4009-a37b-5c305fc9462f&file=clamp.JPG
Sorry, but I need to activate this clamping without turning it on in machine control. Mb I'll try to make it work in "methods". Thanks anyway! :)
 
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.
 
Very sorry, didn't mentioned that I've done definition of varibale by "global *variable*". Otherwise an error will appear.

I am not sure about before_output. I believe, you are right.

I've done as you said and get the positive result! G-Code looks like it should be!

I am very grateful for your help!
Thanks a lot!
With best regards
Yuri
 
Status
Not open for further replies.
Back
Top