lisp语言问题

(defunc:tt()(setqacmCol(vla-getinterfaceobject(vlax-get-acad-object)(strcat"AutoCAD.A... (defun c:tt()
(setq acmCol (vla-getinterfaceobject
(vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
(vlax-for x (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(cond
((= (vla-get-name x) "DIM") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "DIM_1") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "DIMS") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "DIMS_1") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "SCS_1_DIM") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "SWAY_1") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "TLTBLCK_TEXT") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "BARS_1") (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))

)
)
)

这个语言我不懂,但能添加到cad里,也能运行,只是有个问题,我想实现 像“ "DIM_1")
"DIMS-1") 和 "SCS_1_DIM") 和 "SWAY_1") 这些下划线后面数字从1到任何数字都能通过这个程序实现,不知道怎么写能实现,不是具体某个数字,可能是20,也可能是55
展开
 我来答
半途中888
2017-12-01 · TA获得超过837个赞
知道小有建树答主
回答量:463
采纳率:81%
帮助的人:127万
展开全部

(defun c:tt()

(if (setq DIM(getstring"输入需要改色的图层名称:"))

(progn

(setq acmCol (vla-getinterfaceobject 

(vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))

(vlax-for x (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))

(cond

((= (vla-get-name x) DIM) (vla-setrgb acmCol 255 0 255) (vla-put-TrueColor x acmCol))

)

)

)

)

(princ)

)

改了改代码 看看是不是你想要的!

追问
非常感谢您的帮助,我试了下,这个代码需要手动输入所有需要改动的图层名字,我需要的是能把之前那个代码里的             如图所示的这些所有的1-24用一个比如1-100的代码或所有的数字来代替,而不用输入这么多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式