DXF
一種開放的矢量數據格式
DXF是AutoCAD(Drawing Interchange Format或者Drawing Exchange Format) 繪圖交換文件。DXF 是Autodesk(歐特克)公司開發的用於AutoCAD與其它軟體之間進行CAD數據交換的CAD數據文件格式。
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 部分 - 這部分包括命名條目的定義。
Application ID (APPID) 表
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
類似地,有定義圓及圓弧的數據。等等。
總之,這些數據可以通過編程將其提取出來用於其他用途。筆者提取以上圖形的數據用來生成加工代碼,以進行數控系統的開發。