ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

dxfから得た情報で、G02かG03かを判断したい

2010年09月15日 16時14分23秒 | ソフト開発日記
いよいよdxfファイルから直線と円弧補完を行う簡易CAMが出来上がってきました。

細かい部分ではあるけど、
dxfから得た円弧情報からG02(左回り)かG03(右回り)かを判断する必要があるので
それに関するメモ書き。

直接得ることができる情報は、
・円弧の中心座標
・半径
・開始角
・終了角
であり、そこから計算で得ることができる情報は
・開始座標
・終了座標
・開始角に対する展開角
である。

中心座標と終了座標がわかればG02,G03コードのXYIJの数字がわかるので
円弧コードはすぐ書けるかな、と思っていたら
G02かG03かがよくわからなかった。

というのは、開始座標と終了座標は求まるのだけれど
状況に応じて開始と終了が真逆になることがあるから。
そういう場合、G02,G03も逆にする必要がある。

判断する場所は、
dxfファイルを読み込んで、NCデータ作成開始位置を指定し、
実際にNC言語に変換する時でよさそう。

順番になぞるようにNCデータを作成していき、
円弧のオブジェクトにさしかかったら
さしかかった点を開始座標、開始角とし、
この開始角に対する展開角が正なら左回り、
この開始角に対する展開角が負なら右回り、でよさそう。(?)