几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   数据库ObjectDBX (http://www.dimcax.com/hust/forumdisplay.php?f=177)
-   -   【转帖】我有一编码不明白,请高手指点 (http://www.dimcax.com/hust/showthread.php?t=13602)

yang686526 2009-04-28 01:51 PM

【转帖】我有一编码不明白,请高手指点
 
我有一编码不明白,请高手指点
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) 做了


所有的时间均为北京时间。 现在的时间是 10:35 PM.