CADXChange
購買

教學/塊屬性

ATTSYNC 清空了屬性值?如何安全地更新圖塊定義

使用 BlockCopy 製作

更新於 September 26, 2026

一張 AutoCAD 圖面,指令列中正在等待 ATTSYNC 指令的輸入

你修訂了標題欄 —— 加了一行、整理了版面、把 DWG_NO 改名為 SHEET_NO —— 重新定義後執行 ATTSYNC,結果每張圖的圖號都變回了預設值。或者值倒是保住了,可每個被人移開、避開線條的屬性又全都跳回原位。

這就是 ATTSYNC 的設計行為。它依標籤比對屬性,所以改了名稱的標籤,其值無處可去,新標籤從預設值開始;它還會把每個屬性的位置與格式重設為定義中的樣子。Autodesk 自己的建議是:圖塊一旦插入,就不要再改標籤。另外它只作用於目前開啟的圖面,而且得先把新定義放進這張圖。

本教學使用 BlockCopy 的 Sync Update,一次把修訂後的圖塊定義推送到整套圖面:數值依標籤帶過去,改了名稱的標籤其值會對應到新標籤而不是遺失,手動擺放的屬性留在原處,最後逐一回讀核對每個值。

1. 把修訂後的圖塊放進一份來源圖面

在任意一張圖面裡用 BEDIT 或 BLOCK 改好一次並儲存 —— 這張圖就是來源圖面。圖塊名稱保持不變:Sync Update 是用同一個圖塊的新版本取代舊定義。要把圖面換成另一個名稱的圖塊,是另一件事,結尾會提到。

標籤改名、屬性增加、刪除、調整順序都沒問題,接下來的步驟會逐一處理。

2. 選擇來源圖塊與目標圖面

開啟 BlockCopy,從標題列的切換按鈕進入 Sync Update。用 Browse… 選擇來源圖面:其中的圖塊會列出參考數量以及是否帶屬性,View… 可以查看某個圖塊的屬性清單。勾選要推送的圖塊。

點選 Add files…,選擇使用這個圖塊的圖面。它們只需要有舊版本,新版本從來源圖面來。

3. 決定屬性位置如何處理

Keep attribute positions 預設勾選:每個參考都保留其屬性原有的位置、旋轉與寬度係數,為避開線條而手動移動過的屬性會留在原處。這是 Sync Update 與 ATTSYNC 最明顯的差別。

如果修訂版是刻意移動了屬性 —— 例如標題欄換了新版面 —— 就取消勾選,每個屬性都會依新定義擺放,和 ATTSYNC 一樣。

4. 同步,並對應改了名稱的標籤

保持 Enable Auto Backup 勾選,點選 Sync Now。BlockCopy 會先讀取每張目標圖面,把其中的屬性與新定義比對。如果某個仍有值的標籤在新定義中不存在 —— 例如改名成 SHEET_NO 的 DWG_NO —— 會在寫入任何內容之前跳出對話框列出每個這樣的標籤。為它選擇接收其值的新標籤,如果這項資訊確實不要了就選擇捨棄,然後點選 Apply and sync。點選取消則所有圖面都不會被變更。

接著,BlockCopy 會在每張圖面中取代定義,並據此重建每個參考的屬性,依標籤把每個值帶過去,對應過的標籤其值會轉到新標籤。常數屬性採用新定義中的值,修訂版中新增的標籤從預設值開始。

在所有參考上都為空的標籤會被直接移除,所以從圖塊中刪除一個沒用的屬性不會跳出對話框。

5. 檢查結果

每張圖面儲存後,BlockCopy 會重新開啟它,把每個屬性值與之前的值比對 —— 做過對應的依新標籤比對。任何不一致的圖面都會被標記為失敗並列出詳情,批次中的其餘圖面照常繼續。

檔案詳情裡的 Rollback 或 Restore Backup… 可以把任何圖面還原成原樣,即使 BlockCopy 已經關閉。

需要知道的一個限制:值來自欄位的屬性(例如日期、圖紙集中的圖號)會保留目前顯示的文字,但欄位本身不會帶過去,會變成一般文字。同步後請重新插入這些欄位。

如果圖面需要換成另一個名稱的圖塊 —— 用新的標誌或符號取代舊的 —— 請使用 BlockCopy 的 Upgrade Version 模式,而不是 Sync Update。

如需了解每個畫面與設定的完整說明,請參閱 BlockCopy 說明文件。想在自己的圖面上試用,可以下載 BlockCopy —— 免費版每批最多可處理 10 張圖面。