我这里有一个类似的,在模型空间选定范围后,自动切换到图纸空间,根据你输入的比例大小画图mv窗口!r14下编写!

- (defun set_ini ()
- (setq cmdsave (getvar "cmdecho"))
- (setq os (getvar "OSMODE"))
- (setvar "cmdecho" 0)
- (setvar "OSMODE" 0)
- ) ;_ end of defun
- (defun err_new (msg)
- (princ msg)
- (set_close)
- ) ;_ end of defun
- (defun set_close ()
- (setvar "OSMODE" os)
- (setvar "cmdecho" cmdsave)
- (setq *error* err_old)
- ) ;_ end of defun
- (defun c:arr ()
- (setq err_old *error*
- *error* err_new
- ) ;_ end of setq
- (set_ini)
- (princ "\n请点取需要出图范围第一角点:\n")
- (setq FP (getpoint))
- (setq SP (getcorner FP "\n请点取出图范围另一角点:\n"))
- (setq HT (abs (- (cadr sp) (cadr fp))))
- (setq WD (abs (- (car sp) (car fp))))
- (setq Sca (getstring "\n请输入出图比例<1/100>:"))
- (if (= sca "")
- (setq sca "1/100")
- ) ;_ end of if
- (setq scal (atoi (substr sca 3)))
- (command "tilemode" 0)
- (command "_zoom" "e")
- (princ "\n请点取图的左下角点:\n")
- (setq BLP (getpoint))
- (setq TRP (list (+ (car BLP) (/ Wd scal))
- (+ (cadr BLP) (/ HT scal))
- 0
- ) ;_ end of list
- ) ;_ end of setq
- (command "_zoom" BLP TRP)
- (command "_mview" BLP TRP)
- (command "_mspace")
- (command "_zoom" fp sp)
- (command "_zoom" (strcat sca "xp"))
- (command "_pspace")
- (command "_zoom" "e")
- (set_close)
- (gc)
- (princ)
- ) ;_ end of defun
|