Skip to content

Latest commit

 

History

History
191 lines (128 loc) · 4.9 KB

File metadata and controls

191 lines (128 loc) · 4.9 KB

中文版 | English


DiffCheck.lsp — 變更設計自動標記雲形線

不用再手動圈雲形線。框選新舊兩張圖,差異自動標出來。


問題

每次變更設計送審,建管要求在圖上用雲形線標出所有改動的地方。每個建築師都在手動做這件事。

變更設計送審
→ 手動圈雲形線標出改了哪裡
→ 有沒有漏標?那面牆有移嗎?
→ 審查發現漏標
→ 退回,重做

手動標記很花時間、容易漏、每次變更都要重來一次。AutoCAD 內建的 DWG Compare 只能比兩個檔案,輸出的是紅綠色疊圖——不是可以直接送審的雲形線。


解法

DiffCheck 在同一張 DWG 裡比對兩個區域,直接產出紅色雲形線在專用圖層上。開關圖層、出圖、送審。

1. 框選 Region A(變更前)
2. 框選 Region B(變更後)
3. 紅色雲形線自動標出所有差異——直接送審

技術原理

DiffCheck 使用 Spatial Anchor Voting 計算兩區域的位移,為每個物件產生幾何簽名(類型 + 座標 + 特徵值),排序後用 O(N log N) 線性掃描找出差異。附近的差異合併成群組,畫成一個雲形線,避免畫面雜亂。超大物件(圖框、邊界線)自動過濾。圖塊(INSERT)的屬性標籤和值也會納入比對。


安裝

  1. 下載 DiffCheck.lsp
  2. 在 AutoCAD 輸入 APPLOAD
  3. 載入檔案
  4. 輸入 DFC 執行

小技巧: 加入 AutoCAD Startup Suite,每次開啟自動載入。


使用方式

輸入 DFC

  1. 框選 Region A — 變更前的版本
  2. 框選 Region B — 變更後的版本
  3. 完成——每個改動位置出現紅色雲形線
Select Region A (old):
  238 objects selected
Select Region B (new):
  238 objects selected
  Auto-align votes: 31
  Generating Signatures & Sorting (Ultra Fast)...
  Matching & Grouping...
  ── Results ──
  Matched (Unchanged): 220
  Changes detected:    18
  All differences marked on Region B (DIFF_CLOUD layer).
  Time: 1.23s

檢查與送審

雲形線在 DIFF_CLOUD 圖層上。開關圖層檢查、調整、出圖送審。

清除

輸入 DFCC 清除所有雲形線。


指令

指令 說明
DFC 執行比對,產生雲形線
DFCC 清除所有雲形線
DFCT 調整合併距離、間距、弧長

支援的物件類型

類型 簽名方式
LINE 正規化端點
CIRCLE 圓心 + 半徑
ARC 圓心 + 半徑 + 角度
LWPOLYLINE 頂點 + bulge + 封閉旗標
TEXT / MTEXT 插入點 + 高度 + 內容
INSERT(圖塊) 名稱 + 插入點 + 縮放 + 旋轉 + 屬性標籤與值
DIMENSION 類型 + 量測值 + 顯示文字

參數設定

DFCT 互動調整,或直接改檔案頂部:

變數 預設值 說明
*dc:tol* 2.0 座標容差(圖面單位)
*dc:pad* 20.0 雲形線與物件的間距
*dc:arc* 30.0 雲形線弧段長度
*dc:merge* 50.0 合併附近差異的最大間距
*dc:maxbox* 0.4 大物件過濾門檻(超過區域 40% 自動忽略)

小技巧:

  • 假陽性太多?加大 *dc:tol*(試 5.0 或 10.0)
  • 雲形線太大重疊?減小 *dc:merge*
  • 自動對齊失敗?工具會提示手動點兩個對應基準點

注意事項

項目 說明
Hatch(填充) 略過——種子點在編輯後不穩定
LEADER / MLEADER 目前版本略過
自動對齊失敗 提示手動兩點對齊
僅 2D 不比較 Z 座標
圖塊屬性 ✅ 會比對——標籤名稱和值都納入簽名

相容性

版本 狀態
AutoCAD 2014+ ✅ 支援
2014 以下 未測試

也適用於 BricsCAD、GstarCAD 等支援 AutoLISP 的 CAD 平台。


常見問題

雲形線太多 / 假陽性?DFCT 加大容差,或設 *dc:tol* 為 5.0。標註文字位置微移是最常見的原因。

位移看起來不對? 投票數低於 3 時,工具會請你手動點兩個基準點。選兩個區域都有的柱心或牆角。

跑完什麼都沒出現? 確認兩個區域包含支援的物件類型(LINE、CIRCLE 等)。鎖定或凍結圖層上的物件可能沒被選到。


版本紀錄

版本 說明
v21.1 新增圖塊屬性深度比對(標籤名稱與值)
v21 O(N log N) 排序合併、空間錨點投票、區域化框合併、大物件過濾、手動對齊 fallback

支持這個專案

如果 DiffCheck 讓你不用再手動圈雲形線,歡迎請我喝杯咖啡 ☕

ko-fi


授權

MIT License — 免費使用、修改、散佈。


獻給所有厭倦手動圈雲形線的建築師。