Rem VBScript To center probe inside a pipe Dist= 20.0 'Maximum detection depth 20.0 ZDist = 4.0 'When finished, put a knife 4.0 If GetOemLed (825) <> 0 Then 'Check the probe if it is disconnected Code "(Probe plate is grounded, check connection and try again)" Else DoSpinStop() FeedCurrent = GetOemDRO(818) 'Save the feed rate XCurrent = GetDro(0) YCurrent = GetDro(1) ZCurrent = GetDro(2) Code "G4 P1" 'Pause 1s Code "F25" 'Adjust the speed more slow Rem Probe left XNew = Xcurrent - Dist 'probe 20mm 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 While IsMoving () Wend 'rapid move back to start point Rem Probe right XNew = XCurrent + Dist 'probe 20mm to right Code "G31 X" &XNew While IsMoving() Wend XPos2 = GetVar(2000) XCenter = (XPos1 + XPos2) / 2 'center is midway between XPos1 and XPos2 Code "G0 X" &XCenter While IsMoving () Wend 'rapid move to the x center location Rem Probe up YNew = YCurrent + Dist Code "G31 Y" &YNew While IsMoving() Wend YPos1 = GetVar(2001) Code "G0 Y" &YCurrent While IsMoving () Wend Rem Probe down YNew = YCurrent - Dist Code "G31 Y" &YNew While IsMoving() Wend YPos2 = GetVar(2001) YCenter = (YPos1 + YPos2) / 2 Rem move to the center Code "G0 Y" &YCenter While IsMoving () Wend Code "F" &FeedCurrent 'restore starting feed rate ZClear = Zcurrent + ZDist Code "Z" &ZClear End If