いよいよdxfファイルから直線と円弧補完を行う簡易CAMが出来上がってきました。
細かい部分ではあるけど、
dxfから得た円弧情報からG02(左回り)かG03(右回り)かを判断する必要があるので
それに関するメモ書き。
直接得ることができる情報は、
・円弧の中心座標
・半径
・開始角
・終了角
であり、そこから計算で得ることができる情報は
・開始座標
・終了座標
・開始角に対する展開角
である。
中心座標と終了座標がわかればG02,G03コードのXYIJの数字がわかるので
円弧コードはすぐ書けるかな、と思っていたら
G02かG03かがよくわからなかった。
というのは、開始座標と終了座標は求まるのだけれど
状況に応じて開始と終了が真逆になることがあるから。
そういう場合、G02,G03も逆にする必要がある。
判断する場所は、
dxfファイルを読み込んで、NCデータ作成開始位置を指定し、
実際にNC言語に変換する時でよさそう。
順番になぞるようにNCデータを作成していき、
円弧のオブジェクトにさしかかったら
さしかかった点を開始座標、開始角とし、
この開始角に対する展開角が正なら左回り、
この開始角に対する展開角が負なら右回り、でよさそう。(?)
細かい部分ではあるけど、
dxfから得た円弧情報からG02(左回り)かG03(右回り)かを判断する必要があるので
それに関するメモ書き。
直接得ることができる情報は、
・円弧の中心座標
・半径
・開始角
・終了角
であり、そこから計算で得ることができる情報は
・開始座標
・終了座標
・開始角に対する展開角
である。
中心座標と終了座標がわかればG02,G03コードのXYIJの数字がわかるので
円弧コードはすぐ書けるかな、と思っていたら
G02かG03かがよくわからなかった。
というのは、開始座標と終了座標は求まるのだけれど
状況に応じて開始と終了が真逆になることがあるから。
そういう場合、G02,G03も逆にする必要がある。
判断する場所は、
dxfファイルを読み込んで、NCデータ作成開始位置を指定し、
実際にNC言語に変換する時でよさそう。
順番になぞるようにNCデータを作成していき、
円弧のオブジェクトにさしかかったら
さしかかった点を開始座標、開始角とし、
この開始角に対する展開角が正なら左回り、
この開始角に対する展開角が負なら右回り、でよさそう。(?)