DCMZ 发表于 2024-12-2 17:27:11

运行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时,就开始走进度条,如下图。这样就要发布半天。


怎么才可以使得让他不要发布,运行后直接打印呢。



我想运行程序后,直接进入打印界面,如下图所示。




自贡黄明儒 发表于 2024-12-2 18:17:18

换新电脑呀

DCMZ 发表于 2024-12-2 20:03:25

和电脑没关系,我写的另外一个打印程序可以直接打,那个是调用了command,但是用vla重新写了一个,这一步就有点卡。

kozmosovia 发表于 2024-12-2 20:08:26

要看configname选的啥,device目标是啥

叮咚 发表于 2024-12-3 09:17:42

(setvar "backgroundplot" 0)
试试这个

aws 发表于 2024-12-3 10:15:22

应该就是五楼说的问题,这个函数,必须要设置前台打印,否则会卡顿

gzcsun 发表于 2024-12-3 16:00:25

DCMZ 发表于 2024-12-2 20:03
和电脑没关系,我写的另外一个打印程序可以直接打,那个是调用了command,但是用vla重新写了一个,这一步就 ...

command就可以,用vla有什么好处?

aws 发表于 2024-12-4 09:29:52

gzcsun 发表于 2024-12-3 16:00
command就可以,用vla有什么好处?

vla可以在不同版本使用,command由于版本命令略有改动,不同CAD版本就会不适用。

DCMZ 发表于 2024-12-9 13:56:11

叮咚 发表于 2024-12-3 09:17
(setvar "backgroundplot" 0)
试试这个

谢谢你,应该就是这个原因。

timmy521 发表于 2025-3-8 16:56:00

(setq object (vla-get-activelayout(vla-get-activedocument (vlax-get-acad-object)) ))
          (setq Plot (vla-get-plot object))

前面是怎么写的能不能放放出来,我按你的执行,总是显示“AutoCAD 变量设置被拒绝: ”
页: [1]
查看完整版本: 运行vla-plotToDevice很慢,怎么解决