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

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

CADで描いた多角形やらスプラインやらをdxfで見ると

2010年09月14日 18時26分57秒 | ソフト開発日記
汎用性持たせるために、
多角形やらスプラインやらはdxfでどう書かれてるかを確認しました。

まず多角形は以下のような感じ。正6角形を描いた部分のコードです。

AcDbPolyline
90
6 (←頂点の数を表している)
70
1
43
0.0
10
171.7354928918157 (←1点目のX座標)
20
259.7776922871435 (←1点目のY座標)
10
168.1440822982395 (←以下略)
20
265.9981979060587
10
160.9612611110869
20
265.9981979060587
10
157.3698505175107
20
259.7776922871435
10
160.9612611110869
20
253.5571866682283
10
168.1440822982395 (←6点目のX座標)
20
253.5571866682283 (←6点目のY座標)
0
ENDSEC

正多角形はAcDbPolylineから記述されていて、
多角形というよりはポリラインとして扱われている模様。
なので一部をトリムしてもAcDbPolylineは変わらず、
頂点の個数と頂点座標の部分だけ変更されました。

次に、スプライン。単純な山が1つだけのスプライン曲線。

AcDbSpline
210
0.0
220
0.0
230
1.0
70
40
71
3
72
9
73
5
74
3
42
0.0000000001
43
0.0000000001
44
0.0000000001
40
0.0
40
0.0
40
0.0
40
0.0
40
18.93327743931221
40
37.48688295079367
40
37.48688295079367
40
37.48688295079367
40
37.48688295079367
10
113.6718479773408 (←フィット点1X座標)
20
308.4384066433167 (←フィット点1Y座標)
30
0.0
10
118.1442794285564
20
313.6663260098105
30
0.0
10
126.9994559744329
20
324.0173284707483
30
0.0
10
140.1470112275448
20
320.5542736788611
30
0.0
10
146.6542087965408 (←フィット点3X座標)
20
318.8402834130484 (←フィット点3Y座標)
30
0.0
11
113.6718479773408 (←フィット点1X座標)
21
308.4384066433167 (←フィット点1Y座標)
31
0.0
11
128.1840839640208 (←フィット点2X座標)
21
320.5983409055107 (←フィット点2Y座標)
31
0.0
11
146.6542087965408 (←フィット点3X座標)
21
318.8402834130484 (←フィット点3Y座標)
31
0.0
0
ENDSEC

長い。そしてフィット点の数3の単純なスプラインのはずなのに
なんかよくわからない。ようなわかるような。
とりあえずスプラインは描けたとしても
ラスベク変換使いこなせないとNC言語にうまく変換できなさそうなのでパス。