2025年3月27日 星期四

CDM 小程式的使用範例

 

Check DiMensions 檢查尺寸標註
此程式主要功能是檢查尺寸標註的兩項內容.
 [ 標註線性比例 ]
 [ 文字替代 ]
檢查的圖元, 是 [ 標註 ], 不是看起來像標註的 [ 圖塊參考 ], 或已經炸開的 [ 文字 ] + [ 線段 ].


CDM 小程式的選項說明

  • 炸開 auto cad 無法辨識的物件 acad_proxy_entity ...>> 有時炸不開 @^@
  • 取消群組 group ...>> 不能用炸開指令, 要用取消群組指令

以上兩項, 在 2000 版之前的圖檔常出現. 目前幾乎不存在 acad_proxy_entity, 也不再有人建群組了. 所以, 原則上, 這兩項都不勾選.

  • 炸開不帶屬性的圖塊 block, 避免插入多個相同名稱的圖塊, 只第一插入的圖塊有效.
  • Block Rename. 在 [ 客戶的 ] 電子圖檔 .dwg 內, 更改所有 圖塊名稱.

以上兩項, 可以擇一勾選.

炸開圖塊, 一樣也是在客戶的圖檔中執行, 然後複製+貼上 到您的底稿中, 圖塊會變成 文字+線,... 原圖檔不存檔, 可保持客戶圖檔的原樣.

更改圖塊名稱, 也同樣必須在客戶的圖檔中執行 CDM , 再複製到底稿中, 圖塊仍舊是圖塊, 但圖塊名稱後面加了8位數的流水號.


  • 將不帶屬性, 且插入圖塊的比例不是 1 : 1 的圖塊 block, 全恢復為 1 : 1 後, 再炸開圖塊.
這項是針對 某客戶 的繪圖習慣而加入的小副程式.
已寫 CDLF 程式, 可批次變更標註圖元的 [ 線性標註比例 ] 的數值. 圖塊縮放成 1:1, 再執行 CDLF.
目前也幾乎不勾選此項, 而在底稿中, 執行 CDLF.

  • dimension Rename. 在 [ 客戶的 ] 電子圖檔 .dwg 內, 更改所有 尺寸標註名稱. 
和 { Block Rename. 在 [ 客戶的 ] 電子圖檔 .dwg 內, 更改所有 圖塊名稱 } 相同的原理, 更改的圖元為 尺寸標註.
  • 炸開面域 region ...>> 有些加工機的軟體, 無法解讀 region 圖元
這項也是舊版的圖檔才有的. 目前的圖檔, 比較少見到平面圖形, 都建成面域.



  • 依圖元的 color 名稱 [ 如: 1 ] 改其圖層名稱為特定圖層 [ 如: 1 ].
  • 依圖元的 linetype 名稱 [ 如: HIDDEN ] 改其圖層名稱為特定圖層 [ 如: 隱藏線 ].
  • 依 圖層名稱 [ 如: center ] 改其圖層名稱為特定圖層 [ 如: 中心線 ].
  • 依圖元的圖層設定之 linetype 名稱 [ 如: HIDDEN2 ] 改其圖層名稱 [ 如: 隱藏線 ]
  • 依 圖元名稱 [ 如: text/dim... ] 改其圖層名稱為特定圖層 [ 如: 文字/check尺寸 ]
這五個選項, 主要的作用, 是將客戶的圖, 盡可能的轉成我們的繪圖規範.
也就是:
文字 text, mtext  歸到”文字”圖層;
標註 dimlinear, dimangular,.. 歸到 “check尺寸”圖層;
中心線, center,… 歸到 “中心線”圖層;
虛線, hidden, … 歸到 “隱藏線” 圖層;
…….
主要以圖層為區分, 將客戶不同的圖元設定, 轉成我們繪圖的設定. 其他的設定, 如: color, linetype, lineweight,…都設為依圖層 ( bylayer )

CDM 不論是否有勾選項目, 都會執行 :
  • 檢查 [ 標註線性比例 ] 的值是否為 1. 若不為 1, 則改標註文字顏色為241, 尺寸線顏色為41.
  • 檢查 標註的 [ 文字替代 ] 是否有輸入值. 有輸入文字時, 則文字顏色改為 120. 且標註亮顯警示.



此範例的圖形為線, 圓, 弧, … 等圖元; 標註為一般正規標註.
此例為圖形放大, 標註的標註線性比例值不為1.




此範例的圖形為線, 圓, 弧, … 等圖元; 標註為一般正規標註.

此例為圖形放大, 標註的標註線性比例值不為1.




此範例的圖形為線, 圓, 弧, … 等圖元; 標註為一般正規標註.

此例為圖形放大, 標註的標註線性比例值不為1.








此範例的圖形為線, 圓, 弧, … 等圖元; 標註為一般正規標註.

此例為圖形+標註 建為 圖塊,縮放尺寸, [ 圖塊縮放比例 X,Y,Z ] 不為1.




此例為圖形標註建為 圖塊,縮放尺寸, [ 圖塊縮放比例 X,Y,Z ] 不為1.






[ 零件表 ] 為文字和線段組成的圖塊. 圖塊的名稱 都取 [ 零件表 ]. 

這在客戶端不會有問題, 因為他們的每個圖檔, 只有一個零件表單. 

而在我們取多張圖檔插入我們的圖檔中時, 因為客戶的每張圖檔都有零件表, 每個零件表名稱都是 – 零件表. 所以, 插入第二個零件表圖塊時, CAD 會認定是第一張圖中的零件表.

避免這個問題的解決方法


避免這個問題的解決方法-1

用 CDM 更改圖塊名稱





執行完 CDM 後, 不用存檔, 保持客戶圖檔的原樣.
直接 複製+貼上 圖檔中的圖元到底稿中.
因為所有不含屬性的圖塊, 都被更名了.
所以, 插到底稿後, 不會再有圖塊同名而被CAD認定為您是插入底稿中的圖塊.
含有屬性的圖塊, 會正常顯示標籤的值. 不需更改名稱. 更不能炸開.

避免這個問題的解決方法-2

炸開圖塊

前提是:
要確定圖塊中的文字, 真的是 文字 text, mtext. 不是屬性標籤.





含有屬性的圖塊, 炸開後得到的是屬性標籤.












這類型的 [ 標註 ], 已經被刻意炸開成 line, 文字 text/mtext . 採用座標式標註, 用 破折線 把圖形弄得支離破碎.




這類型的 [ 標註 ], 已經被刻意炸開成 線 line, 文字 text/mtext . 採用座標式標註, 用破折線把圖形弄得支離破碎.

正常, 一個加工件, 應該只有一個座標原點, 才能定位, 加工.
一個加工件上面有多個原點, 標註應該不成問題, 高興就好.
但加工時, 原點在哪裡, 就傷腦筋了.
應該沒有這麼聰明的加工機, 正面看正面原點; 上視看上面原點; 右視看右邊原點.
那, 左視/底視未設原點, 要看哪點.



未按比例尺度
 (一)若視圖部分尺度未按比例繪製,應在尺度數字之下方加一橫線粗細同數字,以資識別。
 (二)未按比例繪製,例如75。 



前面客戶的圖都是 1:1 畫的, 信任的取用他的圖, 而沒對一下數值是否相同. 結果會 人生變黑白…


這類型的 圖形, 圖層全是預設白色的 0 圖層,
但是線型有分出 實線, 虛線, 中心線, ...



2024.08.23 新增電離子文字圖層 MARK-TEXT, 小程式 CDM.zelx 須修正程式碼, 才能識別 MARK-TEXT 圖層的文字.
原本 CDM 會將圖檔中的 text, mtext 的圖層設為”文字”圖層. 除了原圖層為 “YELLOW”或 ”MAGENTA”
修改後的 CDM 版本, 對原圖層為“YELLOW”或 “MAGENTA”或 “MARK-TEXT”的文字, 都不會變更圖層到 “文字”.





客戶的圖檔, 圖框內有多個表格, 清單.
要在客戶的圖檔執行 CDM.zelx ,
並勾選 [ Block Rename… ] 選項.

圖框中的表格, 可能有三大類型:
  • 純粹由線條和文字架構而成.
  • 由線條+文字組成, 再建成圖塊.
  • 帶有屬性標籤的圖塊.




執行 CDM 後的, 青色文字, 就是文字; 白色線條圖形, 就是圖形; 洋紅色, 就是圖塊; 橘色標註, 就真的是標註.
右下角的表格, 就是純文字+線段, 圓所組成的表格.
右上角的表格, 則是文字+線條建成圖塊.
左上角的表格, 是青色文字+白色線段+圖塊(洋紅色字) 所呈現的.
左下角的洋紅色文字, 是圖塊.
圖形中的件號球, 一樣是由圓+文字所建立的圖塊.

要執行勾選 [ Block Rename… ] 的 CDM, 除了因為圖中有很多表格外; 也為了一次要插入十多個客戶圖檔內容, 而每個圖檔中的圖塊名稱都相同, 如: 零件表-1.

這個範例, 是由 線條+文字 組成, 再建成圖塊.
這不成問題.
客戶的每一個圖檔中, 只有單一圖框, 單一個零件表, 所以不會有問題.
每個圖檔都有零件表圖塊, 圖塊名稱都是“零件表”.
每個圖檔中的零件表內容都不一樣.
而我們繪圖, 是把客戶的圖檔, 複製到底稿中來用.
每個圖檔的零件表圖塊名稱都是 “零件表”,
第一張圖檔插入, 沒問題.
第二張以後的圖檔, 因為名稱都叫“零件表”,
所以, CAD 一律解讀是插入第一張圖檔的“零件表”,
內容全是第一張的“零件表”內容.











執行 CDM :
$$$ 標註的 [主要單位精確度] OK $$$ ;
<<< 未發現 [ 標註線性比例 ] 不為 1 的 標註 >>> ;
<<< 未發現 被覆蓋 尺寸值 的標註 >>> ;
### 標註 大致正常, 守規矩 ### ;
圖形 [ 標註 ] 相關內容 檢查完畢 ....


執行 CDM , 因為炸開的文/數字, 都變成了 二維聚合線.
所以, CDM 都檢查到 polyline ,
而不是人眼看到的文字, 數字.
這裡的問題不大, 只是增加檔案的容量.



執行 CDM ,
如果標註沒有改圖層到 check尺寸 (標註圖元);
也沒有改到 MAGENTA 圖層 (圖塊參考);
數字的顏色也不是青色 ( text / mtext ).
而且有執行 CDM, 和沒執行 CDM 幾乎沒有差別.
最大的可能, 是整個圖面被執行 explode 炸開了.