Last active
June 23, 2022 13:23
-
-
Save nyarurato/2583ca40adc943cacf3e729279da09ce to your computer and use it in GitHub Desktop.
CNCjsで4方向のワーク原点に対応したXYZプローブ(穴で計測)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; Based https://github.com/cncjs/CNCjs-Macros/blob/master/3_Axis_Probe_with_Hole | |
; エンドミルを穴に入れて、エンドミルの先はプレート表面より下にします | |
; 制御基板のプランナーキューが空になるまで待ちます | |
%wait | |
; 以下はユーザーが定義する変数です | |
%Z_PROBE_THICKNESS = 5.06 ;プレートのZ方向の厚さ | |
%PROBE_DISTANCE = 20 ;プローブを当てにいくときの最大移動量 | |
%PROBE_FEEDRATE_A = 70 ;プローブ時の送り速度 1回目 | |
%PROBE_FEEDRATE_B = 30 ;プローブ時の送り速度 2回目 | |
%PROBE_MAJOR_RETRACT = 3 ;反対側をプローブする前に接触面から離す距離 | |
%Z_PROBE = 15 ; 穴から上げるときに工具を退避させる高さ | |
%Z_PROBE_KEEPOUT_X = -20 ;穴の中心位置からのZを計測する点のX方向距離(特にここ変更!!) | |
%Z_PROBE_KEEPOUT_Y = -20 ;穴の中心位置からのZを計測する点のY方向距離(特にここ変更!!) | |
%Z_FINAL = 15 ;一番最後に工具を退避する高さ | |
%UNITS=modal.units | |
%DISTANCE=modal.distance | |
G91 ; 相対座標系 | |
G21 ;mm単位 | |
; 最大プローブ移動量で穴の右側(X正方向)に向かってプローブします | |
G38.2 X[PROBE_DISTANCE] F[PROBE_FEEDRATE_A] | |
G0 X-2 ; 2mmリトラクト | |
G38.2 X5 F[PROBE_FEEDRATE_B] ;ゆっくりプロービング | |
%X_RIGHT = posx | |
G0 X-[PROBE_MAJOR_RETRACT] ;リトラクト | |
; 最大プローブ移動量で穴の右側(X負方向)に向かってプローブします | |
G38.2 X-[PROBE_DISTANCE] F[PROBE_FEEDRATE_A] | |
G0 X2 ; 2mmリトラクト | |
G38.2 X-5 F[PROBE_FEEDRATE_B] ;ゆっくりプロービング | |
%X_LEFT = posx | |
%X_CHORD = X_RIGHT - X_LEFT | |
G0 X[X_CHORD/2] | |
%X_CENTER = posx ;穴の中心のX座標を取得 | |
; プランナーキューが空であることを確認するための1秒の停止 | |
G4 P1 | |
G10L20X0 | |
; 最大プローブ移動量で穴の上側(Y正方向)に向かってプローブします | |
G38.2 Y[PROBE_DISTANCE] F[PROBE_FEEDRATE_A] | |
G0 Y-2 ; 2mmリトラクト | |
G38.2 Y5 F[PROBE_FEEDRATE_B] ;ゆっくりプロービング | |
%Y_TOP = posy | |
G0 Y-[PROBE_MAJOR_RETRACT] ;リトラクト | |
; 最大プローブ移動量で穴の下側(Y負方向)に向かってプローブします | |
G38.2 Y-[PROBE_DISTANCE] F[PROBE_FEEDRATE_A] | |
G0 Y2 ; 2mmリトラクト | |
G38.2 Y-5 F[PROBE_FEEDRATE_B] ;ゆっくりプロービング | |
%Y_BTM = posy | |
%Y_CHORD = Y_TOP - Y_BTM | |
%HOLE_RADIUS = Y_CHORD/2 | |
G0 Y[HOLE_RADIUS] | |
%Y_CENTER = posy ;穴の中心のY座標を取得 | |
; プランナーキューが空であることを確認するための1秒の停止 | |
G4 P1 | |
G10L20Y0 | |
; Zの計測位置へ移動 | |
G0 Z[Z_PROBE] | |
X[Z_PROBE_KEEPOUT_X] Y[Z_PROBE_KEEPOUT_Y] | |
; Zプロービング | |
G38.2 Z-[Z_PROBE] F[PROBE_FEEDRATE_A] | |
G0 Z2 ; 2mmリトラクト | |
G38.2 Z-5 F[PROBE_FEEDRATE_B] ;ゆっくりプロービング | |
G10L20Z[Z_PROBE_THICKNESS] | |
G0 Z[Z_FINAL] ;Zを上げる | |
G90 ;絶対座標に戻す | |
G0 X0 Y0 | |
; プランナーキューが空であることを確認するための1秒の停止 | |
G4 P1 | |
[UNITS] [DISTANCE] ;元の単位と移動座標系へ変更 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment