本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:makuro)

マクロプログラムで自由に角度を変えられる方法とは?

2023/10/14 06:38

このQ&Aのポイント
  • マクロプログラムで角度変換する方法について教えてください。
  • 四角ポケット加工で角度をつけるための工夫について教えてください。
  • 角度変換G68、G69以外で、マクロプログラムで角度を変える方法を教えてください。
※ 以下は、質問の原文です

makuro

2005/09/20 21:15

マクロプログラムで自由に角度を変えられるようにしたいのですが、みなさんはどのような作り方をしていますか?

例えば四角ポケット加工で角度つけたい時など。

角度変換G68、G69をつかはない方法でなんですが・・・・。

やはり動きを一つずつ計算させないといけないんでしょうか?

回答 (3件中 1~3件目)

2005/09/22 02:46
回答No.3

回答(1)さんの含蓄のあるアドバイスにならって、わたしもちょっとだけ書かせていただこうとおもいます。

四角形を、X方向の長さがI,Y方向の長さがJの長方形と仮定します。
角度をつけるということを、XY平面上で回転させると解釈します。
回転の中心を四角形の中心におき、回転角度をRとすると、R=0のときの四つの角の座標は、P1(I/2、J/2)、P2 (I/2,-J/2), P3 (-I/2、-J/2),
P4 (-I/2、J/2)となります。ここで、中心からそれぞれの点までの距離をQとすると、Q=√{(I×I)+(J×J)}となります。また、中心とP1とを結ぶ線分とX軸との角度をAとすると、A=tan-1(J/I)となります。
さて、R≠0のときのP1の座標はどうなるでしょうか?
P1(Q cos (A+R), Q sin (A+R) ) と表現できると思います。
残りの点も同様です。
あとは、マクロの表現の問題だと思います。
マクロ内では、X軸、Y軸の移動はG91のほうが、使いやすいプログラムになりますよ。

Q の式が間違っていました。
Q=1/2×√{(I×I)+(J×J)}に訂正いたします。

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2005/09/21 14:29
回答No.2

四則演算や三角関数、対数指数、四捨五入切り捨て切り上げなど 大体の事はプログラムで実行出来ます。演算式は取扱説明書を参照下さい。

「簡単な例」

O5000(TEST)
#100=SIN[#1+#4]
X#100 Y[#100+20.0]
M99

というプログラムを登録しておきます。
そして 普段は次のように指令します。

G65 A30.0 I60.0 P5000

G65はマクロ呼び出しのGコードで P5000で O5000を呼ぶという指令です。
G65P5000と同じブロックに指令されたA30.0は #1になります。#1=30.0です。
同じくI60.0は #4になります。#4=60.0です。
Aに続く数値が#1とか Iに続く数値が#4になるというのは あらかじめ決められているので取扱説明書を参照下さい。
G65によってO5000のプログラムが呼ばれて 実際は次のようなプログラムが実行されます。

O5000(TEST)
#100=SIN[30.0+60.0]
G53 X1.0 Y21.0
M99

SIN90.0は"1"なので #100に1が入ります。
X軸は1.0 Y軸は21.0へ機械座標系で移動します。

各種演算を駆使し変数を利用する事により 汎用性のあるプログラムが出来ます。このことを利用すると固定サイクルとかユーザー独自の切削パターンとかが作れます。もちろん角度計算をさせて結果を切削プログラムへ反映させる事も出来ます。(G68G69*座標回転が使えない機械でもなんとかなってしまいます)
「簡単な例」では 計算と軸移動を同じプログラムに作っていますが 計算させるプログラムと切削するプログラムは 別々の方が分かりやすいと思います。

頑張ってチャレンジしてみて下さい。

お礼

2005/09/21 18:54

ありがとうございます。

一つのプログラムを軸はそのままで傾けたいときも考え方は同じなのでしょうか?

(例)
O1
G90G0Z5.
G68R45.






X0Y0
G0Z5.
G69
M30

これをG68、G69を使わないマクロプログラムを作る時も。

質問者
2005/09/21 08:00
回答No.1

マクロ製作の第一歩はマニュアルで組むときに電卓を叩きますよね
あれを数式にしてマクロに置き換えてください
それをやっている内に効率的な方法が見えてきます。
頑張ってください。

お礼

2005/09/21 18:46

ありがとうございます。

なんか難しそうですけどがんばります!!

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。