本帖最后由 ZZXXQQ 于 2013-3-8 23:30 编辑
 - ;****************************************************
- ; bsc--多块同时缩放.lsp
- ;****************************************************
- (defun c:bsc ()
- (command "_.undo" "_begin")
- (setq old_err *error* *error* Sb_err)
- (if (and (princ "\n请选择需缩放的块:")
- (setq ss (ssget '((0 . "INSERT"))))) (progn
- (setq i 0 bnm (cdr(assoc 2 (entget(ssname ss 0)))))
- (repeat (1- (sslength ss))
- (setq ent (entget(ssname ss (setq i (1+ i))))
- bnm (strcat bnm "," (cdr(assoc 2 ent))))
- )
- (initget 7)
- (setq blkfactor (getreal "\n请输入缩放倍数:"))
- (setq blksset (ssget (list (cons 0 "INSERT") (cons 2 bnm))))
- (setq donecount 0)
- (repeat (sslength blksset)
- (setq temp (ssname blksset donecount))
- (setq templist (entget temp))
- (setq blkbasept (cdr (assoc 10 templist)))
- (command "scale" temp "" blkbasept blkfactor ^c)
- (setq donecount (1+ donecount))
- )
- (princ (strcat "\n完成缩放 " (itoa donecount)
- " 个名称为\"" blkname "\"的块."))
- ))
- (command "_.undo" "_end")
- (princ)
- )
- (defun Bs_err (s)
- (princ "\n命令中止!")
- (setq *error* old_err)
- (princ)
- )
- (princ)
-
|