'=====================================================================
' M806 - 게이지블록 Set Z  (Offsets 화면 Gage Block Height + Set Z 버튼)
' WP-500 / 일반 공구 겸용 + Mach3 Mill
' ※ 한글 주석은 Mach3 VB 편집기에서 깨져 보일 수 있으나 실행에는 무영향.
'---------------------------------------------------------------------
' 사용법 (MDI)
'     M806        ' Offsets 화면의 Gage Block Height 칸 값을 자동 사용
'   (다른 값을 쓰고 싶으면 #100=값 을 먼저 입력 - #100 이 최우선)
'
'   실행 전 : 공구 끝을 소재 위에 올린 게이지블록 상면에 살짝 닿게
'   맞춰 둡니다 (종이 한 장 감각).
'   결과   : 현재 Z 가 게이지블록 높이가 되어, 블록을 빼면
'            소재 상면이 정확히 Z0 이 됩니다.
'=====================================================================

' 게이지블록 높이 읽기 - 우선순위 : ①#100 수동 입력 > ②Offsets 화면 칸 > ③기본 15
' 이유 : 높이가 틀리면 Z 영점 전체가 그만큼 틀어져 과절삭/공절삭이 난다.
h = GetVar(100)                  ' MDI 로 직접 넣었으면(#100) 그 값이 최우선
If h <= 0 Then
  ' Offsets(Alt5) 화면의 Gage Block Height 칸과 연동 (표준 1024 스크린셋 = OEM DRO 1001)
  h = GetOemDro(1001)
End If
If h <= 0 Then
  h = 15.0                       ' 화면에도 값이 없으면 기본 15mm
  Message "M806 : no gage height found, using default 15mm"
End If

' 현재 위치(블록 상면) = 소재 상면 + 블록 높이이므로 Z DRO 에 h 를 넣는다.
Call SetOemDro(802, h)           ' Z DRO = 게이지블록 높이

Message "M806 done : Z set to gage height " & h & " mm (remove block -> surface = Z0)"
End                              ' 매크로 정상 종료
