在CAD下进行图纸打印,这是很容易的事情,大家都知道怎么选定可用的打印设备并根据打印范围进行打印设置。但实际工作中,经常碰到大量的CAD图形文件需要打印成纸质图纸、或者因为检查工作的需要,需要将在总图上选定的某些部分区域进行逐一打印。当需要打印的图形文件或者部分区域比较多的时候,这本来很容易的事情就会变成一个很繁重并且可能出现重复、缺漏等现象。因此,怎么实现批量打印,让本来容易的事情变得更简单不会出错,就很有必要了。 本文针对大量图纸的批量打印问题展开,以求最终实现批量打印并且使其变得更加简单有效。 要在CAD下实现批量打印,只能通过编制程序来解决,因为CAD没有提供可以实现批量打量的功能。要编制程序实现这一功能,首先要解决的是获取硬件信息(可用打印设备及对应的可用打印纸张支持)。因为实际情况下使用的打印机是可以五花八门的。所以要让程序去自动获取打印相关硬件信息。
在硬件信息问题获取了以后,批量打印基本可以实现了,因为不管是对文件夹内多个图形文件进行打印还是对一个图形内的多个打印区域进行打印,实质都只是一个循环而已。但这个循环过程中,最主要的是确定打印比例的问题,因为每个图形文件或者是每个打印区域,需要的出图比例可以不尽相同。
对于一个文件夹内的大量图形,人工打印的难处在于,在不停的重复打开图形、按上一次打印设置进行打印的过程中,很难保证没有漏掉某一个图形文件或者重复打印了某个文件。因些其自动不重不漏的批量打印就很必要了。让程序自动获取指定文件夹内所有图形文件名称,然后依次打开、打印、关闭······这一循环过程的重点是打开图形之后在打印之前确定其打印比例。
一般情况下其规格是一致的(当然也有可能不一样),所以让程序自动获取打印比例而不是要求交互输入也是必要的。一般情况下,我们所碰到的每个图形内都有个1:500,1:1000等明确标注了比例尺的文字存在,这就为自动设定打印比例提供了可实现性。当然也有可能个别情况下,图形内没有任何可以明确确定比例尺的情况,但这种情况下也可以通过自动获取图形范围,自动布满图纸。
在实际工作中,我们有时需要对图上某些部分进行打印,我们事先用一个矩形框将要打印的区域在特定图层上绘制出来,显然这些矩形框是可以大小、方向不一样的。这种情况下人工打印的困难是不断的点选打印区域、甚至重新设定打印方向,这个重复过程更容易出现重复和漏失。这种情况下,可以根据矩形框的大小来确定打印比例及图纸是纵向还是横向。由于矩形框实质是多线段,为了不和别的多线段混淆,所以我们应该将它们绘制到特定的图层。
在程序能自动确定打印比例后,还要考虑有可能某一批图纸得按一个固定的比例,所以得另外加上可以选定常用固定比例甚至是自定义比例。
在打印设备、打印纸张、打印比例确定好了以后,批量打印就能实现了,因为再多的图纸的打印,实质是都只是打印一个图纸的循环。现在要考虑的是需不需要编号,对于文件夹内多个图形来说,一般情况下都是有各自的编号信息的(如图号、图名等),但对于一个图形内根据需要绘制的多个打印区域来说,编号就很重要了,不然打印一堆图纸出来很难确定哪一张对应哪个地方。
以上问题都解决了之后,就可以实现批量打印了,根据以上思路设计的程序已用于高县项目检查图的批量打印和罗江项目的宗地图的批量打印,下边是程序运行过程截图:
程序简单使用说明 本图内批量打印 文件夹批量打印
程序自动向打印机发送打印命令
到现在为止,对于我们常碰到的批量打印问题基本解决,但不能批量打印设计图纸,设计图纸通常是也一个同一规格,但他们习惯于在不同的布局里边放一个可打印区域。这种情况下要批量打印的关键之处是要获取图形的所有布局名称,只要能程序得到图形布局列表,那么其批量打印也不是问题了。由于这一情况我们一般不会碰到,所以没有考虑这种情况的处理方法。
前边提到的确定打印比例是在先固定了纸张大小情况下进行的,但实际上可能还有固定了打印比例,需要程序自动选用合适的纸张,这就需要更进一步的对程序进行完善了。
|