怎么用autolisp更改所选文字颜色?
1个回答
推荐于2016-08-22 · 知道合伙人软件行家
关注
展开全部
可以的,代码如下,
(defun c:tes ( / ent)
(vl-load-com)
(if (setq ent (entsel "\n请选择要改变颜色的对象"))
(progn
(setq ent (car ent))
(setq ent (vlax-ename->vla-object ent))
(vla-put-color ent 1);变为红色1
)
)
(princ)
);复制到记事本,以【.lsp】为后缀命名。打开AutoCAD,autolisp加载,命令【TES】
追问
可不可以稍微修改下,像这样,我选定若干个文字,如果文字是数字,且大于30,那么文字就变红
追答
(defun c:tes ( / &c1 &k1 &kw1 obj)
(vl-load-com)
(if (and (princ "\n请选择要改变颜色的对象")
(setq &kw1 (ssget '((0 . "TEXT"))))
)
(progn
(while (setq &k1 (ssname &kw1 0))
(setq &kw1 (ssdel &k1 &kw1))
(setq obj (vlax-ename->vla-object &k1))
(setq &c1 (vla-get-TextString obj))
(if (> (atof &c1) 30) (vla-put-color obj 1) );变为红色1
)
)
)
(princ)
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询