Re: [请益] CAD的单行文字大量更改内容

楼主: diskk (oi)   2018-01-26 19:22:49
第一个问题的解答如下程式
你把程式贴到记事本存成modtext.lsp
然后在autocad里加载程式即可
至于第二个问题
我看你的CAD档案Q= 1是两个不同的物件
这是不是应该要求设计人员把文字放一起,而不是拆成两串
而且我不太懂什么是1~99自己跑一次
你可能要把你做好的结果CAD档再寄出来
(defun c:modtext ()
(setq ent (entget (car (entsel "Select text"))))
(setq input_text (cdr (assoc 1 ent)))
(if (and (>= (vl-string-search "-m" input_text) 0)
(>= (vl-string-search "-t" input_text) 0)
)
(progn
(setq modified_text (vl-string-subst " m=" "-m" input_text))
(setq modified_text (vl-string-subst " t=" "-t" modified_text))
(setq text_length (strlen modified_text))
(setq prefix (substr modified_text 1 1))
(setq tail (substr modified_text 2 text_length))
(setq result_text (strcat prefix "=" tail))
(setq old_property (assoc 1 ent))
(setq new_property (cons 1 result_text))
(setq ent (subst new_property old_property ent))
(entmod ent)
)
)
)
※ 引述《assassinbear ()》之铭言:
: 在钣金厂工作,最近发现修改tag的时间太长
: 爬了文,但是都没有相关的说明
: 想请问各位前辈
: CAD有办法录制宏或动作
: 让电脑可以自动修改单行文字符合我需要的内容吗?
: 例如单行文字内容如下:
: pA123456-mSS-t3
: q= 1
: 想要修改成
: p=A123456 m=SS t=3
: q=1
: "1" 有办法自己设定成1~99都自己跑一次吗?
: 这样只要下个指令把"q="删除就可以
: 感谢

Links booklink

Contact Us: admin [ a t ] ucptt.com