-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Store
eMastercam Wiki
Blogs
Gallery
Events
Posts posted by chuckanderson
-
-
Hi,
Can anyone tell me how to create a parallel cut (5-axis) toolpath with equidistant spacing no matter the surface angle? I'm using X6.
If you can picture it, I am basically trying to get parallel arcs across a hemisphere that have equidistant contours between them. I've been playing around a lot, but I can only get constant shifts in one axis. I would think that if there were an option for "constant cusp" then it would probably work to bring the spacings correctly.
Thanks!
5-axis Table-Table, Stop Primary "flipping"
in Post Processor Development Forum
Posted
Hi all,
I have a table-table setup with a B and C (I think- Z axis rotary on top of a Y-axis rotary). All my directions and angles are working out fine, and I'm getting good numbers out.
My main issue is that I would like to stop the machine from "flipping" the primary rotary. For instance, if I am machining a dead center 180deg arc over a hemisphere, my B axis will go from -90 to 0 to -90. In the small degree range the primary has to accelerate pretty high. I'd rather the B-axis continue on an just go straight from 90 to -90. I'm not actually machining anything, it would be more like a probe run.
I'm using the generic HAAS 5-axis post that I've modified to include my limits and directions. I am using the mi10 = 0. Here is what I think are the relevant sections.
#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
#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$ = vecx #Direction
#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 : 0 #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
#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 : 0 #Set the type from the angle limit settings (ignore these)
pri_limtyp$ : 3
sec_limtyp$ : 1
#Rotary axis travel limits, always in terms of normal angle output
#Set the absolute angles for axis travel on primary
pri_limlo$ : -9999999
pri_limhi$ : 9999999
#Set intermediate angle, in limits, for post to reposition machine
pri_intlo$ : -9999999
pri_inthi$ : 9999999
#Set the absolute angles for axis travel on secondary
sec_limlo$ : -95
sec_limhi$ : 95
#Set intermediate angle, in limits, for post to reposition machine
sec_intlo$ : -95
sec_inthi$ : 95
bias_null : 0 #mi4 and mi5 bias are applied at null toolchanges
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 : 45 #Angle move >= with rev5 or 180 reposition
Thanks so much for the help in advance!