如果既要指定图层,又要指定对象类型,那按我上面所说的做就可以了。 在(c:getsel) 里面好像不可以再加其他的关键字,不知道有没有解决的方法。 如果只指定图层,或者只指定对象类型,又要求一步完成,可以用别的方法。 (defun c:dr1()'过滤图层 (setq ent (entsel)) (setq entlist (entget (car ent))) (setq lname (cdr (assoc 8 entlist)) SSLST (list (cons 8 lname)) ss (ssget "_X" SSLST)) (command "DRAWORDER" SS "") (princ) ) (defun c:dr2()'过滤对象 (setq ent (entsel)) (setq entlist (entget (car ent))) (setq ename (cdr (assoc 0 entlist)) SSLST (list (cons 0 ename)) ss (ssget "_X" SSLST)) (command "DRAWORDER" SS "") (princ) )
还有你要求前置还是后置?如果确定的话就可以再简化。 |