パスを1ヶ所出すだけ。角度を等間隔に複数箇所加工する時は、回転補正「G11」「G68」とマクロを使ってシンプルなプログラムに

上図のような、ワーク中心が原点で円周上を等間隔に加工する場合、

CAMで全箇所パスを出すのは面倒くさい。

回転補正「G11」「G68」とマクロを使えば、一ヶ所のパス(上図で赤い箇所)だけで全箇所加工することができる。

オークマ(OSP)の場合

回転補正「G11」

G11 X0 Y0 P10.
CALL O1001
G10

G11は回転補正

XとYは角度の中心の座標

Pは角度

G10で回転補正キャンセル

マクロを使って1周加工する

VC101 = 1001
VC102 = 0
VC103 = 45

O1111
PREG O1001
N1
G11 X0 Y0 P[VC102]
CALL O=VC101
G10
VC102 = VC102 + VC103
IF[ VC102 LT 360 ] N1 
RTS

VC101はパスのサブプログラム

VC102は角度のカウンター(0→45→90→135…→315)

VC103は角度(ここでは45°)

回転補正をかける

↓↓

VC101のサブプログラムを呼び出す

↓↓

VC102にVC103(45)が足される。

↓↓

VC102が360より下の場合、N1へ飛ぶ。

↓↓

VC102が360以上の場合、ループを抜けプログラム終了。

↓↓オークマのIF文を使ったループについてはこちら↓↓

FANUCではWHILE文、オークマ(OSP)ではIF文を使ってループさせる
FANUCではWHILE文を使ってループさせる。オークマ(OSP)ではIF文を使ってループさせる。NCプログラムのIF文は、C言語、JavaScript、SWIFTなどのIF文とは使い方が異なるため、使い方には注意。

↓↓「PREG」の使い方はこちら↓↓

オークマ(OSP)でマクロ(変数)を使ってサブプログラムを呼び出すときはPREGを使ってO番号を登録する
変数を使ってサブプログラムを呼び出すときは、「PREG」を使って呼び出したいサブプログラムのO番号を登録する。1個の「PREG」に登録できるO番号は10個(多分)。サブプログラムをたくさん使う場合は、「PREG」を複数使う。

FANUCの場合

回転補正「G68」

G68 X0 Y0 R10.
M98 P1111
G69

G68は回転補正

XとYは角度の中心の座標

Rは角度

G69で回転補正キャンセル

マクロを使って1周加工する

#101 = 1001
#102 = 0
#103 = 45

O1111
WHILE[ VC102 LT 360 ] DO1
G68 X0 Y0 P#102
M98 P1111
G69
#102 = #102 + #103
END1 
RTS

#101はパスのサブプログラム

#102は角度のカウンター(0→45→90→135…→315)

#103は角度(ここでは45°)

回転補正をかける

↓↓

#101のサブプログラムを呼び出す

↓↓

#102にVC103(45)が足される。

↓↓

#102が360より下の場合、N1へ飛ぶ。

↓↓

#102が360以上の場合、ループを抜けプログラム終了。

↓↓FANUCのWHILE文を使ったループについてはこちら↓↓

FANUCではWHILE文、オークマ(OSP)ではIF文を使ってループさせる
FANUCではWHILE文を使ってループさせる。オークマ(OSP)ではIF文を使ってループさせる。NCプログラムのIF文は、C言語、JavaScript、SWIFTなどのIF文とは使い方が異なるため、使い方には注意。

まとめ

回転補正は、オークマ(OSP)「G11」、FANUC「G68」。

等間隔の角度を振った加工の場合、マクロを使えば1ヶ所のパスを作るだけで1周加工できる。

プログラムがスッキリし、編集がしやすくなる。