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:

crazy^millman

Verified Members
  • Posts

    19,583
  • Joined

  • Last visited

  • Days Won

    359

Everything posted by crazy^millman

  1. Hello Mastercam Community. I shared this when I originally developed this back in 2007. I keep getting requests about it so I thought I would share it again. There were many people who helped me back then to make it what it is so I cannot take al the credit for it. Robert Brunsen (Zoober) had a big hand in this. Please use at your own risk. <!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!> <!><!><!><!><!><!><!><!> Make a Backup of your Post before attempting any of this <!><!><!><!><!><!><!><!> <!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!> I defined all the variables I wanted to use in the drilling section of the post right before the custom drill cycles: # --------------------------------------------------------------------- # Macro Variables as I need them # --------------------------------------------------------------------- sequal : "=" #Equal Sign spound : "#" #Pound Sign sminus : "-" #Minus Sign sadd : "+" #Addition Sign sdivide : "/" #Division Sign smultiply : "*" #Multiply Sign seq : "EQ" #Equal Call sne : "NE" #Not Equal To Call sgt : "GT" #Greater Than to Call slt : "LT" #Less Than Call sge : "GE" #Is Great than or Equal to Call sle : "LE" #Is Less than or Equal to Call sin : "SIN" #Sine Math scos : "COS" #Cosine Math stan : "TAN" #Tangent Math satan : "ATAN" #ArcTangent Math sacos : "ACOS" #ArcCosine Math sqrt : "SQRT" #Sqaure Root Math sabs : "ABS" #Absoulte Value sbin : "BIN" #Bin sbcd : "BCD" #Bcd sround : "ROUND" #Round to the Nearest Whole Number sfix : "FIX" #Use for Cutting away any Decimal Numbers sfup : "FUP" #Counting Decimal Digits as one's sln : "LN" #Natural Logarithm sexp : "EXP" #Exponent sbracketopen : "[" #Open Bracket sbracketclose : "]" #Close Bracket sif : "IF" #If Call sgoto : "GOTO" #Goto Call swhile : "WHILE" #While Call sdo : "DO" #Do Call sor : "OR" #Or Call sand : "AND" #And Call smod : "MOD" #Surplus Math sdprint : "DPRNT" #Data Output in from Probing Cycles sm100 : "100" #Macro Varaible 100 for Spindle Tranfer Operation sm150 : "150" #Macro Variable 150 for Math Functions in C Axis Aling Macro sm151 : "151" #Macro Variable 151 for Math Functions in C Axis Aling Macro sm152 : "152" #Macro Variable 152 Math Functions in C Axis Aling Macro sm5021 : "5021" #Machine Postion X Axis Variable sm5022 : "5022" #Machine Postion Y Axis Variable sm5023 : "5023" #Machine Postion Z Axis Variable sm5024 : "5024" #Machine Postion B Axis Variable sm5025 : "5025" #Machine Postion C Axis Varaible for Main Spindle sm5026 : "5026" #Machine Postion W Axis Varaible for Sub Spindle sm5027 : "5027" #Machine Postion U Axis Varaible for Sub Spindle sm5221 : "5221" #Workoffset Machine Postion X Axis Variable sm5222 : "5222" #Workoffset Machine Postion Y Axis Variable sm5223 : "5223" #Workoffset Machine Postion Z Axis Variable sm5224 : "5224" #Workoffset Machine Postion B Axis Variable sm5225 : "5225" #Workoffset Machine Postion C Axis Varaible for Main Spindle sm5226 : "5226" #Workoffset Machine Postion W Axis Varaible for Sub Spindle sm5227 : "5227" #Workoffset Machine Postion U Axis Varaible for Sub Spindle # -------------------------------------------------------------------------- # Probing String Varaibles Put here to keep post cleaner # -------------------------------------------------------------------------- strg659530 : "G65P9530" #Printing Macro Call for B90 strg659532 : "G65P9532" #Offset Update Macro for B90 strg659610 : "G65P9610" #Probe Protect Cycle for B90 strg659611 : "G65P9611" #XYZ Single Surface Measure B90 strg659612 : "G65P9612" #Web / Pocket Measure B90 strg659614 : "G65P9614" #Bore / Boss B90 strg659618 : "G65P9618" #C Axis Measure - Vertical B90 strg659619 : "G65P9619" #Bore / Boss on PCD B90 strg659621 : "G65P9621" #Angle Single Surface Measure B90 strg659622 : "G65P9622" #Angle Web / Pocket Measure B90 strg659623 : "G65P9623" #3-Point Bore / Boss Measure B90 strg659634 : "G65P9634" #Feature to Feature Measure B90 strg659650 : "G65P9650" #C-Axis Measure - Vertical B90 strg659730 : "G65P9730" #Printing Macro Call for B0 strg659732 : "G65P9732" #Offset Update Macro for B0 strg659810 : "G65P9810" #Probe Protect Cycle for B0 strg659811 : "G65P9811" #XYZ Single Surface Measure B0 strg659812 : "G65P9812" #Web / Pocket Measure B0 strg659814 : "G65P9814" #Bore / Boss B0 strg659818 : "G65P9818" #C Axis Measure - Horizontal B0 strg659819 : "G65P9819" #Bore / Boss on PCD B0 strg659821 : "G65P9821" #Angle Single Surface Measure B0 strg659822 : "G65P9822" #Angle Web / Pocket Measure B0 strg659823 : "G65P9823" #3-Point Bore / Boss Measure B0 strg659834 : "G65P9834" #Feature to Feature Measure B0 strg659850 : "G65P9850" #C-Axis Measure - Horizontal B0 zsinsurf : 0 #P9811 Z Axis Single Surface Use at B0,B90,B180 xsinsurf : 0 #P9811 X Axis Single Surface Use at B0,B90,B180 ysinsurf : 0 #P9811 Y Axis Single Surface Use At B0,B90,B180 drl_prm2$ : 0 drl_prm3$ : 0 drl_prm4$ : 0 # -------------------------------------------------------------------------- # Macro Force Start Amounts # -------------------------------------------------------------------------- m5225 : 5225 m5227 : 5227 # -------------------------------------------------------------------------- # Probe 90 deg Format Statements # -------------------------------------------------------------------------- fmt "X" 2 prorefht #B90 X clearence for Protect Cycle fmt "D" 2 diadwell #B90 P9614 Bore/Boss Measurement Dia call out fmt "Y" 2 cyspan #Used for Across Distance # -------------------------------------------------------------------------- # Probe 90 deg Varabiles # -------------------------------------------------------------------------- prorefht = refht$ #B90 X clearence for Protect Cycle diadwell = dwell$ #B90 P9614 Bore/Boss Measurement Dia call out cyspan = dwell$ #Used for Across Distance # -------------------------------------------------------------------------- # Probe 0 deg Format Statements # -------------------------------------------------------------------------- fmt "Z" 2 prnrefht #B0 X clearence for Protect Cycle fmt "D" 2 diedwell #B0 P9814 Bore/Boss Measurement # -------------------------------------------------------------------------- # Probe 0 deg Varabiles # -------------------------------------------------------------------------- prnrefht = refht$ #B0 Z clearence for Protect Cycle diedwell = dwell$ #B90 P9814 Bore/Boss Measurement Dia call out # -------------------------------------------------------------------------- # Probe Shared Index deg Format Statements # -------------------------------------------------------------------------- fmt "S" 4 offupdate #Used to Fixture Offsets fmt "H" 2 feattoler #Tolerance of Feature being Measured fmt "M" 2 trueposzone #True Position Tolerenance Zone fmt "B" 2 cangtoler #C axis Tolerance for C-Axis Align Cycle fmt "Q" 2 covertrav #C Axis Overtravel for Probe Amount fmt 2 drl_prm1$ #Tolerance Vaule for Repeat Loop in Post fmt "W" 4 drl_prm2$ #Print Variable for Increment or Reset fmt "N" 30 ngoto #GOTO statement Number to use in Header fmt 30 ngoto2 #GOTO statement Number to use in Probing Routine fmt 30 m5225 #Format for correct Number Values fmt 30 m5227 #Format for correct Number Values fmt "X" 2 xsinsurf #Single Surface for X fmt "Y" 2 ysinsurf #Single Surface for Y fmt "Z" 2 zsinsurf #Single Surface for Z # -------------------------------------------------------------------------- # Probe Shared Index deg Varabiles # -------------------------------------------------------------------------- offupdate = workofs$ #Used for Probing cycles to update workoffset fixed to used offset for operation. trueposzone = peck2$ #Used for the True Position amount cangtoler = peck1$ #Used for Angle Tolerance on C Axis Align Cycle covertrav = peck2$ #Used for Amount of Overtravel allowed for C Axis Align Cycle feattoler = peck1$ #Used for Tolerance of Feature being Measured ngoto = retr$ #Used for Goto Call in C Axis Align Macro in Header ngoto2 = retr$ #Used for Goto Call in C Axis Align Macro in Probing Routine zsinsurf = depth$ #P9811 Z Axis Single Surface Use at B0,B90,B180 xsinsurf = depth$ #P9811 X Axis Single Surface Use at B0,B90,B180 ysinsurf = depth$ #P9811 Y Axis Single Surface Use At B0,B90,B180 pdrlcst$ #Custom drill cycles 8 - 19 (user option) Then here is how I defined all the custom drill cycles with Logic to support B0, B90 and B180 probing. pdrlcst$ #Custom drill cycles 8 - 19 (user option) #Use this postblock to customize drilling cycles 8 - 19 if drillcyc$ = 8, #XYZ Single Surface Measure B0/B90/B180 [ pdrlcommonb if babs = 180, [ if drl_prm2$ <> 0 & drl_prm3$ = 0, #X Axis Single Surface Probing [ xsinsurf = (xabs + drl_prm2$) pbld, n$, *strg659810, *xsinsurf, e$ pbld, n$, *strg659810, *prnrefht, e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659811, pfxout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659810, *xsinsurf, e$ pbld, n$, *strg659810, *prnrefht, e$ ] if drl_prm3$ <> 0 & drl_prm2$ = 0, #Y Axis Single Surface Probing [ ysinsurf = (yabs + drl_prm3$) pbld, n$, *strg659810, *ysinsurf, e$ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659811, pfyout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659810, *ysinsurf, e$ pbld, n$, *strg659810, *prnrefht, e$ ] if drl_prm2$ = 0 & drl_prm3$ = 0, #Z Axis Single Surface Probing [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659811, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] ] if babs = 90, #Single Surface B90 Probing with approach Logic using additonal Drill Parameters. [ if drl_prm4$ <> 0 & drl_prm3$ = 0, #Z Axis Single Surface Probing [ zsinsurf = (zabs + drl_prm2$) pbld, n$, *strg659610, *zsinsurf, e$ pbld, n$, *strg659610, *prorefht, e$ pbld, n$, *strg659610, *zsinsurf, e$ pbld, n$, *strg659611, pfxout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *zsinsurf, e$ pbld, n$, *strg659610, *xsinsurf, e$ pbld, n$, *strg659610, *prorefht, e$ ] if drl_prm3$ <> 0 & drl_prm4$ = 0, #Y Axis Single Surface Probing [ ysinsurf = (yabs + drl_prm3$) pbld, n$, *strg659610, *ysinsurf, e$ pbld, n$, *strg659610, prorefht, e$ pbld, n$, *strg659610, *zsinsurf, e$ pbld, n$, *strg659611, pfyout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *zsinsurf, e$ pbld, n$, *strg659610, *ysinsurf, e$ pbld, n$, *strg659610, *prorefht, e$ ] if drl_prm3$ = 0 & drl_prm4$ = 0, #X Axis Single Surface Probing [ pbld, n$, *strg659610, prorefht, e$ pbld, n$, *strg659611, pfxout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] ] if babs = 0, [ if drl_prm2$ <> 0 & drl_prm3$ = 0, #X Axis Single Surface Probing [ xsinsurf = (xabs + drl_prm2$) pbld, n$, *strg659810, *xsinsurf, e$ pbld, n$, *strg659810, *prnrefht, e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659811, pfxout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659810, *xsinsurf, e$ pbld, n$, *strg659810, *prnrefht, e$ ] if drl_prm3$ <> 0 & drl_prm2$ = 0, #Y Axis Single Surface Probing [ ysinsurf = (yabs + drl_prm3$) pbld, n$, *strg659810, *ysinsurf, e$ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659811, pfyout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *zsinsurf, e$ pbld, n$, *strg659810, *ysinsurf, e$ pbld, n$, *strg659810, *prnrefht, e$ ] if drl_prm2$ = 0 & drl_prm3$ = 0, #Z Axis Single Surface Probing [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659811, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] ] pcom_movea ] if drillcyc$ = 9, #Web/Pocket Measure B0/B90/B180 [ pdrlcommonb if babs = 180, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659612, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prnrefht, e$ ] if babs = 90, [ pbld, n$, *strg659610, prorefht, e$ pbld, n$, *strg659612, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659812, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 10, #Bore/Boss B0/B90/B180 [ pdrlcommonb if babs = 180, [ pbld, n$, *strg659810, *prnrefht, e$ pbld, n$, *strg659814, *diedwell, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, *strg659610, *prorefht, e$ pbld, n$, *strg659614, *diadwell, pfxout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, *strg659810, *prnrefht, e$ pbld, n$, *strg659814, *diedwell, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 11, #C Axis Measure - Vertical B0/B90/B180 [ pdrlcommonb if babs = 180, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659818, *cyspan, pfxout, *offupdate,[if cangtoler > 0, *cangtoler], [if drl_prm2$ > 0, *drl_prm2$], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, *strg659610, prorefht, e$ pbld, n$, *strg659618, *cyspan, pfxout, *offupdate, [if cangtoler > 0, *cangtoler], [if drl_prm2$ > 0, *drl_prm2$], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659818, *cyspan, pfxout, *offupdate, [if cangtoler > 0, *cangtoler], [if drl_prm2$ > 0, *drl_prm2$], e$ pbld, n$, *strg659810, *prnrefht, e$ ] *sg00 ,*sg91, sg30_3, "X0", e$ *sg00, *sg90, [if workofs$ > 53, *g_wcs], [if workofs$ < 49 , "G54.1", *p_wcs],[if spindle_no$ = 0, "C20."],[if spindle_no$ = 1, "U20."],e$ *sg00, *sg90, [if spindle_no$ = 0, "C0"],[if spindle_no$ = 1, "U0"], e$ spaces$ = 0 sif,sbracketopen,spound,sm152,sgt,drl_prm1$,sbracketclose,sgoto,ngoto2, e$ spaces$ = 1 pcom_movea ] if drillcyc$ = 12, #Bore/Boss on PCD B0/B90/B180 [ pdrlcommonb if babs = 180, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659819, diedwell, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, *strg659610, prorefht, e$ pbld, n$, *strg659619, diadwell, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659819, diedwell, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 13, [ pdrlcommonb if babs = 180, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659818, diedwell, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, *strg659610, prorefht, e$ pbld, n$, *strg659818, diadwell, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, *strg659810, prnrefht, e$ pbld, n$, *strg659818, diedwell, pfyout, pfzout, [if peckclr$ > 0,*offupdate], [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] pdrlcst_2$ #Custom drill cycles 8 - 19 (user option) #Use this postblock to customize drilling cycles 8 - 19 if drillcyc$ = 8, [ pdrlcommonb if babs = 180, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, *strg659811, pfyout, pfzout, [if peck2$ > 0, *trueposzone], e$ pbld, n$, *strg659810, *prorefht, e$ ] if babs = 90, [ pbld, n$, `strg659610, `prnrefht, e$ pbld, n$, *strg659611, pfyout, pfzout, [if peck2$ > 0, *trueposzone], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, *strg659811, pfyout, pfzout, [if peck2$ > 0, *trueposzone], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 9, #Web/Pocket Measure B0/B90 [ pdrlcommonb if babs = 180, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, *strg659812, diadwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, `strg659610, `prorefht, e$ pbld, n$, *strg659612, diadwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, *strg659812, diedwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 10, #Bore/Boss B0/B90 [ pdrlcommonb if babs = 180, [ pbld, n$, *strg659810, pyout, pxout, e$ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, *strg659814, *diadwell, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, *strg659610, pyout, pxout, e$ pbld, n$, `strg659610, `prorefht, e$ pbld, n$, *strg659614, *diadwell, pfxout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, *strg659810, pyout, pxout, e$ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, *strg659814, *diedwell, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 11, [ result = mprint(sperror), exitpost$ ] if drillcyc$ = 12, [ pdrlcommonb if babs = 180, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, "G65P9618", diadwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, `strg659610, `prorefht, e$ pbld, n$, "G65P9618", diadwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] if drillcyc$ = 13, [ pdrlcommonb if babs = 180, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, "G65P9618", diadwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] if babs = 90, [ pbld, n$, `strg659610, `prorefht, e$ pbld, n$, "G65P9618", diadwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659610, *prorefht, e$ ] if babs = 0, [ pbld, n$, `strg659810, `prnrefht, e$ pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if peck2$ > 0, *trueposzone], [if feattoler > 0, *feattoler], e$ pbld, n$, *strg659810, *prnrefht, e$ ] pcom_movea ] Here is how the text was defined to be used through the Mastercam Control Definition. This must be done through the Mastercam Control Definition not through just copying and pasting into a Post. This is extremely important since this section of the post is an XML format that can be corrupted very easily if someone goes hacking this section of a post. Why it is best to make these changes through the Mastercam Control Definition. [drill cycle 9 custom parameters] 1. "Additional Probing" 2. "Feat to Feat[0=N,1=Y]" 3. "X Axis App Amount +/-" 4. "Y Axis App Amount +/-" 5. "Z Axis App Amount +/-" 6. "" 7. "" 8. "" 9. "" 10. "" 11. "" [drill cycle 10 custom parameters] 1. "Additional Probing" 2. "Feat to Feat [0=No,1=Yes]" 3. "Z axis Distance to Measure" 4. "X axis Distance to Measure" 5. "Y axis Distance to Measure " 6. "Angle XY Plane " [drill cycle 11 custom parameters] 1. "Additional Probing" 2. "Feat to Feat [0=No,1=Yes]" 3. "Z axis Distance to Measure" 4. "X axis Distance to Measure" 5. "Y axis Distance to Measure " 6. "Angle XY Plane " [drill cycle 12 custom parameters] 1. "Additional Probing" 2. "Tolerance for Repeat " 3. "Data Print [1=Increm,2= Reset]" 4. "" 5. "" 6. "" 7. "" 8. "" 9. "" 10. "" 11. "" [drill cycle 13 custom parameters] 1. "Additional Probing" 2. "Feat to Feat [0=No,1=Yes]" 3. "Z axis Distance to Measure" 4. "X axis Distance to Measure" 5. "Y axis Distance to Measure " 6. "Angle XY Plane " [drill cycle 14 custom parameters] 1. "Additional Probing" 2. "Feat to Feat [0=No,1=Yes]" 3. "Z axis Distance to Measure" 4. "X axis Distance to Measure" 5. "Y axis Distance to Measure " 6. "Angle XY Plane " [drill cycle 15 custom parameters] 1. "Additional Probing" 2. "Feat to Feat [0=No,1=Yes]" 3. "Z axis Distance to Measure" 4. "X axis Distance to Measure" 5. "Y axis Distance to Measure " 6. "Angle XY Plane " [drill cycle 16 custom parameters] 1. "Custom Drill Parameters 16" [drill cycle 17 custom parameters] 1. "Custom Drill Parameters 17" [drill cycle 18 custom parameters] 1. "Custom Drill Parameters 18" [drill cycle 19 custom parameters] 1. "Custom Drill Parameters 19" [drill cycle 20 custom parameters] 1. "Custom Drill Parameters 20" [drill cycle descriptions] 1. "Standard Drill - G81/G82" 2. "Peck Drill - G83" 3. "Chip Break - G83" 4. "Tap - G84/G74" 5. "Reaming - G85" 6. "Gundrill - longhand" 9. "XYZ Single Face Probing" 10. "Web/Pocket Probing" 11. "Bore/Boss Probing" 12. "Angle Single Surface Probing" 13. "Angle Web/Pocket Probing" 14. "3-Point Bore/Boss Probing" Error Message if trying to use a probing cycle for repeated features: # -------------------------------------------------------------------------- # Error message strings # -------------------------------------------------------------------------- sperror :"ONLY USE THIS PROBING CYCLE ON ONE FEATURE AT A TIME"
  2. What size machine? What kind of material? Bang for the buck and financing options HAAS is going to be real hard to beat. They have some deals on soem in stock machines with 20 Cat 40 holders and a 6" Vice. Link
  3. Which one? In analyze you change the drop-down to the number amount you want. In the toolpaths there is no way I am aware of and glad it gives me that kind of accuracy when I am picking features.
  4. You're in Florida this is your best resource. CAMPLETE training and information part of Methods Machine
  5. No they changed this behavior about 2020 or 2021 when they switched over to the newer interface. Things that use to be easier and faster got slower and more cumbersome for the sake of change. I use the same notes in my setup views a lot of the time and I just ctlr-c them so I can do like we did in the past with the old notes or drafting information that was like this.
  6. Cool glad you sorted it out. Thanks for the feedback.
  7. There is the issue the bottom face can be probed on a 3 axis. It is the top surface that is the issue. Need to probe the front surface to establish the plane and positio of that face. Then probe the bottom and top face and then do the calculation to find the connecting point. The issue is where do you figure out the point? At the highest or the lowest of them. The average of them needs to be calculated and figured out. Great we collect all 3 planes and if all 3 planes are prefect to each other and the deviation along the connecting point is small then no worries and the positional tolerance we are trying to find wide open then again great, but I imagine it is not and someone has the idea that we can hit a .0001" True Position or profile tolerance running around in the head of management and this person has been tasked with making that a reality when reality was never considiered at the very beginning of the process.
  8. On a 5 Axis machine maybe I can think of a way. On a 3 axis machine if you used a star probe you might be able to accomplish it. Star Probe
  9. I laid it all out and gave different example files to fall on deaf ears.
  10. This bug has been around for many versions I Reported this one back in 2015 for the 2017 version during BETA. Maybe now after 8 years it might finally get squashed.
  11. We have found 2024 to be about 40% to 50% faster than 2023. Lagging and other issues have been a major problem for our group in 2023
  12. Or Multiaxis link, 3D Flowline and a lot standard Mastercam toolpaths. Funny how all other CAM don't care about the number of axis for toolpaths. You got 2 or 42 they give you them all.
  13. MT will not allow Option one just so you are aware. Option two is you best option which you already figured out.
  14. Where they get stored as a solid once made I have no idea, but I have some MT tool Libraries that are over 40mb due to all the 3D tools made in them. We are about 8 versions into using 3D tools and I have some going that far back and the 3D tools have been stable.
  15. It is amazing what accountability does in situations like this. Yes the AD model has and still is the long game. They only care about profit and crushing whoever they can in the process. No different that the top 9 richest people in the world. They output more than 5 billion people in carbon emission combined by themselves. Well this has gone off the rails and sure the ban hammer is coming soon.
  16. Why do we all work? We are also trying to turn a profit to feed our families and keep a roof over our head. We have different ideas about how to go about that and don't want to sale others out to get there is really the difference. Our education system is coming to a rude awaking because of this the turn a profit at the sacrifice of the teaching has caught up and interesting those of this that choose a vocation don't seem so crazy after all.
  17. Why was CNC Software for Sale? Company comes along and offers me the right price I will sale 5th Axis CG Inc in a heart beat. Hard running a business in this day and age. Better question is why where they wanting to buy it? Why is their business model seem to be to destroy American Manufacturing verses help it like they claim? How many good products and companies have they destroyed in the name of turning a profit?
  18. Is there a question in there? Posting code without any explanation is asking a lot of even the most experienced person.
  19. This whole thread reminds me exactly what Autodesk shouldn't have bought CAMPLETE to begin with.

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