明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6308|回复: 19

总图上批量打印分图和文件夹内多个图形比量打印

    [复制链接]
发表于 2013-3-27 16:21 | 显示全部楼层 |阅读模式
在CAD下进行图纸打印,这是很容易的事情,大家都知道怎么选定可用的打印设备并根据打印范围进行打印设置。但实际工作中,经常碰到大量的CAD图形文件需要打印成纸质图纸、或者因为检查工作的需要,需要将在总图上选定的某些部分区域进行逐一打印。当需要打印的图形文件或者部分区域比较多的时候,这本来很容易的事情就会变成一个很繁重并且可能出现重复、缺漏等现象。因此,怎么实现批量打印,让本来容易的事情变得更简单不会出错,就很有必要了。
本文针对大量图纸的批量打印问题展开,以求最终实现批量打印并且使其变得更加简单有效。
要在CAD下实现批量打印,只能通过编制程序来解决,因为CAD没有提供可以实现批量打量的功能。要编制程序实现这一功能,首先要解决的是获取硬件信息(可用打印设备及对应的可用打印纸张支持)。因为实际情况下使用的打印机是可以五花八门的。所以要让程序去自动获取打印相关硬件信息。
   
在硬件信息问题获取了以后,批量打印基本可以实现了,因为不管是对文件夹内多个图形文件进行打印还是对一个图形内的多个打印区域进行打印,实质都只是一个循环而已。但这个循环过程中,最主要的是确定打印比例的问题,因为每个图形文件或者是每个打印区域,需要的出图比例可以不尽相同。

对于一个文件夹内的大量图形,人工打印的难处在于,在不停的重复打开图形、按上一次打印设置进行打印的过程中,很难保证没有漏掉某一个图形文件或者重复打印了某个文件。因些其自动不重不漏的批量打印就很必要了。让程序自动获取指定文件夹内所有图形文件名称,然后依次打开、打印、关闭······这一循环过程的重点是打开图形之后在打印之前确定其打印比例。

一般情况下其规格是一致的(当然也有可能不一样),所以让程序自动获取打印比例而不是要求交互输入也是必要的。一般情况下,我们所碰到的每个图形内都有个1:500,1:1000等明确标注了比例尺的文字存在,这就为自动设定打印比例提供了可实现性。当然也有可能个别情况下,图形内没有任何可以明确确定比例尺的情况,但这种情况下也可以通过自动获取图形范围,自动布满图纸。

在实际工作中,我们有时需要对图上某些部分进行打印,我们事先用一个矩形框将要打印的区域在特定图层上绘制出来,显然这些矩形框是可以大小、方向不一样的。这种情况下人工打印的困难是不断的点选打印区域、甚至重新设定打印方向,这个重复过程更容易出现重复和漏失。这种情况下,可以根据矩形框的大小来确定打印比例及图纸是纵向还是横向。由于矩形框实质是多线段,为了不和别的多线段混淆,所以我们应该将它们绘制到特定的图层。

在程序能自动确定打印比例后,还要考虑有可能某一批图纸得按一个固定的比例,所以得另外加上可以选定常用固定比例甚至是自定义比例。

在打印设备、打印纸张、打印比例确定好了以后,批量打印就能实现了,因为再多的图纸的打印,实质是都只是打印一个图纸的循环。现在要考虑的是需不需要编号,对于文件夹内多个图形来说,一般情况下都是有各自的编号信息的(如图号、图名等),但对于一个图形内根据需要绘制的多个打印区域来说,编号就很重要了,不然打印一堆图纸出来很难确定哪一张对应哪个地方。

                             以上问题都解决了之后,就可以实现批量打印了,根据以上思路设计的程序已用于高县项目检查图的批量打印和罗江项目的宗地图的批量打印,下边是程序运行过程截图:

         
         程序简单使用说明                                 本图内批量打印                 文件夹批量打印

           程序自动向打印机发送打印命令

到现在为止,对于我们常碰到的批量打印问题基本解决,但不能批量打印设计图纸,设计图纸通常是也一个同一规格,但他们习惯于在不同的布局里边放一个可打印区域。这种情况下要批量打印的关键之处是要获取图形的所有布局名称,只要能程序得到图形布局列表,那么其批量打印也不是问题了。由于这一情况我们一般不会碰到,所以没有考虑这种情况的处理方法。

前边提到的确定打印比例是在先固定了纸张大小情况下进行的,但实际上可能还有固定了打印比例,需要程序自动选用合适的纸张,这就需要更进一步的对程序进行完善了。

   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1金钱 +20 收起 理由
wkq004 + 20 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-3-27 16:25 来自手机 | 显示全部楼层
好东西支持一下,
发表于 2013-3-27 23:46 | 显示全部楼层
好东西支持一下,
发表于 2013-3-30 17:04 | 显示全部楼层
好东西。。。顶起
发表于 2013-3-30 17:31 来自手机 | 显示全部楼层
广告!删贴!
发表于 2013-4-10 21:40 | 显示全部楼层
它介绍的这个打印方式跟我刚刚研究成功的方式简直达到8成相似
发表于 2013-4-12 19:49 | 显示全部楼层
好东西,好东西,程序呢?
发表于 2013-4-13 13:39 | 显示全部楼层
这种程序,很早就有人研究了,,,
我根据自己编制自动打印图纸的经验,,,补充几个注意事项,,,,

1.选打印机很容易实现,,难点是纸张的配对,,各种打印机中对纸张的配置描述是不同的,,例如A3图纸,有些型号的打印机要求是“A3(297*420mm)”,,有的是“A3 (297 x 420mm)”,有的是“A3”,有的是“A3 297x420 mm”,,,,,如果是手工选择,,一般人不会有问题,,让程序自动选择,,字符必须完全相同,多一个空格都不行,,,,,解决建议是,,事先建立一个常用的打印机的纸张配对数据库,将自己身边常见的打印机类型以及配置纸张输入数据库,让程序自动在数据库中选择配对纸张配置。

2.关于打印比例,,我是换一种思路来处理的,,,即自动打印的关键是让程序自动判断打印的范围(即手工答应经常用到的框选两个打印角点),,这个可以通过图框特别设置来处理,,如果事先养成好的习惯,统一采用标准外图框(非内图框),,那么程序完全可以根据图框特性自动判断图框的坐标(包括四个边角点),标准A3图纸的两个对应角点的坐标位置确定了,,那么图纸的比例就可以自动对应确定了,

3.如果是道路用的平面图,还存在一个图框倾斜的问题,,解决问题也很简单,,程序可以根据图框特性自动判断图框的坐标(包括四个边角点),采用相对坐标系摆正平面再打印。

4.如果是批量打印一个文件夹内的所有A3图,,建议采用批处理程序实现,,也就是说,在处理该类文件夹时,程序先按批处理的形式向硬盘输出一个批量打印的scr文件,输出后,在程序结尾立即执行这个scr文件
发表于 2013-4-14 22:10 | 显示全部楼层
………… 楼主,附件呢?
 楼主| 发表于 2013-4-19 15:02 | 显示全部楼层
guisu771 发表于 2013-4-13 13:39
这种程序,很早就有人研究了,,,
我根据自己编制自动打印图纸的经验,,,补充几个注意事项,,,,

这最后一点是可以学习的
用SCR来批处理应该比用insert去插入图形文件更安全,至少不会引起线型比例变化
至于第1点里边纸张的问题,这个不能预置,因为要根据用户所选择的打印设备
去获取它所能支持的纸张,把它们列出来让用户去选就不会有问题了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 04:11 , Processed in 0.332177 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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