티스토리 뷰

반응형

DXF 파일을 생성하는 자바스크립트 코드, 라인 0,0에서 10,10을 그리는 dxf파일 작성

결과는 example.dxf 파일로 다운로드...

 

자바스크립트로 어떻게 코드를 만드는지 간단설명입니다.

// DXF 파일 내용을 담을 변수
var dxfContent = '';

// 라인 정보
var line = {
  start: { x: 0, y: 0 },
  end: { x: 10, y: 10 }
};

// DXF 파일 헤더 정보
dxfContent += '999\nJavaScript DXF\n0\nSECTION\n2\nHEADER\n9\n$ACADVER\n1\nAC1015\n0\nENDSEC\n';

// DXF 파일 바디 정보
dxfContent += '0\nSECTION\n2\nENTITIES\n';
dxfContent += createLine(line.start, line.end); // 라인 엔티티 생성
dxfContent += '0\nENDSEC\n';

// DXF 파일 끝 정보
dxfContent += '0\nEOF\n';

// DXF 라인 엔티티 생성 함수
function createLine(start, end) {
  var content = '0\nLINE\n8\n0\n';
  content += '10\n' + start.x + '\n';
  content += '20\n' + start.y + '\n';
  content += '11\n' + end.x + '\n';
  content += '21\n' + end.y + '\n';
  return content;
}

// DXF 파일 다운로드 함수
function downloadDXF(filename, content) {
  var blob = new Blob([content], { type: 'application/octet-stream' });
  var url = URL.createObjectURL(blob);
  var link = document.createElement('a');
  link.setAttribute('href', url);
  link.setAttribute('download', filename);
  link.style.visibility = 'hidden';
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
}

// DXF 파일 다운로드 실행
downloadDXF('example.dxf', dxfContent);

 

위의 자바스크립트를 실행하면 나온 결과 파일을 보면..

999
JavaScript DXF
0
SECTION
2
HEADER
9
$ACADVER
1
AC1015
0
ENDSEC
0
SECTION
2
ENTITIES
0
LINE
8
0
10
0
20
0
11
10
21
10
0
ENDSEC
0
EOF

 

실제 온라인 dxf 뷰어로 실행하니 나온 결과는 아래와 같습니다.

결과는?

 

그려졌습니다.

된다는 말이네요^^

반응형
댓글