DXF檔案的整體組織如下:
z HEADER節。包含關於圖面的一般資訊,由 AutoCAD 資料 庫 版 本 編 號 與 數 個 系 統 變 數 所 組 成 , 每 一 個 參 數 包 含 一 個 變 數 名 稱 與 其 相 關 聯 的 值 。
z CLASSES節。保留用於應用程式定義類別的資訊,其實例出 現 在 資 料 庫 的 BLOCKS、ENTITIES 與 OBJECTS 節中,類 別 定 義 在 類 別 層 次 中 永 遠 是 固 定 不 變 的 。
z TABLES節。包含下列符號表的定義:
APPID(應用程式識別表)
BLOCK_RECORD(圖塊參考表)
DIMSTYLE(標註型式表)
LAYER(圖層表)
LTYPE(線型表)
STYLE(字型表)
UCS(使用者座標系統表)
VIEW(視景表)
VPORT(視埠規劃表)
z BLOCKS節。包含在圖面中構成每一個圖塊參考的圖塊定義
與 圖 面 元 件 。
z ENTITIES節 。包 含 圖面 中 的 圖形 化 物件 (元 件 ),包 括 圖塊 參 考 ( 插 入 元 件)。
z OBJECTS節。包含圖面中的非圖形化物件,所有不屬元件或 符 號 表 記 錄 的 物 件 或 符 號 表 都 儲 存 在 此 節 中 , OBJECTS 節中的項目範例為包含複線型式與群 組 的 字 典 。
z THUMBNAILIMAGE節。包含圖面的預覽影像資料。此節是 可 選 擇 的 。
生 出 來 的DXF檔 案 , 僅 包 含 ENTITIES節 與 EOF標 記 。 ENTITIES節 僅 包 含 您 選 來 作 輸 出 的 物 件 。 若 您 選 取 了 一 個 插 入 圖 元 , 則 相 對 應 的 圖 塊 定 義 便 不 會 併 入 輸 出 檔 案 。
群 組 碼 是 用 來 定 義 關 聯 物 件 的 類 型,它 的 值 是 一 個 整 數、浮 點 數 或 字 串 , 詳 如 下 列 群 組 碼 範 圍 表7.1所示。
表4.2提供群組碼或群組碼範圍,以及群組碼值的敘述。在表格中,"
固 定" 表示群組碼固定有相同的意義。如果某個群組碼不是固定的,
其 意 義 便 須 依 上 下 文 而 定 。 表6.1 群組碼範圍表
碼 的 範 圍 群 組 值 類 型
字 串 。 ( 依 據 AutoCAD 2000 中對延伸符號名稱 的
介 紹,已 將 255 字元的限制拿掉了。雖然現在每 行 的 資 料 可 達 2049 位 元 組 , 每 行 位 元 組 數 已 沒 有
0-9
有 精 確 的 限 制 。) 10-59 雙 精 確 度 3D 點 60-79 16 位元整數值 90-99 32 位元整數值
100 字 串 ( 至 多 255 個 字 元 ; Unicode 字 串 則 較 少
)
102 字 串 ( 至 多 255 個 字 元 ; Unicode 字 串 則 較 少
)
105 字 串 代 表 十 六 進 位 (hex)控點值 140-147 雙精確度浮點值
170-175 16 位元整數值 280-189 8 位元整數值 300-309 隨機文字字串
310-319 字串代表二進位資料塊的十六進位值 320-329 字串代表十六進位控點值
330-369 字串代表十六進位物件識別碼 370-379 8 位元整數值
380-389 8 位元整數值
390-399 字串代表十六進位控點值 400-409 16 位元整數值
表6.1 群組碼範圍表(續)
410-419 字串
999 註 解 ( 字 串 )
1000-1009 字Same limits as indicated with 0 code range.) 1010-1059 浮點值
1060-1070 16 位元整數值 1071 32 位元整數值
表6.2 群組碼值敘述表
群 組 碼 描 述 -5 APP:持續反應器鏈
-4 APP:條件運算子(僅與 ssget 配合使用)
-3 APP:延伸資料(XDATA)保護識別碼(固定)
-2 APP:元件名稱參考(固定)
APP:元件名稱。每開啟一次圖面,名稱就變更一次。
-1 不 儲 存 ( 固 定 )
0 文 字 字 串 表 示 元 件 類 型 ( 固 定 ) 1 元 件 的 主 要 文 字 值
2 名 稱 ( 屬 性 標 籤 、 圖 塊 名 稱...等等)
3-4 其 它 文 字 或 名 稱 值
5 元 件 控 點 ; 至 多 16 位數的十六進位文字字串(固定)
6 線 型 名 稱 ( 固 定 ) 7 字 型 名 稱 ( 固 定 ) 8 圖 層 名 稱 ( 固 定 )
DXF:變數名稱識別碼(僅用於 DXF 檔案的 HEADER 9 節 )
主 點 ; 即 是 線 或 文 字 元 件 的 起 點 、 圓 的 中 心 點...等等 DXF:主點的X值(其後接Y與Z值碼為20與30)
10
APP: 3D 點(三個實數的串列)
其 它 點
DXF:其 它 點 的 X 值 ( 其 後 跟 著 Y 碼 值 為 21-28 , Z 碼 值 為 31-38) 的
11-18
APP: 3D 點 (三個實數的串列) 20、30 DXF:主點的Y 與 Z 值
21-28、
31-37 DXF:其它點的Y 與 Z 值 38 DXF:不為 0 情況下的元件高程 39 不 為 0 情況下的元件厚度(固定)
40-47 浮 點 值 ( 文 字 高 度 、 比 例 係 數...等等)
48 線 型 比 例 ; 浮 點 數 值 ; 預 設 值 適 用 於 所 有 元 件 類 型 重 複 的 浮 點 值 。 多 重 49 群碼,會出現在內含可彎長度 資 料 表 ( 如 LTYPE 資料表中的各個虛線長度)的圖元 群 碼 資 料 裡 。 在 第 一 個49群碼之前,固定會出現一個7x 49
群 碼 , 指 定 資 料 表 的 長 度 。
角 度 ( 以 度 數 輸 出 至 DXF 檔案,輸出至 AutoLISP 與 50-58
ObjectARX 應用程式則為弳度)
60 元 件 的 可 見 性 ; 整 數 值; 空 白 或 0 表示可見;1 表示不
表6.2 群組碼值敘述表(續)
60 出 現
62 顏 色 號 碼 ( 固 定 ) 66 跟 隨 元 件 旗號(固定)
67 空 間 Y模型空間或圖紙空間(固定)
APP:識別視埠是否已打開但未顯示在螢幕上、非作用 68 中 、 或 已 關 閉
69 APP:視埠識別號碼
70-78 整 數 值 , 如 計 數 器 、 位 元 旗 號 或 模 式 90-99 32 位元整數值
子 類 別 資 料 標 記 ( 具 字 串 形 式 的 導 出 類 別 名 稱 ) 。 因 它 們 是 從 其 它 具 體 類 別 所 導 出 的 , 故 所 有 的 物 件 與 元 件 類 別 皆 需 要 。 相 同 物 件 的 繼 承 鏈 中 , 子 類 別 資 料 標 記 將 不 100
同 類 別 所 定 義 出 來 的 資 料 區 隔 開 來 。
102
控 制 字 串 , 其 後 跟 著 "{<arbitrary name>" 或 "}"。與延 伸 資 料 1002 群組 碼 相似,除 了字串以 "{" 開頭時, 後 面 可 以 接 著 一 個 隨 機 字 串,解 釋 方 式 則 依 應 用 程 式 而 定 。 其 它 少 數 允 許 的 控 制 字 串 為 "}" , 作為 群碼的終止 符號
。 除 非 在 執 行 圖 面 檢 核 作 業 , 否 則 AutoCAD 不 會 解 譯 這 些 字 串 。 控 制 定 串 僅 供 應 用 程 式 使 用
105 DIMVAR 符號表項目的物件控點 擠 出 方 向 ( 固 定 )
DXF:擠出方向的 X 值 210
APP:3D 擠出的方向向量 220、230 DXF:擠出方向的 Y 與 Z 值
280-289 8 位元整數值 290-299 布林旗號值 300-309 隨機文字字串
隨 機 二 進 位 資 料 塊 具 有 如 1004 群組碼般相同的表示法 與 限 制 : 至 多 254 個字元的十六進位字串,表示至多 310-319
127 位元組的資料塊
隨 機 物 件 控 點 ; 取 "近似" 為控點值。在INSERT 與 320-329
XREF 作業期間不會被轉譯
軟 式 指 標 控 點 ; 指 向 同 一 DXF 檔案或圖面裡其它物件 330-339
的 隨 機 軟 式 指 標 。 在INSERT 與 XREF 作業期間會轉譯 硬 式 指 標 控 點 ; 指 向 同 一 DXF 檔案或圖面裡其它物件 340-349
的 隨 機 硬 式 指 標 。 在INSERT 與 XREF 作業期間會轉譯 軟 式 擁 有 者 控 點 ; 在 相 同 的 DXF 檔案或圖面中,與其 350-359
它 物 件 連 結 的 隨 機 軟 式 擁 有 權 連 結 。 在INSERT 與
表6.2 群組碼值敘述表(續)
350-359 XREF 作業期間會轉譯
硬 式 擁 有 者 控 點 ; 在 相 同 的 DXF 檔案或圖面中,與其 它 物 件 連 結 的 隨 機 硬 式 擁 有 權 連 結 。 在INSERT 與 360-369
XREF 作業期間會轉譯
線 寬 enum 值(AcDb::LineWeight)。被當作是短整數來 儲 存 和 使 用 。 自 訂 非 元 件 的 物 件 可 以 使 用 全 範 圍 , 但 元 件 類 別 僅 在 它 們 的 表 示 式 上 使 用 371-379 DXF 群組碼,
370-379
因 為 AutoCAD 與 AutoLISP 兩 者 都 固 定 假 設 370 群 組 碼 是 元 件 的 線 寬 。 這 樣 一 來 讓 370 的作用如其它 "通 用"元件欄位一般。
PlotStyleName 類型 enum(AcDb::PlotStyleNameType)
380-389 被 當 作 是 短 整 數 來 儲 存 和 使 用。自 訂 非 元 件 的 物 件 可 以 使 用 全 範 圍,但 元 件 類 別 僅 在 它 們 的 表 示 式 上 使 用 381-389 DXF 群組碼,其原因與前述「線寬」相同。
390-399
字 串 表 示 PlotStyleName 物 件 的 控 點 值 , 基 本 上 是 硬 式 指 標,但 有 不 同 的 範 圍,讓 溯 及 既 往 的 相 容 性 問 題 更 容 易 處 理 。 當 作 是 「 物 件 識 別 碼 」 ( DXF 檔 案 中 的 控 點 ) 來 儲 存 和 使 用 , 且 是AutoLISP裡的特殊類型。自訂非元件 的 物 件 可 以 使 用 全 範 圍 , 但 元 件 類 別 僅 在 它 們 的 表 示 式 上 使 用 391-399 DXF 群組碼,其原因與前述「線寬」相 390-399
同 。
400-409 16 位元整數 410-419 字串
DXF:999 群組碼表示緊接的那一行是註解字串。執行 SAVEAS 功能輸出的 DXF 檔案裡,不包含此群碼;但 OPEN 指令可辨識它們,並會忽略註解字串。可在您編 999
輯 的 DXF 檔案裡,使用 999 群碼併入所需的註解 1000 延 伸 資 料 中 的 ASCII 字串(長度至多為 255 位元組)
1001 延 伸 資 料 的 登 錄 應 用 程 式 名 稱 (ASCII 字串長度至多為 1002 31 位元組)
1003 延 伸 資 料 控 制 字 串 ("{" 或 "}")
1004 延 伸 資 料 圖 層 名 稱
延 伸 資 料 中 的 位 元 組 資 料 塊 ( 長 度 至 多 為 127 位元組)
1005
延 伸 資 料 中 的 元 件 控 點 ; 至 多 16 位數的十六進位文字 字 串
延 伸 資 料 中 的 一 點
DXF:X 值(其後跟隨著 1020 與 1030 群碼)
1010
APP:3D 點
表6.2 群組碼值敘述表(續)
1020、1030 DXF:某一點的 Y 與 Z 值
延 伸 資 料 中 的 一 個 3D 世界空間位置
DXF:X 值(其後跟隨著 1021 與 1031 群碼)
1011
APP:3D 點
1021、1031 DXF:世界空間位置的 Y 與 Z 值 延 伸 資 料 中 的 一 個 3D 世界空間位移
DXF:X 值(其後跟隨著 1022 與 1032 群碼)
1012
APP:3D 向量
1022、1032 DXF:世界空間位移的 Y 與 Z 值 1013 延 伸 資 料 中 的 3D 世界空間方向向量。
DXF:X 值(其後跟隨著 1022 與 1032 群碼)
1013
APP:3D 向量
1023、1033 DXF:世界空間方向的 Y 與 Z 值 1040 延 伸 資 料 浮 點 值
1041 延 伸 資 料 距 離 值 1042 延 伸 資 料 比 例 係 數
1070 延 伸 資 料 具 正 負 號 的 16 位元整數 1071 延 伸 資 料 具 正 負 號 的 32 位元長整數
參考文獻
1. 沈泓翰(2003),「以多邊形之階梯形在平行邊界片材上拼排的方 法 」, 臺 灣 大 學 機 械 工 程 學 研 究 所 碩 士 論 文 。
2. 辛宜芳(2002),「以CAD為平台之自動排版系統使用基因演算法
」, 中 華 大 學 科 技 管 理 研 究 所 碩 士 論 文 。
3. 黃玟錫(2001),「不規則物件排列問題解法之研究」,大葉工業工 程 研 究 所 碩 士 論 文 。
4. Adamowicz, L. and A. Albano (1976), “Nesting Two- Dimensional Shapes in Rectangular Modules,” Computer Aided Design, Vol. 8, pp.27-33.
5. Adamowicz, L. and A. Albano (1976), “A Two-Stage Solution of the Cutting Stock Problem,” Information Processing, Vol. 71, pp.1086-1091.
6. Adamowicz, L. and A. Albano (1976), “A Solution of the Retangular Cutting Stock Problem,” IEEE Transsction on Systems, Man and Cybernetics, Vol. 6, No 4, pp.302-310.
7. Anand, S., C. McCord, and R. Sharma (1999), “An Intergrated Machine Vision Based System for Solving the Non-Covex Cutting Stock Problem Using Genetic Algorithms,” Journal of Manufacturing Systems, Vol. 18, No. 6, pp.396-415.
8. Albano, A. and G. Sapuppo (1980), “Optimal Allocation of Two-Dimensional Irregular Sarpes Using Heuristic Search Methods,”
IEEE Transsction on Systems, Vol. 6, No 5, pp.242-248.
9. Beasley, J. E. (1985), “Algorithms for unconstrained two-dimensional guillotime cutting,” Journal of Operational Research Society, Vol. 36, pp.297-306.
10. Bennell, J A., K. A. Dowsland, and W. B. Dowsland (2001), “The irregular cutting-stock problem-a new procedure for deriving the no-fit polygon,” Computer and Operations Research, Vol. 28, pp.271-187.
11. Biro M. and E. Borors (1984), “Nework flows and non-guillotine
cutting patterns,” European Journal of Operational Research, Vol.
16, pp.215-221.
12. Dowsland, K. A. and W. B. Dowsland (1992), “Packing Problems,”
European Journal of Operational Research, Vol. 56, pp.2-14.
13. Dowsland, K. A., S. Vaid, and W. B. Dowsland (2002), “An algorithm for polygon placement using a bottom-left strategy,”
European Journal of Operational Research, Vol. 141, pp.371-381.
14. George, J. A., J. M. George, and B. W. Lamar (1995), “Packing Different-Sized Circles into a Rectangular Container,” European Journal of Operational Research, Vol. 84, pp.693-712.
15. Gomes, A. M. and J. F. Oliveira (2002), “A 2-exchange heuristic for nesting problems,” European Journal of Operational Research, Vol.
141, pp.359-370.
16. Grind, R.B. and T. M. Cavalier (1995), “A New Algorithm for the Minimal-Area Convex Enclosure Problem,” European Journal of Operational Research, Vol. 84, pp.522-538.
17. Hadjiconstantinou, E. and N. Christofides (1995), “An Exact Algorithm for General, Orthogonal ,Two-Dimensional Kmapsack Problems,” European Journal of Operational Research, Vol. 83, pp.39-56.
18. Ismail, H. S. and J. L.Sanders (1982), “Two-Dimensional stock problem research,” Journal of Manufacturing Systems, Vol. 1, pp.169-182.
19. Israni, S. and J. L. Sanders (1979), “Performance Testing of Rectangular Parts Nesting Heuristices,” International Journal of Production Research, Vol. 23, pp.437-456.
20. Jacobs, S. (1996), “On Genetic Algorithm for the Packing of Polygons,” European Journal of Operational Research, Vol. 84, pp.645-661.
21. Lamousin, H. J., W. N. Waggenspack, and G. T. Dobson (1996),
“Nesting of Complex 2-D Parts Within Irregular Boundaries,”
Journal of Manufacturing Science and Engineering, Vol. 118,