lincctw_ccl 发表于 2013-5-4 15:26:31

Princ出所有框选出图层的程序?

请教下列程序如何改写成,框选像素后
Princ出所有框选出图层的程序?
(例如框选像素共计 图层aa 共2个, 图层bb 共3个
显示 对象所在图层 aa / bb
相同的图层只须列示出一次就行)
谢谢!

(defun c:get_enlay()
(setvar "cmdecho" 0)
(while(setq en0(entsel "\n选取对象:"))
(setq endata(entget(car en0)))
(setq lay (cdr(assoc 8 endata)))
(princ "\n对象所在图层:")(princ lay)
)
(prin1)
)

Andyhon 发表于 2013-5-4 16:49:36

本帖最后由 Andyhon 于 2013-5-4 18:53 编辑

(defun c:get_enlay(/ Lyrss)
(setvar "cmdecho" 0)
(Princ"\n選取對象:")
(and
   (setq ss (ssget))
   (setq i -1)
   (while (setq ee (ssname ss (setq i (1+ i))))
   (cond
      ((member (setq lyr (cdr (assoc 8 (entget ee)))) lyrss))
      ((setq Lyrss (cons (cdr (assoc 8 (entget ee))) Lyrss)))
   ) )
   (princ "\n對象所在圖層:")
   (princ lyrss)
)
(prin1)
)

lincctw_ccl 发表于 2013-5-4 18:52:02

Andyhon 发表于 2013-5-4 16:49 static/image/common/back.gif
(defun c:get_enlay(/ Lyrss)
(setvar "cmdecho" 0)
(Princ"\n選取對像:")


感謝指點!!
页: [1]
查看完整版本: Princ出所有框选出图层的程序?