CAD lsp怎么获取图层的信息,例如获取颜色为红色的所有图层 30
展开全部
所有的图层定义,都在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
)
(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
)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询