DXFファイルフォーマットについてちょっと勉強してみます。

こちらを参考にしました。


https://www.hiramine.com/programming/3dmodelfileformat/dxffileformat.html

DXFの書式はこんな感じになってるようです。
  0
SECTION
  2
ENTITIES
  0
3DFACE
  8
(レイヤー名)
 10
(1点目の頂点座標値のX成分値)
 20
(1点目の頂点座標値のY座標値)
 30
(1点目の頂点座標値のZ座標値)
 11
(2点目の頂点座標値のX成分値)
 21
(2点目の頂点座標値のY成分値)
 31
(2点目の頂点座標値のZ成分値)
 12
(3点目の頂点座標値のX成分値)
 22
(3点目の頂点座標値のY成分値)
 32
(3点目の頂点座標値のZ成分値)
 13
(4点目の頂点座標値のX成分値)
 23
(4点目の頂点座標値のY成分値)
 33
(4点目の頂点座標値のZ成分値)
 62
(色番号)
  0
3DFACE
  8
(レイヤー名)
 10
(1点目の頂点座標値のX成分値)
 20
(1点目の頂点座標値のY座標値)
 30
(1点目の頂点座標値のZ座標値)
 11
(2点目の頂点座標値のX成分値)
 21
(2点目の頂点座標値のY成分値)
 31
(2点目の頂点座標値のZ成分値)
 12
(3点目の頂点座標値のX成分値)
 22
(3点目の頂点座標値のY成分値)
 32
(3点目の頂点座標値のZ成分値)
 13
(4点目の頂点座標値のX成分値)
 23
(4点目の頂点座標値のY成分値)
 33
(4点目の頂点座標値のZ成分値)
 62
(色番号)
 0
ENDSEC
 0
EOF

これを参考に「ぐるぐる」で作成した画像をDXFに変換することが目標です。


まずは試作プログラムです。
またまた登場、N88互換BASICです。


100 'DXF試作 2022/08/02
110 WIDTH 80,25
120 CLS
130 LOCATE 5,2:INPUT "レイヤー=";A
140 LOCATE 5,4:INPUT "色番号=";B
150 LOCATE 5,6:INPUT "X1=";X1
160 LOCATE 5,8:INPUT "Y1=";Y1
170 LOCATE 5,10:INPUT "X2=";X2
180 LOCATE 5,12:INPUT "Y2=";Y2
190 '
200 OPEN "TEST.DXF" FOR OUTPUT AS #1
210 PRINT #1,"0"
220 PRINT #1,"SECTION"
230 PRINT #1,"2"
240 PRINT #1,"ENTITIES"
250 '
260 PRINT #1,"0"
270 PRINT #1,"LINE" '線
280 '
290 PRINT #1,"8"
300 PRINT #1,A      'レイヤー名
310 '
320 PRINT #1,"10"
330 PRINT #1,"10"   'X座標
340 PRINT #1,"20"
350 PRINT #1,"0"    'Y座標
360 '
370 PRINT #1,"11"
380 PRINT #1,"-10"  'X座標
390 PRINT #1,"21"
400 PRINT #1,"10"   'Y座標
410 '
420 PRINT #1,"62"
430 PRINT #1,B      '色番号
440 '
450 PRINT #1,"0"
460 PRINT #1,"ENDSEC"
470 PRINT #1,"0"
480 PRINT #1,"EOF"
490 CLOSE
500 LOCATE 5,20:PRINT "< 終了 >"
510 END
 

これでうまく出来ればねニコニコ

プログラム起動

 

出来上がったDXFファイル(テキストファイル)

0
SECTION
2
ENTITIES
0
LINE
8
 7
10
 0
20
 0
11
 100
21
 100
62
 7
0
ENDSEC
0
EOF
 

CADで読み込み

 

大丈夫そうですねウインク

午後からビールを飲みながらプログラムを作ります!