 - (defun C:Dprint()
- ;基本参数设置
- (progn
- (defun 2DPoint (pt)
- (vlax-make-variant
- (vlax-safearray-fill
- (vlax-make-safearray vlax-vbdouble '(0 . 1))
- (list (car pt) (cadr pt))
- )
- )
- )
- (setq PlotDevice "pdfFactory Pro");打印机名称
- (setq PlotStyle "monochrome.ctb");打印样式
- (setq Acad (vlax-get-acad-object))
- (setq ActDoc (vla-get-Activedocument Acad))
- (setq Ms (vla-get-Modelspace ActDoc))
- (setq Plot (vla-get-plot ActDoc))
- (setq Layout (vla-get-activelayout ActDoc))
- )
-
- ;打印
- (progn
- (setq p1 (getpoint "\n拾取坐下点坐标:"))
- (setq Pt1 (trans p1 1 0));左下点坐标
- (setq p2 (getcorner p1 "\n拾取坐右上坐标:"))
- (setq Pt2 (trans p2 1 0));右上点坐标
- ;开始窗口打印
- (vla-put-ConfigName Layout PlotDevice);设置打印机名称,这一步必须在前面,否则后面无法运行
- (vla-SetWindowToPlot Layout (2DPoint Pt1) (2DPoint Pt2))
- (vla-put-plottype Layout acWindow);打印范围设置为窗口
- (vla-put-plotrotation Layout ac0degrees)
- (vla-put-centerplot Layout :vlax-true);自动居中
- (vla-put-PlotRotation Layout 1);打印方向设置为横向
- (vla-setcustomscale Layout 1 1);设置比例
- (vla-put-CanonicalMediaName Layout "A3")
- ;布满图纸
- (vla-put-UseStandardScale Layout :vlax-true);启用标准比例
- (vla-put-StandardScale Layout acScaleToFit);自动调整比例
- (vla-put-StyleSheet Layout PlotStyle)
- (vla-put-paperunits Layout acMillimeters);设置单位为mm
- (vla-put-NumberofCopies Plot 1)
- (setvar "backgroundplot" 0);设置为前台打印
- (vla-plotToDevice Plot)
- )
- )
|