您可以在解析选择集时创建列表-只需保留来自所述层的项目:
- (defun c:test( / Objectlist sel1 cntr check )
- (prompt "\nSelect Objects to generate")
- (setq sel1 (ssget '((0 . "POLYLINE,LWPOLYLINE") (8 . "Xpro,Fpro,Cpro"))))
- (setq cntr 0
- Objectlist '()
- [color=red] check '()[/color])
- (repeat (sslength sel1)
- (setq entityname (ssname sel1 cntr))
- [color=red] (if (= (strcase (cdr (assoc 8 (entget entityname)))) "FPRO")[/color]
- [color=red] (setq check (append (list entityname) check))[/color]
- [color=red] )[/color]
- [color=black] (setq Objectlist (append (list entityname) Objectlist))[/color]
- (setq cntr (1+ cntr)))
- (princ))
|