CADXChange

教學/圖面標準

ATTSYNC 把我的屬性值清掉了 — 安全地更新多張圖裡的圖塊

更新於 November 5, 2026

使用 BlockCopy 製作
BlockCopy 更新屬性標籤已改名的圖框之後的結果,六張圖面裡新舊標籤已對應

你修改了圖框(加一行、整理版面、把 SHEET_NO 改名為 DWG_NO),重新定義後執行 ATTSYNC,結果每張圖的圖號都變回預設值。或者值留住了,但每個被人手動挪開避讓線條的屬性,全都彈回原位。

ATTSYNC 就是這樣設計的。它依標籤比對屬性,所以標籤改了名的值無處可去,新標籤從預設值開始。它也會把每個屬性的位置和格式重設成定義裡的樣子。Autodesk 自己的建議也是圖塊放進圖面之後不要再改標籤。而且它只在開啟的那張圖裡有效,還得先把新定義帶進這張圖。

這篇用 CADXChange Toolkit 裡 BlockCopy 的 Sync Update 分頁,一次把修改過的圖塊定義推送到整套圖面。值依標籤延續,改過名的標籤,它的值會對應到新標籤而不是遺失,寫完之後每個值都會讀回確認。範例把改過的 TITLEBLOCK(SHEET_NO 改名為 DWG_NO)推送到六張圖。

1. 把修改過的圖塊放進一張來源圖

在任何一張圖裡用 BEDIT 或 BLOCK 修改一次圖塊,然後存檔。這張圖就是來源圖。圖塊名稱要維持不變:Sync Update 是用同一個圖塊的新版本替換舊定義。要把圖面換到名稱不同的圖塊,是另一件事,最後會提到。

改名、新增和刪除的屬性都沒問題,接下來的步驟會處理它們。

2. 選來源圖塊和目標圖面

開啟 BlockCopy,切到 Sync Update。瀏覽到來源圖:它的圖塊會連同參照數量、有沒有屬性一起列出,View 能看某個圖塊的屬性清單。勾選要推送的圖塊。

按 Add files,挑出使用這個圖塊的圖面。它們只需要舊版本;新版本來自來源圖。維持勾選 Automatic backup:每張圖在修改之前都會先複製到備份資料夾。

Keep attribute positions 預設是勾選的,所以被人手動挪過的屬性會留在原位。如果這次修改本來就是要挪動屬性,例如新的圖框版面,就取消勾選。

3. 對應改過名的標籤

按 Sync Now。BlockCopy 會先讀取每張目標圖,把屬性和新定義比對。如果有個還存著值的標籤在新定義裡不見了(這裡是 SHEET_NO),在寫入任何東西之前,會先跳出對話方塊把它列出來。

選擇要接收它的值的新標籤(DWG_NO),或者在那項資訊確實已經不要時選 Discard values,然後按 Apply and sync。按 Cancel 的話,每張圖都不會被動到。

4. 檢查結果

BlockCopy 會在每張圖裡替換定義,並用它重建每個參照,每個值依標籤延續,改過名標籤的值則轉到新標籤。清單逐張顯示結果,這裡是六張都是 TITLEBLOCK: synced 1 reference(s) 加 Success。

每張圖存檔後,BlockCopy 會把它讀回來,把屬性值和先前的內容比對。有地方對不上的圖會標成 Failed 並附上細節,其餘的繼續執行。我們故意把 SHEET_NO 對應到錯的標籤(CLIENT)試過,結果每張圖都被標成 Failed,說有 1 個屬性在同步後和預期不符,而不是悄悄通過。

在圖面的 Details 裡按 Rollback,或用 Restore Backup,都能讓任何一張圖原樣還原,BlockCopy 關掉之後也行。

5. 自己看一下數值

最快的獨立檢查,就是把圖面讀回來。把它們加到 BlockSync 的 Blocks → Excel 分頁並匯出 TITLEBLOCK:工作表裡現在有一欄 DWG_NO,裝的是原本在 SHEET_NO 的 A-101 到 A-202,版次、圖名、客戶和地址都和之前一樣。

這個範例中圖塊的控制代碼也沒有變,所以同步前匯出的 Excel 還是可以寫回。

BlockSync 在同步後匯出的 Excel 工作表:DWG_NO 欄是 A-101 到 A-202,旁邊是每張圖沒有變動的版次和圖名

如果圖面應該改用名稱不同的圖塊,例如把舊 Logo 或舊符號換成新的,請用 BlockCopy 的 Upgrade Version 分頁,不要用 Sync Update。它會替換參照,並把屬性值延續到新圖塊。

CADXChange Toolkit 有 30 天完整試用,可以先拿真實圖面的副本跑一遍。同步前請先在 AutoCAD 裡關掉這些圖面,因為在別處開著的檔案可能被鎖住。

用你自己的圖面試一試

CADXChange Toolkit 可以對整個資料夾的圖面做這件事,先預覽、先備份。30 天試用包含全部功能。

開始免費試用 →

開始之前 — 常見問題

為什麼 ATTSYNC 把我的屬性值重設了?
ATTSYNC 會依新的圖塊定義重建每個參照,並依標籤比對屬性。標籤被改過名的屬性找不到舊值的來源,就回到預設值,屬性位置也會被重設成定義裡的樣子。它還只在開啟的那張圖裡有效。
更新很多張圖裡的圖塊,需要 LISP 嗎?
不需要。BlockCopy 的 Sync Update 會替你在每張目標圖裡替換圖塊定義,並重新同步每個參照,沒有任何指令碼要寫或維護。
屬性標籤改了名,它的值會怎麼樣?
在寫入任何東西之前,BlockCopy 會列出每個還存著值、但新定義裡已經沒有的標籤。你決定由哪個新標籤接收這些值,或是捨棄,它才會寫入。值是依標籤名稱對應的,不是依位置。
怎麼確定沒有丟掉任何值?
每張圖存檔後,BlockCopy 都會把它讀回來,把每個屬性值和先前的內容比對。有地方對不上的圖會標成 Failed 並附上細節,Rollback 或 Restore Backup 能讓它原樣還原。
怎麼復原一次同步?
勾選 Automatic backup 時,每張圖都會先複製到備份資料夾。在圖面的 Details 裡按 Rollback 能還原那張圖,Restore Backup 能還原先前任何一次執行的圖面,程式關掉之後也可以。
執行這個需要什麼?
一台 Windows 10 或 11 的電腦,加上你的圖面。AutoCAD 不必開著。CADXChange Toolkit 附 30 天完整試用;試用結束後,讀取、掃描和預覽仍可使用,寫入圖面則需要授權。

相關指南