CAD lsp怎么获取图层的信息,例如获取颜色为红色的所有图层 30

 我来答
bcatv
2019-06-16 · TA获得超过4433个赞
知道大有可为答主
回答量:4763
采纳率:77%
帮助的人:563万
展开全部
所有的图层定义,都在Document.Layers集合中,可以用其“ITEM”方法,遍历所有图层,------图层的TrueColor属性就是表示其颜色,只要你遍历各个图层,那么根据其TrueColor属性就可以找到颜色为某色的图层了
更多追问追答
追问
能不能说清lsp代码怎么写?
追答
你的提问稍有欠妥,获取图层信息----这个是说要查阅某个图层的一些信息,而获取颜色为红色的所有层----这个就不知道是什么意思了,也许你是说:获取层颜色为红色的一些层,也许你是在说:获取颜色为红色的层上的实体,,,,
匿名用户
2021-10-13
展开全部
(defun getlayer (/ a color lay_info layer)
(initget 7)
(setq color (getint "\n输入要选择的颜色数")
lay_info (tblnext "layer" T)
layer nil
)
(while lay_info
;;;获取关闭图层的图层名和图层颜色
(setq a (cdr (assoc 62 lay_info))
b (cdr (assoc 2 lay_info))
)
;;;判断图层是否为关闭状态,如果关闭,颜色值为负值
(if (< a 0)
(progn
;;;如果图层关闭,打开图层,获得图层的正确颜色值后,然后关闭图层
(command "-layer" "on" b "")
(setq a (cdr (assoc 62 (tblsearch "layer" b))))
(command "-layer" "off" b "")
)
)
;;;判断颜色是否为指定颜色值,将图层加入到layer表中
(if (= a color)
(setq layer (append layer (list b)))
)
;;;获取下一个图层
(setq lay_info (tblnext "layer"))
)
(princ)
layer
)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式