lee50310 发表于 2021-12-23 19:53:04

<<<*** 雙線切割+切割字型功能 ***>>

本帖最后由 lee50310 于 2025-3-5 17:21 编辑

原請求帖
http://bbs.mjtd.com/thread-183499-1-1.html

應網友要求 寫了一個 雙線切割程式效果如動態圖所示

1.執行指令: pcut 2.是否要切割文字? <N>:      ;不割字按 Enter (遇字則避讓) , 要割字按 Y3.輸入要連接的距離<3> :                  ;輸入要切割的寬度             4.按Enter 結束選取
(ps1: 第一次割字時需將字轉換為封閉多線段字體 所以會等 3到5秒時間 請耐心等待 ) (PS2 : 按 Enter 鍵 有3種方式: 1.鍵盤 Enter鍵2. 鍵盤 空白鍵(space鍵)3.滑鼠右鍵請選擇一種順手的搭配)
                                                                                                <***    源碼釋出 在2 樓***>
;--------------------------------------
舊版只有切割功能(不含文字切割)   請至 37樓下載 dd8a.fas

最新更新: dd9d_chs 及 dd9d_cht.fas(含切割字型功能)








lee50310 发表于 2021-12-23 19:54:29

本帖最后由 lee50310 于 2025-3-5 16:23 编辑

花了許多時間才完成,效果還不錯


;;------------------------------------------
最新更新版:( 源碼程式+詳細註解 +切割字型功能)

lee50310 发表于 2025-3-5 17:00:10

本帖最后由 lee50310 于 2025-3-5 22:00 编辑

水仙的错 发表于 2025-3-4 18:54
楼主能否分享没有文字版的源码
不含文字切割版 自行修改方式
請下載最新版 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 是否要切割文字? <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_layersstxt "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_layersse "tst" )               ;將物體搬到tst層   
                        
                  (setq sstxt nil pn 1)   
                  );end_progn
            
                );end_if         
      );end_progn
                      (setq pn 0)   
       );end_if

然後另存新檔 (檔名請自設) 即可


lee50310 发表于 2021-12-26 07:27:29

本帖最后由 lee50310 于 2021-12-27 11:41 编辑

ssyfeng 发表于 2021-12-25 10:19
如果遇到有文字,就不成功。
因原請求帖 功能並沒說明須 包含文字部分 所以撰寫程式時 沒有考慮此項目

不過, 在新版 (簡體)dd9_chs 及 (繁體) dd9_cht.lsp 已做改進(已釋出在版面)
                   1.原有功能不變
                   2.增加一選項是否切割文字 ?
                     a.選 "n" 則文字避讓保留 物體被切割
                     b.選 "y" 則文字部分會被分解轉為封閉多段線的文字形狀一同跟物體被切割

我測試過 可文字避讓切割 ,也可 單獨 做文字切割
所以新版功能更強 更好玩喔!

999999 发表于 2021-12-23 19:58:49

顶起顶起,,大神威武

pizi158545086 发表于 2021-12-23 23:50:07

使用命令会关闭所有捕捉没办法拾取捕捉点能保留捕捉最好了

lee50310 发表于 2021-12-24 07:34:50

本帖最后由 lee50310 于 2021-12-24 10:39 编辑

最新更新版已保留捕捉 ,請重新下載,謝謝!

p-3-ianlcc 发表于 2021-12-24 08:45:53

謝謝分享!
這樣子確實節省滿多時間的

lxl217114 发表于 2021-12-24 09:42:39

谢谢分享,又有新作,给力

yanchao316 发表于 2021-12-24 09:54:45

谢谢分享,好用。

断箭 发表于 2021-12-24 10:22:32

先收藏了,等需要的时候再来下

ynhh 发表于 2021-12-24 11:46:23

好牛
感谢分享
能不能多收点币后分享源码
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: <<<*** 雙線切割+切割字型功能 ***>>