DXF란

1) DXF는 Drawing Interchange Format 또는 Drawing Exchange Format의 약자로 AutoDesk사에서 개발한 CAD 호환용 파일 포맷이다.
2) ASCII 형식은, 다음과 같은 파일 구조로 되어 있다.

  • HEADER 섹션. 도면에 대한 일반
    정보가 들어 있다. 이 섹션은 AutoCAD 데이터베이스의 버전 번호와 여러 개의 시스템 변수로 구성된다. 각 매개변수는 변수 이름과
    연관된 값을 포함하고 있다.
  • CLASSES 섹션. 데이터베이스의 BLOCKS,
    ENTITIES 및 OBJECTS 섹션에 그의 복제가 나타나는 응용프로그램 정의 클래스에 대한 정보를 보유하고 있다. 클래스 정의는 클래스
    계층에 고정된다.
  • TABLES 섹션. 다음의 기호 테이블에
    대한 정의가 들어 있다.

APPID (응용프로그램 식별 테이블)

BLOCK_RECORD (블록 참조 테이블)

DIMSTYLE (치수 스타일 테이블)

LAYER (도면층 테이블)

LTYPE (선종류 테이블)

STYLE (텍스트 스타일 테이블)

UCS (사용자 좌표계 테이블)

VIEW (뷰 테이블)

VPORT (뷰포트 구성 테이블)

  • BLOCKS 섹션. 도면의 각 블록
    참조를 구성하는 블록 정의 및 도면요소가 들어 있다.
  • ENTITIES 섹션. 블록 참조(삽입
    도면요소)를 포함해 도면의 그래픽 객체(도면요소)가 들어 있다. ==> 프로그램을 작성할 때 제일 신경써야 하는 부분이다.
  • OBJECTS 섹션. 도면의 비그래픽 객체가 들어 있습니다.
    도면요소 또는 기호 테이블 레코드 또는 기호 테이블이 아닌 객체는 모두 이 섹션에 저장된다. OBJECTS 섹션에 표시되는 항목의 예로는
    다중선 스타일 및 그룹이 포함된 사전을 들 수 있다.
  • THUMBNAILIMAGE 섹션. 도면의 미리보기 이미지
    데이터가 들어 있다. 이 섹션은 선택 사항이다.

DXF를 활용하여 CAD수준의 출력물을 얻자

DXF 파일을 활용하면 CAD 수준의 출력물을 얻을 수 있다.
DXF 파일은 일반 텍스트 파일로 되어 있다.
손수 CAD수준의 그래픽 프로그램을 작성하지 않고, 단순히 텍스트 파일로 출력만 하면, CAD프로그램에서 인식하고 출력할 수 있다. 이 얼마나 놀라운 일인가!

다음과 같이 텍스트 파일[footnote]이것은 R12버전의 DXF이다. 이 버전의 특징은 ENTITIES 섹션만 있어도 개체들을 출력할 수 있다[/footnote]을 만들면 직선 하나가 생긴다.
[참고]
아래 파일을 출력하기 위한 VBA 코드는 여기에 있다.

 

위에서 보는 바와 같이 숫자와 정보가 한 쌍으로 이루어져 있다. 즉 0은 개체에 대하여 이미 예약된 숫자이고, LINE은 개체에 대한 정보이다. 10, 20, 30은 각각 시작점의 x, y, z좌표이며, 11, 21, 31은 끝점의 x, y, z좌표이다. 따라서 직선의 시점은 (12.5, 13.5, 0)이며, 직선의 종점은 (100.7, 101.7, 0)이다. 8은 레이어를 나타나는 숫자이다.
각 숫자에 대한 의미는 개체마다 약간 다르다. 이를 알기 위해서는 다음의 참고문헌을 참조하기 바란다.