使用屬性萃取樣板檔,您可以從圖面中萃取屬性資訊,建立單獨的文字檔供資料庫軟體使用。
您可以從圖面中萃取屬性資訊,建立單獨的文字檔供資料庫軟體使用。此功能可以使用已輸入圖面資料庫中的資訊建立組件列示。萃取屬性資訊不會影響圖面。
建立組件列示的步驟
若要萃取屬性資訊,首先要使用任何一個文字處理器建立屬性樣板檔,然後產生屬性萃取檔,最後在資料庫應用程式中開啟此屬性萃取檔。如果要將屬性資訊萃取到 DXF (圖檔交換格式) 檔中,則不必先建立屬性樣板檔。
請確定屬性萃取檔的名稱與屬性樣板檔的名稱不同。
在萃取屬性資訊前,必須建立一個 ASCII 樣板檔,以定義將包含所萃取屬性資訊之檔案的結構。樣板檔包含與要萃取資訊關聯的多種資訊,如標籤名稱、資料類型、欄位長度與小數位數。
樣板檔中的每個功能變數都從圖面中的圖塊參考萃取資訊。樣板檔中的每行指定一個寫入屬性萃取檔中的功能變數,包括功能變數名稱、字元寬度與數值精確度。屬性萃取檔中的每條記錄都包括所有指定功能變數,這些功能變數依樣板檔給定的順序排列。
以下樣板檔包括 15 個可能功能變數。N 表示數值;C 表示字元;www 表示欄位的總寬度是 3 位數字;ddd 表示在小數點右側顯示 3 位小數。
BL:NAME Cwww000 (圖塊名稱)
BL:LEVEL Nwww000 (圖塊巢狀層次)
BL:X Nwwwddd (圖塊插入點的 X 座標)
BL:Y Nwwwddd (圖塊插入點的 Y 座標)
BL:Z Nwwwddd (圖塊插入點的 Z 座標)
BL:NUMBER Nwww000 (圖塊計數器,與 MINSERT 作用相同)
BL:HANDLE Cwww000 (圖塊處理碼,與 MINSERT 作用相同)
BL:LAYER Cwww000 (圖塊插入圖層的名稱)
BL:ORIENT Nwwwddd (圖塊旋轉角度)
BL:XSCALE Nwwwddd (X 比例係數)
BL:YSCALE Nwwwddd (Y 比例係數)
BL:ZSCALE Nwwwddd (Z 比例係數)
BL:XEXTRUDE Nwwwddd (圖塊擠出方向的 X 分量)
BL:YEXTRUDE Nwwwddd (圖塊擠出方向的 Y 分量)
BL:ZEXTRUDE Nwwwddd (圖塊擠出方向的 Z 分量)
numeric Nwwwddd (數值屬性標籤)
character Cwww000 (字元屬性標籤)
樣板檔可以包括列示的任何一個或所有 BL:xxxxxxx 功能變數名稱,但必須至少包括一個屬性標籤功能變數。屬性標籤功能變數決定屬性萃取檔中包括的屬性和圖塊。如果圖塊包含部分 (而不是全部) 指定屬性,缺少的屬性值將用空格或零填滿,這取決於功能變數是字元功能變數還是數值功能變數。
屬性樣板檔中不應包括註解。
下面的圖解與表格展示了您可能會萃取的資訊類型範例,其中包括圖塊名稱、製造商、型號與價格。
功能變數 |
(C) 字元或 (N) 數值資料 |
最大欄位長度 |
小數位數 |
---|---|---|---|
圖塊名稱 |
C |
040 |
000 |
製造商 |
C |
006 |
000 |
型號 |
C |
015 |
000 |
價格 |
N |
006 |
002 |
可以建立任意數量的樣板檔,這要視您使用資料的方式而定。樣板檔的每行都指定一個要寫入屬性萃取檔的功能變數。
請遵循下列附加準則:
以下是一個樣板檔範例。
BL:NAME C008000 (圖塊名稱,8 位字元)
BL:X N007001 (X 座標,格式 nnnnnn.d)
BL:Y N007001 (Y 座標,格式 nnnnnn.d)
SUPPLIER C016000 (製造商名稱,16 位字元)
MODEL C009000 (型號,9 位字元)
PRICE N009002 (單位價格,格式 nnnnnnnn.dd)
建立樣板檔之後,可以使用以下格式之一萃取屬性資訊:
CDF 格式生成的檔案包含圖面中每個圖塊參考的一個記錄。每條記錄的功能變數用逗號分隔,字元功能變數用單引號括起來。某些資料庫應用程式可以直接讀取這種格式。
SDF 格式生成的檔案也包含圖面中每個圖塊參考的一個記錄。每條記錄的欄位寬度固定,不需要欄位分隔符或字串分隔符。dBASE III 複本 . . . SDF 作業也產生 SDI 格式的檔案。SDF 作業可以讀取 dBASE IV 格式的檔案,用 FORTRAN 編寫的使用者程式能輕鬆處理這種格式的檔案。
DXF 可產生圖檔交換格式的子集,其中僅包括圖塊參考、屬性與終止物件。此選項不要求屬性萃取樣板。副檔名 .dxx 可區分 DXF 格式的萃取檔案與一般 DXF 檔案。
屬性萃取檔清單樣板檔中指定的屬性標籤值與其他資訊。
如果使用範例樣板指定了 CDF 格式,則輸出將如下所示:
'DESK', 120.0, 49.5, 'ACME INDUST.', '51-793W', 379.95
'CHAIR', 122.0, 47.0, 'ACME INDUST.', '34-902A', 199.95
'DESK', -77.2, 40.0, 'TOP DRAWER INC.', 'X-52-44',249.95
依預設,字元功能變數用單引號 (撇號) 括起來。預設欄位分隔符是逗號。可以使用以下兩個樣板記錄取代這些預設:
C:QUOTE c (字串分隔符)
C:DELIM c (欄位分隔符)
C:QUOTE 或 C:DELIM 功能變數名稱後面的第一個非空字元為各自的分隔字元。例如,如果要使用雙引號括起字串,請在屬性萃取樣板檔中包括下面指令行:
C:QUOTE "
引號分隔符不能設定為可以在字元功能變數中出現的字元。同樣,欄位分隔符不能設定為可以在數值功能變數中出現的字元。
如果使用範例樣板指定了 SDF 格式,則檔案可能與下列範例相似。
(名稱) |
(X) |
(Y) |
(供應商) |
(型號) |
(價格) |
---|---|---|---|---|---|
DESK |
120.0 |
49.5 |
ACME INDUST. |
51-793W |
379.95 |
CHAIR |
122.0 |
47.0 |
ACME INDUST. |
34-902A |
199.95 |
DESK |
-77.2 |
40.0 |
TOP DRAWER INC. |
X-52-44 |
249.95 |
功能變數順序與樣板檔中的功能變數順序對應。您可以在其他應用程式 (如工作表) 中使用這些檔案,也可以依需要排序或操控資料。若要取得如何使用其他應用程式資料的相關資訊,請參閱工作表程式的文件。如果在文字編輯器或文字處理器中開啟檔案,可以將這些資訊做為文字貼回圖面。
樣板檔中的 BL:LEVEL 行會報告圖塊參考的巢狀層次。插入圖面的圖塊的巢狀層次為 1。做為其他圖塊的一部分或巢狀包覆在其他圖塊中的圖塊參考的巢狀層次為 2,依次類推。
對於巢狀圖塊參考,X、Y、Z 座標值、比例係數、擠出方向與旋轉角度反映了巢狀圖塊在世界座標系統中的實際位置、大小、方位與旋轉。
在某些複雜情況下,僅用兩個比例係數與一個旋轉角度無法正確表示巢狀式圖塊參考,例如,在 3D 環境中旋轉巢狀式圖塊。在這種情況下,萃取檔記錄中的比例係數與旋轉角度將設定為零。
如果欄位寬度不足,不能容納資料,資料會被截斷,並顯示以下訊息:
** 記錄 <記錄號> 中功能變數溢位
例如,如果 BL:NAME 欄位寬度為 8 位字元,而圖面中的圖塊名稱長度為 10 位字元,就會發生這種情況。