AutoCAD图形打印技巧 张文明 1999年 第42期 38版   众多使用过AutoCAD的朋友都知道,AutoCAD2000的打印功能较以前的版本已大有提高。如果您想打印出一幅图(譬如A3幅),但是您的打印机只能打印A4幅,这时您只有用打印功能里的窗选功能手工选择打印。为了以后图形的拼接方便,您还得手工给出窗选点的坐标,实在烦琐。笔者用Visual Lisp编了个小程序,能够实现从A3图幅到A4图幅的自动打印,稍加改动能够实现A1图幅到A3图幅的打印等,限于篇幅,这里不在详细介绍。原程序如下:   (Defun c:a34();;;打印主程序   (Command ″layer″ ″on″ ″*″ ″″)   (initpt)   (Command ″Plot″ ″w″ (ret1 pt 1 0) (ret2 pt 2 1) ″n″)   (Command ″Plot″ ″w″ (ret1 pt 0 0) (ret2 pt 1 1) ″n″)   (Command ″qsave″ ″y″)   )   ;;;-----------;;;   (Defun initpt()   (SetQ ptmax (Getvar ″extmax″)   a1 (Car ptmax)   a2 (Cadr ptmax)   ptmin (Getvar ″extmin″)   b1 (Car ptmin)   b2 (Cadr ptmin)   s3 0   lengthx (- a1 b1)   lengthy (- a2 b2)   factor (/ 2850 1980)   unitx (/ lengthx 2)   unity (* unitx factor)   )   (If (<; (/ lengthx 2) (* lengthy factor))   (Progn (SetQ unity (/ lengthy 2)   unitx (/ unity factor)   )   )   )对瘦长的图形进行长宽对调   );;;确定图形的范围并对瘦长的图形进行“处理”;;;   ;;;------------;;;   (Defun ret1 (Pt numx numy)   (SetQ s1 (* unitx numx)   s1 (+ s1 b1)   s2 (* unity numy)   s2 (+ s2 b2)   s3 0   pt (List s1 s2 s3)   )   );;;求窗选点1   ;;;------------;;;   (Defun ret2 (Pt numx numy)   (SetQ s1 (* unitx numx)   s2 (* unity numy)   s1 (+ b1 (* s1 101))   s2 (* s2 101)   s3 0   pt (List s1 s2 s3)   )   );;;求窗选点2;;;