怎么用autolisp更改所选文字颜色?

我选定一个文字,如果这个文字满足我的要求,然后就改变他的颜色,这个怎么做到,有大神吗?... 我选定一个文字,如果这个文字满足我的要求,然后就改变他的颜色,这个怎么做到,有大神吗? 展开
 我来答
朱06CAD
推荐于2016-08-22 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18066
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部

可以的,代码如下,

(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)
)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式