Cancel
Showing results for 
Search instead for 
Did you mean: 

Postbuilder - changing machine kinematic types within post?

Pioneer
Pioneer

Hello NX postbuilders,

 

We're trying to integrate several different machine kinematic configurations within a single postbuilder post, and having no luck getting the output we expect. My assumption was that if we change and reload the mom_variables associated with the machine kinematics, this would be possible - but I'm starting to doubt this. Looking to you guys to either give me some suggestions, or convince me that we need to use linked posts. The example scenario is as follows:

 

Kinematic config 1: Head-Head machine with C and A axis.

Kinematic config 2: Head-Table machine with C (Head) and B (Table)

 

The basic machine is a 3axis HBM with a rotating table. The two differnent kinematic configs result from mounting different head devices (1 - a two axis continuous A-C head) and (2 - a right angle head with one indexing axis C, table rotates as B).

 

When we change devices, we are changing the kinematic mom variables as follows:

 

set mom_head_spindle_axis(0) 0
set mom_head_spindle_axis(1) 1
set mom_head_spindle_axis(2) 0

set mom_kin_machine_type "5_axis_dual_head"

 

MOM_reload_variable -a mom_head_spindle_axis

MOM_reload_variable -a mom_kin_machine_type

 

MOM_reload_kinematics

 

We are also changing the variables for 4th and 5 axes appropriately:

mom_kin_Xth_axis_leader

mom_kin_Xth_axis_type

 

Any input is much appreciated.

 

-John

9 REPLIES 9

Re: Postbuilder - changing machine kinematic types within post?

Gears Phenom Gears Phenom
Gears Phenom

hi,

Your code is probably wrong.

Let say variables you are showing have nothing to do with kinematics.

Also relaoding variables is not needed.

 

I am using this, it should be enough:

 

set mom_kin_4th_axis_max_limit ...........
set mom_kin_4th_axis_min_limit .........


set mom_kin_5th_axis_max_limit ............
set mom_kin_5th_axis_min_limit .............


set mom_kin_4th_axis_vector(0) ........
set mom_kin_4th_axis_vector(1) .......
set mom_kin_4th_axis_vector(2) .........


set mom_kin_5th_axis_vector(0) .........
set mom_kin_5th_axis_vector(1) ...........
set mom_kin_5th_axis_vector(2) ...........


set mom_sys_leader(fourth_axis) .............
set mom_sys_leader(fifth_axis) ............

 

VEC3_unitize mom_kin_4th_axis_vector mom_kin_4th_axis_vector
VEC3_unitize mom_kin_5th_axis_vector mom_kin_5th_axis_vector

 

MOM_reload_kinematics

 

ps: Use it in "start of operation" section.

ps2: For 5 axis machines I always use table-table confguration.

---------------------------------------------
#♫ PB, 5ax, itnc, nx, vericut ♫ #

Re: Postbuilder - changing machine kinematic types within post?

Phenom
Phenom

Your machine kinematics (if you have a Machine Tool Builder created machine) will by default be taken from the machine. Maybe this is the problem. If this is a postbuilder post there is a routine to look at relating to this. "PB_CMD_revise_new_iks" is the name of it. Generally I have the best luck with "new kinematic solver" but there have been a couple of cases where I have set the other way. As far as not referencing the machine and using new kinematic solver - I think it is best to disable as below:

 

rename MOM_validate_machine_model ""

 

at an appropriate place in the post. I think I would source (Output Settings->Other Options->User Source) out of a separate file so I know it is "taken". As experienced user above notes - timing is important. My experience (as above) is that if a kinematic change is made in start of path - it is "taken" when things are operating correctly. I have found that the variable you are trying to use works better with "new kinematic solver."

NX12.02
Windows 10 Pro

Re: Postbuilder - changing machine kinematic types within post?

Pioneer
Pioneer

Guys,

 

I appreciate the input. I believe I have gotten it to work (at least for my current test scenario), mainly by changing the variables in a UDE attached to the program group I'm posting, as opposed to in the "start of path" of the operation. However, I would like to better understand some of the details you mentioned.

 

I had a suspicion that this variable: set mom_kin_machine_type "5_axis_dual_head" for example, doesn't actually affect the kinematics, and is just for tracking purposes. Do you agree?

 

If that is the case, then how does the post know whether the 5th axis is dependent on the 4th, or not? Perhaps I am missing something, but in my understanding the output of 4th and 5th axis angles for a head-table and a head-head/table-table are uniquely different.

 

Thanks and regards,

John

 

 

Re: Postbuilder - changing machine kinematic types within post?

Gears Phenom Gears Phenom
Gears Phenom
hi,
first, I am using generic postprocessor as a base for every postprocessor.
My observations:
If plane rotation is activated, Z has to point in the spindle, parallel to spindle axis.
So table-table outputs XYZ as I need in 3+2 machining. No problem with angles.
Head-table outputs non-rotated XYZ, what I dont want.
(This could be good for head-table machine that doesnt support any 5axis transformations, etc.)
And this is enough for me. I am working with it years.
---------------------------------------------
#♫ PB, 5ax, itnc, nx, vericut ♫ #

Re: Postbuilder - changing machine kinematic types within post?

Creator
Creator

Hi John,

 

Have you considered integrating the adapter head functionality using NX Machine Configurator? This would enable multiple machine kinematic configurations with a single post processor. This is assuming you are using IS&V..

 

sim16_mill_headchange is a good example of the HEAD function in use.

 

-Grant

Re: Postbuilder - changing machine kinematic types within post?

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

From what I've seen, mom_kin_machine_type IS used, at least in posting without a machine model.

 

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Postbuilder - changing machine kinematic types within post?

Pioneer
Pioneer

Grant - our heads are _DEVICES and _HEADS - but when we grab them from the library they are under devices. They are not the seperate "HEAD" object that can be added with the UDE for the 3 offsets and the 3 spindle vector components. This is how it's done in sim16 and sim17 from what I can tell.

 

I'm about to mess around with some of these ideas and new variables in the post, and I'll provide some feedback soon. I do appreciate all the insight!

 

Best regards,

John

Re: Postbuilder - changing machine kinematic types within post?

Phenom
Phenom
Devices are useful to cse for transformation. The device kinematic can be easily added to the machine kinematic chain with "+". You will find that the post gets nothing out of the addition of a device - no update of kinematics. There may be an exception if the device is in the machine attached all of the time and the post uses the machine kinematics. I have not tried that case. My experience is with on the fly adding of devices. So - the post needs to change kinematic for the device when they are added. Different controls have different capabilities for compensation related to adding a head at the end of the chain. Siemens has a nice ability to add a tcarr transformation to the end of traori. Fanuc seems to need the one G43.4 setting to be changed by the effect of the head.
NX12.02
Windows 10 Pro

Re: Postbuilder - changing machine kinematic types within post?

Creator
Creator

Sim16 uses multiple heads as devices. There is no UDE used to define tool axis vector for each head. The tool vector junction and mounting vector junction comes from the kinematics within each device. The machine kinematic chain is updated when using these devices with a machine kit that has the kinematics defined in the machine model, and an MCF file that has the adapter head functionality (GMe_ActivateHeadCorrection.xml).

 

We have had success with using adapter head devices with our machine kits sharing a single post processor. However this will only work if you are using a machine kit for each machine, because the post processor will inherit the kinematics from the machine model and update accordingly based on the device kinematics and the programmed tool axis vector.

 

sim09 has another example of adapter head integration thru the MCF file (CSE).

 

Best of luck.

 

-Grant

Learn online





Solution Information