布局批量打印
布局批量打印,分享给大家!共同改良,测试结果。文件沒有保存之前,是无法执行打印的,已经保存了的,直接可以打印。程序中缺陷;在程序中保存DWG文件之后,没有执行打印程序,我是初学者,功底不深,没有办法把它写更好,各位前辈有缘路过,出手指点一下!如有提问不到位,表达不清楚的,请海涵!!本帖最后由 qazxswk 于 2025-10-21 00:22 编辑
批量最好用vla函数,vl-cmdf函数有太多限制性,不通用。下面是我收集的代码,供参考
原代码地址:http://bbs.mjtd.com/thread-191129-1-1.html
(vl-load-com)
(defun PlotToFile (ConfigName MediaName Window
FileName / AcadObj
ActiveDocObj ActiveLayoutObj
PlotObj
)
(setq AcadObj (vlax-get-acad-object)
ActiveDocObj (vla-get-ActiveDocument AcadObj)
ActiveLayoutObj (vla-get-ActiveLayout ActiveDocObj)
)
(vla-RefreshPlotDeviceInfo ActiveLayoutObj)
(vla-Put-ConfigName ActiveLayoutObj ConfigName)
(setq PlotObj (vla-get-Plot ActiveDocObj))
(vla-Put-CanonicalMediaName ActiveLayoutObj MediaName)
(vla-Put-StandardScale ActiveLayoutObj acScaleToFit)
(vla-Put-PlotRotation ActiveLayoutObj ac0degrees)
(vla-put-PlotOrigin
ActiveLayoutObj
(vlax-make-variant
(vlax-make-safearray vlax-vbDouble '(0 . 1))
)
)
(vla-Put-CenterPlot ActiveLayoutObj :vlax-false)
(vla-SetWindowToPlot
ActiveLayoutObj
(vlax-make-variant
(vlax-safearray-fill
(vlax-make-safearray vlax-vbDouble '(0 . 1))
(car Window)
)
)
(vlax-make-variant
(vlax-safearray-fill
(vlax-make-safearray vlax-vbDouble '(0 . 1))
(cadr Window)
)
)
)
(vla-Put-PlotType ActiveLayoutObj acWindow)
(vla-PlotToFile PlotObj FileName)
(foreach o (list PlotObj ActiveLayoutObj ActiveDocObj AcadObj)
(vlax-release-object o)
)
)
(PlotToFile
"DWG To PDF.pc3"
"ANSI_A_(11.00_x_8.50_Inches)"
(list (list 0 0) (list 100 100))
(strcat (getvar "DWGPREFIX") (getvar "DWGNAME") ".pdf")
) 谢谢分享
秋枫很够用了 都是高手,只能用编译好的软件 lxl217114 发表于 2025-10-21 09:24
谢谢分享
秋枫很够用了
确实不错,秋枫很赞 本帖最后由 lingfne 于 2025-10-21 11:48 编辑
qazxswk 发表于 2025-10-21 00:21
批量最好用vla函数,vl-cmdf函数有太多限制性,不通用。下面是我收集的代码,供参考
原代码地址:http://b ...
;;的确-用vla函数好。
;;下面这段话,按照目前我的水平,做不出批量打印。
(PlotToFile
"DWG To PDF.pc3"
"ANSI_A_(11.00_x_8.50_Inches)"
(list (list 0 0) (list 100 100))
(strcat (getvar "DWGPREFIX") (getvar "DWGNAME") ".pdf")
)
lingfne 发表于 2025-10-21 11:12
;;的确-用vla函数好。
;;下面这段话,按照目前我的水平,做不出批量打印。
(PlotToFile
要批量就加循环,你用vl-cmdf函数批量打印,也是用到循环函数foreach。慢慢琢磨吧,相信你能搞明白的。 lxl217114 发表于 2025-10-21 09:24
谢谢分享
秋枫很够用了
还是得有新的出来,才能不断提升 又是大神,看看
页:
[1]