[以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
4 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
[以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
主要是將大陸來的圖檔簡體字更換成繁體字
在CAD中有FIND的指令可以搜尋文字及取代文字內容
但在很多個檔案下需要更換約20個字,更換的字幾乎固定
在FIND搜尋下僅能以1個字或者1句話取代
所以每個檔案都重覆相同的動作
請問大家是否有更好的方式來替換文字
CAD版本為2011
若是使用wnewcp2000.exe這程式,應該僅能在舊版本R14以下的檔案使用
當然他們也不會停留在舊版本使用,我也下載嘗試過是無法更換
印象中在2007的時候是有可加載簡轉繁或繁轉簡的附加程式CTC-STC-Convertor.arx
但僅提供在那版本才能使用,不支援其他版本使用
在CAD中有FIND的指令可以搜尋文字及取代文字內容
但在很多個檔案下需要更換約20個字,更換的字幾乎固定
在FIND搜尋下僅能以1個字或者1句話取代
所以每個檔案都重覆相同的動作
請問大家是否有更好的方式來替換文字
CAD版本為2011
若是使用wnewcp2000.exe這程式,應該僅能在舊版本R14以下的檔案使用
當然他們也不會停留在舊版本使用,我也下載嘗試過是無法更換
印象中在2007的時候是有可加載簡轉繁或繁轉簡的附加程式CTC-STC-Convertor.arx
但僅提供在那版本才能使用,不支援其他版本使用
kshuangt 在 2011-06-20, 09:48 作了第 1 次修改
kshuangt- 初級會員
- 文章總數 : 55
年齡 : 49
來自 : 桃園
職業 : 製造業
愛好 : 小遊戲
個性 : 內向,沉默寡言
使用年資 : 18年↑
使用版本 : 2012
積分 : 4
最佳解答 : 1
經驗值 : 5215
威望值 : 58
注冊日期 : 2011-04-27
回復: [以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
r14內有一文字屬性編輯程式
CHTEXT.lsp
在2000~2008都可使用
更改文字及字型等功能
但不能做簡繁轉換
CHTEXT.lsp
在2000~2008都可使用
更改文字及字型等功能
但不能做簡繁轉換
tarpon- 中級會員
- 文章總數 : 209
年齡 : 34
來自 : 台北
職業 : 設計
愛好 : 打球
個性 : 溫和
使用年資 : 5年
使用版本 : 2006
積分 : 6
經驗值 : 6254
威望值 : 263
注冊日期 : 2010-07-01
回復: [以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
感謝回覆
CHTEXT我一開始也試過
但沒我需要的繁簡轉換
CHTEXT我一開始也試過
但沒我需要的繁簡轉換
kshuangt- 初級會員
- 文章總數 : 55
年齡 : 49
來自 : 桃園
職業 : 製造業
愛好 : 小遊戲
個性 : 內向,沉默寡言
使用年資 : 18年↑
使用版本 : 2012
積分 : 4
最佳解答 : 1
經驗值 : 5215
威望值 : 58
注冊日期 : 2011-04-27
回復: [以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
貼一個程式給你參考
- 代碼:
(defun c:rr(/ oldtxt newtxt oldnum newnum eold ename en ss i)
(setq ss (ssget))
(setq i 0)
(setq oldtxt (getstring "\nEnter old text: "))
(setq newtxt (getstring "\nEnter new text: "))
(setq oldnum (strlen oldtxt))
(setq newnum (strlen newtxt))
(repeat (sslength ss)
(setq ename (ssname ss i))
(setq eold (entget ename))
(setq en (cdr (assoc 0 eold)))
(if (= en "TEXT")
(progn
(setq p 1)
(setq ent (assoc 1 eold))
(setq entxt (cdr ent))
(setq ennum (strlen entxt))
(setq aa "")
(while (<= p ennum)
(setq kk (substr entxt p oldnum))
(if (= kk oldtxt)
(progn
(setq kk newtxt)
(setq p (- (+ p oldnum) 1))
)
(setq kk (substr entxt p 1))
)
(setq aa (strcat aa kk))
(setq p (+ 1 p))
)
(setq aa (cons 1 aa))
(setq eold (subst aa ent eold))
(entmod eold)
)
)
(setq i (+ 1 i))
)
)
(prompt "----------------------<< C:RR >>-----------------------")
(prin1)
tan866- 初級會員
- 文章總數 : 79
年齡 : 47
來自 : 高雄
職業 : 繪圖
愛好 : 騎腳踏車
個性 : 開朗
使用年資 : 5
使用版本 : 2008
積分 : 1
經驗值 : 5556
威望值 : 47
注冊日期 : 2010-10-24
回復: [以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
感謝您回覆
在使用於單行文字上是可行的
在程式中的"TEXT"改成"MTEXT"
可改在多行文字中尋找取代
但在"MTEXT"執行上到是只能選舉要取代的文字
若全選是都不會做任何更換
這部份到是可以來修改看看
謝謝您
在使用於單行文字上是可行的
在程式中的"TEXT"改成"MTEXT"
可改在多行文字中尋找取代
但在"MTEXT"執行上到是只能選舉要取代的文字
若全選是都不會做任何更換
這部份到是可以來修改看看
謝謝您
kshuangt- 初級會員
- 文章總數 : 55
年齡 : 49
來自 : 桃園
職業 : 製造業
愛好 : 小遊戲
個性 : 內向,沉默寡言
使用年資 : 18年↑
使用版本 : 2012
積分 : 4
最佳解答 : 1
經驗值 : 5215
威望值 : 58
注冊日期 : 2011-04-27
回復: [以解決]搜尋及取代文字可否能使用lisp或其他方式連續更換文字?
使用 vl-string-subst 試看看
語法
(vl-string-subst 取代字串 搜尋字串 原字串 [開始位置])
例如
(vl-string-subst "∅" "\U+2205" "直徑\U+2205100")
可以得到 "直徑∅100"
語法
(vl-string-subst 取代字串 搜尋字串 原字串 [開始位置])
例如
(vl-string-subst "∅" "\U+2205" "直徑\U+2205100")
可以得到 "直徑∅100"
droaaa- 高級會員
- 文章總數 : 494
年齡 : 42
來自 : 宜蘭
職業 : 畫畫圖
愛好 : 看動漫
個性 : 低調
使用年資 : 新手初學
使用版本 : 2008
積分 : 20
經驗值 : 9476
威望值 : 2166
注冊日期 : 2010-09-10
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章