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:

Custom drill drill cycle question.


neurosis
 Share

Recommended Posts

I have been making a probing cycle for dialing in a bore and resetting the fixture offset x and y locations. I have been using Ron Branch's example to help me through ( all I can say about that probing code is WOW! Good job Ron!) and its been a tremendous help. I am not doing anything even close to as complicated but there is one thing that I cant figure out.

 

My code needs to look like this.

 

code:

G320 D.75 K-.5 E.25 W101 A1. B0.  

where the A is the X location from wcs 0 and the B is the y location from wcs 0.

 

I need these to be forced but instead of an X and Y value they need to be A and B. I have been using pfxout and pfyout to get the values but dont know how to change the format from X and Y to A and B.

Link to comment
Share on other sites

This is really easy. Above the probing cycle make the pfxout and pfyout equal to a variable you define. That variable will then be the one you define in the define section of what I set-up for your probing to be portable to other posts down the road.

 

Here is where I would add this:

code:

# # --------------------------------------------------------------------------

# Probe Shared Index deg Format Statements

# --------------------------------------------------------------------------

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 4 drl_prm6$ #GOTO statement Number to use

fmt A 2 nueraaxis #A axis output for Probing Cycle #<---- Added 6-23-10

fmt B 2 nuerbaxis #B axis output for probing Cycle #<---- Added 6-23-10


Then just do this above the probing cycle you are using:

code:

      if drillcyc$ = 10, #Bore/Boss B0/B90/B180

[

pdrlcommonb

pfxout = nueraaxis #<---- Added 6-23-10

pfyout = nuerbaxis #<---- Added 6-23-10

if babs = 180,

[

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659814, diedwell, nuerbaxis, nuerbaxis, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if feattoler > 0, *feattoler], e$

pbld, n$, *strg659810, *prnrefht, e$

]

pcom_movea

]

That should do what you are after.

 

HTH

Link to comment
Share on other sites

Um. No.

 

You're not going to get anywhere trying to set a postblock call = a variable.

Easiest solution (without having any idea what the logic in your post looks like) would be to use the nwadrs() function to change the address character of xabs and yabs for output and then to change them back.

 

To do this you will need four string variables for X,Y, A and B.

 

i.e.

 

strX : "X"

strY : "Y"

strA : "A"

strB : "B"

 

Then in your drilling postblock where you are calling pfxout and pfyout you need to add

 

result = nwadrs(strA, xabs) #Change address character to A

result = nwadrs(strB, yabs) #Change address character to B

...then the output line where pfxout and pfyout

result = nwadrs(strX, xabs) #Change address character back to X

result = nwadrs(strY, yabs) #Change address character back to Y

Link to comment
Share on other sites

Ok,

 

I think that I have it.. Does this look correct?

 

code:

      if drillcyc$ = 9, #Probe bore diameter or boss and reset fixture offset

[

result = nwadrs(strA, xabs) #Change address character to A

result = nwadrs(strB, yabs) #Change address character to B

pdrlcommonb

pbld, n$, prorefht, e$

pbld, n$, "G320", diadwell, zbossdep, [if proappr > 0, *proappr], [if wcsupdate > 0,*wcsupdate] pfxout, pfyout, e$

pbld, n$, "G0", *proinitht, e$

result = nwadrs(strX, xabs) #Change address character back to X

result = nwadrs(strY, yabs) #Change address character back to Y

pcom_movea

]


It appears to work.

 

I did notice one thing that needs addressed. The values of A and B are supposed to be the incremental value of the distance from the location that you are probing, "back" to the ucs x0 y0. Is there a way to change those values from pos to neg and vice versa?

 

[ 06-23-2010, 01:47 PM: Message edited by: Neurosis ]

Link to comment
Share on other sites

Try this:

 

code:

      if drillcyc$ = 9, #Probe bore diameter or boss and reset fixture offset

[

pdrlcommonb

sav_absinc = absinc$, absinc$ = 1 #Force incremental output

result = nwadrs(strA, xinc) #Change address character to A

result = nwadrs(strB, yinc) #Change address character to B

pbld, n$, prorefht, e$

pbld, n$, "G320", diadwell, zbossdep, [if proappr > 0, *proappr], [if wcsupdate > 0,*wcsupdate] pfxout, pfyout, e$

pbld, n$, "G0", *proinitht, e$

result = nwadrs(strX, xinc) #Change address character back to X

result = nwadrs(strY, yinc) #Change address character back to Y

absinc$ = sav_absinc

pcom_movea

]

sav_absinc should already exist in your post, if it doesn't you will need to add an initialization for it:

 

sav_absinc : 0 #Saved absinc value

Link to comment
Share on other sites

Yes, sav_absinc : 0 already exists in the post.

 

I added what you showed above and got some strange results. I'll post the code just to make sure i didnt botch it somewhere.

 

code:

       if drillcyc$ = 9, #Probe bore diameter or boss and reset fixture offset

[

pdrlcommonb

sav_absinc = absinc$, absinc$ = 1 #Force incremental output

result = nwadrs(strA, xabs) #Change address character to A

result = nwadrs(strB, yabs) #Change address character to B

pbld, n$, prorefht, e$

pbld, n$, "G320", diadwell, zbossdep, [if proappr > 0, *proappr], [if wcsupdate > 0,*wcsupdate] pfxout, pfyout, e$

pbld, n$, "G0", *proinitht, e$

result = nwadrs(strX, xabs) #Change address character back to X

result = nwadrs(strY, yabs) #Change address character back to Y

absinc$ = sav_absinc

pcom_movea

]

It doesnt output the location of the hole that it is dialing in now. It outputs an X0. Y0. instead of the A and B values.

 

 

code:

G00 G20 G49 G40 G80 G90 G53 Z0.

N1 T1 M06 (SPINDLE PROBE)

G00 G17 G90 G54

X1. Y0. S0 M05

G43 H1 Z3.

G94

Z.1

G320 D.75 K-.5 E.25 W101 X0. Y0.

G0 Z3.

G80

G90 G53 Z0.

M160

M30

%

Link to comment
Share on other sites

Figures... biggrin.gif That little code is hard to read on my web browser. (grin)

 

The output still gives me an A0. B0. I assume that is because the location is called up prior to the probing code?

 

code:

G00 G20 G49 G40 G80 G90 G53 Z0.

N1 T1 M06 (SPINDLE PROBE)

G00 G17 G90 G54

X1. Y0. S0 M05 <----

so the incremental value from there to itself is 0.?

 

And is my thinking right here? The incremental value from the wcs origin to the probed hole location will still be a positive number whether absolute "or" incremental?

 

These values must be converted to negative numbers like as for I's and J's of an arc (distance from the start location back to the center)

 

Just to be clear, If the output is A1.0 B1.0 now, It needs to be A-1.0 B-1.0. If it were already A-1.0 and B-1.0, it would need to be A1.0 B1.0.

 

From the book,

 

The A and B values are the distance and direction from the present probing position to the workpiece zero point.

Link to comment
Share on other sites

I still think somewhere you are going to have to store there values from the zabs and xabs and then call them up. Drilling cycles do weird things with X, Y, and Z when you start changing the way they are called.

 

I tried this and it worked perfectly so not sure why, but here is what I got when I changed my post to like this.

 

code:

# --------------------------------------------------------------------------

# Probe Shared Index deg Format Statements

# --------------------------------------------------------------------------

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 4 drl_prm6$ #GOTO statement Number to use

fmt A 2 nueraaxis #A axis output for Probing Cycle #<---- Added 6-23-10

fmt B 2 nuerbaxis #B axis output for probing Cycle #<---- Added 6-23-10

# --------------------------------------------------------------------------

# Probe Shared Index deg Varabiles

# --------------------------------------------------------------------------

offupdate = peckclr$

trueposzone = peck2$

cangtoler = peck1$

covertrav = peck2$

feattoler = peck1$

nueraaxis = zabs #<---- Added 6-23-10

nuerbaxis = yabs #<---- Added 6-23-10

 

 

 

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,

[

pbld, n$, *strg659610, prorefht, e$

pbld, n$, *strg659611, *nuerbaxis, *nueraaxis, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if feattoler > 0, *feattoler], e$

pbld, n$, *strg659610, *prorefht, e$

]

if babs = 90,

[

pbld, n$, *strg659610, prorefht, e$

pbld, n$, *strg659611, *nuerbaxis, *nueraaxis, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if feattoler > 0, *feattoler], e$

pbld, n$, *strg659610, *prorefht, e$

]

if babs = 0,

[

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, *strg659811, *nuerbaxis, *nueraaxis, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if feattoler > 0, *feattoler], e$

pbld, n$, *strg659810, *prnrefht, e$

]

pcom_movea

]

Here is the posted code:

code:

(TIME         - 11:47 AM)

(PROGRAM REV - N/C)

(POST LICENSE - V&M PRECISION)

(T31 | 1/16 DRILL | EIA SUFFIX - .00 | MAZATROL SUFFIX - .00)

(TOOL DIAMETER PROGRAMMED - .0625 | TOOL RADIUS PROGRAMMED - 0.)

(--------------------------------------------------------------------------)

G20 G49 G69 G80 G40 G17 G90 G94

M205

 

N1

(T31 | 1/16 DRILL | EIA SUFFIX - .00 | MAZATROL SUFFIX - .00)

(CUST 9.....)

(TOOL DIAMETER PROGRAMMED - .0625 | TOOL RADIUS PROGRAMMED - 0.)

(WCS NAME - TOP)

(CPLANE NAME - CORRECT BACK)

(TOOLPATH GROUP - E1066100)

G20 G10.9 X0

G91 G30 P3 X0.

G30 P3 Z0.

T31.00 T31 M6

G91 G30 P3 X0. Z0.

G90

M200

M212

G94 G0 G54.1 P1 C0.

M108

G0 B90.

M107

G97 S6000 M03

G68 X0. Y0. Z0. I0. J1. K0. R90.

G0 H31

X4.07 Z2.

Y-1.05

G65P9610 X1.1

G65P9611 B-1.05 A-1.6973 M.015 H.1

G65P9610 X1.1

G69

G91 G30 P3 X0.

G30 P3 Z0. M05

G90

M01

G30 P3 Y0.

M30

Like i said I am a hack, but it gets the job done in a simple way I can understand. This example if for our Integrex you will have to change for your machine. headscratch.gifheadscratch.gif

 

HTH

Link to comment
Share on other sites

Ah, then you do not need the incremental value, you need the absolute value inverted. In that case, I would format two new variables for output:

code:

fmt  X  2   probe_x     #Probe X position output

fmt Y 2 probe_y #Probe Y position output

and then use this in the postblock:

code:

      if drillcyc$ = 9, #Probe bore diameter or boss and reset fixture offset

[

pdrlcommonb

probe_x = xabs * -1, probe_y = yabs * -1 #Probe values are from current location back to origin

pbld, n$, prorefht, e$

pbld, n$, "G320", diadwell, zbossdep, [if proappr > 0, *proappr], [if wcsupdate > 0,*wcsupdate] *probe_x, *probe_y, e$

pbld, n$, "G0", *proinitht, e$

pcom_movea

]

Link to comment
Share on other sites

Here you go:

 

code:

# ---------------------------------------------------------------------

# Macro Variables as I need them for Probing using Drill Cycles

# ---------------------------------------------------------------------

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

scos 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

sfeature FEATURE #Comments for Probing of Features

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

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

 

# --------------------------------------------------------------------------

# Probing String Varaibles Put here to keep post cleaner

# --------------------------------------------------------------------------

strg659730 "G65P9730" #Printing Macro Call

strg659732 "G65P9732" #Offset Update Macro

strg659810 "G65P9810" #Probe Protect Cycle

strg659811 "G65P9811" #XYZ Single Surface Measure

strg659812 "G65P9812" #Web / Pocket Measure

strg659814 "G65P9814" #Bore / Boss

strg659815 "G65P9815" #Internal Corner

strg659816 "G65P9816" #External Corner

strg659817 "G65P9817" #4th Axis X measure - Horiziontal

strg659818 "G65P9818" #4th Axis Y Measure - Horiziontal

strg659819 "G65P9819" #Bore / Boss on PCD

strg659820 "G65P9820" #Stock Allowance Measure

strg659821 "G65P9821" #Angle Single Surface Measure

strg659822 "G65P9822" #Angle Web / Pocket Measure

strg659823 "G65P9823" #3-Point Bore / Boss Measure

strg659834 "G65P9834" #Feature to Feature Measure

 

# --------------------------------------------------------------------------

# Probe Format Statements

# --------------------------------------------------------------------------

fmt Z 2 prorefht #Z Rapid Position for Rapid

fmt Z 2 prnrefht #Z clearence for Protect Cycle

fmt Z 2 zbossdep #Z Position for Probing

fmt D 2 diadwell #P9614 Bore/Boss Measurement Dia call out

fmt C 2 pcddia #P9819 Bolt Circle Diameter for Measurement

fmt K 2 zpcddep #P9819 Z Depth if doing Bores for a Bolt Circle Measurement

fmt R 2 radclear #Radius Clearance Postive for Od and Negative for Id

fmt S 4 offupdate #Used to Fixture Offsets

fmt Y 2 cyspan #Used for Across Distance

fmt H 2 feattol #Tolerance of Feature being Measured

fmt T 4 toolupdate #Used for Updating Tool Offsets

fmt M 2 trueposzone #True Position Tolerenance Zone

fmt B 2 cangtoler #C axis Tolerance for C-Axis Align Cycle

fmt B 2 corn_angtoler#Angle Tolerance for Internal Corner if not 90 deg corner

fmt Q 2 covertrav #C Axis Overtravel for Probe Amount

fmt 2 drl_prm1$ #Tolerance Vaule for Repeat Loop in Post

fmt X 2 drl_prm2$ #Size to Measure for P9812 Cycle X axis

fmt Y 2 drl_prm3$ #Size to Measure for P9812 Cycel Y axis

fmt W 4 drl_prm10$ #Print Variable for Increment or Reset

fmt 4 drl_prm6$ #GOTO statement Number to use

fmt X 2 xsinsurf #Single Surface for X

fmt Y 2 ysinsurf #Single Surface for Y

fmt Z 2 zsinsurf #Single Surface for Z

fmt Z 2 zcorn #Corner Probing for Z

fmt X 2 xcorn #Corner Probing for X

fmt Y 2 ycorn #Corner Probing for Y

fmt I 2 icorn #Corner Probing for I

fmt J 2 jcorn #Corner Probing for J

fmt 2 xdcorn #Move amount for Corner Cycles

fmt 2 ydcorn #Move amount for Corner Cycles

fmt A 2 apcdang #Angle for 1st Hole on PCd P9819 Measure Cycle

fmt H 2 pcdholtol #Tolerance for Holes in Bolt Hole Circle

 

# --------------------------------------------------------------------------

# Probe Varabiles Defined to Use with Drill Cycles

# --------------------------------------------------------------------------

prorefht = refht$ #Z Rapid Position for Rapid

prnrefht = tosz$ #Z Clearence for Protect Cycle

diadwell = dwell$ #P9814 Bore/Boss Measurement Dia call out

radclear = retr$ #P9814 Bore/Boss R Postive or Negative for clearance on Boss use Postive on Bore Use Negtive

feattol = shftdrl$ #P9811 Single Surface Measure Toleracne of Surface you are Measuring

zbossdep = depth$ #P9814 Bore/Boss Section Default to Boss use 1 to Make it A Bore Measure Cycle

zpcddep = depth$ #P9819 Bolt Circle Measurement Depth for Id Measurement

zsinsurf = depth$ #P9811 Z Axis Single Surface Use

zcorn = depth$ #P9815 Z Axis Corner Probing

cyspan = dwell$ #Used for Across Distance

jcorn = dwell$ #Used for Internal Corner

icorn = retr$ #Used for Internal Corner

offupdate = peckclr$ #Used to Update Workoffsets if no Vaule is Used Nothing is Posted Out

trueposzone = peck2$ #Used for True Position Callout if no Vaule is Used Nothing is Posted Out

toolupdate = peck1$ #Used for Tooloffset Update to a Known Feature if No Value is Used Nothing is Posted Out

cangtoler = peck1$ #Used for C Axis Tolance in 4th Axis Measurements

corn_angtoler = peck1$ #Used for Internal Corner Angle Tolance

covertrav = peck2$ #Used for C Axis Overtravel Adjustment and setting in Cycle

pcddia = peck1$ #Used for Bolt Hole Circle on PCD P9819 Cycle

apcdang = drl_prm1$ #Used for Angle of 1st Hole on PCD P9819 Cycle

xdcorn = drl_prm2$ #Used for Distance of Safe Position in X for Corner Cycles

ydcorn = drl_prm3$ #Used for Distance of Safe Position in Y for Corner Cycles

 

pdrlcst$ #Custom drill cycles 8 - 19 (user option)

#Use this postblock to customize drilling cycles 8 - 19

if drillcyc$ = 8, #XYZ Single Surface Measure

[

pdrlcommonb

if drl_prm2$ <> 0 & drl_prm3$ = 0, #X Axis Single Surface Probing

[

xsinsurf = (xout + drl_prm2$)

pbld, n$, *strg659810, *xsinsurf, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659811, *xout, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659810, *xsinsurf, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm9$ = 1,

[

spaces$ = 0

"#135=#120(STORE 1ST Z PLANE HIT)", e$

]

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[X*AXIS*SINGLE*SURFACE*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*#137[24]*Z*ERROR*IS*#142[24]]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143][24]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

if drl_prm3$ <> 0 & drl_prm2$ = 0, #Y Axis Single Surface Probing

[

ysinsurf = (yout + drl_prm3$)

pbld, n$, *strg659810, *ysinsurf, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659811, *yout, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659810, *ysinsurf, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[Y*AXIS*SINGLE*SURFACE*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]",e$

sdprint, "[","Z*POSITION*IS*#137[24]*Z*ERROR*IS*#142[24]*]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

if drl_prm2$ = 0 & drl_prm3$ = 0, #Z Axis Single Surface Probing

[

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659811, *zsinsurf, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$,

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[Z*AXIS*SINGLE*SURFACE*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*#137[24]*Z*ERROR*IS*#142[24]*]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

pcom_movea

]

if drillcyc$ = 9, #Web/Pocket Measure

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, *strg659812,[if drl_prm2$ > 0, *drl_prm2$],[if drl_prm3$, *drl_prm3$],[if dwell$ = zero, *zbossdep],[if dwell$ = 1,[if radclear, *radclear]],

[if feattol, *feattol],[if offupdate, *offupdate],[if trueposzone, *trueposzone],[if toolupdate, *toolupdate],[if drl_prm10$, *drl_prm10$],e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS",*zbossdep,"]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

pcom_movea

]

if drillcyc$ = 10, #Bore/Boss

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659814, *diadwell, [if shftdrl$ = zero, *zbossdep], [if radclear, *radclear], [if offupdate > 0,*offupdate],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

#sdprint, "[","Z*POSITION*IS",*zbossdep,"]", e$

sdprint, "[","*DIA*#138[24]*ERROR*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

pbld, n$, *sg00, *zabs, e$

pcom_movea

]

if drillcyc$ = 11, #Internal Corner Measure

[

pdrlcommonb

if icorn <> 0 & jcorn = 0, #Internal Corner Probing Using I

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659815, *xout, *yout, [if shftdrl$, *icorn], [if corn_angtoler > 0, *corn_angtoler], [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[iNTERNAL*CORNER*PROBING*USING*I]", e$

sdprint, "[ANGLE*OF*X*SURFACE*IS*#139[24]*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

if icorn = 0 & jcorn <> 0, #Internal Corner Probing Using J

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659815, *xout, *yout, [if retr$, *jcorn], [if corn_angtoler > 0, *corn_angtoler], [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[iNTERNAL*CORNER*PROBING*USING*J]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[ANGLE*OF*Y*SURFACE*IIS*#142[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

if icorn <> 0 & jcorn <> 0, #Internal Corner Probing Using I and J

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659815, *xout, *yout, [if dwell$, *icorn], [if retr$, *jcorn], [if corn_angtoler > 0, *corn_angtoler], [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[iNTERNAL*CORNER*PROBING*USING*I*AND*J]", e$

sdprint, "[ANGLE*OF*X*SURFACE*=*#139]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[ANGLE*OF*Y*SURFACE*IS*#142[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

if icorn = 0 & jcorn = 0, #Internal Corner Probing 90 deg Corner

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *sg00, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659815, *xout, *yout, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

"POPEN", e$

sdprint, "[", sopcomment, "]", e$

sdprint, "[iNTERNAL*CORNER*90*DEG*CORNER*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

"PCLOS", e$

spaces$ = 1

]

]

pcom_movea

]

if drillcyc$ = 12, #External Corner Probing Routine

[

pdrlcommonb

if icorn <> 0 & jcorn = 0, #Internal Corner Probing Using I

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659816, *xout, *yout, [if shftdrl$, *icorn], [if corn_angtoler > 0, *corn_angtoler], [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[EXTERNAL*CORNER*PROBING*USING*I]", e$

sdprint, "[ANGLE*OF*X*SURFACE*IS*#139[24]*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

if icorn = 0 & jcorn <> 0, #Internal Corner Probing Using J

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659816, *xout, *yout, [if retr$, *jcorn], [if corn_angtoler > 0, *corn_angtoler], [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[EXTERNAL*CORNER*PROBING*USING*J]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[ANGLE*OF*Y*SURFACE*IS*#142[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

if icorn <> 0 & jcorn <> 0, #Internal Corner Probing Using I and J

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659816, *xout, *yout, [if dwell$, *icorn], [if retr$, *jcorn], [if corn_angtoler > 0, *corn_angtoler], [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[EXTERNAL*CORNER*PROBING*USING*I*AND*J]", e$

sdprint, "[ANGLE*OF*X*SURFACE*IS*#139[24]*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[ANGLE*OF*Y*SURFACE*IS*#142[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

if icorn = 0 & jcorn = 0, #Internal Corner Probing 90 deg Corner

[

if drl_prm1$ = 1,

[

xcorn = xout + xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 2,

[

xcorn = xout - xdcorn

ycorn = yout + ydcorn

]

if drl_prm1$ = 3,

[

xcorn = xout - xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 4,

[

xcorn = xout + xdcorn

ycorn = yout - ydcorn

]

if drl_prm1$ = 0, result = mprint(scornerror), exitpost$

if drl_prm1$ > 4, result = mprint(scornerror), exitpost$

pbld, n$, *strg659810, *xcorn, *ycorn, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zcorn, e$

pbld, n$, *strg659816, *xout, *yout, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[EXTERNAL*CORNER*90*DEG*CORNER*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*",*zcorn,"]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

pcom_movea

]

if drillcyc$ = 13, #4th Axis X Measure

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

pcom_movea

]

if drillcyc$ = 14, #4th Axis Y Measure

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, *strg659811, pfyout, pfzout, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

pcom_movea

]

if drillcyc$ = 15, #Bore/Boss on PCD

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659819, *pcddia, *diadwell, [if shftdrl$ = zero, *zbossdep], [if shftdrl$ = one, *zpcddep], [if radclear, *radclear],

[if trueposzone > 0, *trueposzone], [ if apcdang, *apcdang], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

#sdprint, "[","Z*POSITION*IS",*zbossdep,"]", e$

sdprint, "[","*DIA*#138[24]*ERROR*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

pcom_movea

]

if drillcyc$ = 16, #Bore/Boss

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659814, *diedwell, pxout, pyout, pzout, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

pcom_movea

]

if drillcyc$ = 17, #C Axis Measure

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, *strg659618, cyspan, pfxout, pfzout, [if offupdate > 0,*offupdate], [if cangtoler > 0, *cangtoler], [if drl_prm2$ > 0, *drl_prm2$], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

*sg00 ,*sg91, sg28, "Z0", e$

*sg00, *sg90, [if workofs$ > 53, *g_wcs], [if workofs$ < 49 , "G54.1", *p_wcs],"C20.",e$

spaces$ = 0

sif,sbracketopen,spound,sm152,sgt,drl_prm1$,sbracketclose,sgoto,"1000", e$

spaces$ = 1

pcom_movea

]

if drillcyc$ = 18, #Bore/Boss on PCD

[

pdrlcommonb

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, *strg659819, diedwell, pfyout, pfzout, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 19,

[

pdrlcommonb

pbld, n$, *strg659810, prnrefht, e$

pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if offupdate > 0,*offupdate], [if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], 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 drl_prm2$ <> 0 & drl_prm3$ = 0, #X Axis Single Surface Probing

[

xsinsurf = (xout + drl_prm2$)

pbld, n$, *strg659810, *xsinsurf, *yout, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659811, *xout, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659810, *xsinsurf, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm9$ = 1,

[

spaces$ = 0

"#135=#12X(STORE 1ST Z PLANE HIT)", e$

]

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[X*AXIS*SINGLE*SURFACE*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*#137[24]*Z*ERROR*IS*#142[24]*]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

if drl_prm3$ <> 0 & drl_prm2$ = 0, #Y Axis Single Surface Probing

[

ysinsurf = (yout + drl_prm3$)

pbld, n$, *strg659810, *ysinsurf, *xout, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659811, *yout, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *zsinsurf, e$

pbld, n$, *strg659810, *ysinsurf, e$

pbld, n$, *strg659810, *prorefht, e$

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[Y*AXIS*SINGLE*SURFACE*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*#137[24]*Z*ERROR*IS*#142[24]*]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

if drl_prm2$ = 0 & drl_prm3$ = 0, #Z Axis Single Surface Probing

[

pbld, n$, *strg659810, *xout, *yout, e$

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659811, *zsinsurf, [if offupdate > 0,*offupdate], [if feattol, *feattol],

[if trueposzone > 0, *trueposzone], [if toolupdate > 0, *toolupdate], [if drl_prm10$ > 0, *drl_prm10$], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$,

if drl_prm10$,

[

spaces$ = 0

sdprint, "[", sopcomment, "]", e$

sdprint, "[Z*AXIS*SINGLE*SURFACE*PROBING*]", e$

sdprint, "[","*X*#135[24]*ERROR*#140[24]*]", e$

sdprint, "[","*Y*#136[24]*ERROR*#141[24]*]", e$

sdprint, "[","Z*POSITION*IS*#137[24]*Z*ERROR*IS*#142[24]*]", e$

sdprint, "[","SIZE*OF*FEATURE*IS*#138[24]*ERROR*IS*#143[24]*]", e$

sdprint, "[","*TRUE*POSITION*ERROR*#145[24]*]", e$

sdprint, "[","-------------------------------------------","]", e$

spaces$ = 1

]

]

pcom_movea

]

if drillcyc$ = 9,

[

pdrlcommonb

result = mprint(sperror), exitpost$

pcom_movea

]

if drillcyc$ = 10,

[

pdrlcommonb

result = mprint(sperror), exitpost$

pcom_movea

]

if drillcyc$ = 11,

[

pdrlcommonb

result = mprint(sperror), exitpost$

pcom_movea

]

if drillcyc$ = 12,

[

pdrlcommonb

 

pcom_movea

]

if drillcyc$ = 13,

[

pdrlcommonb

pbld, n$, `strg659810, `prnrefht, e$

pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 14,

[

pdrlcommonb

pbld, n$, `strg659810, `prnrefht, e$

pbld, n$, *strg659811, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 15, #Web/Pocket Measure

[

pdrlcommonb

pbld, n$, `strg659810, `prnrefht, e$

pbld, n$, *strg659812, diedwell, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 16, #Bore/Boss

[

pdrlcommonb

pbld, n$, `strg659810, `prnrefht, e$

#pbld, n$, *strg659814, diedwell, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 17,

[

pdrlcommonb

pbld, n$, `strg659810, `prnrefht, e$

pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 18,

[

pdrlcommonb

pbld, n$, `strg659810, `prnrefht, e$

pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pcom_movea

]

if drillcyc$ = 19,

[

pdrlcommonb

pbld, n$, *strg659810, *prorefht, e$

pbld, n$, `strg659810, `prnrefht, e$

pbld, n$, "G65P9818", diedwell, pfyout, pfzout, [if trueposzone > 0, *trueposzone], e$

pbld, n$, *strg659810, *prnrefht, e$

pbld, n$, *strg659810, *prorefht, e$

pcom_movea

]


HTH

  • Like 1
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...