NoneNone NoneClick Center If%+.4f<&PNoneNone None If Indicating%+.4fPd NoneNone MillBitmaps\grayZero4.jpgLabel%+.4f*N NoneNone MillBitmaps\grayZeroZ.jpgLabel%+.4f*N NoneNone MillBitmaps\grayZeroY.jpgLabel%+.4f*aNNoneNone MillBitmaps\grayZeroX.jpgLabel<.%+.4f*.NX NoneNone MillBitmaps\grayZero4.jpgLabel%+.4f NoneNone MillBitmaps\grayZeroZ.jpgLabel%+.4f NoneNone MillBitmaps\grayZeroY.jpgLabel%+.4fVNoneNone MillBitmaps\grayZeroX.jpgLabel<.%+.4f+U NoneNone NoneLabel%+.4f)  Load WizardsNone NoneLabel@%+.4f4?S  NFS WizardsNone None NFS WizardsA%+.4f4Vj  Load G-CodeNone NoneLabel%+.4fzNoneNone MillBitmaps\BackgroundManual.jpgLabel%+.4f!Fixture 6 (G59)g59 NoneLabel%+.4f( !Fixture 5 (G58)g58 NoneLabel%+.4f(!Fixture 4 (G57)g57 NoneLabel%+.4f)!Fixture 3 (G56)g56 NoneLabel%+.4f(!Fixture 2 (G55)g55 NoneLabel%+.4f(!Fixture 1 (G54)g54 NoneLabel%+.4f(NoneNone NoneCOSYS %+.4f9_s"None@DoButton( 24 ) DoButton( 23 ) DoButton( 22 ) DoButton( 25 ) MillBitmaps\Refallgry2.jpgLabeli$%+.4f+ NoneNone MillBitmaps\MachineCoords.jpgLabel%+.4f   NoneNone MillBitmaps\ToolOffsetOnOff.jpgNonep %+.4f9m"NoneTool_Num = GetDRO (24) If Tool_Num <>0 then Z_Shift = GetOEMDRO (1002) Z_Offset = GetOEMDRO ( 49 ) Axis_Pos = GetOEMDRO(85) Tool_Offset = Axis_Pos - Z_Offset -Z_Shift Call setOEMDRO(42, Tool_Offset) End if MillBitmaps\SetToolOffset.jpgLabel%+.4fB+t"NoneJCode "G92.2" 'Call SetDRO(24,0) Call SetDRO(2, ABS(GetOEMDRO(1001))) MillBitmaps\SetZ.jpgLabelP"%+.4fzNq NoneNone MillBitmaps\SaveToolOffsets.jpgLabely%+.4f8It NoneNone MillBitmaps\SaveWorkOffsets.jpgLabelz%+.4foI)t"Nonecode "(No Help Available)" MillBitmaps\HelpWorkOffset.jpgNoneone%+.4fIXt"Nonecode "(No Help Available)" MillBitmaps\HelpToolOffset.jpgNone%+.4f>@k 2NoneNone MillBitmaps\JogSlow-.jpgLabelp%+.4f&S  2NoneNone MillBitmaps\Jogslow+.jpgLabelo%+.4f  2NoneNone MillBitmaps\JogButtony-.jpgLabel6%+.4fj 2NoneNone MillBitmaps\JogButtony+.jpgLabel5Non%+.4fh1\ 2NoneNone MillBitmaps\JogButtonx-.jpgLabel4%+.4fQ\ 2NoneNone MillBitmaps\JogButtonx+.jpgLabel3Non%+.4f^ 2NoneNone MillBitmaps\JogButtonz-.jpgLabel8%+.4f 2NoneNone MillBitmaps\JogButtonz+.jpgLabel7Non%+.4f0[ 2NoneNone MillBitmaps\JogButtonA+.jpgLabel9Non%+.4f'0[[ 2NoneNone MillBitmaps\JogButtonA-.jpgLabel:%+.4f'^ 2NoneNone MillBitmaps/JogMultiStep.jpgLabel2%+.4fs 2NoneNone MillBitmaps/JogSingleStep.jpgLabel1%+.4fs 2NoneNone MillBitmaps/JogStepVelocity.jpgLabel0%+.4fss 2NoneNone MillBitmaps/JogVelocityOnly.jpgLabel/%+.4fs[r8NoneNone NoneLabelS%+.4faq8NoneNone NoneLabelS%+.4fUa]q Jog ON/OFF Ctrl-Alt-JNone LabelgJ%+.4f_VsNoneNone None Abs Coords%+%+.4f,< NoneNone NoneLabel%%+.4ftUk NoneNone NoneLabel+%.3f8NoneNone NoneLabel%+.4fr NoneNone NoneLabel*%.3fNoneNone NoneLabel%2.0f NoneNone NoneNone/%+.4f!g NoneNone NoneNone1%+.4f! NoneNone NoneNone0%+.4f! NoneNone NoneNone2%+.4f!"None7Code "G92.2" Call SetDRO(0, ABS(GetOEMDRO(1000))/-2) MillBitmaps\select2.jpgLabel%+.4f q%"None6Code "G92.2" Call SetDRO(0, ABS(GetOEMDRO(1000))/2) MillBitmaps\select2.jpgLabel%+.4f_>u"None9Code "G92.2" Call SetDRO(1, ABS(GetOEMDRO(1000))/(-2)) MillBitmaps\select2.jpgLabel%+.4f^%"None8Code "G92.2" Call SetDRO(1, ABS(GetOEMDRO(1000))/(2)) MillBitmaps\select2.jpgLabel%+.4f Aqx"None$Call SetDRO(0,0) Call SetDRO(1,0) MillBitmaps\TouchImageC2.jpgLabele3.j%+.4f NoneNone NoneLabel%%+.4fUok NoneNone NoneLabel%%+.4f@!NoneG50 MillBitmaps\scalingoff.jpgLabel%+.4f/"Nonevx = GetUserDRO( 1000 ) y = GetUserDRO( 1001 ) z = GetUserDRO( 1002 ) code "G0G53Z" & z code "G53X" & x & "Y" & y MillBitmaps\gotoVariable.jpgLabel%+%+.4f> "Nonex = GetABSPosition(0) y = GetABSPosition(1) z = GetABSPosition(2) SetUserDRO 1000, x SetUserDRO 1001, y SetUserDRO 1002, z MillBitmaps\SetVariable.jpgLabel%+%+.4f" "NoneCloseTeachFile MillBitmaps\StopTeach.jpgLabelV%+.4f>u"NoneOpenTeachFile "MDITeach.tap" MillBitmaps\StartTeach.jpgLabelop.j%+.4fu" NoneNone MillBitmaps\loadEdit.jpgLabel\%+.4f=)rNoneNone MillBitmaps\StopEsc.jpgLabel%+.4f)"rNoneNone MillBitmaps\Verify3.jpgLabelV%+.4f"k1 NoneNone MillBitmaps\DeRefAxes.jpgLabel%+.4fY12NoneNone MillBitmaps\BackgroundJog.jpgLabel%+.4fNoneNone NoneSpeed and Feed%+.4fNoneNone MillBitmaps\verify2.jpgLabelV}%+.4f5S NoneNone MillBitmaps\Safez.jpgLabelhZ%+.4fS.NoneNone MillBitmaps\Gotoz.jpgLabel%+.4fsSNoneNone MillBitmaps\MachineCoord.jpgLabel%+.4fRkNoneNone MillBitmaps\refAllgry2.jpgLabel%+.4fD(+"Nonevalue = GetParam("Boundry") if value = 1 then 'SetButtonText " Job " SetParam "Boundry" , 0 else SetParam "Boundry" , 1 'SetButtonText "Machine" end if MillBitmaps\DisplayMode.jpgLabel%+.4f@v NoneNone MillBitmaps\JogFollow.jpgLabel%+.4f@cv NoneNone MillBitmaps\RegenToolpath.jpgLabel%+.4fAw"Nonevalue = GetParam("Boundry") if value = 1 then 'SetButtonText " Job " SetParam "Boundry" , 0 else SetParam "Boundry" , 1 'SetButtonText "Machine" end if MillBitmaps\DisplayMode.jpgLabel%+.4f NoneNone MillBitmaps\regentoolpath.jpgLabel%+.4f NoneNone MillBitmaps\reverserun.jpgLabel%+.4f wNoneNone MillBitmaps\SingleBlk.jpgLabelN%+.4f {wNoneNone MillBitmaps\rewind.jpgLabelW%+.4f|NoneNone MillBitmaps\cyclestop.jpgLabelS%+.4fNoneNone MillBitmaps\Feedhold3.jpgLabel %+.4fNoneNone MillBitmaps\cyclestart3.jpgLabelR%+.4fy NoneNone MillBitmaps\offline.jpgLabel%+.4f^18NoneNone MillBitmaps\BoxLEDGreen.pngNone%+.4f,8NoneNone MillBitmaps\BoxLEDRed.pngNone%+.4fe. NoneNone NoneLabel%4.2fNoneNone None Units/Min%+.4fNoneNone None Units/Rev%+.4f NoneNone NoneLabel:%4.2fNoneNone MillBitmaps\Small Reset.jpgLabel%+.4f] NoneNone MillBitmaps\speed+.jpgNonelzLabe%+.4f4\ NoneNone MillBitmaps\speed-.jpgNonemy%+.4f NoneNone MillBitmaps\Small Reset.jpgLabel%+.4f^ NoneNone MillBitmaps\speed+.jpgLabelk%+.4f5] NoneNone MillBitmaps\speed-.jpgLabelm%+.4f OverRide%None None OverRide%%+.4f!| NoneNone MillBitmaps\BlueDro.pngSkinnedJ%3.0f~NoneNone NoneF%+.4fi}NoneNone NoneLabel%4.2fi} NoneNone NoneLabel7%4.2fNbNoneNone NoneFRO%+.4fOc NoneNone MillBitmaps\BlueDro.pngSkinned'%.0fPbvNoneNone NoneRPM%+.4f$bPvNoneNone None%%+.4fNoneNone NoneLabel%3.0f8NoneNone NoneLabel%+.4fAI8NoneNone NoneLabel %+.4f%4=  Spindle CW F5M3 NoneLabelnt%+.4f#AUS ovNone NoneS ov%+.4f&|G NoneNone MillBitmaps\BlueDro.pngSkinned%.0f9"None@DoButton( 24 ) DoButton( 23 ) DoButton( 22 ) DoButton( 25 ) MillBitmaps\Refallgry2.jpgLabeli$<.%+.4f -%NoneNone NoneFile%+.4f=J\ NoneNone MillBitmaps\machinecoord.jpgNone%+.4f18NoneNone NoneLabelC%+.4f\8NoneNone NoneLabel)%+.4fM5k= NoneNone NoneLabel;%+.4f-GoZ8NoneNone NoneLabel*%+.4fMgko NoneNone NoneLabel<%+.4f-zo NoneNone NoneLabel=%+.4f-o8NoneNone NoneLabel+%+.4fMk8NoneNone NoneLabel%+.4f`hNoneNone MillBitmaps\GreenDRO.pngSkinnedA%+.4faNoneNone MillBitmaps\GreenDRO.pngSkinnedZ%+.4faNoneNone MillBitmaps\GreenDRO.pngSkinnedY%+.4fahNoneNone MillBitmaps\GreenDRO.pngSkinnedX%+.4f`6Y8NoneNone NoneLabel'%+.4fR-Z[8NoneNone NoneLabel(%+.4fRaZ8NoneNone NoneLabel)%+.4fRZ8NoneNone NoneLabel*%+.4fRZ8NoneNone NoneLabel%+.4fNoneNone MillBitmaps\stopbutton.jpgLabelS%+.4f d*NoneNone MillBitmaps\Feedhold2.jpgLabel %+.4f cNonefff MillBitmaps\cyclestart.jpgNoneR%+.4f~f NoneNone MillBitmaps\BlueDro.pngSkinned%.0fn/S-ovNone NoneS-ov%+.4fEl/  Spindle CW F5M3 None Spindle CW F5nt%+.4fP8NoneNone MillBitmaps\BoxLEDYellow.pngNone %+.4fJ8NoneNone NoneLabel%+.4fNoneNone NoneRPM%+.4fFr NoneNone MillBitmaps\BlueDro.pngSkinned'%.0fyNoneNone NoneFRO%+.4f NoneNone MillBitmaps\YellowDro.pngSkinned7%4.2f NoneNone MillBitmaps\YellowDro.pngSkinned%4.2f% 9FeedrateNone NoneFeedrate%+.4f# NoneNone MillBitmaps\Small Reset.jpgNone%+.4f"Nonevalue = GetParam("Boundry") if value = 1 then 'SetButtonText " Job " SetParam "Boundry" , 0 else SetParam "Boundry" , 1 'SetButtonText "Machine" end if MillBitmaps\Displaymode.jpgLabel0%+.4fh@k NoneNone MillBitmaps\jogfollow.jpgLabel<.%+.4f@k NoneNone MillBitmaps\Regentoolpath.jpgLabel<.%+.4f@fk NoneNone MillBitmaps\grayZero4.jpgLabel%+.4f NoneNone MillBitmaps\grayZeroZ.jpgLabel%+.4f NoneNone MillBitmaps\grayZeroY.jpgLabel%+.4fdNoneNone MillBitmaps\grayZeroX.jpgNone<.%+.4f0X None MillBitmaps\softlimits.jpgLabelwB%+.4f) NoneNone MillBitmaps\MachineCoord.jpgLabelPD%+.4fj*"NoneqDoButton( 24 ) DoButton( 23 ) DoButton( 22 ) DoButton( 25 ) DoOEMButton(133) DoOEMButton(134) DoOEMButton(135) MillBitmaps\Refallgry2.jpgLabel$%+.4f+NoneNone None Time in Int.%+.4f"* NoneNone NoneLabel%+.1fU)8NoneNone NoneLabel%+.4fGWNoneNone NoneEJogA+%+.4fGWNoneNone NoneEJogZ+%+.4flGW8NoneNone NoneLabel}%+.4fUGeWNoneNone NoneEJogY+%+.4fGJW8NoneNone NoneLabel{%+.4fG WNoneNone NoneEJogX++%+.4fGW8NoneNone NoneLabely%+.4fGW8NoneNone NoneLabel%+.4fYiNoneNone NoneEJogA-%+.4f[kNoneNone NoneEJogZ-%+.4fl[k8NoneNone NoneLabel~%+.4fUYeiNoneNone NoneEJogY-%+.4f[Jk8NoneNone NoneLabel|%+.4fY iNoneNone NoneEJogX--%+.4f[k8NoneNone NoneLabelz%+.4fYi 2NoneNone NoneLabel~%4.2fQ/8NoneNone NoneLabelS%+.4f8NoneNone NoneLabelS%+.4fIQ Jog ON/OFF Ctrl-Alt-JNone LabelgJ%+.4fI8NoneNone MillBitmaps\BoxLEDGreen.pngNoneS%+.4fL]e Jog ON/OFF Ctrl-Alt-JNone LabelgJ%+.4fOUb82NoneNone NoneLabelS%+.4f82NoneNone NoneLabelS%+.4f<D 2Jog ON/OFF Ctrl-Alt-JNone LabelgJ%+.4f<8NoneNone NoneLabelS%+.4f 2ModeNone NoneLabel.%+.4f+O? 2NoneNone NoneLabel|%+3.0fv 2CALNone NoneLabel;%+.4f+?82NoneNone NoneLabelv%+.4fs82NoneNone NoneLabelu%+.4f^p82NoneNone NoneLabelx%+.4f82NoneNone NoneLabelw%+.4f2NoneNone NoneA%+.4f 2Alt BNone NoneLabelB%+.4f/`2NoneNone NoneC%+.4f82NoneNone NoneLabelg%+.4f2NoneNone NoneB%+.4f82NoneNone NoneLabelf%+.4f82NoneNone NoneLabele%+.4ft~2NoneNone NoneZ%+.4f82NoneNone NoneLabeld%+.4f2NoneNone NoneY%+.4f82NoneNone NoneLabelc%+.4f2NoneNone NoneX%+.4f82NoneNone NoneLabelb%+.4ft~2NoneNone None2nd Axis%+.4f/`2NoneNone NoneLabel%.4fPb2NoneNone NoneStep%+.4f8M82NoneNone NoneNone%+.4ffs2Cont.None NoneCont.%+.4fs82NoneNone NoneNone%+.4ffs2StepNone NoneStep%+.4fs 2NoneNone NoneLabel%3.1f_2NoneNone NoneShift Jog to Override Jog Mode%+.4f; 2Up )None NoneLabelo%+.4f@ 2Dn (None NoneLabelp%+.4f 2Cycle Jog StepNone NoneLabelJH %+.4f%Pd2MPGNone NoneMPG%+.4fs82NoneNone NoneNone9%+.4ffs82NoneNone NoneLabel:%+.4frfs2NoneNone NoneMPG Axis%+.4f0{a82NoneNone NoneLabel;%+.4ft~2NoneNone NoneX%+.4f82NoneNone NoneLabel<%+.4f2NoneNone NoneY%+.4f82NoneNone NoneLabel=%+.4f2NoneNone NoneZ%+.4f82NoneNone NoneLabel>%+.4ft~82NoneNone NoneLabel?%+.4f2NoneNone NoneB%+.4f82NoneNone NoneLabel@%+.4f2NoneNone NoneC%+.4f 2Alt ANone NoneLabelA%+.4f._ 2Jog ModeNone NoneLabelJ%+.4f%gp{2NoneNone NoneA%+.4f 2 Shuttle ModeNone NoneLabel%+.4f%:N82NoneNone NoneLabelj%+.4f;K FeedHold None NoneLabel %+.4f28NoneNone NoneLabela%+.4f(Z NoneNone NoneLabelh%3.2f\o8NoneNone NoneLabelm%+.4fp]m  Rapid OvRdNone NoneLabel%+.4f\lp RememberNone NoneLabel%+.4f) Return None NoneLabel%+.4fO) NoneNone NoneLabelv2f%+.1f8NoneNone NoneLabell%+.4f:l  Last WizardNone NoneLabel%+.4f?S8NoneNone MillBitmaps\BlueLED.pngNonea%+.4f  Reverse RunNone NoneLabel%+.4f NoneNone NoneLabelgn%+.2f- NoneNone NoneLabelfn%+.2fp. NoneNone NoneLabelen%+.2fV.mNoneNone NoneCount%+.4f>#RNoneNone NoneVelocity%+.4f|>RNoneNone NoneMPG 3%+.4f*dNoneNone NoneMPG 2%+.4f*qdNoneNone NoneMPG 1%+.4f*Ydm NoneNone NoneLabelqn%+.2fmVm NoneNone NoneLabelrn%+.2fmp NoneNone NoneLabelsn%+.2flNoneNone NoneB%+.4f<hPNoneNone NoneZ%+.4fI eNoneNone NoneY%+.4f& BNoneNone NoneX%+.4f NoneNone NoneC%+.4f<P8NoneNone NoneLabel/%+.4f9?8NoneNone NoneLabel/%+.4fc@mqNoneNone None-Y%+.4f%G"NoneNone None+X%+.4faNoneNone None+Y%+.4f%GNoneNone None-X%+.4f NoneNone MillBitmaps\REDDro.pngSkinned%+.4f:NoneNone MillBitmaps\REDDro.pngSkinned%+.4f:NoneNone MillBitmaps\REDDro.pngSkinned%2.0f'NoneNone NoneH%+.4fNoneNone NoneDia.%+.4fNoneNone NoneTool%+.4f8NoneNone MillBitmaps\BlueLED.pngNoneR%+.4f"Auto Tool Zero 9Rem VBScript To center probe inside the edge-finder hole, And On Any edge rem Vancura Innovations 2006/10/30 creation Date; rem 9010 33rd ST W rem Rock Island, IL 61201 rem (309) 235-1069 rem revisions: rem 2017/06/14: For metric use rem 2015/11/11: minor update, some notes rem 2010/10/30: udates rem user must enter a number before CNC will move. rem entering zero will Exit doing Nothing (abort) rem Probe continuity should be tested before running program rem Will Not run If probe is shorted ' Option Explicit ' this forces programmer to list all variables Dim tool_1 ' 1/8" = 3.175mm Favorite tool #1 size Dim tool_2 ' 3/32" = 2.38mm Favorite tool #2 size Dim finderX ' 0.300" = 7.72mm finder side width both X & Y Dim BigMove ' about 1" (25.4mm) move probe this distance looking for edge Dim SmallMove ' about 0.100" (2.54mm) clearance over material Dim FeedSpeed ' 4in/min or 100mm/min; Faster sacrifices accuracy, slower increases boredom Dim safeZ ' === change safe Z height; should clear work-piece ' ==================================================== Dim toolsize ' tool diameter Dim mymode As Integer ' selection: for action Dim FeedCurrent Dim Xoffset ' position information Dim Yoffset ' position information Dim mytoolsize Dim XCurrent ' position information Dim YCurrent ' position information Dim ZCurrent ' position information Dim XCenter ' calculated center Dim YCenter ' calculated center Dim XNew ' destination of next move Dim YNew ' destination of next move Dim ZNew ' destination of next move Dim XPos1 ' saved temp position Dim YPos1 ' saved temp position Dim XPos2 ' saved temp position Dim YPos2 ' saved temp position Dim ZPos2 ' saved temp position ' ===== CHANGE HERE for METRIC or ENGLISH ============= tool_1 = 0.125 ' 1/8" = 3.175mm Favorite tool #1 size tool_2 = 0.0935 ' 3/32" = 2.38mm Favorite tool #2 size finderX = 0.300 ' 0.300" = 7.72mm finder side width both X & Y BigMove = 1 ' about 1" (25.4mm) move probe this distance looking for edge SmallMove = 0.1 ' about 0.100" (2.54mm) clearance over material FeedSpeed = 4 ' 4in/min or 100mm/min; Faster sacrifices accuracy, slower increases boredom ' ==================================================== safeZ = SmallMove ' === change safe Z height; should clear work-piece ' ==================================================== ' ================================================================= ' ===== CODE STARTS HERE ========================================= ' ================================================================= rem === program will Not run If probe isshorted === If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty Code "(Probe is grounded, check clearance and try again)" Else ' === module works in only one mode === If GetOemLed (16) <> 0 Then 'Warning Wrong Coordinate system DoOEMButton(107) Code "(Changing to Normal DRO Mode)" Code "G4 P0.25" ' === Pause 1/4 sec === End If DoSpinStop ' === double check motor is not running === Xoffset = SmallMove Yoffset = SmallMove toolsize = (3.175) /2 ' === 1/8" tool default tool size === ' === ask user to select an operation to perform. === mymode = Question ("0=Q; 1=Cntr, 2=-X; 3=-Y; 4=+X; 5=+Y; 6=Z; 7=XYZ") ' If mymode = 0 Then ' === zero quits without doing anything === Code "(0 = Quit)" Exit Sub End If ' === ask more questions if not finding center or z=0 === If ((mymode > 1) And (mymode < 8) And (mymode <> 6)) Then mytoolsize = Question ("Probe Size 1=0.093; 2=1/8; 3=1/4") If (mytoolsize = 1) Then toolsize = (tool_1) /2 ElseIf (mytoolsize = 3) Then toolsize = (tool_2) /2 End If mytoolsize = Question ("0=No offset 1=finder offset") If mytoolsize = 1 Then toolsize = toolsize + finderX End If End If ' mymode = mymode -1 ' === normalize (we don't do this)=== ' FeedCurrent = GetOemDRO(818) 'Get the current settings XCurrent = GetDro(0) ' location of tool X position YCurrent = GetDro(1) ' location of tool Y position ZCurrent = GetDro(2) ' location of tool Z position Code "G4 P1" 'Pause 1 second to give time to position probe plate Code "F" &FeedSpeed 'Feed rate speed for seeking touch Rem Code "F100" 'slow feed rate to 100 mm/min ' === Go really SLOW === '======================================== If mymode = 1 Then ' === FIND CENTER) === '======================================== Code "(Mode 1: Find Center )" Rem Move Probe X Minus XNew = Xcurrent - BigMove 'Move probe (1 inch) to left Code "G31 X" &XNew While IsMoving() 'wait for the move to finish Wend XPos1 = GetVar(2000) 'get the probe touch location Code "G0 X" &XCurrent 'rapid move back to start point Rem Move Probe X Plus XNew = XCurrent + BigMove 'move probe 25mm (1 inch) to right Code "G31 X" &XNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend XPos2 = GetVar(2000) ' Rem === calculate hole X center === XCenter = (XPos1 + XPos2) / 2 'center is midway between XPos1 and XPos2 Code "G0 X" &XCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (0,0.000) Code "G4 P0.25" 'Pause 1/4 sec Rem Move Probe Y Minus YNew = YCurrent - BigMove 'move probe 25mm (1 inch) to left Code "G31 Y" &YNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend YPos1 = GetVar(2001) Code "G0 Y" &YCurrent Rem Move Probe Y Plus YNew = YCurrent + BigMove 'move probe 25mm (1 inch) to right Code "G31 Y" &YNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend YPos2 = GetVar(2001) ' === Calculate hole Y center === YCenter = (YPos1 + YPos2) / 2 'center is midway between XPos1 and XPos2 Rem move To the center Code "G0 Y" &YCenter While IsMoving () 'Wait for stop signal Wend Call SetDro (1,0.000) While IsMoving () Wend Code "G4 P0.25" 'Pause 1/4 sec Rem ================================================== Rem === Do X center find a Second Time For better accuracy. === Rem Again Move Probe X Minus XCurrent = GetDro(0) XNew = Xcurrent - BigMove 'move probe 1 inches to left Code "G31 X" &XNew While IsMoving() 'wait for the move to finish Wend XPos1 = GetVar(2000) 'get the probe touch location Code "G0 X" &XCurrent 'rapid move back to start point Rem Again Move Probe X Plus XNew = XCurrent + BigMove 'move probe 1 inches to right Code "G31 X" &XNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend XPos2 = GetVar(2000) XCenter = (XPos1 + XPos2) / 2 'center is midway between XPos1 and XPos2 Code "G0 X" &XCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (0,0.000) Code "G4 P0.25" 'Pause 1/4 sec Rem ================================================== Rem Call SetUserDro (1152,YPos1 - YPos2 + .200) Rem Code "G4 P0.25" 'Pause 1/4 sec '=================================== ElseIf mymode = 2 Then '=================================== Rem === find the outside edge To minus X === Code "(Mode 2: Find -X )" Rem Move Probe X Plus XNew = XCurrent + BigMove 'move probe 1 inch to right Code "G31 X" &XNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend XPos2 = GetVar(2000) ' XCenter = (XPos2) + toolsize 'compensate for tool & finder edge Code "G0 Z" &safeZ 'rapid move to the x center location While IsMoving() 'Wait for stop signal Wend Code "G0 X" &XCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (0,0.000) Code "G4 P0.25" 'Pause 1/4 sec ' ===== '=================================== ElseIf mymode = 3 Then '=================================== Rem === find the outside edge To minus Y === Code "(Mode 3: Find -Y )" Rem Move Probe Y Plus YNew = YCurrent + BigMove 'move probe 1 inch to right Code "G31 Y" &YNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend YPos2 = GetVar(2001) ' YCenter = (YPos2) + toolsize Code "G0 Z" &safeZ 'rapid move to the x center location While IsMoving() 'Wait for stop signal Wend Code "G0 Y" &YCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (1,0.000) Code "G4 P0.25" 'Pause 1/4 sec ' ===== '=================================== ElseIf mymode = 4 Then '=================================== Rem === find the outside edge To plus X === Code "(Mode 4: Find +X )" Rem Move Probe X Minus XNew = XCurrent - BigMove 'probe 1 inches to right Code "G31 X" &XNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend XPos2 = GetVar(2000) ' XCenter = (XPos2) - toolsize Code "G0 Z" &safeZ 'rapid move to the x center location While IsMoving() 'Wait for stop signal Wend Code "G0 X" &XCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (0,0.000) Code "G4 P0.25" 'Pause 1/4 sec ' ===== '=================================== ElseIf mymode = 5 Then '=================================== Rem === find the outside edge To plus Y === Code "(Mode 5: Find +Y )" Rem Move Probe Y Minus YNew = YCurrent - BigMove 'set destination 1 inch minus Code "G31 Y" &YNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend YPos2 = GetVar(2001) ' YCenter = (YPos2) - toolsize 'set destination 1 inch minus Code "G0 Z" &safeZ 'rapid move to the x center location While IsMoving() 'Wait for stop signal Wend Code "G0 Y" &YCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (1,0.000) Code "G4 P0.25" 'Pause 1/4 sec ' ===== '=========================================== ElseIf mymode = 6 Then '==== Z TOP ==== '=========================================== Rem === find the top surface Z = Zero === Code "(Mode 6: Find Z Top )" Rem Move Probe Z Minus ZNew = ZCurrent - BigMove 'set destination 1" minus (down) Code "G31 Z" &ZNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend ZPos2 = GetVar(2002) Call SetDro (2,0.000) ' Code "G0 Z" &safeZ 'rapid move to the Z+ 0.1" location While IsMoving() 'Wait for stop signal Wend Code "G0 Z" &0 'rapid move to the Z surface top location While IsMoving () 'Wait for stop signal Wend Code "G4 P0.25" 'Pause 1/4 sec '=========================================== ElseIf mymode = 7 Then '==== X Y Z ==== '=========================================== Rem === find the outside edge minus X, minus Y, And Z = 0 === Code "(Mode 7: Find -X0, -Y0, &Z0 )" ' Must be within 1 inch of the corner over the work Call SetDro (0,0.000) ' Call SetDro (1,0.000) Call SetDro (2,0.000) ' ===== First find Z ===== ZNew = ZCurrent - (3 * BigMove) 'set destination 3" minus (down) Code "G31 Z" &ZNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend ZPos2 = GetVar(2002) 'The Z EDGE Call SetDro (2,0.000) ' Code "G0 Z" &safeZ 'rapid move to the x center location While IsMoving() 'Wait for stop signal Wend Code "G0 Z" &0 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Code "G4 P0.25" 'Pause 1/4 sec ' ===== Then find X ===== XNew = XCurrent - BigMove 'back off 1 inch Code "G0 Z" &safeZ 'rapid move to safeZ location While IsMoving() 'Wait for stop signal Wend Code "G0 X" &XNew 'rapid move to the x starting location While IsMoving() 'Wait for stop signal Wend Code "G0 Z" &(-SmallMove) 'move to starting height ' XNew = XCurrent + 3*BigMove 'probe 3 inches to right Code "G31 X" &XNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend XPos2 = GetVar(2000) ' XCenter = (XPos2) + toolsize ' The X EDGE Code "G0 X" &(XPos2 -(SmallMove)) 'back off from work Code "G0 Z" &safeZ 'rapid move to the safeZ location While IsMoving() 'Wait for stop signal Wend Code "G0 X" &XCenter 'rapid move to the x center location While IsMoving () 'Wait for stop signal Wend Call SetDro (0,0.000) Code "G4 P0.25" 'Pause 1/4 sec ' ===== Then find Y ===== Code "G0 Z" &safeZ 'rapid move to safeZ location While IsMoving() 'Wait for stop signal Wend Code "G0 X" &(SmallMove) 'rapid move to the x starting location While IsMoving() 'Wait for stop signal Wend Code "G0 Y" &(-(SmallMove)) 'rapid move to the y starting location While IsMoving() 'Wait for stop signal Wend Code "G1 Z" &(-(SmallMove)) 'move to starting height ' YNew = YCurrent + (BigMove) Code "G31 Y" &YNew 'Start hunt for edge While IsMoving() 'Wait for stop signal Wend YPos2 = GetVar(2001) ' YCenter = (YPos2) + toolsize ' The Y EDGE Code "G0 Y" &(YPos2 -(SmallMove)) 'back off from work Code "G0 Z" &safeZ 'rapid move to the safeZ location While IsMoving() 'Wait for stop signal Wend Code "G0 Y" &YCenter 'rapid move to the y corner location While IsMoving () 'Wait for stop signal Wend Call SetDro (1,0.000) Code "G4 P0.25" 'Pause 1/4 sec ' ===== head to x0,y0,z0 ===== Code "G0 Z" &safeZ 'rapid move to the safeZ location While IsMoving () 'Wait for stop signal Wend Code "G0 X" &(0.000) 'rapid move to the x corner location Code "G0 Y" &(0.000) 'rapid move to the y corner location While IsMoving () 'Wait for stop signal Wend Code "G0 Z" &(0.000) 'rapid move to the z corner location ' ===== Done ===== '=================================== ElseIf mymode = 8 Then toolsize = (tool_1) /2 '=================================== ElseIf mymode = 9 Then toolsize = (tool_2) /2 '=================================== End If '=================================== Rem: === Restore original feedrate === Code "F" &FeedCurrent 'restore starting feed rate End If NoneAuto Tool Zero%+.4f>  Set Next LineNone NoneLabelt%+.4fz Run From HereNone NoneLabel%+.4fz$NoneNone NoneLine:%+.4fy NoneNone NoneLabel%.0f 8NoneNone MillBitmaps\BoxLEDGreen.pngNone$%+.4f ylNoneNone NoneChange%+.4f2\8NoneNone NoneLabel&%+.4f,[Single BLK Alt-NNone NoneLabelN%+.4f Rewind Ctrl-WNone NoneLabelW%+.4fwNoneNone NoneTool%+.4f9R Jog ON/OFF Ctrl-Alt-JNone LabelgJ%+.4fp8NoneNone NoneLabelS%+.4f8NoneNone NoneLabelS%+.4fqyNoneNone None - Manual%+.4f?ThNoneNone None- MDI%+.4f3GNoneNone NoneDwell%+.4fI)NoneNone NoneLabel%+.4fs<mNoneNone NoneLabel%+.4fsNoneNone NoneLabel%+.4fsNoneNone NoneLabel%+.4fs58NoneNone NoneLabel'%+.4f`;jl8NoneNone NoneLabel(%+.4f`~j8NoneNone NoneLabel)%+.4f`j8NoneNone NoneLabel*%+.4f`j48NoneNone NoneLabel%+.4f$FVPNoneNone NoneLabel%+.4f \JoyStick (Ctrl-S)None NoneLabelS%+.4f  8NoneNone NoneLabel.%+.4f   NoneNone NoneLabel%4.2foNoneNone None Units/Min%+.4fjNoneNone None Units/Rev%+.4fj NoneNone NoneLabel:%4.2fo NoneNone NoneLabelĂ%+.4f?)NoneNone None Positioning%+.4fk8NoneNone NoneLabel%+.4f$ NoneNone NoneLabel.%3.0f/v^NoneNone NoneLabel%.2fD3GNoneNone NoneElapsed%+.4f 8AHNoneNone NoneReduced%+.4f8NoneNone NoneLabelU%+.4f)8NoneNone NoneLabelT%+.4fEZ  CV Feedrate None NoneLabel%+.4f[ NoneNone NoneLabela%+.4f8NoneNone NoneLabelR%+.4f(pZxNoneNone NoneOutput 6%+.4feNu8NoneNone NoneLabelO%+.4fe uNoneNone NoneOutput 5%+.4feu8NoneNone NoneLabelN%+.4feu8NoneNone NoneLabelM%+.4fQaNoneNone NoneOutput 4%+.4fO_8NoneNone NoneLabelR%+.4f%5 NoneNone MillBitmaps\M-code_US.bmpLabelۜ%+.4f^HnNoneNone MillBitmaps\G-codes_US.bmpLabel%+.4f96 NoneNone NoneLabel]%+1.2fFlNoneNone NoneLift Z%+.4fENoneNone None Lift Angle%+.4fE NoneNone NoneLabel\%+3.0fJl Tangential ControlNone NoneLabel%+.4f8NoneNone NoneLabelQ%+.4f"Displayvalue = GetParam("Boundry") if value = 1 then 'SetButtonText " Job " SetParam "Boundry" , 0 else SetParam "Boundry" , 1 'SetButtonText "Machine" end if NoneLabel%+.4f 8NoneNone NoneLabelJ%+.4f&u: NoneNone NoneNoneY%1.4f  Recent FileNone NoneLabel%+.4fy  Block DeleteNone NoneLabel.%+.4f M1 Optional StopNone NoneM1 Optional Stop#%+.4f8NoneNone MillBitmaps\BlueLED.pngNoneB%+.4f8NoneNone MillBitmaps\BlueLED.pngNoneA%+.4f  Close G-CodeNone NoneLabel%+.4fz8NoneNone NoneLabel4%+.4fZ1; On/OffNone Label%+.4fW=MNoneNone None Z Inhibit%+.4f[M\ NoneNone NoneLabelP%+.3fH]oNoneNone NoneCV Mode%+.4fU(8NoneNone MillBitmaps\BoxLEDGreen.pngNone6%+.4fO*8NoneNone NoneLabel5%+.4f" Ignore Tool ChangeNone NoneLabel%+.4f#8NoneNone MillBitmaps\BoxLEDRedGreen.pngNone %+.4f3u NoneNone NoneLabel%+.4f$5*NoneNone None Laser Grid%+.4f 2NoneNone NoneYNone%+.4fPdNoneNone NoneXNone%+.4f4H NoneNone NoneLabelM%+.4fP e NoneNone NoneLabelL%+.4f5 J Laser Grid ZeroNone NoneLabel%+.4f  ToggleNone NoneLabel%+.4fNoneNone NoneLaser Trigger On %+.4f8NoneNone NoneLabel3%+.4f RegenNone NoneLabel%+.4f :8NoneNone NoneLabel/%+.4f   Jog FollowNone NoneLabelʛ%+.4f<  NoneNone MillBitmaps\YellowDro.pngSkinned:%4.2f]sNoneNone None Units/Rev%+.4fq`qNoneNone None Units/Min%+.4fqEV NoneNone MillBitmaps\YellowDro.pngSkinned%4.2fCY8NoneNone NoneLabel+%+.4f 8NoneNone NoneLabel*%+.4ff n8NoneNone NoneLabel)%+.4f4 < NoneNone NoneLabel<%+.4fx  NoneNone NoneLabel=%+.4f  NoneNone NoneLabel;%+.4fC VSpindle Pulley None NoneSpindle Pulley %+.4fV NoneNone NoneNone8o 8%2.0fyNoneNone NoneLabel%2.0f0P_p8NoneNone NoneLabel&%+.4f8NoneNone NoneLabel%%+.4fUe8NoneNone NoneLabel$%+.4f Torch DnNone NoneTorch Dn%+.4fNoneNone NoneTorch UP%+.4fkNoneNone NoneTorch On%+.4fONoneNone NoneProfile%+.4fNoneNone None Single Step on input Activation4%+.4fy ToggleNone NoneLabel%+.4f8NoneNone NoneLabel#%+.4f8NoneNone NoneLabel"%+.4f OverRide LimitsNone NoneLabel%+.4f Auto LimitOverRideNone NoneLabel%+.4f8NoneNone NoneLabel!%+.4fNoneNone None CPU Speed%+.4f" NoneNone NoneLabel5%+.4f' Reset Interp Alt-iNone NoneLabelfI%+.4fbPlNoneNone NoneInch%+.4f 48NoneNone NoneLabel!%+.4f8HNoneNone NoneMM's%+.4fz 48NoneNone NoneLabel"%+.4f8H  UNITS Alt-UNone None UNITS Alt-Uju%+.4f  8NoneNone NoneLabel*%+.4f8NoneNone NoneLabel)%+.4fNoneNone NoneLabel%+.4fNoneNone NoneLabel%+.4f Offsets (Alt-5)None NoneOffsets (Alt-5)5%+.4fH NoneNone NoneLabel.%3.0f1G8NoneNone NoneLabel(%+.4f\u8NoneNone NoneLabel'%+.4f6ONoneNone NoneLabel%+.4f`yNoneNone NoneLabel%+.4f5NNoneNone NoneAlt Z%+.4f.MYaNoneNone NoneAlt Y%+.4f.)Y=NoneNone NoneAlt X%+.4f.Y ZeroNone NoneLabelz%+.4fG*f ZeroNone NoneLabely%+.4f$)C ZeroNone NoneLabelx%+.4f)8NoneNone NoneLabel%+.4f 0 ToolPath on/offNone NoneLabel%+.4fy0ModeNone NoneMode%+.4f NoneNone None Worst Case%+.4f|" NoneNone NoneLabel(%+.6f;y Load DRONone NoneLabel%+.4fWg To DRONone NoneLabel~%+.4fFV Load DRONone NoneLabel%+.4f4D To DRONone NoneLabel%+.4f#3 Load DRONone NoneLabel}%+.4f  To DRONone NoneLabel~%+.4fNoneNone NoneEncoder Position%+.4f NoneNone NoneLabel%+.4f He NoneNone NoneLabel%+.4f %B NoneNone NoneLabel%+.4f NoneNone None Buffer Load%+.4fK'ZNoneNone None%%+.4fH\ NoneNone NoneLabel%3.0f`F[ NoneNone NoneLabel%+4.0f;NoneNone NonePWM Base%+.4f NoneNone NoneLabel%+.4f[q NoneNone NoneNone%+.4f[ NoneNone NoneNone%+.4f[CV NoneNone NoneLabel%+.4f[ZmNoneNone None Time Scale%+.4f" NoneNone NoneLabel%+.4f=NoneNone None Queue Depth%+.4fc4s NoneNone NoneLabel%+3.fT`u WorkOffsetNone None WorkOffset%+.4f%09 NoneNone NoneNone%+.4fp-!NoneNone NoneNone%+.4f-NoneNone NoneNone%+.4fB-UNoneNone NoneNone%+.4fY-lNoneNone MillBitmaps\GreenDRO.pngSkinned%+.4fNoneNone MillBitmaps\GreenDRO.pngSkinned%+.4fNoneNone MillBitmaps\GreenDRO.pngSkinned%+.4f]{NoneNone MillBitmaps\GreenDRO.pngSkinned%+.4f4R8NoneNone NoneLabel%+.4fNoneNone NoneRotation Diameters%+.4f7*ANoneNone NoneA%+.4f<HPdNoneNone NoneLabel%+.4fSNoneNone NoneLabel%+.4fThNoneNone NoneLabel%+.4fTGd Settings (Alt-6)None NoneSettings (Alt-6)6%+.4f NoneNone None Emergency%+.4f 8NoneNone NoneLabel%+.4f8NoneNone NoneLabel$%+.4f5pgx8NoneNone NoneLabel%+.4f?S8NoneNone MillBitmaps\BoxLEDYellow.pngNone-%+.4fH+NoneNone NoneEstimated Program Run Time%+.4fIYkNoneNone NoneLabel%.2fVxj NoneNone NoneLabel %+.4fY NoneNone NoneLabel %+.4fY NoneNone NoneLabel%+.4fL NoneNone NoneLabel%+.4fL NoneNone MillBitmaps\BlueDro.pngNone%+.4fPLa NoneNone NoneLabel %+.4fYPa NoneNone NoneLabel %+.4fYl} NoneNone NoneNone%+.4fmL~NoneNone NoneElapsed%+.4f3ANoneNone MillBitmaps\REDDro.pngSkinned%.2f/JF  Mist ToggleNone NoneLabelr%+.4fA-  Flood ToggleNone NoneLabelq%+.4fA Spindle ToggleNone NoneLabeln%+.4fAOutput Signals current StateNone NoneOutput Signals current State%+.4f NoneNone NoneDigitize%+.4fjeu8NoneNone NoneLabelW%+.4fQeauNoneNone NoneOutput 3%+.4fhP`8NoneNone NoneLabelV%+.4fQPa`NoneNone NoneEnable 6%+.4f;LKNoneNone NoneEnable 3%+.4fh$48NoneNone NoneLabelS%+.4f: J8NoneNone NoneLabelP%+.4fQ$a4NoneNone None Output 2 %+.4fON_8NoneNone NoneLabelU%+.4fP `NoneNone NoneEnable 5%+.4f:JNoneNone NoneEnable 2%+.4f$N48NoneNone NoneLabelR%+.4f:J8NoneNone NoneLabelO%+.4f$ 4NoneNone NoneOutput 1%+.4fN^8NoneNone NoneLabelT%+.4fP`NoneNone NoneEnable 4%+.4f$4NoneNone NoneEnable 1%+.4f$48NoneNone NoneLabelQ%+.4f$48NoneNone NoneLabelN%+.4f$4Input Signals current StateNone NoneInput Signals current State%+.4f*>NoneNone NoneM6Home%+.4f8NoneNone NoneNoneM%+.4fNoneNone NoneM5Home%+.4fNoneNone NoneM4Home%+.4fNoneNone NoneM3Home%+.4fNoneNone NoneM2Home%+.4fNoneNone NoneM1Home%+.4fm}8NoneNone NoneNoneJ%+.4f8NoneNone NoneNoneG%+.4f8NoneNone NoneNoneD%+.4f8NoneNone NoneLabelA%+.4f~8NoneNone NoneLabel>%+.4fl|NoneNone None M6--Limit%+.4fl8NoneNone NoneLabelL%+.4fUeNoneNone None M5--Limit%+.4flNoneNone None M4--Limit%+.4flNoneNone None M3--Limit%+.4flNoneNone None M2--Limit%+.4flNoneNone None M1--Limit%+.4flm}8NoneNone NoneLabelI%+.4fUe8NoneNone NoneLabelF%+.4fUe8NoneNone NoneLabelC%+.4fUe8NoneNone NoneLabel@%+.4fU}e8NoneNone NoneNone=%+.4fUke{NoneNone None M6++Limit%+.4fJ8NoneNone NoneLabelK%+.4f NoneNone None M5++Limit%+.4fJNoneNone None M4++Limit%+.4fJNoneNone None M3++Limit%+.4fJNoneNone None M2 ++Limit%+.4fJNoneNone None M1++Limit%+.4fmJ}NoneNone NoneLimitOV%+.4f8NoneNone NoneLabelH%+.4f 8NoneNone NoneLabelE%+.4f 8NoneNone NoneLabelB%+.4f 8NoneNone NoneLabel?%+.4f} 8NoneNone NoneLabel<%+.4fk {8NoneNone NoneLabel;%+.4fNoneNone NoneIndex%+.4fNoneNone NoneDigitize%+.4fNoneNone NoneInput 4%+.4fNoneNone NoneInput 3%+.4fNoneNone NoneInput 2%+.4fNoneNone NoneInput 1%+.4fm}8NoneNone NoneLabel:%+.4f8NoneNone NoneLabel9%+.4f8NoneNone NoneLabel8%+.4f8NoneNone NoneLabel7%+.4f8NoneNone NoneLabel6%+.4f}8NoneNone NoneLabel5%+.4fk{Ref CNone NoneLabel%+.4fDRef BNone NoneLabel%+.4fDRef ANone NoneLabel%+.4fDRef ZNone NoneLabel%+.4frDRef YNone NoneLabel%+.4f[DiRef XNone NoneLabel%+.4fDDRNoneNone None Dwell Active%+.4f<9LNoneNone None Tool Request%+.4fcSsNoneNone NoneRun%+.4fP`8NoneNone NoneLabel-%+.4f<L8NoneNone NoneLabel,%+.4fIY8NoneNone NoneLabel+%+.4fIY8NoneNone NoneLabel*%+.4fIY8NoneNone NoneLabel)%+.4fIqY8NoneNone NoneLabel(%+.4fIZYj8NoneNone NoneLabel'%+.4fICYS8NoneNone NoneLabel&%+.4faq8NoneNone NoneLabel$%+.4fN^NoneNone NonePulse Frequency%+.4ft  NoneNone NoneLabel%5.0f!A NoneNone NoneLabel%+.4f8Zero AllNone NoneLabel%+.4f /G?  Edit G-CodeNone NoneLabels%+.4fzw EditNone NoneLabels%+.4fCSingleNone NoneLabel%+.4f$StopNone NoneLabel%+.4f$RewindNone NoneLabel%+.4f$ Cycle StartNone NoneLabel%+.4fz4 NoneNone NoneLabel%+.4fy NoneNone NoneLabel %+.4ft Blended SpdNone None Blended Spd%+.4f02@ NoneNone NoneLabel%.2f1,CNoneNone NoneC Pos%+.4f`NoneNone NoneB Pos%+.4f`NoneNone NoneA Pos%+.4f`NoneNone NoneZ Pos%+.4f`pNoneNone NoneY Pos%+.4f`YjNoneNone NoneX Pos%+.4faBSNoneNone NoneLabel%+.4fNoneNone NoneLabel%+.4fNoneNone NoneLabel%+.4fNoneNone NoneLabel%+.4foNoneNone NoneLabel%+.4fXoNoneNone NoneNone%+.4f@W Run From HereNone NoneLabel%+.4f?SSimulate Program RunNone NoneLabel%+.4f?S NoneNone NoneLabel%+.4fi NoneNone NoneNone%+.4f4$ NoneNone NoneLabel%+.4f"NoneNone NoneError%+.4f^8NoneNone MillBitmaps\BoxLEDRedGreen.pngNone*%+.4f8NoneNone MillBitmaps\BoxLEDRedGreen.pngNone)%+.4f8NoneNone MillBitmaps\BoxLEDRedGreen.pngNone(%+.4f_8NoneNone MillBitmaps\BoxLEDRedGreen.pngNone'%+.4f,^8NoneNone MillBitmaps\BlueLED.pngNone %+.4f  Flood Ctrl-F NoneLabelqF%+.4fNoneNone MillBitmaps\GreenDRO.pngSkinnedA%+.4fNoneNone MillBitmaps\GreenDRO.pngSkinnedZ%+.4fNoneNone MillBitmaps\GreenDRO.pngSkinnedY%+.4feNoneNone MillBitmaps\GreenDRO.pngSkinnedX%+.4f4W NoneNone NoneNone%+.4f7' Diagnostics (Alt-7),DoOEMButton( 5 ) rem PlayWave "diags.wav" NoneDiagnostics (Alt-7)7%+.4f Tool Path (Alt-4)None NoneTool Path (Alt-4)4%+.4fF  MDI (Alt-2)None None MDI (Alt-2)2%+.4f Program Run (Alt-1)None NoneProgram Run (Alt-1)1%+.4fNoneNone #MillBitmaps\BackgroundToolpath2.jpgLabel%+.4fNoneNone MillBitmaps\TouchImage2.jpgLabel%+.4f]H)NoneNone MillBitmaps\BackgroundMain.jpgNone%+.4fNoneNone MillBitmaps\backgroundMDI.jpgLabel%+.4fNoneNone MillBitmaps\backgroundoffset.jpgLabel%+.4fNoneNone NoneA Circle&%+.4fg {"None6Code "G92.2" Call SetDRO(0, ABS(GetOEMDRO(1000))/2) NoneLabel&%+.4f$LQ"None9Code "G92.2" Call SetDRO(1, ABS(GetOEMDRO(1000))/(-2)) NoneLabelAC%+.4f H"None9Code "G92.2" Call SetDRO(0, ABS(GetOEMDRO(1000))/(-2)) NoneLabel%+.4f"None8Code "G92.2" Call SetDRO(1, ABS(GetOEMDRO(1000))/(2)) NoneLabel%+.4fLTicker0None NoneTicker0%+.4fHT\ M-CodesNone NoneM-Codes %+.4f]Cq"G-Codes5HtmlDialog( GetMainFolder()+"Mach3MillGcode.htm" ) NoneG-Codes%+.4f]q HistoryNone NoneLabel%+.4fD ClearNone NoneClear%+.4fHy8NoneNone MillBitmaps\BoxLEDRedGreen.pngNone %+.4f 9nNoneNone MillBitmaps\reset2.jpgNone%+.4f<l"Set Steps per UnitSub Main() Begin Dialog GroupSample 31,32,120,96,"Axis Selection" OKButton 38,75,40,14 GroupBox 12,8,96,62,"Pick Axis to Calibrate",.GroupBox1 OptionGroup .OptionGroup1 OptionButton 20,24,40,8,"X Axis",.OptionButton1 OptionButton 20,40,40,8,"Y Axis",.OptionButton2 OptionButton 20,56,40,8,"Z Axis",.OptionButton3 OptionButton 67,24,40,8,"A Axis",.OptionButton4 OptionButton 67,40,40,8,"B Axis",.OptionButton5 OptionButton 67,56,40,8,"C Axis",.OptionButton6 End Dialog Dim Dlg1 As GroupSample Button = Dialog (Dlg1) If Button = 0 Then Exit Sub End If AxisNum = Dlg1.OptionGroup1 Select Case AxisNum Case 0 'HSS Axis = "StepsPerAxisX" Axis_Letter = "X" Case 1 'HSStin Axis = "StepsPerAxisY" Axis_Letter =" Y" Case 2 'Carbide Axis = "StepsPerAxisZ" Axis_Letter = "Z" Case 3 'Carbide Axis = "StepsPerAxisA" Axis_Letter = "A" Case 4 'Carbide Axis = "StepsPerAxisB" Axis_Letter = "B" Case 5 'Carbide Axis = "StepsPerAxisC" Axis_Letter = "C" End Select Com_Move = Question ("How far would you like to Move the " & Axis_Letter & " Axis?") If COM_Move = 0 Then MsgBox "Can't have a Move of Zero, Axis Calc aborted." Exit Sub End If Code "G0 G91 " & Axis_Letter & Com_Move While Ismoving() Wend Code("G90") Code "G4 P0.5" Act_Move = Question("How far did the " & Axis_Letter & " Axis move? (Measured Value)") If Act_Move = 0 Then MsgBox "Can't have a Move of Zero, Axis Calc aborted." Exit Sub End If Old_PPR = GetParam(Axis) New_PPR = Abs((Com_Move/Act_Move) * Old_PPR) Response = MsgBox ( Axis_Letter & " Axis Will be Set to " & New_PPR & " Steps per Unit. Would you like to Accept it??", 4 , "Set Steps Per Unit") If Response = 6 Then ' User chose Yes. Call SetParam(Axis, New_PPR) MsgBox (Axis_Letter & " Axis Has Been Set") Else ' User chose No. MsgBox (Axis_Letter & " Axis Has NOT Been Set") End If End Sub Main NoneLabel%+.4f.NoneNone NoneAxis Calibration%+.4f1 NoneNone NoneRapid Override Rate (Units/Min)%+.4fLZNoneNone NoneAuto Limit Override%+.4fNoneNone NoneManual Limit Override%+.4fNoneNone NoneDo not run Tool Change Macro%+.4f  NoneNone NoneLabel%3.0fCNoneNone None LookAhead%+.4f%  NoneNone NoneLabel%+.0f$< NoneNone NoneLabel%+.4f@Zs NoneNone NoneMDI,"%+.4fnCW NoneNone None Mavg_curr%+.4f&'; NoneNone NoneI_isr%+.4f*p  NoneNone NoneLabel%+.0f NoneNone Nonem_isr%+.4f*p  NoneNone NoneLabel%+.0f NoneNone Nonegrr_tgt%+.4f*p  NoneNone NoneLabel%+.0f NoneNone Nonegrr_curr%+.4f*p  NoneNone NoneLabel%+.0f NoneNone NoneIters%+.4f*xp  NoneNone NoneLabel%+.0fu NoneNone None Curr Seq.%+.4f,Vyj  NoneNone NoneLabel%+.0fRj8 NoneNone NoneLabel%+.4f|[k NoneNone NoneCurrent Status%+.4fH:N8 NoneNone NoneLabel%+.4f|z8 NoneNone NoneLabel%+.4f}8 NoneNone NoneLabel%+.4f|8 NoneNone NoneLabel%+.4f|8 NoneNone NoneLabel%+.4f|8 NoneNone NoneLabel%+.4f|%8 NoneNone NoneLabel%+.4f|4D NoneNone None HeartBeatX<[w%+.4fZjl NoneNone NoneStillX<[w%+.4fxj NoneNone None Queue EndX<[w%+.4fi NoneNone None Mavg DrainX<[w%+.4fp NoneNone NonePauseX<[w%+.4fj NoneNone NonePurgeingX<[w%+.4fi  NoneNone NoneHaltX<[w%+.4fj& NoneNone None GRR MatchedX<[w%+.4f3tE NoneNone NoneC HomeX<[w%+.4f NoneNone NoneB HomeX<[w%+.4f NoneNone NoneA HomeX<[w%+.4f NoneNone NoneZ HomeX<[w%+.4f NoneNone NoneY HomeX<[w%+.4ft NoneNone NoneX HomeX<[w%+.4fYh8 NoneNone NoneLabel%+.4f8 NoneNone NoneLabel%+.4f8 NoneNone NoneLabel%+.4f8 NoneNone NoneLabel%+.4f8 NoneNone NoneLabel%+.4fv8 NoneNone NoneLabel%+.4fWg8 NoneNone NoneLabel%+.4f$8 NoneNone NoneLabel%+.4f7G NoneNone NoneQueFullX<[w%+.4f% NoneNone NoneSeq ErrX<[w%+.4f3E  NoneNone NoneLabel%+.fEg~  NoneNone NoneLabel%+.0fD~  NoneNone NoneLabel%+.0fD  NoneNone NoneLabel%+.0fD  NoneNone NoneLabel%+.0fD  NoneNone NoneLabel%+.0fD NoneNone NoneX Pos%+.4fh:y NoneNone NoneY Pos%+.4f 9 NoneNone NoneZ Pos%+.4f 9 NoneNone NoneA Pos%+.4f 9 NoneNone NoneB Pos%+.4f 9 NoneNone NoneC Pos%+.4f 9 NoneNone NoneMach3 Positions%+.4f#K_ NoneNone NoneGRex Positions%+.4fKg_ NoneNone NoneC Pos%+.4f NoneNone NoneB Pos%+.4f NoneNone NoneA Pos%+.4f NoneNone NoneZ Pos%+.4f NoneNone NoneY Pos%+.4f NoneNone NoneX Pos%+.4fhy  NoneNone NoneLabel%+.0fr  NoneNone NoneLabel%+.0fr  NoneNone NoneLabel%+.0fr  NoneNone NoneLabel%+.0fr  NoneNone NoneLabel%+.0f~r  NoneNone NoneLabel%+.0fgs~ NoneNone None Halt Triggersc %+.4f5|I NoneNone NonePin8X<[w%+.4f$ NoneNone NonePin7X<[w%+.4f$8 NoneNone NoneLabel %+.4f(88 NoneNone NoneLabel%+.4f(88 NoneNone NoneLabel%+.4f(M8]8 NoneNone NoneLabel%+.4f(^8n8 NoneNone NoneLabel%+.4f(o88 NoneNone NoneLabel%+.4f(88 NoneNone NoneLabel%+.4f(88 NoneNone NoneLabel%+.4f(8 NoneNone NonePin1X<[w%+.4fM$_ NoneNone NonePin2X<[w%+.4f^$p NoneNone NonePin3X<[w%+.4fo$ NoneNone NonePin4X<[w%+.4f$ NoneNone NonePin5X<[w%+.4f$ NoneNone NonePin6X<[w%+.4f$ NoneNone NonePin14X<[w%+.4fDm NoneNone NonePin13X<[w%+.4fDo NoneNone NonePin12X<[w%+.4fDn NoneNone NonePin11X<[w%+.4fDnm NoneNone NonePin10X<[w%+.4fD]oo NoneNone NonePin9X<[w%+.4fDLc^8 NoneNone NoneLabel%+.4fq8 NoneNone NoneLabel%+.4fq8 NoneNone NoneLabel %+.4fq8 NoneNone NoneLabel %+.4fqp8 NoneNone NoneLabel %+.4fq_o8 NoneNone NoneLabel %+.4fqN^8 NoneNone NoneLabel%+.4fq8 NoneNone NoneLabel%+.4fq NoneNone NonePin15X<[w%+.4fDm NoneNone NonePin16X<[w%+.4fDo NoneNone NoneNext Seq%+.4f+6xJ  NoneNone NoneLabel%+.0f3K  NoneNone NoneLabel%+.0f! NoneNone None Next Message%+.4f  NoneNone NoneLabel%+.0f  NoneNone None Last Message%+.4f  UCHAN_SYNNone NoneLabelp%+.4f Enable THC Tog.None NoneLabel{%+.4f8NoneNone NoneLabel%+.4f  Drop 1 in 5None NoneLabel%+.4f  Stop DropNone NoneLabel%+.4f8 NoneNone NoneLabel%+.4f  NoneNone NoneLabel%XM NoneNone None1%+.4f NoneNone None2%+.4f  NoneNone NoneLabel%XM NoneNone None3%+.4f   NoneNone NoneLabel%XM  NoneNone None4%+.4f'  NoneNone NoneLabel%XM) NoneNone None5%+.4f  NoneNone NoneLabel%XR NoneNone None6%+.4f  NoneNone NoneLabel%XR NoneNone NoneEncoders%+.%+.4f9BM NoneNone NoneAnalogue Outputs%+.4fS  NoneNone NoneLabel%XQ NoneNone None4%+.4f  NoneNone NoneLabel%XR NoneNone None3%+.4f  NoneNone NoneLabel%XvR NoneNone None2%+.4fw NoneNone None1%+.4fZn  NoneNone NoneLabel%XYRp  NoneNone NoneLabels%8XF2 NoneNone None Digital In%+.4f9  Jog ON/OFF Ctrl-Alt-JNone LabelgJ%+.4f +8 NoneNone NoneLabelS%+.4f ,8 NoneNone NoneLabelS%+.4f-  Torch VoltageNone NoneLabelE /%+.4fL]q NoneNone NonePin16X<[w%+.4fCkn} NoneNone NonePin15X<[w%+.4fCZll8 NoneNone NoneLabel$%+.4fpm}8 NoneNone NoneLabel#%+.4fp\l8 NoneNone NoneLabel%+.4fp8 NoneNone NoneLabel%+.4fp8 NoneNone NoneLabel%+.4fp(8 NoneNone NoneLabel %+.4fp)98 NoneNone NoneLabel!%+.4fp:J8 NoneNone NoneLabel"%+.4fpK[ NoneNone NonePin9X<[w%+.4fCb NoneNone NonePin10X<[w%+.4fCn NoneNone NonePin11X<[w%+.4fCl( NoneNone NonePin12X<[w%+.4fC'm9 NoneNone NonePin13X<[w%+.4fC8nJ NoneNone NonePin14X<[w%+.4fCIl[ NoneNone NonePin6X<[w%+.4fJ#\ NoneNone NonePin5X<[w%+.4f9#K NoneNone NonePin4X<[w%+.4f(#: NoneNone NonePin3X<[w%+.4f#) NoneNone NonePin2X<[w%+.4f# NoneNone NonePin1X<[w%+.4f#8 NoneNone NoneLabel%+.4f'J7Z8 NoneNone NoneLabel%+.4f'97I8 NoneNone NoneLabel%+.4f&(688 NoneNone NoneLabel%+.4f'7'8 NoneNone NoneLabel%+.4f'78 NoneNone NoneLabel%+.4f'78 NoneNone NoneLabel%+.4f'\7l8 NoneNone NoneLabel%+.4f&l6| NoneNone NonePin7X<[w%+.4f[#m NoneNone NonePin8X<[w%+.4fl#~ NoneNone None Input Pinsc %+.4fm 2Alt CNone NoneLabelHC%+.4f/`2NoneNone None3rd Axis%+.4f/`82NoneNone NoneLabel%+.4ft~82NoneNone NoneLabel%+.4f82NoneNone NoneLabel%+.4f82NoneNone NoneLabel%+.4ft~82NoneNone NoneLabel%+.4f2NoneNone NoneB%+.4f82NoneNone NoneLabel%+.4f2NoneNone NoneC%+.4f2NoneNone NoneA%+.4f2NoneNone NoneX%+.4f2NoneNone NoneY%+.4f2NoneNone NoneZ%+.4f NoneNone !MillBitmaps\G-code-letters_US.bmpLabel%+.4fJ]8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f; E8NoneNone NoneNone%+.4f- 78NoneNone NoneNone%+.4f )8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f  8NoneNone NoneNone%+.4f 8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f<F&8NoneNone NoneNone%+.4f.8&8NoneNone NoneNone%+.4f *&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&8NoneNone NoneNone%+.4f&Port 1 Pins current StateNone NonePort 1 Pins current State%+.4f NoneNone MillBitmaps\Togo.jpgNoneM(%+.4f$^+8NoneNone MillBitmaps\BoxLEDYellow.pngNone%+.4f!`-NoneNone MillBitmaps\gotoz.jpgNoneO(%+.4f+8NoneNone MillBitmaps\BoxLEDYellow.pngNoneC%+.4f. NoneNone MillBitmaps\offline.jpgLabel%+.4f,8NoneNone MillBitmaps\BoxLEDYellow.pngNone%+.4f2 NoneNone MillBitmaps\Togo.jpgNoneMO(%+.4f0FRO %None NoneFRO %%+.4f.NoneNone MillBitmaps\Slider1.pngSkinnedSDTL5H250%3.0f -sNoneNone MillBitmaps\Small Reset.jpgNone%+.4fNoneNone MillBitmaps\BlueDro.pngSkinned%.0fn\p Spindle SpeedNone None Spindle Speed%+.4fCAUNoneNone NoneS%+.4f&<NoneNone MillBitmaps\BlueDro.pngSkinned%.0f9 NoneNone MillBitmaps\Slider1.pngSkinnedJSDTL5H250%3.0fv OverRiddenNone None OverRidden%+.4fSRO %None NoneSRO %%+.4fNoneNone MillBitmaps\settings.jpgNone%+.4f 8NoneNone NoneNoneW%+.4fhz8NoneNone NoneLabelZ%+.4fhz8NoneNone NoneNoneV%+.4fJ\8NoneNone NoneNoneX%+.4f8NoneNone NoneLabel[%+.4f8NoneNone NoneNoneY%+.4fJ\ ZNone NoneLabel%+.4f| YNone NoneLabel%+.4f|d~ XNone NoneLabel%+.4f|F` ANone NoneLabel%+.4fE_ BNone NoneLabel%+.4fc} CNone NoneLabel%+.4fNoneNone NoneTool Change Location%+.4f4, NoneNone NoneLabel%+.4fS/K NoneNone NoneLabel%+.4fSOk NoneNone NoneLabel%+.4fSnNoneNone NoneZ%+.4f7oGNoneNone NoneY%+.4f7UGiNoneNone NoneX%+.4f7:GNCurrent PositionNone NoneCurrent Position%+.4f%9 G92 OffsetNone None G92 Offset%+.4fY%9-None None-%+.4f>ALU-None None-%+.4f>XLl-None None-%+.4f>nL-None None-%+.4f>L Machine CoordNone None Machine Coord%+.4f2%9=None None=%+.4f#=None None=%+.4f#=None None=%+.4fB$V=None None=%+.4fY#m=None None=%+.4fp#=None None=%+.4f#-None None-%+.4f>L-None None-%+.4f>L#NoneNone NoneNone%+.4f-"NoneNone NoneNone%+.4f- NoneNone NoneNone%+.4f[ NoneNone NoneNone%+.4f[ NoneNone NoneNoneW%+.4f@ NoneNone NoneNoneX%+.4f@ NoneNone NoneNoneT%+.4f@Xk NoneNone NoneNoneS%+.4f@AT NoneNone NoneNoneV%+.4f@ NoneNone NoneNoneU%+.4f@o-None None-%+.4f>R-None None-%+.4fUi-None None-%+.4fk-None None-%+.4f-None None-%+.4f-None None-%+.4f Tool OffsetNone None Tool Offset%+.4f&@: NoneNone NoneNone%+.4fB6U NoneNone NoneNone %+.4fo6-None None-%+.4f?S-None None-%+.4fn8NoneNone MillBitmaps\conditions.pngNone%+.4fTj NoneNone MillBitmaps\speed+.jpgNonelzLabe%+.4f NoneNone MillBitmaps\speed-.jpgNonemy%+.4f NoneNone MillBitmaps\speed+.jpgLabelk%+.4fu NoneNone MillBitmaps\speed-.jpgLabelm%+.4fOn  CV DistanceNone None CV Distance[%+.4f]8NoneNone NoneNone%+.4fF[ abs max x,y,zNone None abs max x,y,z%+.4f1 NoneNone NoneNone%+.4f4I NoneNone NoneNone%+.4fJ_ NoneNone NoneNone%+.4fbwMinNone NoneMin%+.4fz NoneNone NoneNone%+.4f NoneNone NoneNone%+.4f NoneNone NoneNone%+.4f Servo Freq. GeneratorNone NoneServo Freq. Generatorg%+.4f Brain Time (ms)None NoneBrain Time (ms)%+.4f NoneNone NoneNone%+.0f NoneNone NoneNone%+.4f6I\Probe Tip DiameterNone NoneProbe Tip Diameter%+.4f/2B NoneNone MillBitmaps\Slider1.pngSkinnedSDTL0H102%3.0fu@RapidNone NoneRapid%+.4fnFRONone NoneFRO%+.4fr8NoneNone NoneLabel9%+.4f ,"