本帖最后由 lee50310 于 2025-3-5 22:00 编辑
不含文字切割版 自行修改方式
請下載最新版 dd9d_chs.lsp 由此版 修改
用文字編輯器 編輯 dd9d_chs.lsp
刪除 程式中步驟1,2,3 這些函數及代碼
1.

- ;;
- ;;http://bbs.mjtd.com/thread-171466-1-1.html
- ;;分解文字 程式 作者:荒野孤行
- ;;
- ;;;<<< *** 分解文字 程式開始 ***>>>
- (defun break_downTXT (ss2 / PtList)
- (command "undo" "be")
- (setvar "mirrtext" 1)
- .
- .
- .
- (setvar "mirrtext" 0)
- (command "undo" "e")
- )
- ;;;*****分解文字 程式結束*****
2.

- (initget "Y y Yes N n No")
- (setq key (getkword "nEnter 是否要切割文字? [Y/N]<N>: "))
- (if(= key nil)(setq key "N"))
3.
 - (if(/= sstxt nil)
- (progn
- (if(or (= key "Yes")(= key "YES")(= key "yes")(= key "Y")(= key "y")) ;切割文字
- (progn
- (change_layer sstxt "msk" ) ;將物體搬到msk層
- (Active_Layer "msk") ;設msk層為當前
-
- (princ "\n文字處理中......")
- (break_downTXT sstxt) ;分解文字
- (setq sse (ssget "_X" '((8 . "msk"))) )
- (edit_jj_pline sse) ;將文字接合為多段線
- (setq sse (ssget "_X" '((8 . "msk"))) )
- (Master_slave "msk") ;在指定層 "msk" 找出物體主從關係
- (sub_Masterslave wel ) ;物體主從關係先做差集,若物體有包裹2層 則第一層主物 與 第二層所有物體 做差集
- (setq sse (ssget "_X" '((8 . "msk"))) )
- (change_layer sse "tst" ) ;將物體搬到tst層
-
- (setq sstxt nil pn 1)
- );end_progn
-
- );end_if
- );end_progn
- (setq pn 0)
- );end_if
然後另存新檔 (檔名請自設) 即可
|