概述
DXF是一種開放的
矢量數據格式,可以分為兩類:ASCII格式和二進制格式;ASCII具有可讀性好的特點,但占用的空間較大;二進制格式則占用的空間小、讀取速度快。由於AutoCAD現在是最流行的CAD系統,DXF也被廣泛使用,成為事實上的標準。絕大多數CAD系統都能讀入或輸出DXF檔案。
DXF檔案是由很多的“代碼”和“值”組成的“數據對”構造而成,這裡的代碼稱為“
組碼”(group code),指定其後的值的類型和用途。每個組碼和值必須為單獨的一行的。
DXF檔案被組織成為多個“段”(section),每個段以組碼“0”和字元串“SECTION”開頭,緊接著是組碼“2”和表示段名的字元串(如HEADER)。段的中間,可以使用組碼和值定義段中的元素。段的結尾使用組碼“0”和字元串“ENDSEC”來定義。
DXF-Drawing Exchange File(圖形交換檔案), 這是一種ASCII文本檔案,它包含對應的DWG檔案的全部信息,不是ASCII碼形式,可讀性差,但用它形成圖形速度快.不同類型的計算機(如PC及其兼容機與SUN工作站具體不同的CPU用匯流排)哪怕是用同一版本的檔案,其DWG檔案也是不可交換的. 為了克服這一缺點,AutoCAD提供了DXF類型檔案,其內部為ASCII碼,這樣不同類型的計算機可通過交換DXF檔案來達到交換圖形的目的,由於DXF檔案可讀性好,用戶可方便地對它進行修改,編程,達到從外部圖形進行編輯和修改的目的。
檔案結構
ASCII 格式的 DXF 可以用
文本編輯器進行查看。DXF 檔案的基本組成如下所示:
●HEADER 部分 - 圖的總體信息。每個參數都有一個變數名和相應的值。
●CLASSES 部分 - 包括應用程式定義的類的信息,這些實例將顯示在 BLOCKS、ENTITIES 以及
OBJECTS 部分。通常不包括用於充分用於與其它應用程式互動的信息。
●TABLES 部分 - 這部分包括命名條目的定義。
Block Recod (BLOCK_RECORD) 表
Dimension Style (DIMSTYPE) 表
Layer (LAYER) 表
Linetype (LTYPE) 表
Text style (STYLE) 表
User Coordinate System (UCS) 表
View (VIEW)表
Viewport configuration (VPORT) 表
●BLOCKS 部分- 這部分包括 Block Definition 實體用於定義每個 Block 的組成。
●ENTITIES 部分 - 這部分是繪圖實體,包括 Block References 在內。
●OBJECTS 部分 -- 包括非圖形對象的數據,供 AutoLISP 以及 ObjectARX應用程式所使用。
●THUMBNAILIMAGE 部分 -- 包括 DXF 檔案的預覽圖。
●END OF FILE
實體部分
(ENTITIES)
該部分內容包含了所繪製圖形的所有數據。
例如:定義直線的數據為起點坐標和終點坐標。格式如下:
AcDbline
......
x1
......
y1
......
x2
......
y2
類似地,有定義圓及圓弧的數據。等等。
總之,這些數據可以通過編程將其提取出來用於其他用途。筆者提取以上圖形的數據用來生成加工代碼,以進行數控系統的開發。