George@AvivaMetals
-
Posts
4 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Store
eMastercam Wiki
Blogs
Gallery
Events
Posts posted by George@AvivaMetals
-
-
So I will basically have to do a lathe point op to trick the previous op into thinking that the next op is a toolchange
because if I don't create a fake TC then the previous op won't go into retract.
-
I guess I should of also said that this is from a MPLFAN post that I have modified to work for Doosan turning centers
with y-axis. I think this is a good start for pickoff cutoff ops but it needs a little work to be bulletproof. It also needs a few
more misc. int. to control things like spindle sync, dwell time, and feedrates. This also needs a misc. int. for indexing both
spindles in case of indexed geometry that needs to line up from one spindle to the next. This logic does not currently support
indexing of the spindles but could easily be added with a misc. int. Any help to iron this out would be much appreciated as I am
trying to avoid using a macro for transfer stuff when I can simply output it at the pc.
-
Ok so below is the logic I have created in pchuck$ postblock for POCO. It all works well with the wcs pickup on the face of the part only based on this logic. My current problem is that I am trying to use the pickoff cutoff to do a bar pull with the sub chuck but I want to pull the bar and then do a partial cutoff to relieve springing in the part. I am going from a rough face op to a rough OD turning op and then a sub chuck bar pull proceeded by partial cutoff. Well the problem is when you go from a rough OD turn to the sub chuck bar pull it treats the chuck op as a null toolchange and there is no retract in my previous OD turning op. How do I force a toolchange in a chucking op when there is no option to do that. I would rather keep the cutoff after the bar pull as the part has little to no tolerance and I dont want to distort the part while grabbing it with the sub. I am only leaving about .06" with the partial cutoff. What logic would I have to use in pchuck$ in order to apply a forced toolchange but only when I go from a turning op to a chucking op. pchuck$ #NCI CODE = 903 #AVAILABLE VARIABLES: #DEFINITIONS #clmp_spindle$, e$ #ACTIVE SPINDLE FOR CLAMP/UNCLAMP: #(0=LEFT SPINDLE, 1=RIGHT SPINDLE) #clmp_op$, e$ #SELECTED OPERATION MODE: #(0=CLAMP, 1=UN-CLAMP, 2=RE-POSITION, 3=EJECT) #stck_chuk_st_z$, e$ #INITIAL Z AXIS CHUCK POSITION #stck_chuk_st_x$, e$ #INITIAL X AXIS CHUCK POSITION #stck_chuk_end_z$, e$ #FINAL Z AXIS CHUCK POSITION #stck_chuk_end_x$, e$ #FINAL X AXIS CHUCK POSITION pheader$ if stck_chuk_st_z$ <> stck_chuk_end_z$, #IF CHUCK START POSITION "IS NOT" CHUCK END POSITION [ if toolchng <> two, #ptoolend$ toolend_flg = one #DO NOT EXECUTE ptoolend AGAIN AFTER TRANSFER ] else, toolend_flg = one #DO NOT EXECUTE ptoolend AGAIN AFTER TRANSFER !spaces$ spaces$ = one if stck_spindle$ = 0, #MAIN SPINDLE- PICKOFF/CUTOFF OP (SYNCED) [ if clmp_spindle$ = 1 & clmp_op$ = 1 | clmp_op$ = 3, #SUB SPINDLE- UNCLAMP OR EJECT OP [ pbld, n$, "M131", e$ #INTERLOCK BY-PASS FOR SUB CHUCK pbld, n$, "M203", e$ #SPINDLE FORWARD SPEED SYNC ON if clmp_op$ >= one, #SUB CHUCK- UNCLAMP pchuck_unclamp ] if clmp_spindle$ = 1 & clmp_op$ = 2, #SUB SPINDLE- REPOSITION (FEED) OPS [ if stck_chuk_st_z$ > 0 & stck_chuk_end_z$ > 0, #SUB SPINDLE- APPROACH (B-AXIS) [ gcode$ = 0 pbld, n$, *sgcode, *stck_chuk_end_z$, e$ ] if stck_chuk_st_z$ > 0 & stck_chuk_end_z$ < 0, #SUB SPINDLE- PICK-OFF/FEED ON (B-AXIS) [ sav_gcode = gcode$ gcode$ = 1 ipr_actv$ = 0 pbld, n$, "M86", "(TORQUE SKIP ON)", e$ #TORQUE SKIP ON pbld, n$, sgcode, sgfeed, *stck_chuk_end_z$, miscops_mr2$, e$ #FEED ON MOVE (MR2- FEED ADJUST) pbld, n$, "M87", "(TORQUE SKIP OFF)", e$ #TORQUE SKIP OFF gcode$ = sav_gcode ] if stck_chuk_st_z$ < 0 & stck_chuk_end_z$ < 6, #SUB SPINDLE- PULL STOCK (B-AXIS) [ gcode$ = 1 ipr_actv$ = 0 pbld, n$, sgcode, sgfeed, *stck_chuk_end_z$, miscops_mr2$, e$ ] ] if clmp_spindle$ = 1 & clmp_op$ = 0, #SUB SPINDLE- CLAMP [ if clmp_op$ = zero | clmp_op$ = two, pchuck_clamp pbld, n$, "G4", "X.5", *scoolantx, e$ #DWELL, COOLANT ON ] if clmp_spindle$ = 0 & clmp_op$ = 1, #MAIN CHUCK- UNCLAMP [ pbld, n$, "M31", e$ #INTERLOCK BY-PASS FOR MAIN CHUCK pchuck_unclamp ] if clmp_spindle$ = 0 & clmp_op$ = 0, #MAIN CHUCK- CLAMP pchuck_clamp if stck_chuk_st_z$ < 0 & stck_chuk_end_z$ > 8, #RETRACT [ gcode$ = 0 pbld, n$, sgcode, *stck_chuk_end_z$, sall_cool_off, e$ pbld, n$, "M206", e$ #SPINDLE FORWARD SPEED SYNC OFF pbld, n$, "M5", "P11", e$ pbld, n$, "M5", "P13", e$ pbld, n$, *sg28ref, "U0.", "W0.", "B#5004", e$ ] ] spaces$ = prv_spaces$
Post Processing: Office Hours Sessions
in Post Processor Development Forum
Posted
I'm in for a Saturday afternoon.