查看单个帖子
旧 2009-04-28, 01:51 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】我有一编码不明白,请高手指点

我有一编码不明白,请高手指点
www.dimcax.com
我有一编码不明白,请高手指点
我正在做图层的编码,请各为高手指点下,
(defun c:lg () ; 关闭选中对象图层外的其他图层
(setq ss (entget (car (entsel "\n选择保留对象:"))))
(setq layer1 (assoc 8 ss))
(setq layername (cdr layer1))
(command "-layer" "off" "*" "y" "on" layername "s" layername "")
(princ)
)
ssget可一选择多个对象,而entget却只能选择一个对象,怎么吧ssget加进里面去,
怎么将ssget选择的对象转换成entget数据,

谢谢!!!

entsel是选择一个目标的.
用(setq en(ssget) i 0) ;它可选择多个目标的.
用(setq en1 (entget (ssname en i)) i (+ i 1))
(setq layer1 (cdr (assoc 8 en1)))
gbg

谢谢,
版主果然是高手,以后多指点,

看不懂,太高深了,请教高人吧

先把图层(所选)置为当前,再执行关闭图层命令,只要把"y"改成“n"就行了
以上只限于一个图层(留下),如果要留多个,那就要用ssname和repeat(while) 做了
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)