Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Rotary Axis Offset is ofsetting the wrong axis.


Recommended Posts

Hi all. I am trying to set up a post to add a trunnion with B and C axes to a 3 axis mill. I have gotten the correct outputs for the rotational axes but have run into some trouble getting the offsets configured correctly. The chuck face is 7 inches above B-axis center of rotation but setting saxisz to 7.0 is giving me an offset in Y instead of -X. Any Idea why this might be happening?

# --------------------------------------------------------------------------
# 5 Axis Rotary Settings
# --------------------------------------------------------------------------
#Assign axis address
str_pri_axis : "C"
str_sec_axis : "B"
str_dum_axis : "A"

#Toolplane mapped to top angle position strings
str_n_a_axis : "A"
str_n_b_axis : "B"
str_n_c_axis : "C"

#Machine rotary routine settings
mtype        : 0     #Machine type (Define base and rotation plane below)
                     #0 = Table/Table
                     #1 = Tilt Head/Table
                     #2 = Head/Head
                     #3 = Nutator Table/Table
                     #4 = Nutator Tilt Head/Table
                     #5 = Nutator Head/Head

head_is_sec  : 1     #Set with mtype 1 and 4 to indicate head is on secondary

#Preferred setup is pri. zero matches sec. zero/direction
#Zero machine and determine the planes perp. to axis rotations
#These plane combinations are valid:
#Primary plane   XY   XZ   YZ
#Secondary or    XZ   XY   XY
#Secondary       YZ   YZ   XZ

#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = vecx  #Zero
rotdir1$  = -vecy #Direction

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle
rotaxis2$ = vecz  #Zero
rotdir2$  = -vecy  #Direction

#NOTE: Use of 'top_map' requires the dealer match the
#      above settings below.  These must match initial settings!!!
p_nut_restore    #Postblock, restores original axis settings
      result = updgbl(rotaxis1$, "vecy") #Zero
      result = updgbl(rotdir1$, "-vecx") #Direction
      result = updgbl(rotaxis2$, "vecz") #Zero
      result = updgbl(rotdir2$, "vecy")  #Direction

#Nutating machine (mtype 3-5) describe the plane that the nutated axis
#lays in,  this is the plane perpendicular to the primary axis and
#secondary axis
nut_ang_pri$ : -45   #Nutating head secondary axis angle from machine Z positive

#Tool length, typically for head/head machine, both set to zero disables
#Applied to the tool length, RA applies this along the tool
drluseclr    : 0     #Use Drill Clearance Plane at start/end -
                     #Read from toolpath parameters
use_tlength  : 0     #Use tool length, read from tool overall length
                     #0=Use 'toollength' var, 1=Mastercam OAL, 2=Prompt
toollength   : 0     #Tool length if not read from overall length
shift_z_pvt  : 0     #Shift Z by tool length, head/head program to pivot (Z axis only)
                     #0=Pivot, 1=Pivot-Z, 2=Tool Tip Programming (without zero length)
                     #Option 2, So we can still take advantage of brk_mv_head feature
add_tl_to_lim : 0    #Add tool length after intersecting limit, always
                     #on if limit from stock
use_g45      : 1     #Use G45 offset with right angle head (RA)
g45_of_add   : 30    #Add this number to tool length no. for G45 offset number

#Axis shift
shft_misc_r  : 0     #Read the axis shifts from the misc. reals
#Part programmed where machine zero location is WCS origin-
#Applied to spindle direction, independent of RA
#Table/Table -
#Offset of tables to secondary axis relative to machine base.
#Tilt Head/Table - Head/Head -
#Part programmed at machine zero location-
#Offset in head based on secondary axis relative to machine base.
#Normally use the tool length for the offset in the tool direction
saxisx       : 0     #The axis offset direction?
saxisy       : 0     #The axis offset direction?
saxisz       : 7.0     #The axis offset direction?

r_intersect  : 1     #Rotary axis intersect on their center of rotations
                     #Determines if the zero point shifts relative to zero
                     #or rotation with axis offset.

#Nutating axis shift, used when calculations are based on mtype 3 or greater
#'top_map' and toolplane tool paths use the axis shifts above, 5 axis use these
n_saxisx     : 0     #The axis offset direction?
n_saxisy     : 0     #The axis offset direction?
n_saxisz     : 0     #The axis offset direction?

n_r_intrsct  : 0     #Rotary axis intersection with nutating (normally zero)

#Force rotary axis reset at toolchange and other options
frc_cinit    : 1
typ3_brk_evn : 0     #Windup limit, use even revolution break position
                     #Primary and/or secondary
brk_mv_head  : 1     #Break the 5 axis moves to remove gouge
brk_max_ang  : 1     #'brk_mv_head' maximum angle move, applied if chordal
                     #calculation angles moves are greater (negative disables)
skp_rdnt_ck  : 0     #Skip 'brk_max_ang' redundant angle check

top_type     : 4     #With 'top_map' select the top toolplane output
                     #0 = Post selects G7 rotation axis
                     #1 to 4, user selected G7 rotation axis
                     #1 = Primary C : Y zero, Secondary A
                     #2 = Primary C : -X zero, Secondary B
                     #3 = Primary C : -Y zero, Secondary A
                     #4 = Primary C : X zero, Secondary B
                     #5 = Custom settings, ptop_type_ax and ptop_type_lim

#Secondary shift (determines position and angle calculation)
#plane correction 90 degree shift case (plus or minus)
#used when secondary plane is defined perp to primary zero
#EX. P - vecx, vecy  S - vecz, vecy
shift_90_s   : -1     #Shift pos.=1, neg.=-1

#Rotary axis limits
adj2sec      : 1     #Attempt to adjust the primary axis from secondary?
                     #Allows primary axis to flip 180 to satisfy secondary
                     #0 = Off
                     #1 = Use method when secondary is out of limit
                     #Use with pri_limtyp = one to keep secondary as controlling
                     #limit when limit tripped
                     #Use with pri_limtyp = two to allow 180 degree reposition

#When the tool repositions, an intersection is made to the limits and the
#tool is driven around the limits to the reposition point as required.
#Z upper limit is used as the safe transition boundary
#Linear limits relative to machine base coordinates / part origin
use_stck_typ : 0     #0=Off, 1=Stock def., 2=Limits
up_x_lin_lim : 250.  #X axis limit in positive direction
up_y_lin_lim : 250.  #Y axis limit in positive direction
up_z_lin_lim : 250.  #Z axis limit in positive direction
lw_x_lin_lim : -250. #X axis limit in negative direction
lw_y_lin_lim : -250. #Y axis limit in negative direction
lw_z_lin_lim : -5.   #Z axis limit in negative direction

clear_stck   : 0.    #Add inc. offset to stock definition for transition boundary
retract_on_rpd : 1   #This control allows retract on rapids too (don't assume rapid is safe)

#Set pri_limtyp and sec_limtyp on following conditions
#0 = Less than 180 degrees
#1 = Equal or greater than 180 degrees and less than 360 degrees
#2 = Soft limit at 0-360 degrees with hard limits slightly beyond
     #Set limhi-limlo to hard limits, inthi-intlo to 360 degrees total
     #limhi-limlo are expected equal amount from inthi-intlo
#3 = Greater than 360 degrees
auto_set_lim : 1     #Set the type from the angle limit settings (ignore these)
pri_limtyp$  : 0
sec_limtyp$  : 0

#Rotary axis travel limits, always in terms of normal angle output
#Set the absolute angles for axis travel on primary
pri_limlo$   : -9999
pri_limhi$   : 9999
#Set intermediate angle, in limits, for post to reposition machine
pri_intlo$   : -9999
pri_inthi$   : 9999

#Set the absolute angles for axis travel on secondary
sec_limlo$   : -120
sec_limhi$   : 120
#Set intermediate angle, in limits, for post to reposition machine
sec_intlo$   : -120
sec_inthi$   : 120

bias_null    : 0     #mi4 and mi5 bias are applied at null toolchanges

use_tool_plane_as_bias : no$  # Use the tool planes's XY orientation as a bias when tool is vertical?
                              # When set to 'yes$' the operations' tool plane will be use to calculate
                              # the primary axis angle.

use_clamp    : 1     #Use the automatic clamp Mcode

#Table/Table spindle axis alignment.  (Typically Z+. Always Z+ with nutating machine types!)
#  Choose the axis that is parallel to the spindle with all rotaries at their zero positions.
spind_align  : 3  #1=(X+), 2=(Y+), 3=(Z+), -1=(X-), -2=(Y-), -3=(Z-)

#Machine base matrix (Base matrix to map positions into)
matb1$       : 1
matb2$       : 0
matb3$       : 0
matb4$       : 0
matb5$       : 1
matb6$       : 0
matb7$       : 0
matb8$       : 0
matb9$       : 1

#Tolerance settings for wind up
p_tol_ang    : 210   #Primary angle move to exceed for direction change
s_tol_ang    : 210   #Secondary angle move to exceed for direction change
d_tol_ang    : 210   #Dummy angle move to exceed for direction change

#pri_limtyp = 1, tolerance to validate tripping limit
#                reset the p_frc_adj_sec flag when back to normal range
#pri_limtyp = 2, angle move >= to trigger reposition on primary and
# angle move >= with rev5 or 180 reposition to validate tripping limit
p_rsoft_tol  : 45

#sec_limtyp = 2, Angle move >= for reposition
s_soft_tol   : 270

adj_lim_trp  : 90    #Angle move in p_pri_rot180 to trip reposition

#pri_limtyp = 3 and sec_limtyp = 3 control values
p_rsoft_tol3 : 90    #Angle move >= with rev5 or 180 reposition

 

3+2 Test.emcam Test.NC Generic Haas VF-TR_Series 5X Mill.pst

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...