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

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

dxfを解析してみたり

2010年09月10日 15時16分08秒 | ソフト開発日記
平面加工のみの簡易CAMを作りたい。
ラスター情報を取得してNC言語に変換するものは作ったけど
やっぱりベクター情報じゃないと綺麗な加工ができない。

ということで、AutoCADさんで作成したdxf形式のファイルを
解析してみたりみなかったり。
オンラインで軽く調べたけどよくわからなかったので、自力でメモりながら解析。

とりあえず直線と円弧の情報だけ取り出せれば
NC言語に変換できそうなので、AutoCADで直線や曲線を描いてdxfで保存し
どう変わっているかを検証。

直線の位置情報は、「AcDbLine」と「LINE」に囲まれてました。
「AcDbLine」の上には必ず「AcDbEntity」とありましたが
多分あんまし気にしなくても良さそう。
その部分のコードはこんな感じ。

AcDbLine
10
0.024396417365324(始点X座標)
20
0.0192004409797164(始点Y座標)
30
0.0(始点Z座標(?))
11
0.077854290469304(終点X座標)
21
0.0192004409797164(終点Y座標)
31
0.0(終点Z座標(?))
0
LINE


次に、円弧部分は
「AcDbCircle」と「AcDbArc」と「LINE」に囲まれていて、
コードはこんな感じ。

AcDbCircle
10
0.1031006901081582(円弧中心X座標)
20
0.1192004409797164(円弧中心Y座標)
30
0.0(始点Z座標(?))
40
0.1(半径)
100
AcDbArc
50
270.0(始点での角度)
51
0.0(終点での角度)
0
LINE

あれ?こんなこと前も書いた気がする。
まぁいいや。復習ってことで。