天天看點

Autodesk CAD幫助文檔總結二 DXF 概述關于 ASCII DXF 檔案關于圖形交換檔案格式 (DXF)關于 DXF 檔案的基本結構 (DXF)關于 DXF 檔案中的組碼 (DXF)DXF 檔案中的标題組碼 (DXF)DXF 檔案中的類組碼 (DXF)DXF 檔案中的符号表組碼 (DXF)DXF 檔案中的塊組碼 (DXF)DXF 檔案中的圖元組碼 (DXF)DXF 檔案中的對象組碼 (DXF)關于編寫 DXF 接口程式關于 DXF 格式慣例關于對象和圖元代碼 (DXF)

關于 ASCII DXF 檔案

本節介紹 ASCII DXF 檔案的格式。隻有自行編寫程式處理 DXF 檔案,或者使用由 AutoLISP ® 和 ObjectARX ® 應用程式獲得的圖元資訊時,才需要使用本節中包含的資訊。

相關參考

  • 關于圖形交換檔案格式 (DXF)
  • 關于 DXF 檔案的基本結構 (DXF)
  • 關于 DXF 檔案中的組碼 (DXF)
  • DXF 檔案中的标題組碼 (DXF)
  • DXF 檔案中的類組碼 (DXF)
  • DXF 檔案中的符号表組碼 (DXF)
  • DXF 檔案中的塊組碼 (DXF)
  • DXF 檔案中的圖元組碼 (DXF)
  • DXF 檔案中的對象組碼 (DXF)
  • 關于編寫 DXF 接口程式

關于圖形交換檔案格式 (DXF)

AutoCAD ® 使用各種格式的檔案與其他應用程式交換圖形資料。這些格式包括圖形交換檔案 (DXF™)、二進制 DXF、幻燈片 (SLD) 和幻燈片庫 (SLB) 檔案格式。

DXF 檔案可以是 ASCII 格式,也可以是二進制格式。由于 ASCII DXF 檔案格式比二進制檔案格式更常用,是以術語 DXF 檔案用來表示 ASCII DXF 檔案,而術語二進制 DXF 檔案則用來表示二進制格式。

相關參考

  • 關于 ASCII DXF 檔案
  • 關于二進制 DXF 檔案 (DXF)
  • 幻燈片檔案 (DXF)
  • 關于幻燈片庫檔案 (DXF)

關于 DXF 檔案的基本結構 (DXF)

DXF 檔案本質上由代碼及關聯值對組成。代碼(通常稱為組碼)表明其後的值的類型。使用這些組碼和值對,可以将 DXF 檔案組織到由記錄組成的區域中,這些記錄由組碼和資料項目組成。在 DXF 檔案中,每個組碼和值都各占一行。

每段都以一個後跟字元串 SECTION 的組碼 0 開始,其後是組碼 2 和表示該段名稱的字元串(例如,HEADER)。每段都由定義其元素的組碼和值組成。每段都以一個後跟字元串 ENDSEC 的組碼 0 結束。

從小圖形中生成 DXF 檔案,列印出來并在閱讀本文時參考,可能會有助于使用者了解本文的内容。

DXF 檔案完整的結構如下:

  • HEADER 段。包含圖形的基本資訊。它由 AutoCAD 資料庫版本号和一些系統變量組成。每個參數都包含一個變量名稱及其關聯的值。
  • CLASSES 段。包含應用程式定義的類的資訊,這些類的執行個體出現在資料庫的 BLOCKS、ENTITIES 和 OBJECTS 段中。類定義在類的層次結構中是固定不變的。
  • TABLES 段。包含以下符号表的定義:

APPID(應用程式辨別表)

BLOCK_RECORD(塊參照表)

DIMSTYLE(标注樣式表)

LAYER(圖層表)

LTYPE(線型表)

STYLE(文字樣式表)

UCS(使用者坐标系表)

VIEW(視圖表)

VPORT(視口配置表)

  • BLOCKS 段。包含構成圖形中每個塊參照的塊定義和圖形圖元。
  • ENTITIES 段。包含圖形中的圖形對象(圖元),其中包括塊參照(插入圖元)。
  • OBJECTS 段。包含圖形中的非圖形對象。除圖元、符号表記錄以及符号表以外的所有對象都存儲在此段。OBJECTS 段中的條目樣例是包含多線樣式群組的詞典。
  • THUMBNAILIMAGE 段。包含圖形的預覽圖像資料。此段為可選。

如果使用 SAVE 或 SAVEAS 指令的“選擇對象”選項,那麼所得到的 DXF 檔案的 ENTITIES 區域将隻包含選擇的圖元。

相關參考

  • 關于 ASCII DXF 檔案

關于 DXF 檔案中的組碼 (DXF)

組碼和關聯值定義對象或圖元的特定方面。緊接着組碼的一行是關聯值。該值可以是字元串、整數或浮點值,例如點的 X 坐标。組中第二行後面的行(如果存在)由組定義和與組關聯的資料确定。

特殊組碼用作檔案分隔符,例如用于表示段和表的開始和結束,以及檔案本身結束的标記。

圖元、對象、類、表和表條目以及檔案分隔符通過 0 組碼(其後是用于描述該組的名稱)引入。

DXF 檔案字元串的最大長度是 256 個字元。如果 AutoCAD 圖形中包含的字元串超出了此數字,則在執行 SAVE、SAVEAS 和 WBLOCK 時将截斷那些字元串。如果 DXF 檔案包含的字元串超出了此長度,OPEN 和 INSERT 指令将失敗。

相關參考

  • 關于 ASCII DXF 檔案
  • 關于 DXF 檔案中的 ASCII 控制字元

DXF 檔案中的标題組碼 (DXF)

應用程式可以使用 AutoLISP getvar 函數檢索這些變量的值。

以下是 DXF™ 檔案的 HEADER 區域的樣例:

SECTION

2

HEADER

HEADER 段的開始

9

$<變量>

<組碼>

<值>

為每個标題變量重複一次
ENDSEC HEADER 段的結束

相關參考

  • 關于 ASCII DXF 檔案

DXF 檔案中的類組碼 (DXF)

以下是 DXF 檔案 CLASSES 段的樣例:

SECTION

2

CLASSES

CLASSES 段的開始

CLASS

1

<類 dxf 記錄>

2

<類名>

3

<應用程式名>

90

<标志>

280

<标志>

281

<标志>

為每個條目重複一次
ENDSEC CLASSES 段的結束

相關參考

  • 關于 ASCII DXF 檔案

DXF 檔案中的符号表組碼 (DXF)

以下是 DXF 檔案 TABLES 段的樣例。

SECTION

2

TABLES

TABLES 段的開始

TABLE

2

<表類型>

5

<句柄>

100

AcDbSymbolTable

70

<最大條目數量>

通用表組碼;為每個條目重複一次

<表類型>

5

<句柄>

100

AcDbSymbolTableRecord

.

. <資料>

.

表條目資料;為每個表記錄重複一次
ENDTAB 表的結束
ENDSEC TABLES 段的結束

相關參考

  • 關于 ASCII DXF 檔案
  • 符号表樣例 (DXF)

DXF 檔案中的塊組碼 (DXF)

以下是 DXF 檔案 BLOCKS 段的樣例:

SECTION

2

BLOCKS

BLOCKS 段的開始

BLOCK

5

<句柄>

100

AcDbEntity

8

<圖層>

100

AcDbBlockBegin

2

<塊名>

70

<标志>

10

<X 值>

20

<Y 值>

30

<Z 值>

3

<塊名>

1

<外部參照路徑>

每個塊條目的開始(塊圖元定義)

<圖元類型>

.

. <資料>

.

塊中的每個圖元定義有一個條目

ENDBLK

5

<句柄>

100

AcDbBlockEnd

每個塊條目的結束(endblk 圖元定義)
ENDSEC BLOCKS 段的結束

相關參考

  • 關于 ASCII DXF 檔案

DXF 檔案中的圖元組碼 (DXF)

以下是 DXF 檔案 ENTITIES 段的樣例:

SECTION

2

ENTITIES

ENTITIES 段的開始

<圖元類型>

5

<句柄>

330

<指向所有者的指針>

100

AcDbEntity

8

<圖層>

100

AcDb<類名>

.

. <資料>

.

每個圖元定義一個條目
ENDSEC ENTITIES 段的結束

相關參考

  • 關于 ASCII DXF 檔案

DXF 檔案中的對象組碼 (DXF)

以下是 DXF 檔案 OBJECTS 段的樣例:

SECTION

2

OBJECTS

OBJECTS 段的開始

DICTIONARY

5

<句柄>

100

AcDbDictionary

命名對象詞典(根詞典對象)的開始

3

<詞典名>

350

<子對象句柄>

為每個條目重複一次

<對象類型>

.

. <資料>

.

對象資料組
ENDSEC OBJECTS 段的結束

相關參考

  • 關于 ASCII DXF 檔案

關于編寫 DXF 接口程式

通過 DXF 檔案編寫與 AutoCAD 通信的程式似乎比實際情況要難。使用 DXF 格式可以輕松地忽略不需要的資訊,而隻讀取需要的資訊。

相關參考

  • 關于 ASCII DXF 檔案
  • 讀取 DXF 檔案 (DXF)
  • 編寫 DXF 檔案 (DXF)

關于 DXF 格式慣例

DXF 參考主題中列出的每個組碼均由數字組碼值和說明表示。所有組碼都可以應用于 DXF™ 檔案和/或應用程式(AutoLISP 或 ObjectARX)。如果應用程式與 DXF 檔案具有不同的代碼說明(代碼說明隻适用于二者之一),說明前面将添加以下辨別符:

  • APP。應用程式特定的說明。
  • DXF。DXF 檔案特定的說明。

如果 DXF 檔案和應用程式具有相同的代碼說明,說明前面将不顯示任何辨別符。

可選代碼的說明中有“可選”字樣。

相關概念

  • 關于 DXF 格式 (DXF)

關于對象和圖元代碼 (DXF)

在 DXF™ 格式中,對象的定義與圖元的定義不同:對象沒有圖形表示,而圖元則有圖形表示。例如,詞典是對象而不是圖元。圖元也稱為圖形對象,而對象稱為非圖形對象。

圖元出現在 DXF 檔案的 BLOCK 和 ENTITIES 段。組碼在這兩段中的用法相同。

定義圖元的某些組碼始終顯示;其他組碼是可選的,僅當其值與預設值不同時才顯示。

編寫程式時請不要按照此處顯示的次序。圖元的結尾由下一個 0 組表示,該組表示下一個圖元的開始或訓示此段已結束。

注意:如果以表驅動的方式編寫 DXF 處理程式,忽略未定義的組碼,且對圖元中的組碼次序不做任何假定,那麼将比較容易在 AutoCAD ® 以後的版本中調整 DXF 檔案。在每個新的 AutoCAD 發行版中,都會在圖元中添加一些新組碼,以提供更多功能。

相關概念

  • 關于 DXF 格式 (DXF)

繼續閱讀