下面是一个快速示例:
- (defun c:foo (/ i l n o)
- ;; Prefix
- (setq pre "BWSIP-2R-DD-TP-M")
- ;; Start number
- (setq n 1)
- ;; Get all paperspace layouts
- (vlax-for x (setq lo (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))))
- (cond ((> (vla-get-taborder x) 0) (setq o (cons x o))))
- )
- ;; Sort left to right
- (setq o (vl-sort o '(lambda (r j) (< (vla-get-taborder r) (vla-get-taborder j)))))
- ;; Apply a temp name to avoid duplicates
- (foreach l o (vla-put-name l (rtos (/ (getvar 'cdate) (vla-get-taborder l)) 2 12)))
- ;; Renumber
- (foreach l o
- (setq i (cond ((< n 10) (strcat "0" (itoa n)))
- ((itoa n))
- )
- )
- (vla-put-name l (strcat pre i))
- (setq n (1+ n))
- )
- (princ)
- )
- (vl-load-com)
|