希望这对你有用,试试看,让我知道
- (defun c:Test (/ outs spc s)
- (vl-load-com)
- ;; --- Tharwat 16. May. 2013 --- ;;
- (setq outs (vla-get-layouts
- (vla-get-ActiveDocument (vlax-get-acad-object))
- )
- spc (getvar 'ctab)
- )
- (foreach l (layoutlist)
- (setvar 'ctab l)
- (if (setq s (ssget "_X" (list '(0 . "INSERT") (cons 2 "A1 Border")(cons 410 l))))
- (progn
- ((lambda (j / sn e ent nm lst)
- (while (setq e (ssname s (setq j (1+ j))))
- (setq lst nil)
- (while (/= (cdr (assoc 0 (entget (setq e (entnext e)))))
- "SEQEND"
- )
- (if
- (and
- (eq (cdr (assoc 0 (setq ent (entget e)))) "ATTRIB")
- (or (eq (cdr (assoc 2 ent)) "DRAWINGNO.")
- (eq (cdr (assoc 2 ent)) "REV")
- )
- (snvalid (cdr (assoc 1 ent)))
- )
- (setq lst (cons (cdr (assoc 1 ent)) lst))
- )
- )
- (if (eq 2 (length lst))
- (if (and (setq nm (strcat (car lst) "_" (cadr lst)))
- (not (member nm (layoutlist))
- )
- )
- (vla-put-name (vla-item outs l) nm)
- )
- )
- )
- )
- -1
- )
- )
- )
- )
- (setvar 'ctab spc)
- (princ)
- )
|