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:

PcRobotic

Customers
  • Posts

    913
  • Joined

  • Last visited

Everything posted by PcRobotic

  1. Thank you Peter, you made my job much easier than ever before. Because of you now we can open any program and re-post without shivering whether wrong tool length offset (this happens when X file version and opens on X7), wrong cutter comp, wrong retract depth (we scraped one expensive part before), coolant check. I'm now trying to figure out about the it can appears all of the G10 as I stated, it's real tough to do. Honestly, I don't know what I can do better to be automatically output the comment from WCS manager. G90 M0 (CHECK WORK OFFSET) G10 L2 P0 X0 Y0 Z0 B0(G53 ZERO) G10 L2 P1 X0 Y0 Z0 B0(G54 B90.) G10 L2 P2 X0 Y0 Z0 B0(G55 B270.) (*) In the WCS ---> VIEW MANAGER G90 M0 (CHECK WORK OFFSET) G10 L2 P0 X0 Y0 Z0 B0(G53 ZERO) G10 L2 P1 X0 Y0 Z0 B0(G54 B90.) would be ----> G10 L2 P1 X.258 Y852. Z0 B0(G54 B90.) ======> XYZ manually entered by programmer and the post reads from WCS Comment G10 L2 P2 X0 Y0 Z0 B0(G55 B270.) would be ----> G10 L2 P2 X-.253 Y-.952 Z.500 B0(G55 B270.) ======> XYZ manually entered by programmer and the post reads from WCS Comment
  2. This is the one you may be defined your own YEAR.... s_b9_strings = "001" + " - Date: " + smonth + no2str(day$) + no2str(year2) + " - Time: " + no2str(time$)
  3. I just "PM" you, let me know if you got it. If not then we'll email.... Thank you for your kindness...
  4. Great and the only thing I changed is the YEAH to YEAR$ as the original post defined. How do I SAY "YES" then it let me type my own revision if I disagree with what it is given? Thank you Peter, you're the man. PS: Where is your PAYPAL DONATION logo?
  5. So where is the MD/CD pacicify section that I need to look into?
  6. My bad, I got it and the file is not opened since the MACHINE DEFINITION is suggesting one location and the post automatically follows the SOURCE's file (Thank you). After I post the NC file does not appear as usual after post, is there a way I can make it automatically open like before?
  7. Is this right? I put it in but nothing happened. Can you tell me what I've done wrong? # -------------------------------------------------------------------------- # Parameter read postblocks: # -------------------------------------------------------------------------- pprep$ #Pre-process postblock - Allows post instructions after the post is parsed but before the NC and NCI file are opened. param_read$ = 1 #DO NOT ATTEMPT TO OUTPUT TO THE NC FILE IN THIS POSTBLOCK (OR ANY POSTBLOCKS YOU MAY CALL FROM HERE) BECAUSE THE NC OUTPUT FILE IS NOT YET OPENED! rd_mch_ent_no$ = 0 #Read only the machine base parameters (use to collect common parameters from CNC_MACHINE_TYPE) rd_md$ #Read machine definition parameters #debug #error_msg$ = 0 #err_file$ = 4 #bug2$ = 40 fastmode$ = yes$ spathnc$ = smcpath$
  8. I did use the "Project manager" and some how it doesn't work. I don't know why although I've been trying patiently for a month.... It keeps changing back to the normal default MasterCam location whenever I change to a new machine.
  9. I had this issue before which one of the files under PSB not the .POST. This file encrypted and you need to contact the post writer to ask for a password to unlock it.
  10. Is there a way that I can make the NC file follows the MCX-7 file in the same file location? I'm having problem that I have to set it every time I change the post. Is there away I can make the post forces the NC file follow the MCX-7 location? Thank you.
  11. Have you thought about the G10? Suppose I have this G90 M0 (CHECK WORK OFFSET) G10 L2 P0 X0 Y0 Z0 B0(G53 ZERO) G10 L2 P1 X0 Y0 Z0 B0(G54 B90.) G10 L2 P2 X0 Y0 Z0 B0(G55 B270.) (*) In the WCS ---> VIEW MANAGER G90 M0 (CHECK WORK OFFSET) G10 L2 P0 X0 Y0 Z0 B0(G53 ZERO) G10 L2 P1 X0 Y0 Z0 B0(G54 B90.) would be ----> G10 L2 P1 X.258 Y852. Z0 B0(G54 B90.) ======> XYZ manually entered by programmer and the post reads from WCS Comment G10 L2 P2 X0 Y0 Z0 B0(G55 B270.) would be ----> G10 L2 P2 X-.253 Y-.952 Z.500 B0(G55 B270.) ======> XYZ manually entered by programmer and the post reads from WCS Comment I think we should utilize the WCS COMMENT to output the VALUE as programmer input their G10 XYZ location value..... for B0, B90. B270. do you think it is possible to do it? Because we save G10 lines into the source file and will post at demands since the job fixture already stayed on the PALLET....
  12. Like we make this part 1 year ago for OP1 then we modified it like the way we love it to be as "NOW". I think it should notify us like CNC Rev.2 (Originally Rev.1 was posted on Sep.1st.2000)
  13. Do you know why sometimes if gives me like 15-427723-00-REV 1-FIX.NC REV.890 instead of 15-427723-00-REV 1-FIX.NC REV.1 I think I have to RESET the revision number at the QUESTION WINDOW if I opened A.MCX-7 file then switch to B.MCX-7 the revision occurrence is sometimes not counting sequential.
  14. I see "0.0" at the prompt yellow box. Is there away I can have it only "0" or blank?
  15. I got it, thank you. My another question is, may I ask like this? Revision number will be 3 is this OK (Original revision was 1 on Sept.10th.2013)?
  16. This is what I got and the MasterCam did not input the revision, I think I did something wrong... # -------------------------------------------------------------------------- # Revision number and header Buffer - 9 rc9 : 1 wc9 : 1 size9 : 0 fbuf 9 1 255 1 1 s_b9_strings : "" # String definiton for Buffer - 8 b9_RevNumber : 0 # Revision number RevNoReset : 0 # RevNo reset number after question CheckRevNum : yes$ # Ask RevNumber to change during posting? sRevExtension : ".data" # File extension of revision/header file fmt 4 b9_RevNumber # Format RevNumber fq 20 RevNoReset "Revision number will be //b9_RevNumber// is it OK?" # Question to ensure of RevNumber # Following postblock based on a ".data" ASCII text file, in the same name and directory of MCX file # Data file read into Buffer - 9 pReadRevNumber # Read and set revision number of NC code sbufname9$ = smcpath$ + smcname$ + sRevExtension if fexist(sbufname9$), # Check if .data file exist if fexist(sbufname9$), # Check if .data file exist [ size9 = rbuf(9, 0) rc9 = 1 # Read first line from buffer, revision number s_b9_strings = rbuf(9, rc9) # Read first line from data file b9_RevNumber = plcval(s_b9_strings, 3) * 100 # 1st digit in string b9_RevNumber = b9_RevNumber + (plcval(s_b9_strings, 2) * 10) # 2nd digit in string b9_RevNumber = b9_RevNumber + plcval(s_b9_strings, 1) # 3rd digit in string if CheckRevNum, q20 # Ask question of revise RevNumber if RevNoReset, b9_RevNumber = RevNoReset # Set RevNumber by question if not zero answer s_b9_strings = no2str(b9_RevNumber + 1) # Increment RevNumber if b9_RevNumber + 1 < 10, s_b9_strings = "0" + s_b9_strings # Set trailing zero of string based on RevNumber length if b9_RevNumber + 1 < 100, s_b9_strings = "0" + s_b9_strings # Set trailing zero of string based on RevNumber length s_b9_strings = wbuf(9, wc9) # Write back the first line to data buffer file # Read additional lines if already exist in .data file, Customer, Programmer, Drawing No, etc... while rc9 <= size9, [ s_b9_strings = rbuf(9, rc9) s_b9_strings, e$ ] ] else, # Create a simple .data file if not exist and set RevNumber value [ spathext$ = smcpath$ # Set path based on MCX path snameext$ = smcname$ # Set filename based on MCX name sextext$ = sRevExtension # Set .data extension subout$ = 3 # Create & output into external .data file extprg$ = 1 # Open our data file to write "002", e$ # Write RevNumber for next run in new data file subout$ = 0 # Set output back to main NC file b9_RevNumber = 1 # Set actual RevNumber @ fist run ] pheader$ #Call before start of file hour = int(time$) min = int((time$ - hour)* 100) if hour > 12, hour = hour - 12 if hour = 0, hour = 12 year$ = year$ + 2000 "%", e$ spaces$=0 *progno$, " ", scomm_str, snamenc$, sextnc$, scomm_end, e$ #scomm_str, spathnc$, scomm_end, e$ comment$, e$ [spaces$ = 0, scomm_str, "SOURCE= ", smcname$, smcext$, scomm_end, spaces$=sav_spc], e$ ########## Posted Date & Time ########## [spaces$ = 0, "(POSTED ON ", *smonth, ".", *day$, ".", *year$ # MON-DD-YYYY " AT ", time$,")", spaces$=sav_spc], e$ # 24 hour #scomm_str, smcpath$, scomm_end, e$ [spaces$ = 0, if spostname_sav = snull, spostname_sav = spostname, spaces$=sav_spc] scomm_str, snamepst$, scomm_end, e$ #q3 #"(OPERATION # ", sindividualoperation,"", q4 if stotaloperation, "(", stotaloperation, ")", *e$, else, "", e$, #"(CUSTOMER NAME= " #q5 #"", scustomername,")", e$ #q6 #"(PART NAME= ", spartname,")", e$ #q7 #"(PART#= ", spartnumber,"", #q8 #" REV.", spartrevision,")", e$ #q9 #"(PROGRAMMER= ", sprogrammer,")", e$ #q10 #"(SETUP BY= ", ssetupby,")", e$ pReadRevNumber "( Revision Number: ", *b9_RevNumber, ")", e$
  17. Hi Peter, so where should I put this in the post file? sbufname9$ = smcpath$ + smcname$ + sRevExtension if fexist(sbufname9$), # Check if .data file exist
  18. I had this problem too. Here is how I solve the problem. You may want to use this. ptlchg_com #Tool change common blocks sub_t = t$ if force_output | sof, [ result = force(ipr_type,ipr_type) result = force(absinc$,absinc$) result = force(plane$,plane$) ] pcom_moveb pcheckaxis #Check for valid rotary axis c_mmlt$ #Multiple tool subprogram call comment$ pmisccheck pcan if stagetool >= zero, [ rc8 = t$ wc8 = t$ rpttl2 = t$ size8 = rbuf(8,0) if rc8 <= size8, rpttl = rbuf(8,rc8) rpttl = rpttl + 1 rpttl = wbuf(8,wc8) ] if rpttl > 2 & rpttl2 < 9, t$ = (rpttl - 1) + (rpttl2 * 100) if rpttl > 2 & rpttl2 = 10, t$ = (rpttl - 1) + (rpttl2 * 100) if rpttl > 2 & rpttl2 > 10, t$ = (rpttl - 1) + (rpttl2 * 10) sav_n3 = t$ pbld, poperation, e$ pbld, *sgcode, *sgplane, sg40, sg49, sg53, sg80, *sgabsinc, "Z0", e$ if xh$<>0, [ pbld, n$, *sgcode, sg53, *xh$, e$ ] if yh$<>0, [ pbld, n$, *sgcode, sg53, *yh$, e$ ] if zh$<>0, [ pbld, n$, *sgcode, sg53, *zh$, e$ ]
  19. I got buffer problem, MasterCam stop respond. Do you know why? This is what I got... # -------------------------------------------------------------------------- # Buffer 8 - Customized tool and sequence numbers # -------------------------------------------------------------------------- rc8 : 1 wc8 : 1 init : 0 rpttl : 0 rpttl2 : 0 size8 : 0 fbuf 8 1 255 1 1 s_b8_strings : "" # String definiton for Buffer - 8 b8_RevNumber : 0 # Revision number RevNoReset : 0 # RevNo reset number after question CheckRevNum : yes$ # Ask RevNumber to change during posting? sRevExtension : ".data" # File extension of revision/header file fmt 4 b8_RevNumber # Format RevNumber fq 20 RevNoReset "Revision number will be //b8_RevNumber// is it OK?" # Question to ensure of RevNumber # -------------------------------------------------------------------------- # Parameter read postblocks: # -------------------------------------------------------------------------- pprep$ #Pre-process postblock - Allows post instructions after the post is parsed but before the NC and NCI file are opened. param_read$ = 1 #DO NOT ATTEMPT TO OUTPUT TO THE NC FILE IN THIS POSTBLOCK (OR ANY POSTBLOCKS YOU MAY CALL FROM HERE) BECAUSE THE NC OUTPUT FILE IS NOT YET OPENED! rd_mch_ent_no$ = 0 #Read only the machine base parameters (use to collect common parameters from CNC_MACHINE_TYPE) rd_md$ #Read machine definition parameters #debug #error_msg$ = 0 #err_file$ = 4 #bug2$ = 40 fastmode$ = yes$ pparameter$ # Run parameter table if opcode$=13 | opcode$=14, result = fprm (opcode$) if prmcode$ = 10000, stoper = ucase(sparameter$) if stoper=snull, stoper = snullop if prmcode$ = 10010, stock = rpar(sparameter$,1) # Stock to leave in Z if prmcode$ = 10068, stock1 = rpar(sparameter$,1) # Stock to leave in XY if prmcode$ = 12068, stock2 = rpar(sparameter$,1) # Stock to leave in Z facing if prmcode$ = 10020, clearinc = rpar(sparameter$,1) #param 10020 is clearance now and 10021 indicates abs or inc if prmcode$ = 15100, clearflg = rpar(sparameter$,1) if prmcode$ = 15145, metvals = rpar(sparameter$,1) if prmcode$ = 15339, clearstrt = rpar(sparameter$,1) if prmcode$ = 15346, comp_type = rpar(sparameter$,1) if prmcode$ = 15182, miscvalon = rpar(sparameter$,1) if prmcode$ = 20010, sconstplname = ucase(sparameter$) if prmcode$ = 20011, sconstplcomm = ucase(sparameter$) if prmcode$ = 20012, stoolplname = ucase(sparameter$) if prmcode$ = 20013, stoolplcomm = ucase(sparameter$) if prmcode$ = 20014, swcsplname = ucase(sparameter$) if prmcode$ = 20015, swcsplcomm = ucase(sparameter$) if prmcode$ = 20016, smatlname1 = ucase(sparameter$) if prmcode$ = 20017, smatlname2 = ucase(sparameter$) if prmcode$ = 20018, stpgrpname = ucase(sparameter$) if prmcode$ = 12025, rotary_axis2 = rpar(sparameter$,1) #Capture the axis of rotation in Multiaxis Drill and Curve 5 Axis if prmcode$ = 15371, axissubdir = rpar(sparameter$,1) if prmcode$ = 10029, operation_depth = rpar(sparameter$, 1) #Capture the full depth of OP if prmcode$ = 10027, OpTopOfStock = rpar(sparameter$, 1) # Operation Top of Stock if prmcode$ = 10020, OpClrPlane = rpar(sparameter$, 1) # Operation Clearance plane if prmcode$ = 15374, OpRtrPlane = rpar(sparameter$, 1) # Operation Retract plane if prmcode$ = 10024, OpFeedPlane = rpar(sparameter$, 1) # Operation Clearance plane if prmcode$ = 15100, OpClrPlane_ON = rpar(sparameter$, 1) # Operation Clearance plane set or not if prmcode$ = 15101, OpRtrPlane_ON = rpar(sparameter$, 1) # Operation Retract plane set or not if prmcode$ = 12628, [ hst_flg = 1 hststyle = rpar(sparameter$,1) ] if prmcode$ = 15084, NumEntities = rpar(sparameter$, 1) if prmcode$ = 15211, DepthCuts = rpar(sparameter$, 1) if prmcode$ = 15240, sOpSeqNo = sparameter$ #This is the operation manager operation number if prmcode$ = 20001, [ s20001 = sparameter$ s20002 = sparameter$ ] pwrttparam$ #Information from parameters if prmcode$ = 10010, stock = rpar(sparameter$,1) # Stock to leave in Z if prmcode$ = 10068, stock1 = rpar(sparameter$,1) # Stock to leave in XY if prmcode$ = 12068, stock2 = rpar(sparameter$,1) # Stock to leave in Z facing if prmcode$ = 15145, metvals = rpar(sparameter$,1) if prmcode$ = 15346, comp_type = rpar(sparameter$,1) if prmcode$ = 20004, slot = rpar(sparameter$,16) if prmcode$ = 20006, cut_ability = rpar(sparameter$,8) if prmcode$ = 20007, pilot_dia = rpar(sparameter$,11) if prmcode$ = 12628, [ hst_flg = 1 hststyle = rpar(sparameter$,1) ] poperation if sof & scomm_sav <> snull, spaces$ = 0 *sav_n3, spaces$ = 0, scomm_str, *scomm_sav, scomm_end, e$ spaces$ = sav_spc # Following postblock based on a ".data" ASCII text file, in the same name and directory of MCX file # Data file read into Buffer - 8 pReadRevNumber # Read and set revision number of NC code sbufname8$ = smcpath$ + smcname$ + sRevExtension if fexist(sbufname8$), # Check if .data file exist [ size8 = rbuf(8, 0) rc8 = 1 # Read first line from buffer, revision number s_b8_strings = rbuf(8, rc8) # Read first line from data file b8_RevNumber = plcval(s_b8_strings, 3) * 100 # 1st digit in string b8_RevNumber = b8_RevNumber + (plcval(s_b8_strings, 2) * 10) # 2nd digit in string b8_RevNumber = b8_RevNumber + plcval(s_b8_strings, 1) # 3rd digit in string if CheckRevNum, q20 # Ask question of revise RevNumber if RevNoReset, b8_RevNumber = RevNoReset # Set RevNumber by question if not zero answer s_b8_strings = no2str(b8_RevNumber + 1) # Increment RevNumber if b8_RevNumber + 1 < 10, s_b8_strings = "0" + s_b8_strings # Set trailing zero of string based on RevNumber length if b8_RevNumber + 1 < 100, s_b8_strings = "0" + s_b8_strings # Set trailing zero of string based on RevNumber length s_b8_strings = wbuf(8, wc8) # Write back the first line to data buffer file # Read additional lines if already exist in .data file, Customer, Programmer, Drawing No, etc... while rc8 <= size8, [ s_b8_strings = rbuf(8, rc8) s_b8_strings, e$ ] ] else, # Create a simple .data file if not exist and set RevNumber value [ spathext$ = smcpath$ # Set path based on MCX path snameext$ = smcname$ # Set filename based on MCX name sextext$ = sRevExtension # Set .data extension subout$ = 3 # Create & output into external .data file extprg$ = 1 # Open our data file to write "002", e$ # Write RevNumber for next run in new data file subout$ = 0 # Set output back to main NC file b8_RevNumber = 1 # Set actual RevNumber @ fist run ] pheader$ #Call before start of file hour = int(time$) min = int((time$ - hour)* 100) if hour > 12, hour = hour - 12 if hour = 0, hour = 12 year$ = year$ + 2000 "%", e$ spaces$=0 *progno$, " ", scomm_str, snamenc$, sextnc$, scomm_end, e$ #scomm_str, spathnc$, scomm_end, e$ comment$, e$ [spaces$ = 0, scomm_str, "SOURCE= ", smcname$, smcext$, scomm_end, spaces$=sav_spc], e$ ########## Posted Date & Time ########## [spaces$ = 0, "(POSTED ON ", *smonth, ".", *day$, ".", *year$ # MON-DD-YYYY " AT ", time$,")", spaces$=sav_spc], e$ # 24 hour #scomm_str, smcpath$, scomm_end, e$ [spaces$ = 0, if spostname_sav = snull, spostname_sav = spostname, spaces$=sav_spc] scomm_str, snamepst$, scomm_end, e$ #q3 #"(OPERATION # ", sindividualoperation,"", q4 if stotaloperation, "(", stotaloperation, ")", *e$, else, "", e$, #"(CUSTOMER NAME= " #q5 #"", scustomername,")", e$ #q6 #"(PART NAME= ", spartname,")", e$ #q7 #"(PART#= ", spartnumber,"", #q8 #" REV.", spartrevision,")", e$ #q9 #"(PROGRAMMER= ", sprogrammer,")", e$ #q10 #"(SETUP BY= ", ssetupby,")", e$ #scomm_str, sprogname$, scomm_end, e$ spathnc$ = ucase(spathnc$) smcname$ = ucase(smcname$) spaces$=0 #scomm_str, "PROGRAM NAME - ", sprogname, scomm_end, e #scomm_str, "DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, scomm_end, e #scomm_str, "MASTERCAM - V", *vers_no$, scomm_end, e$ # scomm_str, "MASTERCAM - X", scomm_end, e$ #scomm_str, "MCX FILE - ", smcpath$, smcname$, smcext$, scomm_end, e$ if spostname_sav = snull, spostname_sav = spostname # scomm_str, "POST - ", snamepst$, scomm_end, e$ #scomm_str, "MP - V", *dll_vers$, scomm_end, e$ stck_matl$ = ucase(stck_matl$) #scomm_str, stpgrpname, scomm_end, e$ #scomm_str, "MATERIAL STK SIZE= ", *stck_ht$, " ", *stck_wdth$, " ", *stck_thck$, "", smatlname2, scomm_end, e$ #scomm_str, "MATERIAL TYPE= ", stck_matl$, scomm_end, e$ spaces$=sav_spc #scomm_str, "PROGRAM - ", sprogname$, sextnc$, scomm_end, e$ #*e$ #"(***** Posted Date And Time *****)", e$ #scomm_str, *smonth, ".", *day$, ".", *year$ # MON-DD-YYYY #scomm_str, "DATE - ", *year$, "/", *month$, "/", *day$, scomm_end, e$ # YYYY/MN/DD #scomm_str, "DATE - ", *day$, "/", *month$, "/", *year$, scomm_end, e$ # DD/MN/YYYY #scomm_str, "DATE - ", date$, scomm_end, e$ # DD-MM-YR #" @ ", *hour, ":", *min, [if time$ < 12, "AM"], [if time$ >= 12, "PM"], scomm_end, e$ # 12 hour #scomm_str, "Post Rev. - ", *slicense, scomm_end, e$ #scomm_str, "Source - ", smcpath$, smcname$, smcext$, scomm_end, e$ #scomm_str, "NC - ", spathnc$, sprogname$, sextnc$, scomm_end, e$ pReadRevNumber "( Revision Number: ", *b8_RevNumber, ")", e$
  20. Hi Peter, How do I disallow the "DRILLING" toolpath not to check the RETRACT plane because it does not have a RETRACT feature. Can you assist me? Thank you. PS: The milling function of RETRACT check is good but not the drilling function since they don't have that function included. Thanks, S.Luong
  21. you should because you "deserve" to have someone donates to you. I'm the first one that I want to donate to you.... Not much but at least I can show my appreciation....
  22. Well, I got it and the forum is now only allowing me to upload 35.27K image size whereas my file size is 300K Here is my codes #Custom Defined Variables operation_depth : 0 # Operation full depth last_op_id2 : 0 # OP tracking ID OpTopOfStock : 0 # Operation Top of Stock OpClrPlane : 0 # Operation Clearance plane OpRtrPlane : 0 # Operation Retract plane OpFeedPlane : 0 # Operation Feed plane OpClrPlane_ON : yes$ # Operation Clearance plane set or not OpRtrPlane_ON : yes$ # Operation Retract plane set or not OpClrPlane_min : 0 # Operation Minimum Clearance value - SET MINIMUM HERE OpRtrPlane_min : 0 # Operation Minimum Retract value - SET MINIMUM HERE OpFeedPlane_min : 0 # Operation Minimum Feed value - SET MINIMUM HERE # -------------------------------------------------------------------------- # Error Checks # -------------------------------------------------------------------------- sOpSeqNo : "" #Operation manager displayed operation number stoollengthoffserror = "CUT#" + sOpSeqNo + " *** POSSIBLE WRONG TOOL LENGTH OFFSET ***" + no2asc(13) + "TOOL#" + no2str(t$) + " (" + s20001 + ")" + no2asc(13) + no2asc(13) + "H" + no2str(tlngno$) + " *** IS WHAT YOU HAVE, IT SHOULD BE *** H" + no2str(t$) sg53xyzerrorcheck = "Look for CUT#" + sOpSeqNo + ": " + "(" + s20001 + ") UNUSUAL G0 G53 XYZ VALUE IN HERE" stoollengthoffszeroerror = "CUT# " + sOpSeqNo + "POSSIBLE WRONG TOOL LENGTH OFFSET#"+no2asc(13)+"TOOL#"+no2str(t$)+" ("+s20001+")"+no2asc(13)+no2asc(13)+"H" +no2str(tlngno$)+" *** IS WHAT YOU HAVE NOW"+no2asc(13)+"H"+no2str(t$)+" *** IS WHAT YOU SHOULD HAVE" stooldiameteroffserror = "CUT#" + sOpSeqNo + " *** POSSIBLE WRONG COMP ***" + no2asc(13) + "TOOL#" + no2str(t$) + " (" + s20001 + ")" + no2asc(13) + no2asc(13) + "D" + no2str(tloffno$) + " *** IS WHAT YOU HAVE NOW, IT SHOULD BE HIGHER THAN D30 ***" scoolantisoffserror = "CUT#" + sOpSeqNo + " *** NO COOLANT ***" + no2asc(13) + "TOOL#" + no2str(t$) + " (" + s20001 + ")" + no2asc(13) + no2asc(13) + "M9 *** IS WHAT YOU HAVE NOW" + no2asc(13) + "M8 *** IS WHAT IT SHOULD BE" serrordetect = "CUSTOM MASTERCAM AUTOMACTIC SOURCE Q.C FUNCTION" + no2asc(13) + no2asc(13) + "Click OK to Q.C source program" + no2asc(13) + "click CANCEL to ignore" sOpClrPlane_ON = "CUT#" + sOpSeqNo + " *** CHECK LINKING PARAMETER PAGE"+no2asc(13)+no2asc(13)+"INITIAL Z CLEARANCE VALUE IS NOT SPECIFIED" sOpRtrPlane_ON = "CUT#" + sOpSeqNo + " *** CHECK LINKING PARAMETER PAGE"+no2asc(13)+no2asc(13)+"INITIAL Z RETRACT VALUE IS NOT SPECIFIED" sMyFancyDepthError = "CUT# " + sOpSeqNo + " *** POSSIBLE WRONG TOP OF STOCK" + no2asc(13) + "TOOL#" + no2str(t$) + " (" + s20001 + ")" + no2asc(13) + no2asc(13) + "SOURCE DEPTH IS Z" + no2str(operation_depth) + " *** TOP OF STOCK IS " + no2str(OpTopOfStock) s20001 : "" #String for tool description s20002 : "" #String for tool description ptlchg_errorpop #Pop-up common toolchange errors errorcheck = 1 if tloffno$ <> t$ & tloffno$ <30, [if mprint(stooldiameteroffserror, 2) = 2, exitpost$] #Diameter Doesnt Match T if tlngno$ <> t$ & tlngno$ <> zero, [if mprint(stoollengthoffserror, 2) = 2, exitpost$] #Length Doesnt Match T if xh$ <> zero | yh$ <> zero | zh$ <>zero, [if mprint(sg53xyzerrorcheck, 2) = 2, exitpost$] #G53XYZ if tlngno$ = zero, [if mprint(stoollengthoffszeroerror, 2) = 2, exitpost$] #Zero Length if coolant$ = zero, result = mprint(scoolantisoffserror, 1) #No Coolant if OpTopOfStock < operation_depth, [if mprint(sMyFancyDepthError, 2) = 2, exitpost$] if not(OpClrPlane_ON), [if mprint(sOpClrPlane_ON, 2) = 2, exitpost$] if not(OpRtrPlane_ON), [if mprint(sOpRtrPlane_ON, 2) = 2, exitpost$] ptlchg_errorcheck #Check for common toolchange errors if errorcheck = 0, [ if tloffno$ <> t$ | tlngno$ <> t$ | coolant$ = zero, result = mprint(serrordetect, 2) if result = 1, errorcheck = 1 if result = 2, errorcheck = 2 ] if errorcheck = 1, ptlchg_errorpop # -------------------------------------------------------------------------- # Start of File and Toolchange Setup # -------------------------------------------------------------------------- psof0$ #Start of file for tool zero psof$ psof$ #Start of file for non-zero tool number ptlchg_errorcheck #Check for common toolchange errors "(*)", e$, comment$, e$ ptravel pwritbuf5 pcuttype toolchng = one if ntools$ = one, ptlchg0$ #Call from NCI null tool change (tool number repeats) ptlchg_errorcheck #Check for common toolchange errors # This line will search for depth cuts and multi-passes toolchng0 = one [ rd_params$ # Read parameters - pparameter pmisccheck ] pcuttype toolcount = toolcount + 1 if toolcountn <= tooltotal, nexttool = rbuf(4,toolcountn) else, nexttool = first_tool$ retractflg = 0 ptlchg$ #Tool change ptlchg_errorcheck #Check for common toolchange errors pcuttype toolchng = one toolcount = toolcount + 1 if toolcountn <= tooltotal, nexttool = rbuf(4,toolcountn) else, nexttool = first_tool$ if wcstype = one, #Work coordinate system [ pfbld, n$, *sg28, "X0.", "Y0.", e$ pfbld, n$, "G92", *xh$, *yh$, *zh$, e$ ] pbld, *sg53, "Y0", e$ [if indx_out <>0, "A0.", else, ""], e$ if mi10$=one, n$, *sm00, e$ else, pbld, n$, *sm01, e$ comment$,e$ "(*)", e$ ptlchg_com THANK YOU PETER, ALL OF THESE SAFETY CHECKS ARE MADE BY YOU. YOU HAVE SAVE MANY UNWELCOME FUTURE ACCIDENTS. OUR PEOPLE THANK ----- YOU THAT THEY ARE AT A SAFE WORK PLACE WITH THEIR HANDS AND LEGS AND FACE... AND... EYES BEING PROTECTED BY YOU. I TRULY HONOR YOU AS MUCH AS I'M TREATING MYSELF GOOD.... THANK YOU FOR EVERYTHING ABOUT THIS SAFETY CHECKS.

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...