0% found this document useful (0 votes)
845 views

Conquest NUM Inch Post

This document summarizes the configuration and programming details for a Cosmec Conquest 250/510 vertical router machine with 3 axes (XYZ) and an absolute coordinate system. It describes the machine's two router heads, vertical and horizontal multidrill capabilities, and saw. It provides information on tool offsets, operation types, vacuum zones, and origins for proper programming of the machine.

Uploaded by

imaname
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
845 views

Conquest NUM Inch Post

This document summarizes the configuration and programming details for a Cosmec Conquest 250/510 vertical router machine with 3 axes (XYZ) and an absolute coordinate system. It describes the machine's two router heads, vertical and horizontal multidrill capabilities, and saw. It provides information on tool offsets, operation types, vacuum zones, and origins for proper programming of the machine.

Uploaded by

imaname
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 36

Control : Num 1020 Machine : Cosmec Conquest 250/510 Machine Cfg : Vertical Router Customer : Post Installer: No of axis

: 3 XYZ Coord.System : ABS Units : Inch Z-Plane : Vertical Contact : Smart Source Dept. Tel : (704)587-3400 E-Mail : [email protected] Dealer Name : Holz-Her U.S. Inc. Ver 1 DATE : 15 July 2003 Notes : 4 x 8 table machine with one 8 tool router spindle and one 16 sp indle multidrill head : The machine also has a saw that can only cut IN the X axis : : Router head tools use T1 - T8 : Height offsets default to D1 - D8 (same as T#) : Offsets entered IN AlphaCAM over 8 will override the default val ue if allowed with OFFSET_OVERIDE : : Vertical Multidrills are programmed using the US Licom Multidril l Macro V3.3.0 or higher : They are assigned G (1-2) and P (1-6) codes by the macro : Drills 1 - 6 are IN X axis and 6 - 10 IN Y axis. : Drill 6 is set as (G=1 P=6) and (G=2 P=1) both with offset D20 : Height offsets are automatically output as D15 - D24 for Drill T ools 11-16 : : Horizontal boring drills may be programmed by the multidrill mac ro or manually dropped. : The macro will assign the P code (1-6) G values are hard coded : They can also be dropped by specifying T11 - T16. : Offset values are set to D25-30 : : The saw must be called as T500 D31. : Tool compensation is NOT allowed when using the saw. : : There MAY be two vacuum zones with pop - up pins. : The NBM macro automatically applies both zones. : : Operation Type is flagged as follows: : OP_TYPE = : 0 = First operation : 1 = Router operation : 2 = Router drilling operation : 3 = Vertical multidrilling operation : 4 = Horizontal multidrilling operation : 5 = Horizontal manual boring operation : 6 = Saw Operation : : There is a Vacuum check code (M59 M69) which is also used to che ck the mats. : Set VAC_CHECK ( ) from <0> to <1> for machines with mats or manu al vacuum locks. : Some machines which only use program lock (M50 M60) will accept the check codes : Origin values set from machine memory E values E80000-E80008

: Please see setup sheet 'Origins Variables.DOC' : for placement of values and examples : : 10-02-03 Removed comp ON rapid moves : : 10-15-03 Removed $ from drilling sub lines : :************* Now Post VERS. 10.15.03 Inch *************** : 12-10-03 Added logic to remove extra % values : : 01-16-04 Added logic to select pumps to go ON or OFF between nes ted sheets : Added origin logic : :************* Now Post VERS. 01.16.04 Inch *************** : 03-15-04 Changed $ 716 value to 1 : 03-17-04 Added an M100 to switch-over from Group 1 and 2 drills to Group 3 drills : :************* Now Post VERS. 03.17.04 Inch *************** : : 09-09-04 Updated Origin code : :************* Now Post VERS. 09.09.04 Inch *************** : $------------------------- PROGRAM LEADING/TRAILING LINES ------------------$5 $STORE, $RUN and $RECALL - See manual Appendix A for details '' $10 File LEADING lines $LET DES_PRG = "?" $LET OLD_TOOL = 0 $LET PODS = 0 ''Initialize flag for pods $IF CAB2CAM = 1 GOTO 5 ''If coming from Licom NBM-NC mac ro $ENDIF $IF SOLIDCAM = 1 GOTO 6 ''If coming from Cabinet Vision S olidCAM $ENDIF $LL 4 $IF HZW - LZW > 0 ''If not coming from NBM or Solid CAM and part has thickness $LET POD_PROMPT = "?" ''prompt for whether pods are use d or not $GOTO 7 $ENDIF $GOTO 8 '' $LL 5 ''If coming from NBM and SHX = 0 then this is horizontal boring operation $IF SHX = 0 ''We will need to use pods to lif t part $LET PODS = 1 $ENDIF $GOTO 8 '' $LL 6 $LET CAB2CAM = 1 ''If output is from SolidCAM the post should run the same as NBM $IF NEST = 0 ''If NEST = 0 we will need to use pods to lift part

$LET PODS = 1 $ENDIF $GOTO 8 '' $LL 7 $IF POD_PROMPT = 1 ''If answer = yes $LET PODS = 1 $ELSEIF POD_PROMPT = 2 ''If answer = no $LET PODS = 0 $ELSE ''If answer is not 1 or 2 prompt again $GOTO 4 $ENDIF '' $LL 8 $IF SHN < 2 '' IF SINGLE PROGRAM OR FIRS T SHEET TA 12-10-03 %[FNM] '' PROGRAM NUMBER and progra m start point $ENDIF $IF NSH > 1 N[N] $0 SHEET #[SHN] OF [NSH] ''If nesting output sheet nu mber $ENDIF (PROGRAM PRODUCED - [DAT]) (CONQUEST 250 / 510 W/NUM 1020) $IF PUMP_2 = 1 (WITH 2 VACUUM PUMPS) $ENDIF $IF ZONE_2_PINS = 1 (WITH ZONE 2 PINS) $ENDIF (POST VERS. 09.09.04 Inch) ''----------------------------------------------------------------------------------------------------------------------$IF TIMER = 1 ''If the timer fuction is ac tive then continue $LET TIME = TIM $LET MINUTES=MOD(TIM,60) (TIME FOR THIS SHEET = [TIM/60] MIN.[MINUTES] sec. ) $LET TOTALTIME = TOTALTIME + TIME $ENDIF ''-----------------------------------------------------------------------------------------------------------------------$IF SHN < 2 ''IF SINGLE PROGRAM OR FIRST SHEET TA 12-10-03 N[N] $0 [DES_PRG] ''Program description $ENDIF N[N] G70 G40 G90 ''Set to inch, cancel canned cycles and diameter offsets, absolute mode N[N] G80 ''Cancle any canned cycle N[N] G17 ''Set XY plane N[N] G00 G52 Z0 ''Zero return Z axis router head N[N] M22 ''Head 1 up N[N] M100 ''All drill spindles up and motor off N[N] M05 ''Head 1 power off '' $LL 10

$IF SHN > 1 $LET CAB2CAM = 1 $IF CAB2CAM = 1 olidCAM default to both zones $LET ZONE = 3 $ELSE $LET ZONE = "?" $ENDIF $IF ZONE_2_PINS = 0 pins, N[N] M120 $GOTO 12 $ENDIF $IF ZONE = 1 N[N] M120 zone $ELSEIF ZONE = 2 N[N] M122 zone $ELSEIF ZONE = 3 N[N] M120 ones N[N] M122 $ELSE ther than 1,2, or 3 prompt again $GOTO 10 $ENDIF $LL 12 N[N] M50 $IF PUMP_2 = 1 N[N] G04 F2 wer N[N] M52 $ENDIF N[N] M00 load machine $IF ZONE = 1 N[N] M54 $ELSEIF ZONE = 2 N[N] M56 $ELSE N[N] M58 $ENDIF $IF ZONE_2_PINS = 0 pins, N[N] M121 $GOTO 13 $ENDIF $IF ZONE = 1 N[N] M121 one $ELSEIF ZONE = 2 N[N] M123 zone $ELSEIF ZONE = 3 N[N] M121 nes

''If coming from NBM-NC or S ''Use both zones ''Else prompt user for ZONE ''Machine only has 1 set of ''Lift set 1

''Raise locating pins first ''Raise locating pins second ''Raise locating pins both z ''If user entered anything o

''Pump 1 ''2 second delay to save po ''Pump 2 ''Program execution pause to ''Lock vacuum zone 1 ''Lock vacuum zone 2 ''Lock vacuum zone 1 & 2 ''Machine only has 1 set of ''Drop set 1

''Drop locating pins first z ''Drop locating pins second ''Drop locating pins both zo

N[N] M123 $ENDIF $LL 13 $IF PODS = 1 GOTO 20 ''If program requires pods J ump to pod area $ENDIF $IF ZONE = 2 ''If right zone use Origin # 2 N[N] (Origin 2) N[N] L1=UE80000 - 0 ''Set X offset value N[N] L2=UE80001 + 0 ''Set Y offset value N[N] L3=UE80002 + 0 ''Set Z offset value N[N] G59 XL1 YL2 ZL3 $ELSE N[N] (Origin 1) ''Otherwise use Origin #1 N[N] G59 X0 Y0 Z0 $ENDIF $GOTO 99 '' $LL 20 ''Origins for pods $IF ZONE = 2 ''If right zone use Origin # 4 N[N] (Origin 4) N[N] L1=UE80006 - 0 ''Set X offset value N[N] L2=UE80007 + 0 ''Set Y offset value N[N] L3=UE80008 - UE62000 + 0 ''Set Z offset value N[N] G59 XL1 YL2 ZL3 $ELSE N[N] (Origin 3) ''Otherwise use Origin #3 N[N] L1=UE80003 + 0 ''Set X offset value N[N] L2=UE80004 + 0 ''Set Y offset value N[N] L3=UE80005 - UE62000 + 0 ''Set Z offset value N[N] G59 XL1 YL2 ZL3 $ENDIF '' $LL 99 ''----------------------------------------------------------------------------------------------$12 Main Program LEADING lines $LET DEBUG = 0 ''Change this value to a 1 to act ivate Debug areas. $LET LASTSUM = 0 ''Initialize multidrill sum varia ble $LET LASTMASTER = 0 ''Initialize multidrill masterdri ll variable $LET OP_TYPE = 0 ''Initialize operation type flag $LET SAME_MULTI = 0 ''Initialize boring face flag $LET LAST_FACE = 0 ''Initialize last boring face $LET SAW_FLAG = 0 ''Initialize saw flag ''----------------------------------------------------------------------------------------------$15 Main Program TRAILING lines $IF OP_TYPE = 2 ''If last operation was router dr illing N[N] G80 ''Cancel canned drilling cycle $ELSEIF OP_TYPE = 3 ''If last operation was vertical multidrilling N[N] G80 ''Cancel canned drilling cycle $ENDIF $IF OP_TYPE > 2 ''If last operation was using hea

d 2 N[N] M100 head $ENDIF N[N] G00 G52 Z0 N[N] M05 N[N] M22 N[N] M100 head N[N] M115 $IF ZONE = 1 N[N] G00 G52 X1.5 Y48 N[N] M55 $ELSEIF ZONE = 2 N[N] G00 G52 X1.5 Y48 N[N] M57 $ELSE N[N] G00 G52 X1.5 Y48 N[N] M59 $ENDIF $IF NSH > 1 GOTO 70 than one check if this is last sheet $ENDIF N[N] M51 $IF PUMP_2 = 1 N[N] M53 $ENDIF N[N] M02 $GOTO 99 '' $LL 70 $IF PUMP_OFF = 0 GOTO 71 o jump to next section $ENDIF N[N] M51 $IF PUMP_2 = 1 N[N] M53 $ENDIF $LL 71 $IF SHN <> NSH N[N] $0 LOAD NEW SHEET N[N] M00 to be loaded $GOTO 99 $ENDIF N[N] M51 $IF PUMP_2 = 1

''Raise all drills turn off drill ''Zero return Z axis router head ''Head 1 power off ''Raise head 1 ''Raise all drills turn off drill ''Raise Hood head 1 ''Zero return X and Y axis ''Vacuum release first zone ''Zero return X axis ''Vacuum release second zone ''Zero return X and Y axis ''Vacuum release both zones ''If number of sheets is greater ''Turn off pump 1 ''If machine has pump 2 then ''Turn off pump 2 ''End program

''If PUMP_OFF between sheets is n ''Turn off pump 1 ''If machine has pump 2 then ''Turn off pump 2 ''If not last sheet ''For nesting to allow new sheet

''Turn off pump 1 if last sheet ''If machine has pump 2 then

N[N] M53 ''Turn off pump 2 $ENDIF N[N] M02 ''Program end $GOTO 99 $LL 99 '' $17 File TRAILING Lines $----------------------- RAPID MOVES ---------------------------------------$20 Rapid Move IN XY

$IF DEBUG = 1 *** Rapid Move IN XY $20 *** OP TYPE = [OP_TYPE] [TC] IN =[IN] OUT = [OUT] MC = [MC] $ENDIF $IF PAT(1) > 0 GOTO 99 $IF SAW_FLAG > 0 GOTO 10 around $IF OP_TYPE = 0 GOTO 99 nd $IF OP_TYPE > 1 GOTO 99 $IF MOT > 20 GOTO 99 $IF MC = 1 comp on rapid $GOTO 90

''If this is a Saw Operation jump ''If drilling or boring jump arou

''This is the comp move only with ''Jump to error 10-02-03 T.A.

$ELSE ''Applies to all other lines N[N] G0 X[GAX] Y[GAY] Z[GAZ] $ENDIF $GOTO 99 '' $LL 10 ''---- Saw Area ---$IF SAW_FLAG = 1 ''If first XY rapid after toolcha nge $LET FIRST_X = [GAX] ''Capture the values needed for o utput in $40 $LET FIRST_Y = [GAY] ''and jump around $GOTO 99 $ELSEIF SAW_FLAG = 4 ''If SAW_FLAG = 4 then this is a second or subsequent saw slot N[N] G0 X[GAX] Y[GAY] $ENDIF $GOTO 99 $LL 90 $MSG ***** MACHINE COMP CANNOT BE DONE ON RAPID MOVES MOVES ***** $EXIT '' $LL 99 $---------------------------------------------------------------------------$21 3D Rapid Move IN XYZ N[N] G0 X[GAX] Y[GAY] Z[GAZ] $---------------------------------------------------------------------------$25 Rapid Move IN Z only $IF DEBUG = 1 *** Rapid Move IN Z only $25 *** OP TYPE = [OP_TYPE] [TC] IN =[IN] OUT = [OUT] MC = [MC] $ENDIF $IF SAW_FLAG > 0 GOTO 10 ''If this is a Saw Operation jump around $IF OP_TYPE = 0 GOTO 99 ''If drilling or boring jump arou nd $IF OP_TYPE > 1 GOTO 99 $IF LRB = 1 ''If Last Rapid Before cutting N[N] G0 Z[GAZ] ''Move in Z $GOTO 99 ''Then exit $ENDIF $IF FRA = 1 ''If First Rapid After cutting N[N] G0 Z[GAZ]

$ENDIF $IF MC = 1 ut a G40 to cancel it N[N] G40 $ENDIF $GOTO 99 '' $LL 10 $IF SAW_FLAG = 1 r toolchange for saw $LET FIRST_Z = [GAZ] $GOTO 99 $ELSEIF SAW_FLAG = 3 rst Z rapid after cut N[N] G0 Z[GAZ] $LET SAW_FLAG = 4 a second or subsequent saw slot $GOTO 99 $ELSEIF SAW_FLAG = 4 second or subsequent saw slot $LET FIRST_Z = [GAZ] $ENDIF '' $LL 99 $----------------------- MACHINING FEED MOVES $40 Machining FEED lines $IF DEBUG = 1 *** Machining Feed lines - $40 *** OP TYPE = [OP_TYPE] IN =[IN] OUT = [OUT] MC = [MC] $ENDIF $IF SAW_FLAG > 0 GOTO 50 around $IF MC + IN = 2 hout comp on rapid N[N] G1 [TC] X[GAX] Y[GAY] Z[GAZ] F[F] S[S] $ELSEIF MC + OUT = 2 hout comp on rapid N[N] G1 [TC] X[GAX] Y[GAY] Z[GAZ] F[F] S[S] $ELSE N[N] G1 X[GAX] Y[GAY] Z[GAZ] F[F] $ENDIF $GOTO 99 '' $LL 50 $IF SAW_FLAG = 1 the feed template $LET Z_FEED = [GAZ] rate $LET Z_FRATE = [F] $LET SAW_FLAG = 2 and jump around $GOTO 99 $ELSEIF SAW_FLAG = 2 GOTO 52 the feed template $ELSEIF SAW_FLAG = 4 second or subsequent saw slot $LET Z_FEED = [GAZ] rate

''If Comp on Rapid was used, outp

''---- Saw Area ---''If this is the first rapid afte ''Capture the Safe Rapid Z level ''And jump around ''If SAW_FLAG = 3 then this is fi ''Modify setting in case there is ''and then jump around ''If SAW_FLAG = 4 then this is a ''Capture the Z value

-------------------------------

''If this is a Saw Operation jump ''If this is the lead-in line wit ''If this is a lead-out line wit ''Applies to all other lines

''Jump around ''---- SAW AREA ---''If this is the first time into ''Capture the Z position and feed ''Modify setting for next time in ''If this is the second time into ''If SAW_FLAG = 4 then this is a ''Capture the Z position and feed

$LET Z_FRATE = [F] $LET SAW_FLAG = 5 ''Modify setting for next time in and jump around $GOTO 99 $ELSEIF SAW_FLAG = 5 GOTO 58 ''If this is the second time into the feed template $ENDIF '' $LL 52 $IF [IX] <> 0 GOTO 55 ''If IX is not zero then the saw should be cutting in X axis $IF [IY] <> 0 GOTO 90 ''If IX is 0 and IY is not then t he slot is in Y axis '' $LL 55 $IF [IY] <> 0 GOTO 95 ''If IX is not zero and IY is not zero then this is an angular $MODAL OFF N[N] G0 X[FIRST_X] Y[FIRST_Y] $MODAL ON N[N] Z[FIRST_Z] N[N] G1 Z[Z_FEED] F[Z_FRATE] N[N] X[GAX] Y[GAY] Z[GAZ] F[F] $LET SAW_FLAG = 3 ''Modify setting for Z rapid area ($25) $GOTO 99 '' $LL 58 $IF [IX] <> 0 GOTO 60 ''If IX is not zero then the saw should be cutting in X axis $IF [IY] <> 0 GOTO 90 ''If IX is 0 and IY is not then t he slot is in in Y axis '' $LL 60 $IF [IY] <> 0 GOTO 95 ''If IX and IY are both not zero this is an angular cut - output message N[N] Z[FIRST_Z] N[N] G1 Z[Z_FEED] F[Z_FRATE] N[N] X[GAX] Y[GAY] Z[GAZ] F[F] $LET SAW_FLAG = 3 ''Modify setting for Z rapid area ($25) $GOTO 99 '' $LL 90 $MSG **** This machine cannot use the saw **** **** to cut a slot IN the Y axis **** $EXIT '' $LL 95 ''Output this message if operator trying to do angular cut with saw. $MSG *** Saw cannot cut angular slots *** $EXIT '' $LL 99 $---------------------------------------------------------------------------$50 Feed CW arc (APS will automatically limit arcs to 180 degrees maximum) $IF MC + IN + FF = 3 ''If this is a lead-in line $GOTO 90

$ELSEIF MC + OUT + FF = 3 $GOTO 90 $ELSE

''If this is a lead-out line ''Applies to all other lines

N[N] G2 X[GAX] Y[GAY] Z[GAZ] R[R] F[F] $ENDIF $GOTO 99 '' $LL 90 $MSG ***** MACHINE COMP CANNOT BE DONE ON G02 OR G03 MOVES ***** ***** Select Line/Arc lead IN or OUT ***** $EXIT '' $LL 99 $---------------------------------------------------------------------------$60 Feed CCW arc $IF MC + IN + FF = 3 ''If this is a lead-in line $GOTO 90 $ELSEIF MC + OUT + LF = 3 ''If this is a lead-out line $GOTO 90 $ELSE ''Applies to all other lines N[N] G3 X[GAX] Y[GAY] Z[GAZ] R[R] F[F] $ENDIF $GOTO 99 '' $LL 90 $MSG ***** MACHINE COMP CANNOT BE DONE ON G02 OR G03 MOVES ***** ***** Select Line/Arc lead IN or OUT ***** $EXIT '' $LL 99 $------------------------ TOOL CHANGES -------------------------------------$70 Cancel current tool. Use [T] for current tool number if required. $75 Code for CLOCKWISE spindle rotation - entered into variable ROT (or RT) M03 $76 Code for COUNTER-CLOCKWISE spindle rotation - entered into variable ROT M04 $80 Select new tool. Use [T] for new tool number, [S] for spindle speed. $IF DEBUG = 1 *** Select New Tool $80 *** OP TYPE BEGIN $80 = [OP_TYPE] $ENDIF $IF PAT(1) = 1 GOTO 5 ''If multidrilling jump to that a rea $ELSEIF PAT(1) = 2 GOTO 99 ''If slave drill jump out $ENDIF $IF OP_TYPE = 0 GOTO 10 ''If first operation check for op eration type $ELSEIF OP_TYPE < 3 GOTO 2 ''If last operation was router or router drilling op $ENDIF $GOTO 6 '' $LL 2 $IF OLD_TOOL = T GOTO 99 ''Check for same tool used $ENDIF $GOTO 6 ''

$LL 5 $IF OP_TYPE = 0 o nothing $ELSEIF OP_TYPE < 3 router drilling op N[N] G00 G52 Z0 N[N] M05 er spindle off $ELSEIF OP_TYPE = 6 $LET SAW_FLAG = 0 $ELSEIF OP_TYPE > 2 GOTO 99 multidrilling jump out $ENDIF $GOTO 99 '' $LL 6 ---$IF OP_TYPE < 3 router head N[N] G00 G52 Z0 N[N] M05 er spindle off $ELSEIF OP_TYPE = 3 multidrilling N[N] G80 N[N] M100 head N[N] G00 G52 Z0 $ELSEIF OP_TYPE = 4 l multidrilling N[N] M100 head N[N] G00 G52 Z0 $ELSEIF OP_TYPE = 5 l manual boring N[N] M100 head N[N] G00 G52 Z0 $ELSEIF OP_TYPE = 6 N[N] M100 head N[N] G00 G52 Z0 $LET SAW_FLAG = 0 $ENDIF '' $LL 10 $IF T = 500 N[N] M6 T0 N[N] M22 N[N] M101 G=3 P=7 N[N] D31 nt 17 (17 + 14) $LET SAW_FLAG = 1 $LET SAME_MULTI = 0 $LET LAST_FACE = 0 $LET LASTMASTER = 0 ber for evaluation next time multidrilling $LET LASTSUM = 0 s for evaluation next time multidrilling $LET OP_TYPE = 6

''If first operation of program d ''If last operation was router or ''Zero return Z axis ''Raise router spindle; Turn rout ''Reset saw flag ''If last operation was vertical

''---- Routing Cancelation Area ''If last operation was using the ''Zero return Z axis ''Raise router spindle; Turn rout ''If last operation was vertical ''Cancel drilling cycle ''Raise all drills turn off drill ''Zero return Z axis ''If last operation was horizonta ''Raise all drills turn off drill ''Zero return Z axis ''If last operation was horizonta ''Raise all drills turn off drill ''Zero return Z axis ''If last operation was saw ''Raise all drills turn off drill ''Zero return Z axis ''Reset saw flag

''If this is the saw ''Empty the spindle ''Head 1 up ''Drop saw ''Call offset drill head poi ''Initiate saw flag ''Reset boring face flag ''Reset last boring face ''Reset the master drill num ''Reset the sum of all drill ''Set op type to 6 (saw) .

$GOTO 90 $ENDIF $IF T > 8 GOTO 70 than 8 check for manual horizontal bore $ELSEIF T < 1 GOTO 80 error message $ENDIF N[N] T[T] M6 N[N] D[OFS] N[N] [ROT] S[S] n; Set speed N[N] G04 F2 N[N] M116 N[N] M21 $IF OP_TYPE <> 0 GOTO 15 acuum lock (changed from = to <>) T.A. 7-3-02 $ENDIF $IF VAC_CHECK = 0 GOTO 15 upport vacuum checking jump around $ENDIF $IF ZONE = 1 pecified N[N] M71 rst zone N[N] M54 $ELSEIF ZONE = 2 specified N[N] M72 cond zone N[N] M56 $ELSE specified N[N] M71 rst zone N[N] M54 N[N] M72 cond zone N[N] M56 $ENDIF '' $LL 15 $IF OFFSET_OVERIDE = 0 GOTO 16 ed $ENDIF $IF OFS > 8 d an offset over 8 override automatic application N[N] D[OFS] $ENDIF $LL 16 $IF MOT < 20 e is router op $LET OP_TYPE = 1 $ELSE ng or pecking using router spindle $LET OP_TYPE = 2 ng $ENDIF $LET OLD_TOOL = T rison next time $LET SAME_MULTI = 0

''If tool number is greater ''If tool # is < 1 output an ''Tool change ''Call offset ''M13 or M14 turns spindle o ''2 second delay ''Lower hood ''Lower router spindle ''If first operation check v ''If this machine does not s ''If first vacuum zone was s ''Check vacuum locking in fi ''Lock vacuum in first zone ''If second vacuum zone was ''Check vacuum locking in se ''Lock vacuum in second zone ''If both vacuum zones were ''Check vacuum locking in fi ''Lock vacuum in first zone ''Check vacuum locking in se ''Lock vacuum in second zone

''Check if override is allow ''If programmer has specifie ''Use new offset ''If Machining Operation Typ ''Set flag for router op ''Else this is either drilli ''Set flag for router drilli ''Capture T number for compa ''Reset boring face flag

$LET LAST_FACE = 0 ''Reset last boring face $LET LASTMASTER = 0 ''Reset the master drill num ber for evaluation next time multidrilling $LET LASTSUM = 0 ''Reset the sum of all drill s for evaluation next time multidrilling $GOTO 99 '' '' $LL 70 ''---- Manual Horizontal Boring Area ---$IF T < 11 GOTO 80 $ELSEIF T = 11 N[N] M101 G=3 P=1 ''Lower drill 11 D25 ''Call offset $ELSEIF T = 12 N[N] M101 G=3 P=2 ''Lower drill 12 D26 ''Call offset $ELSEIF T = 13 N[N] M101 G=3 P=3 ''Lower drill 13 D27 ''Call offset $ELSEIF T = 14 N[N] M101 G=3 P=4 ''Lower drill 14 D28 ''Call offset $ELSEIF T = 15 N[N] M101 G=3 P=5 ''Lower drill 15 D29 ''Call offset $ELSEIF T = 16 N[N] M101 G=3 P=6 ''Lower drill 16 D30 ''Call offset $ELSEIF T > 16 GOTO 80 $ENDIF $LET SAME_MULTI = 0 ''Reset boring face flag $LET LAST_FACE = 0 ''Reset last boring face $LET LASTMASTER = 0 ''Reset the master drill num ber for evaluation next time multidrilling $LET LASTSUM = 0 ''Reset the sum of all drill s for evaluation next time multidrilling $LET SAW_FLAG = 0 ''Reset saw flag $LET OP_TYPE = 5 ''Set flag for horizontal ma nual boring operation $GOTO 99 '' $LL 80 ''Message given when router head tool numbers or boring head tool $MSG ''Numbers are incorrect *** Tool Number MUST Be Between 1 & 8 For Router **** *** Spindle Or 11 - 16 For Horizontal Boring **** $EXIT '' $LL 90 $IF OP_TYPE <> 0 GOTO 99 ''If first operation no need to check vacuum lock $ENDIF $IF VAC_CHECK = 0 GOTO 99 ''If this machine does not s upport vacuum checking jump around $ENDIF $IF ZONE = 1 ''If first vacuum zone was s pecified N[N] M71 ''Check vacuum locking in fi rst zone

N[N] M54 ''Lock vacuum in first zone $ELSEIF ZONE = 2 ''If second vacuum zone was specified N[N] M72 ''Check vacuum locking in se cond zone N[N] M56 ''Lock vacuum in second zone $ELSE ''If both vacuum zones were specified N[N] M71 ''Check vacuum locking in fi rst zone N[N] M54 ''Lock vacuum in first zone N[N] M72 ''Check vacuum locking in se cond zone N[N] M56 ''Lock vacuum in second zone $ENDIF $LET OP_TYPE = 6 ''Set operation type to saw '' $LL 99 $IF DEBUG = 1 OP TYPE END $80 = [OP_TYPE] $ENDIF $-------------------------- WORK PLANES -----------------------------------$88 Select New Work Plane $IF DEBUG = 1 *** Select New Work Plane $88 *** WVF = [WVF] $ENDIF $IF WVF = 0 ''Top face N[N] G17 ''Set XY plane N[N] G16 R+ (top face) $ELSEIF WVF = 1 ''Front face N[N] G18 ''Set XZ plane N[N] G16 Q(front face) $ELSEIF WVF = 2 ''Right face N[N] G19 ''Set YZ plane N[N] G16 P+ (right face) $ELSEIF WVF = 3 ''Back face N[N] G18 ''Set XZ plane N[N] G16 Q+ (back face) $ELSEIF WVF = 4 ''Left face N[N] G19 ''Set YZ plane N[N] G16 P(left face) $ELSEIF WVF = 5 ''Bottom face N[N] G17 ''Set XY plane N[N] G16 R(bottom face) $ELSEIF WVF = -1 ''None of the above N[N] G17 ''Set XY plane N[N] G16 R+ (other face) $ENDIF $-------------------------- SUBROUTINES -----------------------------------$90 CALL subroutine. Use [SN] for subroutine number. $MSG *** All subroutine calls must be hand coded **** $EXIT $---------------------------------------------------------------------------$100 BEGIN subroutine. Use [SN] for subroutine number. $MSG *** All subroutine calls must be hand coded **** $EXIT $----------------------------------------------------------------------------

$110 END subroutine $MSG *** All subroutine calls must be hand coded **** $EXIT $------------------- REFERENCE ZERO or ORIGIN SHIFT ------------------------$120 Origin shift. Use [OX] and [OY] for values to shift by) N[N] G59 X[OX] Y[OY] ''ORIGIN SHIFT $---------------------------------------------------------------------------$130 Cancel Origin shift. [OX] and [OY] are values by which origin was shifted) N[N] G59 X[-OX] Y[-OY] ''ORIGIN SHIFT '' $LL 99 $----------------------- MACHINE TOOL COMPENSATION -------------------------NOTE: Codes given IN $140 to $142 are assigned to TC as required for each path $140 Code to CANCEL Machine Tool Compensation G40 $141 Code for LEFT Machine Tool Compensation G41 $142 Code for RIGHT Machine Tool Compensation G42 $145 Percentage increase IN blend radius for sharp internal corners 2 $146 Adjust G41/42 code at internal corners for tool radius (1 = Yes 0 = No) 0 $147 Compensation can be applied ON Rapid Approach (1=Yes 0=No) 0 $----------------------- COOLANT OFF/MIST/FLOOD/TOOL CODES -----------------Codes IN $150 to $153 are assigned to CLT as required for each path $150 Code to Turn Coolant OFF $151 Code to apply MIST Coolant $152 Code to apply FLOOD Coolant $153 Code to apply THROUGH TOOL Coolant $------------------------ DRILLING/TAPPING CYCLES --------------------------[ZR] = Retract level, the Z level to rapid down to before feed down begins. [ZB] = Z value of the bottom of the hole, [ZP] = peck DISTANCE. [ZS] = Safe Rapid level, [ZM] = Material top. All values are ABSOLUTE. For LINEAR code use $210/211, $214/215 etc. For SUBROUTINES use $205/206 for X/Y values and $212/216 etc to set Z levels etc before calling the subroutine. $200 CANCEL drill/tapping cycle $IF DEBUG = 1 *** CANCEL drill/tapping cycle $200 *** OP TYPE = [OP_TYPE] $ENDIF $IF OP_TYPE < 3 ''If this is a router drilling op G80 ''Cancel the drilling cycle $LET OP_TYPE = 1 ''OP_TYPE 1 or 2 always treated t he same, so cancel type 2 $ENDIF $---------------------------------------------------------------------------$205 First Hole IN SUBROUTINE. NOTE $205/206 apply to ALL drill/peck etc cycles N[N] X[GAX] Y[GAY] $206 Next holes IN Subroutine N[N] X[GAX] Y[GAY] Z[ZB] $---------------------------------------------------------------------------DRILL cycle - traverse to next hole at SAFE RAPID level [ZS] $210 First Hole $IF DEBUG = 1

*** Drill Cycle - First Hole - Safe Rapid Level $210 *** OP TYPE = [OP_TYPE] $ENDIF $IF WVF > 0 ''Horizontal boring NOT allowed h ere $MSG *** Use Boring cycle for Horizontal Boring *** $EXIT $ENDIF $IF PAT(1) = 1 GOTO 30 ''If this is multidrilling jump t o that area $IF PAT(1) = 2 GOTO 99 ''If this is a slave jump out N[N] G81 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZS] EH[ZR] F[F] $LET OP_TYPE = 2 $GOTO 99 '' $LL 30 $LET CURRENTSUM = PAT(2) ''Capture the current sum value $LET CURRENTMASTER = PAT(4) ''Capture the current master dril l number $IF CURRENTSUM = LASTSUM GOTO 50 ''If the sums are the same check the master $LET SAME_MULTI = 0 ''Reset flag for horizontal borin g $GOTO 55 ''Otherwise change the drill numb ers '' $LL 50 $IF CURRENTMASTER = LASTMASTER ''If the master is the same jump out $LET SAME_MULTI = 1 ''Activate flag for horizontal bo ring $GOTO 65 ''Then do not change drills $ENDIF ''Otherwise change the master '' $LL 55 $IF OP_TYPE = 0 ''If this is the first operation N[N] M6 T0 N[N] M22 ''Empty router spindle and jump a round $GOTO 61 $ELSEIF OP_TYPE = 3 ''If we were multidrilling last t ime N[N] G80 ''Cancel the drilling cycle $GOTO 60 ''If last operation was vertical multidrill no need to empty spindle $ELSEIF OP_TYPE > 3 GOTO 58 ''If last operation was horizonta l multidrilling boring or saw $ENDIF N[N] M6 T0 ''Otherwise empty the router spin dle N[N] M22 ''Raise the first head $GOTO 60 '' $LL 58 $IF CAB2CAM = 1 ''If coming from NBM-NC use panel thickness plus 1" N[N] G0 Z[PANEL_Z + HORZ_CLEAR] $ELSE ''Otherwise use the highest Z plu s 1"

N[N] G0 Z[HZW + HORZ_CLEAR] $ENDIF '' $LL 60 '' $LL 61 N[N] M101 G=[PAT(5)] P=[PAT(3)] ''pat(3) gives the actual M codes needed (set in macro) $LET H_OFFSET = [PAT(4) + 14] ''Offset is set to drill number + 14 N[N] D[H_OFFSET] ''Height offset $IF OP_TYPE > 2 GOTO 62 ''If we were multidrilling no nee d to start head or check vacuum zones $IF VAC_CHECK = 0 GOTO 62 ''If this machine does not suppor t vacuum checking jump around $IF OP_TYPE <> 0 GOTO 62 ''Check if first opperation, if t rue lock zones $IF ZONE = 1 ''If first vacuum zone was specif ied N[N] M71 ''Check vacuum locking in first z one N[N] M54 ''Lock vacuum in first zone $ELSEIF ZONE = 2 ''If second vacuum zone was speci fied N[N] M72 ''Check vacuum locking in second zone N[N] M56 ''Lock vacuum in second zone $ELSE ''If both vacuum zones were speci fied N[N] M71 ''Check vacuum locking in first z one N[N] M54 ''Lock vacuum in first zone N[N] M72 ''Check vacuum locking in second zone N[N] M56 ''Lock vacuum in second zone $ENDIF '' $LL 62 $LET OP_TYPE = 3 ''Set flag for multidrilling $LET LASTMASTER = PAT(4) ''Capture the master drill number for evaluation next time $LET LASTSUM = PAT(2) ''Capture the sum of all tools fo r evaluation next time N[N] G81 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZS] EH[ZR] F[F] $GOTO 99 '' $LL 65 ''Next holes multidrilling - mast er and slave same $MODAL ON Z ''Z depth may be different for th is set. Only output Z if different N[N] X[GAX] Y[GAY] Z[ZB] '' $LL 99 ''---------------------------------------------------------------$211 Next holes $IF DEBUG = 1 *** Drill Cycle - Next Holes - Safe Rapid Level $211 *** $ENDIF N[N] X[GAX] Y[GAY] Z[ZB] ''Added Z[ZB] 2-21-02 T.A $212 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)

N[N] G81 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZS] EH[ZR] F[F] $---------------------------------------------------------------------------DRILL cycle - traverse to next hole at RETRACT level [ZR] $214 First Hole $IF DEBUG = 1 *** Drill Cycle - First Hole - Retract Level $214 *** OP TYPE = [OP_TYPE] $ENDIF $IF WVF > 0 ''Horizontal boring NOT allowed h ere $MSG *** Use Boring cycle for Horizontal Boring *** $EXIT $ENDIF $IF PAT(1) = 1 GOTO 30 ''If this is multidrilling jump t o that area $IF PAT(1) = 2 GOTO 99 ''If this is a slave jump out N[N] G81 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZR] EH[ZR] F[F] ''ER and EH are set to Z retract $LET OP_TYPE = 2 $GOTO 99 '' $LL 30 $LET CURRENTSUM = PAT(2) ''Capture the current sum value $LET CURRENTMASTER = PAT(4) ''Capture the current master dril l number $IF CURRENTSUM = LASTSUM GOTO 50 ''If the sums are the same check the master $LET SAME_MULTI = 0 ''Reset flag for horizontal borin g $GOTO 55 ''Otherwise change the drill numb ers '' $LL 50 $IF CURRENTMASTER = LASTMASTER ''If the master is the same jump out $LET SAME_MULTI = 1 ''Activate flag for horizontal bo ring $GOTO 65 ''Then do not change drills $ENDIF ''Otherwise change the master '' $LL 55 $IF OP_TYPE = 0 ''If this is the first operation N[N] M6 T0 ''Empty router spindle and jump a round N[N] M22 $GOTO 61 $ELSEIF OP_TYPE = 3 ''If we were multidrilling last t ime N[N] G80 ''Cancel the drilling cycle $GOTO 60 ''If last operation was vertical multidrill no need to empty spindle $ELSEIF OP_TYPE > 3 GOTO 58 ''If last operation was horizonta l multidrilling boring or saw $ENDIF N[N] M6 T0 ''Otherwise empty the router spin dle N[N] M22 ''Raise the first head $GOTO 60 ''

$LL 58 $IF CAB2CAM = 1 ''If coming from NBM-NC use panel thickness plus 1" N[N] G0 Z[PANEL_Z + HORZ_CLEAR] $ELSE ''Otherwise use the highest Z plu s 1" N[N] G0 Z[HZW + HORZ_CLEAR] $ENDIF '' $LL 60 '' $IF OP_TYPE > 3 ''If last operation was horizonta l boring or saw reset $ENDIF '' $LL 61 N[N] M101 G=[PAT(5)] P=[PAT(3)] ''pat(3) gives the actual M codes needed (set in macro) ''pat(3) gives the actual P values needed ( set in macro) $LET H_OFFSET = [PAT(4) + 14] ''Offset is set to drill number + 14 N[N] D[H_OFFSET] ''Height offset $IF OP_TYPE > 2 GOTO 62 ''If we were multidrilling no nee d to start head or check vacuum zones $IF VAC_CHECK = 0 GOTO 62 ''If this machine does not suppor t vacuum checking jump around $IF OP_TYPE <> 0 GOTO 62 ''Check if first opperation, if t rue lock zones $IF ZONE = 1 ''If first vacuum zone was specif ied N[N] M71 ''Check vacuum locking in first z one N[N] M54 ''Lock vacuum in first zone $ELSEIF ZONE = 2 ''If second vacuum zone was speci fied N[N] M72 ''Check vacuum locking in second zone N[N] M56 ''Lock vacuum in second zone $ELSE ''If both vacuum zones were speci fied N[N] M71 ''Check vacuum locking in first z one N[N] M54 ''Lock vacuum in first zone N[N] M72 ''Check vacuum locking in second zone N[N] M56 ''Lock vacuum in second zone $ENDIF '' $LL 62 $LET OP_TYPE = 3 ''Set flag for multidrilling $LET LASTMASTER = PAT(4) ''Capture the master drill number for evaluation next time $LET LASTSUM = PAT(2) ''Capture the sum of all tools fo r evaluation next time N[N] G81 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZR] EH[ZR] F[F] ''ER and EH are set to Z retract $GOTO 99 '' $LL 65 ''Next holes multidrilling - mast er and slave same

$MODAL ON Z ''Z depth may be different for th is set. Only output Z if different N[N] X[GAX] Y[GAY] Z[ZB] '' $LL 99 ''-------------------------------------------------------------------------$215 Next holes $IF DEBUG = 1 *** Drill Cycle - Next Holes - Retract Level $215 *** $ENDIF N[N] X[GAX] Y[GAY] Z[ZB] $216 Set PARAMETERS before Subroutine call (APS will insert Subroutine call) N[N] G81 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZR] EH[ZR] F[F] ''ER and EH are set to Z retract $---------------------------------------------------------------------------PECKING cycle - traverse to next hole at SAFE RAPID level [ZS] $220 First Hole $IF WVF > 0 ''Horizontal boring NOT allowed h ere $MSG *** Use Boring cycle for Horizontal Boring *** $EXIT $ENDIF N[N] G83 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZS] EH[ZR] P[ZP] F[F] S[S] ''--------------------------------------------------------$221 Next holes N[N] X[GAX] Y[GAY] Z[ZB] $222 Set PARAMETERS before Subroutine call (APS will insert Subroutine call) N[N] G83 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZS] EH[ZR] P[ZP] F[F] S[S] $---------------------------------------------------------------------------PECKING cycle - traverse to next hole at RETRACT level [ZR] $224 First Hole $IF WVF > 0 ''Horizontal boring NOT allowed h ere $MSG *** Use Boring cycle for Horizontal Boring *** $EXIT $ENDIF N[N] G83 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZR] EH[ZR] P[ZP] F[F] S[S] $225 Next holes N[N] X[GAX] Y[GAY] Z[ZB] $226 Set PARAMETERS before Subroutine call (APS will insert Subroutine call) N[N] G83 X[GAX] Y[GAY] Z[GAZ] Z[ZB] ER[ZR] EH[ZR] P[ZP] F[F] S[S] $---------------------------------------------------------------------------TAPPING cycle - traverse to next hole at SAFE RAPID level [ZS] $230 First hole $MSG *** Tapping cycle not available ON this machine *** $EXIT $231 Next holes $232 Set PARAMETERS before Subroutine call (APS will insert Subroutine call) $LL99 $---------------------------------------------------------------------------TAPPING cycle - traverse to next hole at RETRACT level [ZR] $234 First hole $MSG *** Tapping cycle not available ON this machine *** $EXIT $235 Next holes $236 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)

$---------------------------------------------------------------------------BORING/REAMING/SPOT FACE etc - traverse to next hole at SAFE RAPID level [ZS] $240 First Hole $IF DEBUG = 1 *** Horizontal Boring - First Hole - Safe Rapid Level $240 *** OP TYPE = [OP_TYPE] $ENDIF $IF PAT(1) = 0 GOTO 30 ''Jump around checks if not Multi drill $IF PAT(1) = 2 GOTO 99 ''If slave jump out $LET CURRENTSUM = PAT(2) ''Capture the current sum value $LET CURRENTMASTER = PAT(4) ''Capture the current master dril l number $IF CURRENTSUM = LASTSUM GOTO 10 ''If the sums are the same check the master $LET SAME_MULTI = 0 ''Reset flag for horizontal borin g $GOTO 15 ''Otherwise change the drill numb ers '' $LL 10 ''Checking master $IF CURRENTMASTER = LASTMASTER ''If the master is the same jump out $LET SAME_MULTI = 1 ''Activate flag for horizontal bo ring $GOTO 18 ''Then do not change drills $ENDIF ''Otherwise change the master '' $LL 15 ''Change Multidrill numbers $IF OP_TYPE > 2 GOTO 20 ''If previously multidrilling bor ing or saw N[N] M6 T0 ''Otherwise empty the router spin dle N[N] M22 ''Raise the first head $GOTO 22 '' $LL 18 $IF LAST_FACE = WVF ''If we are changing WVF raise he ad $GOTO 30 $ENDIF $LET SAME_MULTI = 0 ''Reset the flag for same horizon tal bore '' $LL 20 $IF OP_TYPE = 3 ''If previously vertical multidri lling N[N] G80 ''Cancel drilling cycle N[N] M100 ''Raise drills 03-17-04 $ENDIF $IF CAB2CAM = 1 ''If coming from NBM-NC use panel thickness plus HORZ_CLEAR N[N] G0 Z[PANEL_Z + HORZ_CLEAR] $ELSE ''Otherwise use the highest Z plu s HORZ_CLEAR N[N] G0 Z[HZW + HORZ_CLEAR] $ENDIF '' $LL 22

$IF OP_TYPE > 2 d to start head or check vacuum zones N[N] M101 G=3 P=[PAT(3)] $GOTO 23 $ENDIF $IF VAC_CHECK = 0 GOTO 225 t vacuum checking jump around $IF OP_TYPE <> 0 GOTO 225 rue lock zones $IF ZONE = 1 ied N[N] M71 one N[N] M54 $ELSEIF ZONE = 2 fied N[N] M72 zone N[N] M56 $ELSE fied N[N] M71 one N[N] M54 N[N] M72 zone N[N] M56 $ENDIF '' $LL 225 N[N] M101 G=3 P=[PAT(3)] '' $LL 23 $IF WVF = 1 $GOTO 230 $ENDIF $IF WVF = 2 e of part $ELSE $GOTO 226 $ENDIF $IF INT(PAT(4)) = 12 12 $GOTO 230 $ELSEIF INT(PAT(4)) = 14 drill #14 $GOTO 230 $ENDIF $LL 226 $IF WVF = 3 of part $GOTO 230 $ENDIF $IF WVF = 4 of part $ENDIF $IF INT(PAT(4)) = 11 11 $GOTO 230 $ELSEIF INT(PAT(4)) = 13

''If we were multidrilling no nee ''Set point 1-6 ''If this machine does not suppor ''Check if first opperation, if t ''If first vacuum zone was specif ''Check vacuum locking in first z ''Lock vacuum in first zone ''If second vacuum zone was speci ''Check vacuum locking in second ''Lock vacuum in second zone ''If both vacuum zones were speci ''Check vacuum locking in first z ''Lock vacuum in first zone ''Check vacuum locking in second ''Lock vacuum in second zone

''Select Group 3 P 1-6 ''If front of part ''Then go to end of section ''If not front side try right sid ''If not jump to next WVF ''If face 2 then check if drill # ''Then go to end of section ''If not drill #12 then check if ''Then go to end of section ''If not right side try back side ''Then go to end of section ''If not back side try left side ''If face 4 then check if drill # ''Then go to end of section ''If not drill #11 then check if

drill #13 $GOTO 230 ''Then go to end of section $ENDIF $GOTO 90 ''If you reach this there is a dr ill selection error $LL 230 ''End of WVF section '' $LET OP_TYPE = 4 ''Activate horizontal multidrilli ng flag $LET LASTMASTER = PAT(4) ''Capture the master drill number for evaluation next time $LET LASTSUM = PAT(2) ''Capture the sum of all tools fo r evaluation next time '' $LL 30 $IF WVF = 0 GOTO 40 ''Top face $IF WVF = 1 GOTO 50 ''Front face $IF WVF = 2 GOTO 60 ''Right face $IF WVF = 3 GOTO 70 ''Back face $IF WVF = 4 GOTO 80 ''Left face $MSG *** Work Plane at wrong angle for horizontal boring *** $EXIT '' $LL 40 $MSG *** Use drilling cycle for vertical drilling *** $EXIT '' $LL 50 ''Front Face $IF PAT(1) = 1 GOTO 58 ''If this is Multidrill no need t o check tool number $IF PAT(1) = 2 GOTO 99 ''If this is slave jump out $IF T <> 15 GOTO 90 ''Tool Number MUST be 15 for Conq uest routers $LL 58 $IF SAME_MULTI = 1 ''If this is the same tool as las t time through N[N] G0 X[GAX] Y[LGY-ZS] Z[GAZ] (Next hole) ''Move to next hole N[N] G1 Y[LGY-ZR] F[HORZ_FEED] ''Move to impact plane N[N] Y[LGY-ZB] F[F] ''Drill hole N[N] G0 Y[LGY-ZS] ''Retract to safe rapid $GOTO 99 ''Exit $ENDIF N[N] (FRONT FACE) ''This is a new tool N[N] D29 ''Tool 15 (15 + 14)for offset num ber N[N] G0 X[GAX] Y[LGY-ZS] ''position X & Y $IF CAB2CAM = 1 ''If coming from NBM-NC N[N] Z[PANEL_Z + HORZ_CLEAR] ''Move to Z axis safe level use p anel thickness plus clearance value $ELSE N[N] Z[HZW + HORZ_CLEAR] ''Otherwise use highest Z plus cl earance value $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] N[N] Y[LGY-ZR] N[N] Y[LGY-ZB] F[F] N[N] G0 Y[LGY-ZS] $GOTO 99

'' $LL 60 $IF PAT(1) = 1 GOTO 68 o check tool number $IF PAT(1) = 2 GOTO 99 $IF T < 12 GOTO 90 r Conquest routers $IF T = 13 GOTO 90 $IF T > 14 GOTO 90 $LL 68 $IF SAME_MULTI = 1 t time through N[N] G0 X[LGX+ZS] Y[GAY] Z[GAZ] N[N] G1 X[LGX+ZR] F[HORZ_FEED] N[N] X[LGX+ZB] F[F] N[N] G0 X[LGX+ZS] $GOTO 99 $ENDIF an last time through N[N] (RIGHT FACE) $IF INT(PAT(4)) = 11 st N[N] D26 et) $ELSE ill #12 in multi-drill list N[N] D28 et) $ENDIF N[N] G0 X[LGX+ZS] Y[GAY] $IF CAB2CAM = 1 l thickness plus HORZ_CLEAR N[N] Z[PANEL_Z + HORZ_CLEAR] $ELSE ORZ_CLEAR N[N] Z[HZW + HORZ_CLEAR] $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] N[N] X[LGX+ZR] N[N] X[LGX+ZB] F[F] N[N] G0 X[LGX+ZS] $GOTO 99 '' $LL 70 $IF PAT(1) = 1 GOTO 78 to check tool number $IF PAT(1) = 2 GOTO 99 $IF T <> 16 GOTO 90 quest routers $LL 78 $IF SAME_MULTI = 1 st time through N[N] G0 X[GAX] Y[LGY+ZS] Z[GAZ] N[N] G1 Y[LGY+ZR] F[HORZ_FEED] N[N] Y[LGY+ZB] F[F] N[N] G0 Y[LGY+ZS] $GOTO 99 $ENDIF n last time through N[N] (BACK FACE)

''Right Face ''If this is Multidrill no need t ''If this is slave jump out ''Tool Number MUST be 12 or 14 fo

''If this is the same tool as las (Next hole) ''Move to next hole

''If this is a different tool th ''If drill #11 in multi-drill li ''Tool 12 (12 + 14 for tool offs ''If not drill #11 then it is dr ''Tool 14 (14 + 14 for tool offs ''position X & Y ''If coming from NBM-NC use pane ''Otherwise use highest Z plus H

''Back Face ''If this is Multidrill no need ''If this is slave jump out ''Tool Number MUST be 16 for Con ''If this is the same tool as la (Next hole) ''Move to next hole

''If this is a different tool tha ''position X & Y

N[N] D30 t) N[N] G0 X[GAX] Y[LGY+ZS] $IF CAB2CAM = 1 N[N] Z[PANEL_Z + HORZ_CLEAR] anel thickness plus HORZ_CLEAR $ELSE N[N] Z[HZW + HORZ_CLEAR] RZ_CLEAR $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] N[N] Y[LGY+ZR] N[N] Y[LGY+ZB] F[F] N[N] G0 Y[LGY+ZS] $GOTO 99 '' $LL 80 $IF PAT(1) = 1 GOTO 88 o check tool number $IF PAT(1) = 2 GOTO 99 $IF T < 11 GOTO 90 r Conquest routers $IF T = 12 GOTO 90 $IF T > 13 GOTO 90 $LL 88 $IF SAME_MULTI = 1 t time through N[N] G0 X[LGX-ZS] Y[GAY] Z[GAZ] N[N] G1 X[LGX-ZR] F[HORZ_FEED] N[N] X[LGX-ZB] F[F] N[N] G0 X[LGX-ZS] $GOTO 99 $ENDIF N[N] (LEFT FACE) $IF INT(PAT(4)) = 11 t N[N] D25 t) $ELSE ll #12 in multi-drill list N[N] D27 t) $ENDIF N[N] G0 X[LGX-ZS] Y[GAY]

''Tool 16 (16 + 14 for tool offse ''position X & Y ''If coming from NBM-NC ''Move to Z axis safe level use p ''Otherwise use highest Z plus HO ''Lower tool to final Z level ''Move to retract level ''Drill hole Y''Retract to safe rapid level ''Exit ''Left Face ''If this is Multidrill no need t ''If this is slave jump out ''Tool Number MUST be 11 or 13 fo

''If this is the same tool as las (Next hole) ''Move to next hole ''Move to retract level ''Drill hole X+ ''Retract to safe rapid level ''Exit ''If this is a new tool ''If drill #11 in multi-drill lis ''Tool 11 (11 + 14 for tool offse ''If not drill #11 then it is dri ''Tool 13 (13 + 14 for tool offse ''position X & Y ''If coming from NBM-NC ''Move to Z axis safe level use p ''Otherwise use highest Z plus cl ''Lower tool to final Z level ''Move to retract level ''Drill hole X+ ''Retract to safe rapid level ''Exit

$IF CAB2CAM = 1 N[N] Z[PANEL_Z + HORZ_CLEAR] anel thickness plus clearance value $ELSE N[N] Z[HZW + HORZ_CLEAR] earance value $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] N[N] X[LGX-ZR] N[N] X[LGX-ZB] F[F] N[N] G0 X[LGX-ZS] $GOTO 99 '' $LL 90 $MSG

*** Wrong Horizontal Tool Number For Work Face [WVF] *** $EXIT '' $LL 99 ''Exit point $LET LAST_FACE = WVF ''Capture WVF for comparison next time through ''---------------------------------------------------------------$241 Next holes $IF DEBUG = 1 *** Horizontal Boring - Next Holes - Safe Rapid Level $241 *** $ENDIF $ELSEIF WVF = 1 GOTO 10 $ELSEIF WVF = 2 GOTO 20 $ELSEIF WVF = 3 GOTO 30 $ELSEIF WVF = 4 GOTO 40 '' $LL 10 ''FRONT SIDE OF PART N[N] G0 X[GAX] Y[LGY-ZS] Z[GAZ] (Next hole front) ''Move to next hole N[N] Y[LGY-ZR] N[N] G1 Y[LGY-ZB] F[F] N[N] G0 Y[LGY-ZS] $GOTO 99 '' $LL 20 ''RIGHT SIDE OF PART N[N] G0 X[LGX+ZS] Y[GAY] Z[GAZ] (Next hole right) ''Move to next hole N[N] X[LGX+ZR] N[N] G1 X[LGX+ZB] F[F] N[N] G0 X[LGX+ZS] $GOTO 99 '' $LL 30 ''BACK SIDE OF PART N[N] G0 X[GAX] Y[LGY+ZS] Z[GAZ] (Next hole back) ''Move to next hole N[N] Y[LGY+ZR] N[N] G1 Y[LGY+ZB] F[F] N[N] G0 Y[LGY+ZS] $GOTO 99 '' $LL 40 ''LEFT SIDE OF PART N[N] G0 X[LGX-ZS] Y[GAY] Z[GAZ] (Next hole left) ''Move to next hole N[N] X[LGX-ZR] N[N] G1 X[LGX-ZB] F[F] N[N] G0 X[LGX-ZS] '' $LL 99 $---------------------------------------------------------------------------BORING/REAMING/SPOT FACE etc - traverse to next hole at RETRACT level [ZS] $244 First Hole $IF DEBUG = 1 *** Horizontal Boring - First Hole - Retract Level $244 *** OP TYPE = [OP_TYPE] $ENDIF $IF PAT(1) = 0 GOTO 30 ''Jump around checks if not Multi drill $IF PAT(1) = 2 GOTO 99 ''If slave jump out $LET CURRENTSUM = PAT(2) ''Capture the current sum value $LET CURRENTMASTER = PAT(4) ''Capture the current master dril l number $IF CURRENTSUM = LASTSUM GOTO 10 ''If the sums are the same check the master $LET SAME_MULTI = 0 ''Reset flag for horizontal borin

g $GOTO 15 ers '' $LL 10 $IF CURRENTMASTER = LASTMASTER out $LET SAME_MULTI = 1 ring $GOTO 18 $ENDIF '' $LL 15 $IF OP_TYPE > 2 GOTO 20 ing or saw N[N] M6 T0 dle N[N] M22 $GOTO 22 '' $LL 18 $IF LAST_FACE = WVF ad $GOTO 30 $ENDIF $LET SAME_MULTI = 0 tal bore '' $LL 20 $IF OP_TYPE = 3 lling N[N] G80 N[N] M100 03-17-04 $ENDIF $IF CAB2CAM = 1 thickness plus HORZ_CLEAR N[N] G0 Z[PANEL_Z + HORZ_CLEAR] $ELSE s HORZ_CLEAR N[N] G0 Z[HZW + HORZ_CLEAR] $ENDIF N[N] M100 '' $LL 22 $IF OP_TYPE > 2 d to start head or check vacuum zones N[N] M101 G=3 P=[PAT(3)] $GOTO 23 $ENDIF $IF VAC_CHECK = 0 GOTO 225 t vacuum checking jump around $IF OP_TYPE <> 0 GOTO 225 rue lock zones $IF ZONE = 1 ied N[N] M71 one N[N] M54 $ELSEIF ZONE = 2

''Otherwise change the drill numb ''Checking master ''If the master is the same jump ''Activate flag for horizontal bo ''Then do not change drills ''Otherwise change the master ''Change Multidrill numbers ''If previously multidrilling bor ''Otherwise empty the router spin ''Raise the first head

''If we are changing WVF raise he

''Reset the flag for same horizon

''If previously vertical multidri ''Cancel drilling cycle ''Raise drills ''If coming from NBM-NC use panel ''Otherwise use the highest Z plu

''All spindles up ''If we were multidrilling no nee ''Select P 1-6 ''If this machine does not suppor ''Check if first opperation, if t ''If first vacuum zone was specif ''Check vacuum locking in first z ''Lock vacuum in first zone ''If second vacuum zone was speci

fied N[N] M72 zone N[N] M56 $ELSE fied N[N] M71 one N[N] M54 N[N] M72 zone N[N] M56 $ENDIF '' $LL 225 N[N] M101 G=3 P=[PAT(3)] '' $LL 23 $IF WVF = 1 $GOTO 230 $ENDIF $IF WVF = 2 e of part $ELSE $GOTO 226 $ENDIF $IF INT(PAT(4)) = 11 t $GOTO 230 $ELSEIF INT(PAT(4)) = 12 ll #12 in multi-drill list $GOTO 230 $ENDIF $LL 226 $IF WVF = 3 of part $GOTO 230 $ENDIF $IF WVF = 4 of part $ENDIF $IF INT(PAT(4)) = 11 t $GOTO 230 $ELSEIF INT(PAT(4)) = 12 ll #12 in multi-drill list $GOTO 230 $ENDIF $GOTO 90 rror $LL 230 '' $LET OP_TYPE = 4 ng flag $LET LASTMASTER = PAT(4) for evaluation next time $LET LASTSUM = PAT(2) r evaluation next time '' $LL 30

''Check vacuum locking in second ''Lock vacuum in second zone ''If both vacuum zones were speci ''Check vacuum locking in first z ''Lock vacuum in first zone ''Check vacuum locking in second ''Lock vacuum in second zone

''Select P 1-6 ''If front of part ''Then go to end of section ''If not front side try right sid ''If not jump to next WVF ''If drill #11 in multi-drill lis ''Then go to end of section ''If not drill #11 then it is dri ''Then go to end of section ''If not right side try back side ''Then go to end of section ''If not back side try left side ''If drill #11 in multi-drill lis ''Then go to end of section ''If not drill #11 then it is dri ''Then go to end of section ''If you reach this there is an e ''End of WVF section ''Activate horizontal multidrilli ''Capture the master drill number ''Capture the sum of all tools fo

$IF WVF = 0 GOTO 40 ''Top face $IF WVF = 1 GOTO 50 ''Front face $IF WVF = 2 GOTO 60 ''Right face $IF WVF = 3 GOTO 70 ''Back face $IF WVF = 4 GOTO 80 ''Left face $MSG *** Work Plane at wrong angle for horizontal boring *** $EXIT '' $LL 40 $MSG *** Use drilling cycle for vertical drilling *** $EXIT '' $LL 50 ''Front Face $IF PAT(1) = 1 GOTO 58 ''If this is Multidrill no need t o check tool number $IF PAT(1) = 2 GOTO 99 ''If this is slave jump out $IF T <> 15 GOTO 90 ''Tool Number MUST be 15 for Conq uest routers $LL 58 $IF SAME_MULTI = 1 ''If this is the same tool as las t time through N[N] G0 X[GAX] Y[LGY-ZS] Z[GAZ] (Next hole) ''Move to next hole N[N] G1 Y[LGY-ZR] F[HORZ_FEED] ''Move to retract level N[N] Y[LGY-ZB] F[F] ''Drill hole Y+ N[N] G0 Y[LGY-ZS] ''Retract to safe rapid level $GOTO 99 ''EXIT $ENDIF ''If this is a different tool tha n last time through N[N] (FRONT SIDE OF PART) ''position X & Y - lower Z then b ore N[N] D29 ''Tool 15 + 14 N[N] G0 X[GAX] Y[LGY-ZS] $IF CAB2CAM = 1 ''If coming from NBM-NC use panel thickness plus clearance value N[N] Z[PANEL_Z + HORZ_CLEAR] $ELSE ''Otherwise use highest Z plus cl earance value N[N] Z[HZW + HORZ_CLEAR] $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] ''Lower tool to final Z level N[N] Y[LGY-ZR] ''Move to retract level N[N] Y[LGY-ZB] F[F] ''Drill hole Y+ N[N] G0 Y[LGY-ZS] ''Retract to safe rapid level $GOTO 99 '' $LL 60 ''Right Face $IF PAT(1) = 1 GOTO 68 ''If this is Multidrill no need t o check tool number $IF PAT(1) = 2 GOTO 99 ''If this is slave jump out $IF T < 12 GOTO 90 ''Tool Number MUST be 12 or 14 fo r Conquest routers $IF T = 13 GOTO 90 $IF T > 14 GOTO 90 $LL 68 $IF SAME_MULTI = 1 ''If this is the same tool as las t time through N[N] G0 X[LGX+ZS] Y[GAY] Z[GAZ] (Next hole) ''Move to next hole N[N] G1 X[LGX+ZR] F[HORZ_FEED] ''Move to retract level

N[N] X[LGX+ZB] F[F] N[N] G0 X[LGX+ZS] $GOTO 99 $ENDIF n last time through N[N] (RIGHT FACE) $IF INT(PAT(4)) = 11 t N[N] D26 $ELSE ll #12 in multi-drill list N[N] D28 $ENDIF N[N] G0 X[LGX+ZS] Y[GAY] $IF CAB2CAM = 1 thickness plus clearance value N[N] Z[PANEL_Z + HORZ_CLEAR] $ELSE earance value N[N] Z[HZW + HORZ_CLEAR] $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] N[N] X[LGX+ZR] N[N] X[LGX+ZB] F[F] N[N] G0 X[LGX+ZS] $GOTO 99 '' $LL 70 $IF PAT(1) = 1 GOTO 78 o check tool number $IF PAT(1) = 2 GOTO 99 $IF T <> 16 GOTO 90 uest routers $LL 78 $IF SAME_MULTI = 1 t time through N[N] G0 X[GAX] Y[LGY+ZS] Z[GAZ] N[N] G1 Y[LGY+ZR] F[HORZ_FEED] N[N] Y[LGY+ZB] F[F] N[N] G0 Y[LGY+ZS] $GOTO 99 $ENDIF N[N] (BACK FACE) N[N] D30 N[N] G0 X[GAX] Y[LGY+ZS] $IF CAB2CAM = 1 thickness plus clearance value N[N] Z[PANEL_Z + HORZ_CLEAR] $ELSE earance value N[N] Z[HZW + HORZ_CLEAR] $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] N[N] Y[LGY+ZR] N[N] Y[LGY+ZB] F[F] N[N] G0 Y[LGY+ZS] $GOTO 99 '' $LL 80 $IF PAT(1) = 1 GOTO 88

''Drill hole X''Retract to safe rapid level ''EXIT ''If this is a different tool tha ''If drill #11 in multi-drill lis ''Tool 12 offset 12 + 14 ''If not drill #11 then it is dri ''Tool 14 offset 14 + 14 ''Position X & Y ''If coming from NBM-NC use panel ''Otherwise use highest Z plus cl

''Lower tool to final Z level ''Move to retract level ''Drill hole X''Retract to safe rapid level ''EXIT ''Back Face ''If this is Multidrill no need t ''If this is slave jump out ''Tool Number MUST be 16 for Conq ''If this is the same tool as las (Next hole) ''Move to next hole ''Move to retract level ''Drill hole Y''Retract to safe rapid level ''EXIT ''Tool 16 offset 16 + 14 ''Position X & Y ''If coming from NBM-NC use panel ''Otherwise use highest Z plus cl

''Lower tool to final Z level ''Move to retract level ''Drill hole Y''Retract to safe rapid level ''EXIT ''Left Face ''If this is Multidrill no need t

o check tool number $IF PAT(1) = 2 GOTO 99 ''If this is slave jump out $IF T < 11 GOTO 90 ''Tool Number MUST be 11 or 13 fo r Conquest routers $IF T = 12 GOTO 90 $IF T > 13 GOTO 90 $LL 88 $IF SAME_MULTI = 1 ''If this is the same tool as las t time through N[N] G0 X[LGX-ZS] Y[GAY] Z[GAZ] (Next hole) ''Move to next hole N[N] G1 X[LGX-ZR] F[HORZ_FEED] ''Move to retract level N[N] X[LGX-ZB] F[F] ''Drill hole X+ N[N] G0 X[LGX-ZS] ''Retract to safe rapid level $GOTO 99 ''EXIT $ENDIF ''If this is a different tool tha n last time through N[N] (LEFT SIDE OF PART) $IF INT(PAT(4)) = 11 ''If drill #11 in multi-drill lis t N[N] D25 ''Tool 11 offset 11 + 14 $ELSE ''If not drill #11 then it is dri ll #12 in multi-drill list N[N] D27 ''Tool 13 offset 13 + 14 $ENDIF N[N] G0 X[LGX-ZS] Y[GAY] ''Position X & Y $IF CAB2CAM = 1 ''If coming from NBM-NC use panel thickness plus clearance value N[N] Z[PANEL_Z + HORZ_CLEAR] $ELSE ''Otherwise use highest Z plus cl earance value N[N] Z[HZW + HORZ_CLEAR] $ENDIF N[N] G1 Z[GAZ] F[HORZ_FEED] ''Lower tool to final Z level N[N] X[LGX-ZR] ''Move to retract level N[N] X[LGX-ZB] F[F] ''Drill hole X+ N[N] G0 X[LGX-ZS] ''Retract to safe rapid level $GOTO 99 ''EXIT '' $LL 90 $MSG *** Wrong Tool Number For This Work Face *** $EXIT '' $LL 99 $LET LAST_FACE = WVF ''Capture WVF for comparison next time through ''----------------------------------------------------------$245 Next holes $IF DEBUG = 1 *** Horizontal Boring - Next Holes - Retract Level $245 *** $ENDIF $ELSEIF WVF = 1 GOTO 10 $ELSEIF WVF = 2 GOTO 20 $ELSEIF WVF = 3 GOTO 30 $ELSEIF WVF = 4 GOTO 40 '' $LL 10 ''FRONT SIDE OF PART N[N] G0 X[GAX] Y[LGY-ZS] Z[GAZ] (Next hole) N[N] Y[LGY-ZR] N[N] G1 Y[LGY-ZB] F[F]

N[N] G0 Y[LGY-ZS] $GOTO 99 '' $LL 20 ''RIGHT SIDE OF PART N[N] G0 X[LGX+ZS] Y[GAY] Z[GAZ] (Next hole) N[N] X[LGX+ZR] N[N] G1 X[LGX+ZB] F[F] N[N] G0 X[LGX+ZS] $GOTO 99 '' $LL 30 ''BACK SIDE OF PART N[N] G0 X[GAX] Y[LGY+ZS] Z[GAZ] (Next hole) N[N] Y[LGY+ZR] N[N] G1 Y[LGY+ZB] F[F] N[N] G0 Y[LGY+ZS] $GOTO 99 '' $LL 40 ''LEFT SIDE OF PART N[N] G0 X[LGX-ZS] Y[GAY] Z[GAZ] (Next hole) N[N] X[LGX-ZR] N[N] G1 X[LGX-ZB] F[F] N[N] G0 X[LGX-ZS] '' $LL 99 $-------------------------- GENERAL FORMATS --------------------------------Separate modal values with spaces. More than one letter is OK eg X VX VY $500 Modal Text (Will not be repeated IN following lines) G0 G1 G2 G3 $502 Modal ABSOLUTE Values (Will not be repeated if the VALUE is the same) Z F $504 Modal INCREMENTAL Values (Will not be put into NC code if VALUE is ZERO) I J $510 X Y Z I J K values must have + as well as - signs (1 = Yes, 0 = no) 0 $515 Use point <.> as decimal separator (1 = Yes, 0 = use comma <,>) 1 $520 Put SUB-routines at end of main program (1 = Yes, 0 = put at start) 1 $525 Quadrant Limit arcs (1 = Yes, 0 = Standard APS 180 degree limit) 0 $526 Output arcs as one move (1 = Yes, 0 = No - split arcs >= 180) 0 $527 Output HELICAL (XYZ) arcs as straight line segments (1 = Yes, 0 = No) 0 '' 530 Determines which PLANAR arcs are output as straight line segments. $530 0=None, 1=All, 2=All Except Horizontal (XY), 3=Except Horizontal and Vertic al (YZ or XZ) 0 $531 Maximum Arc Radius - arcs will be output as straight lines if radius > 0 $532 If arcs are straight line segments, give chord error (mm or inches) .1 $540 Suppress Operations List, START and Comments IN NC code (1 = Yes, 0 = No) 1 ''Set $560 - $580 all to 0 if machine is 3-axis. $560 4/5 axis Programming point: (1 = pivot, 0 = tool tip) 0 $562 4/5 axis Tool C/L offset from pivot point IN X 0 $563 4/5 axis Tool C/L offset from pivot point IN Y

0 $565 4/5 axis Tool holder length 0 $570 4/5 axis MAX angle (degrees). Set to 0 to indicate 3 - axis machine. 0 $580 Is this a horizontal machining centre (1 = Yes, 0 = No) 1 $582 Horizontal M/C. Select Work Plane BEFORE Tool Change (1 = yes, 0 = no) 1 $-------------------------- NUMBER FORMATS ---------------------------------$700 SUBROUTINE Number format 6 $701 Leading figures 0 $702 Figures after point 0 $705 Subroutine start number 1 $---------------------------------------------------------------------------$710 LINE NUMBER format 6 $711 Leading figures 1 $712 Figures after point 0 $715 Line start number 10 $716 Line number increment 1 ''32,768 is the maximum number of lines line 03-15-04 $---------------------------------------------------------------------------$720 X Y Z values format 2 $721 Leading figures 0 $722 Figures after point 4 ''Use 4 for inch, 3 for mm $---------------------------------------------------------------------------$730 ARC centre/radius format 2 $731 Leading figures 0 $732 Figures after point 4 ''Use 4 for inch, 3 for mm $---------------------------------------------------------------------------$740 SPINDLE SPEED format 6 $741 Leading figures 0 $742 Figures after point 0 $743 Maximum Spindle Speed 18000 $744 Fixed Speeds (eg 100, 200, 1000, 2000 ... 0 = speed is variable) 0 $NOTE: Fixed speeds can use more than one line. 80 chars per line maximum APS will select the nearest lower value to the calculated value. $745 below only applies if $744 is 0 - ie variable speed range. $745 Round Speed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = do not round) 100

$---------------------------------------------------------------------------$750 MACHINING FEED format 2 $751 Leading figures 0 $752 Figures after point 1 $753 Maximum Feed Rate (Use mm/MIN or IN/MIN. APS will convert) 1500 IN/MIN ''35000 MM/MIN on 510 S $755 Round Feed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = do not round) 10 $---------------------------------------------------------------------------$760 TOOL NUMBER format 6 $761 Leading figures 0 $762 Figures after point 0 $------------------------ RAPIDS and TOOL CHANGE TIMES ---------------------Put mm/MIN or IN/MIN. AlphaCAM will convert $900 XY Rapid Speed 980 IN/MIN ''1377 IN/MIN on 510 S $901 Z Rapid Speed 400 IN/MIN $902 TIME to change tool (seconds) 15 $--------------------------- USER VARIABLES --------------------------------ALL user variables must be declared. Variable names can be up to 20 chars. Prompts can be up to 50 chars MAX and can include a default inside < >. Put (" ") as format for a text variable. Put ( ) as the format of any numeric variable which is to have the same format as X Y (Z) moves. If a different format is required, put (Format, Lead figs, Trail figs) eg (6,0,0) = Integer. $1000 VARIABLE (format) "Prompt <default>" ''Remark for your info. OP_TYPE ( ) ''Capture type of last operation - see notes in post header DEBUG ( ) ''Switch used to activate debug a reas of post CURRENTSUM ( ) ''Captures the current sum for co mparison to last sum LASTSUM ( ) ''Captures the sum for comparison with next tool change CURRENTMASTER ( ) ''Captures the current master dri ll number for comparison to last LASTMASTER ( ) ''Captures the master drill numbe r for comparison with next SAW_FLAG ( ) ''Flag for using saw FIRST_X ( ) ''Used to capture initial X value FIRST_Y ( ) ''Used to capture initial Y value FIRST_Z ( ) ''Used to capture initial Z value Z_FEED ( ) ''Used to capture initial Z feed move Z_FRATE ( ) ''Used to capture initial Z feed rate LAST_FACE () ''Captures WVF for comparison wit h last horizontal bore SAME_MULTI ( ) ''Flag used for horizontal boring in NBM ZONE ( ) "ENTER ZONE, 1=LEFT 2=RIGHT 3=BOTH <3>" ''Vacuum zone CAB2CAM ( ) ''If coming from NBM-NC macro wil

l = 1 NEST ( ) ''CV-SolidCAM nesting = 1 pa rts = 0 SOLIDCAM( ) ''CV-SolidCAM 1 = yes (coming f rom SolidCAM) OLD_TOOL ( ) ''Capture tool number for compari son PANEL_Z ( ) ''Part thickness coming from NBM if horizontal boring H_OFFSET (6,0,0) ''Capture height offset and remov e decimal point POD_PROMPT ( ) "PODS IN USE ? 1=YES 2=NO <1>" ''Prompt for pods usage which aff ects UOT. DATE ("9") ''DATE only (not Time) required TIME (2,0,2) ''Used in header TOTALTIME (6,0,0) ''Used in header MINUTES (6,0,0) DES_PRG (" ") "PROGRAM DESCRIPTION" PODS ( ) <0> ''If PODS = 0 let origin = 1 or 2 If PODS = 1 let origin = 3 or 4 HORZ_FEED ( ) <200> ''Z axis feed rate during horz. d rilling HORZ_CLEAR ( ) <3.5> ''Used to set Z axis retract leve l for horz drilling (90mm minimum) OFFSET_OVERIDE ( ) <0> ''If set to 0 then no offset over ride is allowed in post TIMER ( ) <1> ''Turn on timer fuction VAC_CHECK ( ) <0> ''Machine vacuum checking 0 = no 1 = yes /CONQUEST 510 S ONLY ZONE_2_PINS ( ) <0> ''Set to <0> if machine has only zone 1 pins <1> if machine has zone 2 pins PUMP_2 ( ) <1> ''Set to <0> if machine only has 1 vacuum pump <1> if machine has 2 vacuum pump PUMP_OFF (6,0,0) = 1 ''Used to turn off pumps between sheets when nesting <1> = YES <0> = NO $-------------------------- USER PRE-DEFINED CODE -----------------------------This section applies only to TOOLPATHS (not geometries). Any $number IN the range $1100 - $1149 (50 MAX) can be used for each definition. First line after $number appears IN the first dialog box. Next lines up to $ line are variables with prompts (which must be declared IN $1000) which are to appear IN second dialog box. Lines up to next $ line will be added or inserted on any toolpath. $-------------------------- USER DEFINED CYCLES ------------------------------This section applies only to GEOMETRIES (not toolpaths). Use for machine or work specific NC code (eg canned cycles) which require geometry coordinates. Any $number IN the range $1200 - $1999 (800 MAX) can be used for each definition . First line after $number appears IN the first dialog box. Next lines up to first $ are variables with prompts (which must be declared IN $1000) which are to appear IN second dialog box. Lines up to next $ line will be added at the end of NC program so far created. $3000 1 = LicomUKDWMultiDrillMasterSlave drill is used 2 = LicomUSPDMultiDrillHolzHerSlaveNumbers l numbers used 3 = LicomUSRGMultiDrillHolzHerNumControlOutput ed for P= output ''Used to flag when multi ''The sum of all the dril ''The actual P codes need

4 = LicomUSPDMultiDrillAttHolzHerMasterDrillNumber 5 = LicomUSRGMultiDrillGroupNumber

''The master drill number ''Group Number used in G=

$ ---------------------- End of Post -------------------------------------------

You might also like