艾伦,再次感谢
当做
奥列格 你最初的帖子让我们相信你想要处理许多图纸。
要替换当前图形中的纯文本,您只需执行以下操作:
注意,它不处理多行文字或属性。为此你需要这个
(defun C:RT (/ adoc Old$ New$)
(vl-load-com)
(setq Old$ "D.F."
New$ "DF")
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for lt (vla-get-layouts adoc)
(vlax-for obj (vla-get-block lt)
(if (eq "AcDbText" (vla-get-objectname obj))
(while (vl-string-search Old$ (vla-get-textstring obj))
(vla-put-textstring obj
(vl-string-subst New$ Old$ (vla-get-textstring obj)))
)
)
)
)
(princ)
) 驾驶室,
谢谢最后一个很好用。我感谢所有人的帮助。 你好
谢谢你的代码,它非常有用。
我也有同样的问题,但我需要替换不止一个单词。
你能帮助我吗?
例子:
D、 F.-->测向
和
MOI-->JOI
-Galantic公司 试试这个,列表由对组成,根据需要添加
(defun C:RT (/ adoc List$)
(vl-load-com)
(setq $List '(("D.F." "DF") ("MOI" "JOI"))); (Old$ New$)
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for lt (vla-get-layouts adoc)
(vlax-for obj (vla-get-block lt)
(if (eq "AcDbText" (vla-get-objectname obj))
(mapcar '(lambda(x)
(while (vl-string-search (car x) (vla-get-textstring obj))
(vla-put-textstring obj
(vl-string-subst (cadr x) (car x) (vla-get-textstring obj)))
)
) $List)
)
)
)
(princ)
) 我需要一些类似的东西,但我希望它能像你展示的原始代码一样同时处理多个图形,但我需要处理多行文字。我试过了你给的链接,但它似乎不想为我运行。
我真正想做的就是扫描文件夹中的所有图纸并删除“明矾”来自多行文字中的所有引用。
Dznytoy公司 李的批量查找和替换文本例程是我的最爱之一。 很漂亮的出租车。是否可以修改它,使其仅替换整个单词?
例如:
电缆槽CPS=图形中的文本字符串
(“E”“Eaves”)=查找替换设置
结果=CABLEavesTROUGH CPS
然而我希望这一点被忽略。
干杯
P
*咳嗽*试试这个*咳嗽*
页:
1
[2]