Long time reader, first time poster...
Using NX for some high-volume 4th axis indexing programming. Running into a couple of issues related to transitions both between operations and within an operation. The part is mostly worked at 90 and 270, with very limited work at A0.
I am using one MCS with the clerance option set to cylindrical. Running into 2 issues:
1- Within operations, tool transitions to diferent regions are going all the way up to the defined clerance and back down. That is a heck of a lot of wasted motion! The only thing that fixes this so far is change the Transfer/Rapids - Engage to a new plane closer to the part. Setting "Between Regions" and "Within Regions" has no effect. So question one is what am I missing that is making the obvious solutions here not work as they claim?
2- So let us say we go into each operation and do that, now the problem is that the tool ends the operation basically .1" above my part and will rapid along to the next operation from that point. This is (probably) fine... except if that next move is one where we index from A90 to A270, we probably ourselves a fat crash of a Speedio. Not good... and not a situation I want to have at risk given that the simulation won't show it and that is one mistake away from totally crashing the machine in a pretty horrid set of ways. Question 2- what can be modified in the post to bring the tool up to Z0 to guarentee clearance when indexing the axis (oh, and part of this is a 4th axis swarf, so the post needs to be smart about not triggering this during that fun operation).
Have you also changed the Approach Type and the Departure Type in the Initial and Final group of the Transfer/Rapid tab? This group is closed by default so users often forget to set these for the very first and very last transfer/rapid motions.
By the way, what type of operations are you using here? This too makes a difference under certain conditions.
Does your machine use a G53 code? If so, you can force a G53 Z0.0 between operations in the post to make sure your tool is lifted to the machine absolute Z0 position.
For simple indexing its often faster and more productive to edit the nc to do what you need it to do, than to give non-cutting moves/options a try (there are a lot!). Start the other way around; set everthing to "None" in your retracts and departures, and set them back ON one-by-one. That way you'll see how they behave and most likely you'll find what you were looking for.
For post logic & motion eval, look-up "before motion". That's where I start normally, or where I set the vars I need checks on during linear and other moves
Another option is to add a custom command to the "rapid" move ONLY
Check position of mom_out_angle_pos(0..1) vs. mom_prev_out_angle_pos(0..1)
(check mom_prev_out_angle_pos exists first - if not, set to 0)
If they are different, retract (G53, G28, G30, SUPA, to some "clearance Z", whatever) in Z before you move.
You may have to reset & "MOM_reload_variable -a" on mom_prev_pos, mom_last_pos, (or add some more output) to make sure (if you use "work plane change" behavior) that you move "X Y A", then "Z", as you return to the part
Don't forget (if you need it) to reset G43 (or whatever) to make sure length comp is correct in the new orientation
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled
Apologies as my original post got marked as spam and I didn't think it showed up here! To answer your questions:
1- I have changed initial/final aproach and departure, but they primarily reference the clearance plane set up in the MCS. Since the only way I can fix this behavior is by setting a new clearance plane in the operation, it can still lead to quite unsafe behavior.
2- I'm primarily using floor/wall IPW. Since my original post, I have noticed that on *some* of these operations (I have 12 in this part), *some* of the inter-operation positioning transfers actually do follow the inended behavior and use a transfer with a clearance plane just .1 (or so) above the part. I'm still mystified as to what NX is using to let some inter-operation transfers use this and which ones do not.
3- The Speedio does use G53, that would probably be the prefered way to get clearance for a move like this. Fun/odd fact; Brother sets the machines up with Z0 as the top of the table, so what is Z0 on most machines (spindle all the way up) is actually Z480.
4- While I could manually set all operations to "None" in clearance, it isn't preferable. Most of my work is quick turn-n-burn; in that environment, it is very prudent to avoid Gotcha Settings/Defaults that serve as an invitation for Uncle Bozo to visit the shop. Of course, I program Speedios, so I try to do so while keeping things as efficient as possible, hence this post.
5- The mom_out_angle_pos checked against mom_prev_out_angle_pos looks exactly like what I'm looking for! I've done some lightweight post modification, so I'll dig into this.