一种批量打印AutoCAD格式图纸的方法

文档序号:6481961阅读:154来源:国知局
专利名称:一种批量打印AutoCAD格式图纸的方法
技术领域
本发明涉及通过计算机对图纸进行批量打印的方法,尤其是批量打印 AutoCAD格式图纸的方法。
背景技术
AutoCAD作为一种优秀的工程绘图软件,在工程领域中占有重要地位。 但其逐页选择打印的打印过程,不能满足大批量图纸的打印要求。因此我 创建了批量打印的方法,并开发了批量打印程序,大大简化了打印过程, 完全满足了大批量图纸打印的要求。
目前已存在一些批量打印程序,但这些批量打印程序存在以下不足之 处1、图框识别自动化差。表现在这些程序对图框有特殊要求,如要求 图框为一个图块,或要求图框在特定图层上,或要求各图框按一定规律排 列,有的要用程序对图框进行标识之后才能识别。用户在第一次使用这些 程序之前,并不知道这些要求,可能需要对图纸作一定修改之后才能使用 这些程序打印。2、操作性差。表现在这些程序功能太复杂,要求设置参 数太多,以致忽略本质的东西;或者功能太简单,没有必要的设置,而是 采用程序默认的设置。

发明内容
本发明的目的是提供一种批量打印AutoCAD格式图纸的方法,能够 一次性自动选择需要打印的所有图框后批量输到打印机进行打印,其自动化程度高,操作也很简单。
为实现上述目的,本发明采用的技术方案是
一种批量打印AutoCAD格式图纸的方法,其特别之处在于,包括如
下步骤
(1) 、给出图框尺寸 获取图框的两个对角点坐标,即得到该图框的尺寸;
(2) 、搜索图框
由上一步得到的图框尺寸宽W和高H,创建以下四个动态数组,
第一动态数组-记录长度为W的横线对象; 第二动态数组-记录长度为H的横线对象; 第三动态数组-记录长度为W的竖线对象; 第四动态数组-记录长度为H的竖线对象;
a、 对于选择集中每一个对象
如果宽度为w,
如果高度为0,加入第一动态数组;
否则,如果高度为H,则找到一个图框; 否则,如果宽度为H,
如果高度为0,加入第二动态数组;
否则,如果高度为W,则找到一个图框; 否则,如果高度为H,
如果宽度为0,加入第四动态数组; 否则,如果高度为W,
如果宽度为O,加入第三动态数组;
b、 对第一动态数组按X坐标自左而右排序,再按X坐标分组,具 有相同X坐标的为一组,再对每组按Y坐标自上而下排序,最后对每组中的对象进行两两比较,如果距离为H则找到一个图框; C、.对第二动态数组按X坐标自左而右排序,再按X坐标分组,具
有相同X坐标的为一组,再对每组按Y坐标自上而下排序,最后对
每组中的对象进行两两比较,如果距离为W则找到一个图框;
d、 对第四动态数组按Y坐标自上而下排序,再按Y坐标分组,具 有相同Y坐标的为一组,再对每组按X坐标自左而右排序,最后对
每组中的对象进行两两比较,如果距离为W则找到一个图框;
e、 对第三动态数组按Y坐标自上而下排序,再按Y坐标分组,具 有相同Y坐标的为一组,再对每组按X坐标自左而右排序,最后对 每组中的对象进行两两比较,如果距离为H则找到一个图框;
(3) 、排序图框
对以上搜索到的图框,按其左上角坐标,自上而下、自左而右排序, 使出图有序;
(4) 、打印图框 打印图框即可。
进一步的,其中步骤(3)中对重叠的图框,保留其中的一个,删除 掉其它图框。
本发明方法能够实现对图框的自动识别,操作简单,从而简化了打印 过程,满足大批量图纸打印的要求。


附图1为本发明中图框的结构示意图 附图2为本发明中图框的结构示意图 附图3为本发明中图框的结构示意图 附图4为本发明中图框的结构示意中实线边表示图框必须有此边,而虚线边表示图框中此边可有可无。
具体实施例方式
本发明采用的技术方案是-
由于AutoCAD图纸中,要打印的内容一般都有图框,虽然图框各有 特点,但都是矩形,都有长和宽两个尺寸四条边(本程序只以两条对边确 定一个图框),其构成如图1所示,因此批量打印方法就是重点解决怎样 由给定的长和宽两个尺寸搜索到尺寸相符的图框。
下面以根据本发明方法编制的软件为例详细说明本发明的实施方式
软《牛窗口从上到下分三个部分打印内容、打印设置、命令按钮部分。
打印内容部分左边为已打开的文档列表,右边为当前视图中已搜索 到的打印页及选择要打印的页。若要打印多个视图,则在左边列表中将要 打印的视图前面打"V "即可,图中所示为打印"图2.dwg"和"图l.dwg" 的"Model"视图,"图2.dwg"中"Model"视图中有358页,要打印其中 的10页(第349~358页),"图l.dwg"的"Model"视图中有13页,选 择其中的5页打印。
打印设置部分与AutoCAD打印设置功能相同。但打印方向增加了 "自动设置"选择;打印范围增加奇偶页选择,可用于双面打印;打印到 文件时,若指定文件名,则每一页都要给一个文件名,若指定文件夹,则 自动给每页命名;页面调整可以将页面扩大或縮小。打印时会自动保存设 置,再次打开窗口时自动恢复上一次设置。
下面具体说明,以358页的搜索及选择过程为例
1、 点击"搜索页"按钮,进入AutoCAD;
2、 这时要求给出要搜索图框的尺寸,点选任一图框的两个对角点,即得到图框的尺寸;
3、 接着提示是否搜索全部图框,若是,则只需点鼠标右键,程序将 图中所有的线、图块、视图、区域选择到一个选择集S中;若只要搜索某 一范围内的图框,则输入"N"键,然后选择一个搜索范围,图中该范围 内所有的线、图块、视图、区域选择到一个选择集S中。
4、 程序自动在上一步得到的选择集S中搜索出尺寸相符的图框,过 程如下
创建以下四个动态数组
HorLinesW (第一动态数组)-记录长度为W的横线对象 HorLinesH (第二动态数组)-记录长度为H的横线对象 VerLinesW (第三动态数组)-记录长度为W的竖线对象 VerLinesH (第四动态数组)-记录长度为H的竖线对象
(1) 对于选择集S中每一个对象 如果宽度为W,
如果高度为0,加入数组HorLinesW;
否则,如果高度为H,则找到一个图框。 否则,如果宽度为H,
如果高度为0,加入数组HorLinesH;
否则,如果高度为W,则找到一个图框。 否则,如果高度为H,
如果宽度为0,加入数组VerLinesH。 否则,如果高度为W,
如果宽度为0,加入数组VerLinesW。
(2) 对数组HorLinesW按X坐标自左而右排序,再按X坐标分组, 具有相同X坐标的为一组,再对每组按Y坐标自上而下排序,最后对每组中的对象进行两两比较,如果距离为H则找到一个图框。
(3) 对数组HorLinesH按X坐标自左而右排序,再按X坐标分组, 具有相同X坐标的为一组,再对每组按Y坐标自上而下排序,最后 对每组中的对象进行两两比较,如果距离为W则找到一个图框。
(4) 对数组VerLinesH按Y坐标自上而下排序,再按Y坐标分组, 具有相同Y坐标的为一组,再对每组按X坐标自左而右排序,最后 对每组中的对象进行两两比较,如果距离为W则找到一个图框。
(5) 对数组VerLinesW按Y坐标自上而下排序,再按Y坐标分组, 具有相同Y坐标的为一组,再对每组按X坐标自左而右排序,最后 对每组中的对象进行两两比较,如果距离为H则找到一个图框。
5、排序图框
对以上搜索到的图框,按其左上角坐标,自上而下、自左而右排序, 使出图有序。
以上得到的图框可能有重叠,经以上排序后,重叠的图框将被排在一 起,对重叠的图框,保留其中的一个,删除掉其它图框,然后将图框数据 写入列表中。
经上述步骤后,得到的图框写个列表中,可选择打印其中的某些页进 行打印,此例中选择第349-358页,选择方法为用鼠标点击第349页, 按下Shift键的同时点击第358页。这就实现了第二次选择(默认情况下为 全部选择)。这时程序将图框数据写入文档的XRecord对象中,下一次再 打印时,就不用重新选择了。
按下"打印"按钮时,程序对打印页表从第一项到最后一项进行扫描, 遇到选择项,就根据该项记录的数据设置打印范围,然后发出打印命令。
权利要求
1、一种批量打印AutoCAD格式图纸的方法,其特征在于,包括如下步骤(1)、给出图框尺寸获取图框的两个对角点坐标,即得到该图框的尺寸;(2)、搜索图框由上一步得到的图框尺寸宽W和高H,创建以下四个动态数组,第一动态数组-记录长度为W的横线对象;第二动态数组-记录长度为H的横线对象;第三动态数组-记录长度为W的竖线对象;第四动态数组-记录长度为H的竖线对象;a、对于选择集中每一个对象如果宽度为W,如果高度为0,加入第一动态数组;否则,如果高度为H,则找到一个图框;否则,如果宽度为H,如果高度为0,加入第二动态数组;否则,如果高度为W,则找到一个图框;否则,如果高度为H,如果宽度为0,加入第四动态数组;否则,如果高度为W,如果宽度为0,加入第三动态数组;b、对第一动态数组按X坐标自左而右排序,再按X坐标分组,具有相同X坐标的为一组,再对每组按Y坐标自上而下排序,最后对每组中的对象进行两两比较,如果距离为H则找到一个图框;c、对第二动态数组按X坐标自左而右排序,再按X坐标分组,具有相同X坐标的为一组,再对每组按Y坐标自上而下排序,最后对每组中的对象进行两两比较,如果距离为W则找到一个图框;d、对第四动态数组按Y坐标自上而下排序,再按Y坐标分组,具有相同Y坐标的为一组,再对每组按X坐标自左而右排序,最后对每组中的对象进行两两比较,如果距离为W则找到一个图框;e、对第三动态数组按Y坐标自上而下排序,再按Y坐标分组,具有相同Y坐标的为一组,再对每组按X坐标自左而右排序,最后对每组中的对象进行两两比较,如果距离为H则找到一个图框;(3)、排序图框对以上搜索到的图框,按其左上角坐标,自上而下、自左而右排序,使出图有序;(4)、打印图框打印图框即可。
2、如权利要求1所述的批量打印AutoCAD格式图纸的方法,其特征 在于步骤(3)中对重叠的图框,保留其中的一个,删除掉其它图框。
全文摘要
本发明涉及通过计算机对图纸进行批量打印的方法,尤其是批量打印AutoCAD格式图纸的方法,其特点是,包括如下步骤(1)给出图框尺寸;(2)搜索图框;(3)排序图框;(4)打印图框。本发明方法能够实现对图框的自动识别,操作简单,从而简化了打印过程,满足大批量图纸打印的要求。
文档编号G06F3/12GK101587428SQ200910038450
公开日2009年11月25日 申请日期2009年4月8日 优先权日2009年4月8日
发明者覃登罗 申请人:广州中船黄埔造船有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1