;;修改了一下,用看看是否比较方便一点. ;; 版权所有 (C) 2009-2012 黄河森 (defun c:rdd() (print "本程序局部重生成对像") (SYS12) (SETQ SS (SSGET "C" P3 P1)) (COMMAND "SCALE" SS "" "@0,0,0" "1") (prin1) ) ;;;取得绘图区范围的尺寸座标 ;; 1为左下角依逆时钟依序P2,P3,P4 (defun sys12() (setq cp (trans (getvar "viewctr") 1 2)) (setq pt1 (trans (getvar "vsmin") 1 2)) (setq pt2 (trans (getvar "vsmax") 1 2)) (setq xscl (- (car pt2) (car pt1))) (setq yscl (- (cadr pt2) (cadr pt1))) (setq sh (getvar "viewsize")) (setq sw (* sh (/ xscl yscl))) (setq p1 (list (- (car cp) (* 0.5 sw)) (- (cadr cp) (* 0.5 sh)))) (setq p3 (list (+ (car cp) (* 0.5 sw)) (+ (cadr cp) (* 0.5 sh)))) (setq p2 (list (car p3) (cadr p1))) (setq p4 (list (car p1) (cadr p3))) ) |