明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4301|回复: 10

关于连续打印的问题,请教!!

[复制链接]
发表于 2005-6-19 12:40:00 | 显示全部楼层 |阅读模式
在明经上学到了不少东西,现在自己也开始试着用VBA写东西了。目前碰到一个打印问题,不知如何解决,向各位前辈请教:


现在搞得这个程序是连续打印工具,用遍历CAD图形的方法找到指定名称的块参照,找到后用getboundingbox方法确定块参照的外围大小,而后使用窗口方式,plottodevice方法打印块参照(全部操作在modelspace),一个打印完再找另一个,找到继续打印(图形中同样名称的块参照可能有多个)。现在遇到的问题是,使用plottodevice方法打印后,硬盘一阵闪动,程序却在继续遍历并打印下一个,此时第二个打印会出错(VBAIDE报使用plottodevice方法失败),而且失败时第一个还没有打出来。如果报失败时,什么也不做对着屏幕发呆10秒钟,等到硬盘不闪且打印机开始动作了,按VBAIDE里的继续运行程序却可以打印第二个了。


请问前辈们是否是第一个打印还没有送到打印机里,就开始打印第二个造成冲突了呢?如果是,如何检测前一个打印是否完成了呢?


谢谢!谢谢!
 楼主| 发表于 2005-6-22 16:39:00 | 显示全部楼层
自己解决了。发现写的程序其实在AutoCAD2002里运行正常,但自己图新鲜,装了个2006,程序在2006里写的,就没有注意。其实2006多了个backGroundPlot变量,正常写的批量打印程序需要首先将该变量置0,然后就正常了。


不过不太明白,这个变量究竟有什么使用价值,也没明白如果此变量不是0打印程序怎么写。反正现在程序一上去先把此变量置0,一切正常不管那么多了。
回复 支持 1 反对 0

使用道具 举报

发表于 2005-6-22 16:12:00 | 显示全部楼层
把程序贴上来吧.
发表于 2005-8-6 20:56:00 | 显示全部楼层

这位仁兄,能把您的程序分享一下吗?

万分感谢了!

我的邮箱是yzbj19832002@163.com

 楼主| 发表于 2005-8-8 17:31:00 | 显示全部楼层

收Mail !

发表于 2005-8-8 21:16:00 | 显示全部楼层

楼主,有好东东分享一下,我都流口水了~~~

邮箱:lsgo2000.student@sina.com

谢谢!!

 

发表于 2008-8-22 20:08:00 | 显示全部楼层
backGroundPlot设置为0代表在前台打印,设置为2代表后台打印
发表于 2008-8-22 21:33:00 | 显示全部楼层

前台打印才会按照先后顺序一个一个打印

发表于 2008-11-18 15:46:00 | 显示全部楼层

以后画图画布局里面,,批量打印非常简单。

发表于 2008-11-18 19:36:00 | 显示全部楼层

我也写了这个程序,方法差不多,先是全选图中名为“图框”的块,

        Set SS_Frm = ThisDrawing.SelectionSets.Add("SS_PlotFrm")
       
        ReDim Preserve FltType(0)
        ReDim Preserve FltData(0)
        FltType(0) = 2
        FltData(0) = "图框"
        SS_Frm.Select acSelectionSetAll, , , FltType, FltData

再根据块的尺寸GetBoundingBox,取得打印区域,然后进行批量打印。

不过我的程序有一个问题没有解决,就是打印时无法确定这个块是在哪个布局中,所以在当前激活的布局中的块打印出来是正确的,其它打印出来的就不正确,请问楼主写的程序有没有这个问题。如果没有,能否提供一下思路。我的QQ是106548763

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 05:33 , Processed in 0.196659 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表