运行vla-plotToDevice很慢,怎么解决
本帖最后由 DCMZ 于 2024-12-2 17:29 编辑我在写一个通过窗口打图的程序,代码如下:
[*] (setq Plot (vla-get-plot ActDoc))
[*] (setq Layout (vla-get-activelayout ActDoc))
[*] (vla-put-paperunits Layout acMillimeters);设置单位为mm
[*] (vla-put-plotrotation Layout ac0degrees)
[*] (vla-put-centerplot Layout :vlax-true);自动居中
[*] (vla-setcustomscale Layout 1 1);设置比例
[*] (vla-put-CanonicalMediaName Layout "A3")
[*] (vla-put-ConfigName Layout PlotDevice)
[*] (vla-put-StyleSheet Layout PlotStyle)
[*] (vla-put-plottype Layout acWindow);打印范围设置为窗口
[*] (vla-SetWindowToPlot Layout (2DPoint Pt1) (2DPoint Pt2))
[*] (vla-put-NumberofCopies Plot 1)
[*] (vla-plotToDevice Plot)
程序没有问题,但是最后一步运行vla-plotToDevice Plot时,就开始走进度条,如下图。这样就要发布半天。
怎么才可以使得让他不要发布,运行后直接打印呢。
我想运行程序后,直接进入打印界面,如下图所示。
换新电脑呀 和电脑没关系,我写的另外一个打印程序可以直接打,那个是调用了command,但是用vla重新写了一个,这一步就有点卡。 要看configname选的啥,device目标是啥 (setvar "backgroundplot" 0)
试试这个 应该就是五楼说的问题,这个函数,必须要设置前台打印,否则会卡顿 DCMZ 发表于 2024-12-2 20:03
和电脑没关系,我写的另外一个打印程序可以直接打,那个是调用了command,但是用vla重新写了一个,这一步就 ...
command就可以,用vla有什么好处? gzcsun 发表于 2024-12-3 16:00
command就可以,用vla有什么好处?
vla可以在不同版本使用,command由于版本命令略有改动,不同CAD版本就会不适用。 叮咚 发表于 2024-12-3 09:17
(setvar "backgroundplot" 0)
试试这个
谢谢你,应该就是这个原因。 (setq object (vla-get-activelayout(vla-get-activedocument (vlax-get-acad-object)) ))
(setq Plot (vla-get-plot object))
前面是怎么写的能不能放放出来,我按你的执行,总是显示“AutoCAD 变量设置被拒绝: ”
页:
[1]