我有个很无聊的但并不是没有意义的批量改块名的程序
供参考下
随机改块名.lsp
(defun c:sjgbn()
(setq bnlist '())
(setq bn (tblnext "block" T))
(if (/= "*" (substr (cdr (assoc 2 bn)) 1 1))
(setq bnlist (cons (cdr (assoc 2 bn)) bnlist))
)
(while bn
(setq bn (tblnext "block"))
(if (and bn (/= "*" (substr (cdr (assoc 2 bn)) 1 1)))
(setq bnlist (cons (cdr (assoc 2 bn)) bnlist))
)
)
(setq xgbnlist bnlist)
(foreach x bnlist
;;;; (setq t1 (strcat (itoa (dos_random))(itoa (dos_random))(itoa (dos_random))))
;;;; (setq t2 (strcat "$Y$" (substr t1 1 9)))
(setq t1 (rtos (getvar "cdate") 2 8)) ;;"20100415.23161522"
(setq t2 (strcat "$Y$" (substr t1 10 8))) ;;"$Y$23161522"
(if (null (member t2 xgbnlist))
(setq xgbnlist (cons t2 xgbnlist))
)
(command "rename" "b" x t2)
)
(princ)
)