Cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted

How to detect a 5 axis operation in PC

Siemens Valued Contributor Siemens Valued Contributor
Siemens Valued Contributor

Hi PC experts,

 

I need to know when I'm in a 5 axis operation. I've seen that PC is calling LIB_ROTARY_simultaneous_init but I wonder if we have any flag variable that indicates this situation.

 

Thanks,

Javi

8 REPLIES

Re: How to detect a 5 axis operation in PC

Solution Partner Genius Solution Partner Genius
Solution Partner Genius

Hello Javi,

 

You can do the following:

 

proc MOM_initial_move_LIB_ENTRY or MOM_first_move_LIB_ENTRY => arg "start" 

 

PB_CMD_detect_5axis_tool_path with the following code (inside of OOTB):

 

#=============================================================
proc PB_CMD_detect_5axis_tool_path { } {
#=============================================================
# This proc is used to detect if the operation is 5 axis simultaneous milling operation.
#
# This command is referenced by DPP_GE_DETECT_5AXIS_TOOL_PATH.
#
# In this command, tool path type is detected by mom_operation_type, mom_tool_path_type and mom_tool_axis_type.
#
# The result may not always match 5-axis simultaneous milling.
# It is more tolerance.
#
# Return:
# 1 - tool path is 5 axis simultaneous
# 0 - tool path is not 5 axis simultaneous
#
# 16-Jan-2017 shuai - Initial version.
#

global mom_tool_axis_type
global mom_tool_path_type
global mom_operation_type

if {![info exists mom_tool_axis_type] } {
set mom_tool_axis_type 0
}

if {![info exists mom_tool_path_type] } {
set mom_tool_path_type "undefined"
}

if {[PB_CMD_detect_hole_cutting_operation]} {

return 0

} elseif {($mom_tool_axis_type >= 2 && [string match "Variable-axis *" $mom_operation_type]) || \
![string compare "Sequential Mill Main Operation" $mom_operation_type] || \
(![string compare "variable_axis" $mom_tool_path_type] && ![string match "Variable-axis *" $mom_operation_type] && [string compare "Generic Motion" $mom_operation_type])} {

return 1

} else {

return 0
}

}

 

The next time in spanish Smiley Happy

 

Regards,

Re: How to detect a 5 axis operation in PC

Siemens Phenom Siemens Phenom
Siemens Phenom
Hi Javi
Do you mean 5 axis motion or a 5 axis capable operation?
You can have 3 axis motions only in a variable contour (5-axis capable) operation for example.
Regards
Paul

Re: How to detect a 5 axis operation in PC

Siemens Valued Contributor Siemens Valued Contributor
Siemens Valued Contributor

Thanks Cristian.

 

Javi

Re: How to detect a 5 axis operation in PC

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

And - I can build planar mill operation from Planar Mill template as really 5 axis operation.....

 

 

Re: How to detect a 5 axis operation in PC

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

You need to define "5 axis operation"

- full 5 axis in operation (i.e. variable axis contouring)

- or "3+2" machining (rotary axes are used to position the part, but then they stay fixed while the part is machined)

- or something else?

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: How to detect a 5 axis operation in PC

Valued Contributor
Valued Contributor

You can use this function in start of path. See example.

 

Maybe something like (IDK if nested [ ] will work): 

![string compare "POSITIONING" [LIB_SPF_get_pretreatment axis_mode]]

 

Re: How to detect a 5 axis operation in PC

Legend
Legend

There are 3 modes in Postconfigurator for the "axis_mode"

"CONSTANT"         -->  no axis change in the operation

"POSITIONING"     -->  tool axis change only in rapid move (new drilling, cylinder milling, etc...)

"SIMULTANOUS"  -->  tool axis change in linear or rapid motion

 

with [LIB_SPF_get_pretreatment axis_mode] you can ask the axis_mode of the current operation

with [LIB_SPF_get_pretreatment axis_mode 1] or [LIB_SPF_get_pretreatment axis_mode next] you can ask the axis_mode of the next operation.

 

 

There is also an command [LIB_SPF_ask_operation_type "path_name"]

#____________________________________________________________________________________________
# <Documentation>
# This procedure examine the operation which is given by the argument or
# if there is no argument then the current operation is used.
#
# If the array mom_operation_info does not exists (first available in 12.0.2 and there is an argument
# then the returnvalue is "0"
#
# Return values:
# lincir_5 --> 5axis simultanous     (SIMULTANOUS)
# lincir_3_2 --> 3axis constant with tool axis change  (POSITIONING)
# lincir_3 --> 3axis constant without tool axis change  (CONSTANT)
# point_3_2 --> point operation with tool axis change   (POSITIONING)
# point_3  --> point operation without tool axis change  (CONSTANT)
# probe_3_2 --> probing operation with tool axis change  (POSITIONING)
# probe_3  --> probing operation without tool axis change  (CONSTANT)
#
#
# <Example>
# set type [LIB_SPF_ask_operation_type]  --> type .. "return value"
#____________________________________________________________________________________________

 

Regards

Re: How to detect a 5 axis operation in PC

Siemens Valued Contributor Siemens Valued Contributor
Siemens Valued Contributor

Thanks ,

 

This is was I were looking for...

 

Regards

Highlighted

How to detect a 5 axis operation in PC

Siemens Valued Contributor Siemens Valued Contributor
Siemens Valued Contributor

Hi PC experts,

 

I need to know when I'm in a 5 axis operation. I've seen that PC is calling LIB_ROTARY_simultaneous_init but I wonder if we have any flag variable that indicates this situation.

 

Thanks,

Javi

NX CAM Postprocessor Group
NX CAM Postprocessor Group

Members (94)