[code="lisp]
;打印函数,lujing可为nil,orpdf为T或nil,为T是打印pdf,为nil是打印到设备
(defun gm-dayin(dayinji tufu p1 p2 xiankuan fenshu lujing orpdf yulan / acaddoc fangxiang jixu medianame mspace p3 plot pointtemp1 pointtemp2 st x x1 x2 y y1 y2)
;设定系统变量,确保cad在前台进行打印,这样后一次打印会在前一次打印完成后才开始,避免错误
(setvar "backgroundplot" 0)
;由p1和p2坐标判断是横向还是纵向
(if (> (cadr p1) (cadr p2)) (setq p3 p1
p1 (list (car p1) (cadr p2) 0)
p2 (list (car p2) (cadr p3) 0)))
(setq x1 (car p1) y1 (cadr p1) x2 (car p2) y2 (cadr p2))
(setq x (abs (- x1 x2)) y (abs (- y1 y2)) )
(if (> y x) (setq st "p") (setq st "l"))
;当路径不为nil时,给路径加上后缀名
(if (/= lujing nil)(setq lujing (strcat lujing ".pdf")))
(setq acaddoc (vla-get-activedocument(vlax-get-acad-object))
mspace(vla-get-active