2022年12月16日 星期五

CDM_檢查圖形尺寸標註是否為一比一 for AutoCAD

程式名稱 : CDM.vlx

載入指令 : (load "CDM")

執行指令 : CDM


***************************************************************



CDM.vlx 是以 ckd.vlx 為基本, 改寫成具有 對話框 的版本.

所有細項功能幾乎都相同 (有增強選項), 只是把原本一次執行所有細項, 改為可以獨立選取是否要執行各個細項.


檢查圖檔的 線性標註比例 是否為 1:1, 圖形是否 1:1 繪製, 標註中的數值是否為實際量測值, 或是被手動填入數字.

  • 將圖檔內所有”群組”分解成線, 圓, 弧, 文字,...
  • 自動炸開圖檔內所有不含屬性的圖塊,分解成線, 圓, 弧,文字,標註...
  • 自動炸開圖檔內所有的 “面域”.
  • 依 圖元的線形名稱, 將圖元歸放於相關的圖層.
  • 依 圖層的名稱, 將圖元歸放於相關的圖層.
  • 依 圖層內定的線形名稱, 將圖元歸放於相關的圖層.
  • 4~6 項 將虛線, 隱藏線的圖元, 其圖層名稱設為隱藏線; 將中心線的圖元, 其圖層名稱設為中心線;    將明確的實線, 輪廓線的圖元, 其圖層名稱設為 WHITE.
  • 將 "文字", "多行文字" 的圖元, 其圖層設成 check尺寸.
  • 將所有 "標註" 類型的圖元, 其圖層設成 check尺寸.
  • 將 Hatch, BlockReference, AttributeDefinition, Solid 的圖元, 其圖層設成 "假想線".
  • 執行所有標註圖元的檢查, 將所有 [ 線性標註比例 ] 值不為 1 的標註更改顏色, 圖層, 並炸開標註成線段和文字.
  •  [ 文字置換 ] 內有文字的標註, 其 [ 文字顏色 ] 改為 淺藍色, 且將該標註圖元反白顯示.
  • 圖檔中如有存在某些特殊圖元, 如 雲形線, 帶屬性圖塊,..
  • 會在執行 CDM 指令後, 顯示於警示對話框內.
  • 炸開 acad_proxy_entity 圖元.
  • 將不帶屬性, 且插入圖塊的比例不是 1 : 1 的圖塊 block, 全恢復為 1 : 1 後, 再炸開圖塊.


其餘在自己的樣板檔匯入客戶圖檔會容易產生誤用, 誤判的,將陸續在 ckd 程式加入判別式, 以避免誤用客戶圖檔的問題一直不斷地發生.


2021.11.30

每個圖元, 依 顏色名稱 存放到顏色名稱的圖層.

col_layer 以顏色為圖層名稱;

       (setq col_layer

      (cond

((= color_name 1) "Red") 顏色號為 1 時, 圖層名稱為 "Red"

((= color_name 2) "Yellow") 顏色號為 2 時, 圖層名稱為 "Yellow"

((= color_name 3) "Green") 顏色號為 3 時, 圖層名稱為 "Green"

((= color_name 4) "Cyan") 顏色號為 4 時, 圖層名稱為 "Cyan"

((= color_name 5) "Blue") 顏色號為 5 時, 圖層名稱為 "Blue"

((= color_name 6) "Magenta") 顏色號為 6 時, 圖層名稱為 "Magenta"

((= color_name 7) "White") 顏色號為 7 時, 圖層名稱為 "White"

((= color_name 256) sent_layer) 顏色號為 256 (ByLayer) 時, 圖層名稱為原圖層名稱

((= color_name 257) "ByBlock") 顏色號為 257 (ByBlock) 時, 圖層名稱為 "ByBlock"

(T (itoa color_name)) 其餘顏色號, 圖層名稱為 顏色號

      )

       )