明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2110|回复: 5

[求助]如何用LISP修改标注里文字的颜色

[复制链接]
发表于 2008-9-10 20:55:00 | 显示全部楼层 |阅读模式
如题,求教如何用LISP修改标注里文字的颜色
发表于 2008-9-10 21:50:00 | 显示全部楼层

;例如对选择的尺寸的文本改为1号颜色
(defun C:changecolor (/ ss K)
  (setq ss (ssget) k 0)
  (repeat (sslength ss)
    (vlax-put-property (vlax-ename->vla-object (ssname ss k)) "textcolor" 1)
    (setq k (1+ k))
    )
  )

 楼主| 发表于 2008-9-11 20:03:00 | 显示全部楼层

得左,多谢楼上,终于写成了下面的lisp

(defun c:ck()

(SETQ GOP (SSADD));;设定一个空的图元集合SS
(SETQ ss (SSADD))
(SETQ GOP (SSGET "x" '((0 . "*DIMENSION*"))))

(IF (/= GOP NIL)

(PROGN
(SETQ N (SSLENGTH GOP ))
(SETQ M 0)
(REPEAT N
(SETQ ENT (ENTGET (SSNAME GOP M)))

(if (and (/= (CDR (ASSOC 1 ENT)) "")
         (/= (CDR (ASSOC 1 ENT)) "<>"))
(ssadd (SSNAME GOP M) ss)
)

(SETQ M (+ M 1))
)

(setq k 0)
(repeat (sslength ss)
    (vlax-put-property (vlax-ename->vla-object (ssname ss k)) "textcolor" 3)
    (setq k (1+ k))
)
)
)

(IF (/= (sslength ss) 0)
(princ "注意 文字为绿色的尺寸在图上可能不是1:1的")
(princ "所有尺寸在图上都是1:1的")
)

(princ)

)

发表于 2012-4-13 12:13:26 | 显示全部楼层
xiaoquansb 发表于 2008-9-11 20:03
得左,多谢楼上,终于写成了下面的lisp(defun c:ck()(SETQ GOP (SSADD));;设定一个空的图元集合SS(SETQ ss  ...

你这个是干嘛用的,根本用不了
发表于 2012-6-1 22:55:13 | 显示全部楼层
嗯 嗯  用用
发表于 2012-6-2 10:53:39 | 显示全部楼层
能用的,修改的标注文字变成绿色了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-23 04:41 , Processed in 0.195699 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表