G65マクロによる精密内部楕円加工プログラム
図面/イメージ

CNCプログラム
T1 M6 G0 G90 G40 G21 G17 G94 G80 G54 X0 Y0 S? M3 G43 Z5 H? G1 Z-? F? #20 = 2 ; 増分角度計算 #21 = 0 ; 開始角度 #22 = 30 ; Y軸半径 #23 = 50 ; X軸半径 G41 X#23 D? ; 内側ポケット右側への補正移動 N10 #21 = [#21 + #20] ; 角度カウント #24 = SIN[#21] ; Y軸増分計算 #25 = COS[#21] ; X軸増分計算 #24 = [#24*#22] ; Y軸絶対値計算 #25 = [#25*#23] ; X軸絶対値計算 X#25 Y#24 ; X/Y軸移動 IF [#21 LT 360] GOTO 10 ; 360度未満なら繰り返し IF [#21 GT 360] GOTO 20 ; 360度超過なら再計算 IF [#21 EQ 360] GOTO 30 ; ちょうど360度なら終了 N20 #21 = 360 GOTO 10 N30 G40 X0 G0 G90 Z100 M30
解説
ファンック系CNCのG65マクロ呼び出しを使用せず、メインプログラム内でマクロ演算を行う楕円内部加工プログラムです。
アルゴリズムのポイント
- パラメトリック方程式:X = a·cosθ, Y = b·sinθ で楕円軌跡を生成
- 増分角度 2°:#20=2 で180ブロック分の微小直線近似
- 工具半径補正 G41:内側ポケット加工のため左側補正
- 角度オーバーシュート対策:360度を超えた場合の補正ロジック(N20)
変数 #22(Y半径30)、#23(X半径50)で楕円の形状を定義。汎用性を持たせるなら G65 Pxxxx でサブプログラム化し、引数で半径・角度ピッチを渡す設計が望ましいです。
CNCマシン