程式名稱 : btbe.zelx
載入指令 : (vl-load-all "btbe")
執行指令 : btbe
**********************************************************************
BTBE.zelx 用於將資料夾 ( 含子資料夾 ) 中的所有 DXF 檔, 批次做 [ 文字 ] 轉換為 [ 聚合線 ], 並縮放圖形到 實際範圍 後, 再存檔...
文字的 autocad 圖元為 [ text ], 不處理由 [ mtext ] 所建立的文字.
文字的圖層 LAYER 名稱需為 "YELLOW", 才執行 文字轉聚合線.
位於其他名稱圖層的文字都不會處理.
即此程式只處理 (LIST '(0 . "TEXT") '(8 . "YELLOW"))
-->>> 圖層 YELLOW 的 TEXT 文字串.
文字的字體最好選擇單線條的字體檔, .ttf 的字體會轉成描邊的聚合線.
2022.11.30
修改為在開啟 DXF 圖檔後, 先執行 [ 多行文字 mtext 轉 單行文字 text ] 副程式, 即可以所有文字都轉成 lwpolyline.
同時取消 文字的圖層 LAYER 名稱需為 "YELLOW", 才執行 文字轉聚合線 的限制.
所以, 只要是 文字, 都執行 文字轉聚合線. 這是為了方便其他不畫線的文字, 不會因為字的長度過長, 跨出圖形邊界, 不易辬識文字內容.
載入程式一定要輸入 (vl-load-all "btbe") 才能執行 script 內的指令, 程式才能開啟多個 .DXF 檔案, 並執行 script 和載入副程式.
(load "btbe") 只能在目前作用中的圖檔載入,無法跨檔案執行.
可建立 toolbar 的小按鈕, 方便快速執行此程式.
在 [ 巨集 ] 欄輸入:
^C^C(vl-load-all "btbe");btbe
完成後, 按小按鈕, 依顯示的對話框選取 資料夾, 即可執行批次的文字轉聚合線.
2021.05.03
將 預先載入 acopm.arx 的功能加入 btbe.vlx 中, 執行 btbe.vlx 即預先載入 acopm.arx 和 txtexp.lsp 兩個小程式, 在不同的 autocad 環境中, 減少發生不明原因的錯誤.
2021.07.12
新增雷射刻字的字體檔; simplex.shx,chineset.shx 的字體檔筆畫較連續, 不會有太多線/弧相近但不相連的情形.
不管是否存在 LASER-TEXT 的文字型式, 一律重設文字型式的字體檔. 只要找到圖層為 YELLOW 的文字, 就更新文字的文字型式為 LASER-TEXT
2021.07.14
字體由 simplex.shx 改為最少筆劃,最少圓弧控點的 txt.shx .
simplex.shx 的圓弧控點多,看起來較圓滑, 但雷射劃線較麻煩. 所以改為 txt.shx