高度G65マクロ:CNCフライス加工における精密半径増分制御
図面/イメージ

CNCプログラム
;A = #1 (開始角度 0度) ;B = #2 (開始半径) ;C = #3 (精度計算用増分角度) ;I = #4 (終了角度) ;J = #5 (終了半径) ;K = #6 (フライス送り) O2222 T5 M6 G0 G90 G40 G21 G17 G94 G80 G54 X35 Y0 S500 M3 G43 Z100 H? Z5 G1 Z-0.5 F200 G65 P8999 A0 B35 C0.01 I70 J37 K500 G0 G90 Z100 M30 O8999 #7 = #4 / #3 ; 1) 総移動回数 70 / 0.01 #8 = [[#5 - #2] / #7] ; 2) 半径増分量 37-35/7000 N1 #2 = #2 + #8 ; 3) 次の半径 35+増分半径 #1 = #1 + #3 ; 4) 角度増分 #9 = #2 * COS [ #1 ] ; 5) 新X軸位置 #10 = #2 * SIN [ #1 ] ; 6) 新Y軸位置 G1 X#9 Y#10 F#6 ; 7) 新位置へ送り移動 ; 8) 新角度が終了角度未満なら N1 へ IF [#1 LT #4] GOTO 1 G0 Z10 M99
解説
アーキメデスの螺旋(等間隔螺旋)をG65マクロで生成する高度な例です。開始半径35mmから終了半径37mmまで、角度0°から70°の範囲で半径を線形に増加させながら補間します。
マクロ O8999 のロジック
- 総ステップ数計算:#7 = 終了角度 / 増分角度 = 70 / 0.01 = 7000回
- 1ステップあたりの半径増分:#8 = (終了半径 - 開始半径) / 総ステップ数 = 2/7000 ≈ 0.000286mm
- 極座標→直交座標変換:各ステップで X = r·cosθ, Y = r·sinθ を計算
- 条件分岐ループ:IF [#1 LT #4] GOTO 1 で角度到達まで繰り返し
この手法は、螺旋溝加工、渦巻き状ポケット、カム形状などに応用可能。増分角度 #3 を小さくするほど滑らかになるが、ブロック数増大に注意。
CNCマシン