首页> 中国专利> 一种基于AutoCAD的图框参数识别与图纸输出方法

一种基于AutoCAD的图框参数识别与图纸输出方法

摘要

本发明公开了一种基于AutoCAD的图框参数识别与图纸输出方法,实施步骤如下:打开AutoCAD读入其支持格式的待输出图纸文件的文件数据、获取用户设置的图框搜索选项、块表过滤、获取对象集合、图层过滤、遍历对象集合中的对象,根据其图框类型分别进行宽高比判断,如果宽高比判断满足要求,则将提取该对象的图框信息并保存,在得到所有图纸文件的图框信息以后,选择输出样式和输出设备,然后调用AutoCAD向指定的输出设备将将待输出的图框信息对应的图纸内容批量输出。本发明具有输出快捷高效、使用方便、可靠性好、通用性好、兼容性强、适用范围广的优点。

著录项

  • 公开/公告号CN103793145A

    专利类型发明专利

  • 公开/公告日2014-05-14

    原文格式PDF

  • 申请/专利权人 湖南省交通规划勘察设计院;

    申请/专利号CN201410059672.X

  • 申请日2014-02-21

  • 分类号G06F3/0481(20130101);G06F17/30(20060101);

  • 代理机构43008 湖南兆弘专利事务所;

  • 代理人赵洪;谭武艺

  • 地址 410008 湖南省长沙市开福区芙蓉北路二段158号

  • 入库时间 2024-02-20 00:07:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-29

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F3/0481 变更前: 变更后: 申请日:20140221

    专利权人的姓名或者名称、地址的变更

  • 2016-09-07

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06F3/0481 申请日:20140221

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及计算机辅助设计技术领域,具体涉及一种基于AutoCAD的图框参数识别与图 纸输出方法。

背景技术

CAD(Computer Aided Design)计算机辅助设计,是计算机技术的一个重要的应用领域。 AutoCAD是美国Autodesk公司开发的交互式绘图软件,用于二维及三维设计、绘图的系统 工具,用户可以使用它来创建、浏览、管理、打印、输出、共享富含信息的设计图形。作为 通用型的制图软件,AutoCAD广泛用于各个行业的设计工作。虽然AutoCAD本身的功能集 已经足以协助用户完成各种设计工作,但在复杂CAD问题或特殊用途的设计中,依据 AutoCAD的原有软件功能往往难以解决问题或效率低下。

AutoCAD图纸通常由两部分构成:正文和图框。正文包含图纸需要表达的各种设计参数, 对设计意图进行表达;图框则是界定图幅范围,记录图名、图号、页数、页码、时间等信息, 提供设计、复核、审查、审定的权责签字空白。基本的图框组成元素是直线(或多义线)、单 行文字(或多行文字)等;图框可以通过将直线(或多义线)、单行文字(或多行文字)等, 做成图块,插入到文件中;图框也可以通过参照引用的形式插入到文件中。在实际的使用中, 由于个人习惯的差异,各种图框形式都有可能存在的。同时,由于不同单位、不同项目的对 的格式要求不尽相同,图框各元素的格式和位置也不尽相同。作为工程设计的最后一个环节, 如何将大量的、不同形式、不同格式的图纸文件准确地识别进行整理统计,并快速地输出, 是每一个设计人员都需要面对的问题。AutoCAD本身提供了输出工具,但是目前只能针对单 张图纸进行输出,效率低下;AutoCAD也推出了图纸集管理功能,可以对图纸集进行批量输 出,但由于该功能灵活性不够,且不能紧密地符合国内的设计需求,因此应用程度有限;国 内外也有针对以上问题进行二次开发,提出了批量的图纸输出方法,均限定了图框的格式与 形式,图框的识别是对图框的特定形式、特定样式、特定名称进行匹配,限制了其应用范围。

发明内容

本发明要解决的技术问题是提供一种输出快捷高效、使用方便、可靠性好、通用性好、 兼容性强、适用范围广的基于AutoCAD的图框参数识别与图纸输出方法。

为了解决上述技术问题,本发明采用的技术方案为:

一种基于AutoCAD的图框参数识别与图纸输出方法,其实施步骤如下:

1)打开AutoCAD读入其支持格式的待输出图纸文件的文件数据;

2)获取用户设置的图框搜索选项,所述图框搜索选项包括搜索空间类型、图框类型、图 层名称筛选条件、图块名称筛选条件、标准图框外框的矩形区域、标准图框内框的矩形区域, 所述搜索空间类型包括模型空间和布局空间块表记录多选选项,所述图框类型包括图块、参 照引用、多义线、直线四种图框类型多选选项;读入文件数据库,遍历文件数据库中的块表 数据库,根据所述图框搜索选项中的搜索空间类型对块表数据库中的块表记录进行筛选过滤;

3)针对通过筛选过滤后的块表记录,获取其中所述图框搜索选项中指定的图框类型对应 的对象、单行文字、多行文字作为待处理的对象集合;

4)判断所述图框搜索选项是否指定图层名称筛选条件,当指定图层名称筛选条件时,将 所述对象集合中不符合图层名称筛选条件的对象删除,只保留符合图层名称筛选条件的对象;

5)从所述对象集合中选择第一个对象作为当前对象;

6)判断当前对象的类型,在当前对象的类型为图块、参照引用时,跳转步骤7);在当 前对象的类型为多义线时,跳转步骤8);在当前对象的类型为直线时,筛选出对象集合中的 所有水平线和竖直线,如果当前对象为对象集合中的所有水平线和竖直线中的一根,且由包 含当前对象在内的一根水平线、一根竖直线确定一个矩形的图框对象,则将所述图框对象替 代当前对象跳转步骤8),否则跳转步骤10);

7)判断所述图框搜索选项是否指定图块名称筛选条件,当指定图块名称筛选条件时,如 果当前对象的名称不符合图块名称筛选条件,则过滤当前对象并跳转步骤10);否则跳转步 骤8);

8)获取当前对象的外边界角点,所述外边界角点包括左下角点和右上角点,计算左下角 点和右上角点形成坐标区域的宽高比,同时计算标准图框外框的宽高比,标准图框内框的宽 高比;判断所述左下角点和右上角点形成坐标区域的宽高比是否满足式(1)~(4)中的任 意一种;如果满足式(1),则判定所述外边界角点为满足要求的外框边界角点,设置旋转角 度为0°、图框缩放比例如式(5)所示;如果满足式(2),则判定所述外边界角点为满足要 求的外框边界角点,设置旋转角度为90°、图框缩放比例如式(6)所示;如果满足式(3), 则判定所述外边界角点为满足要求的内框边界角点,设置旋转角度为0°、图框缩放比例如 式(7)所示,并更新左下角点坐标如式(9)所示和右上角点坐标如式(10)所示;如果满 足式(4),则判定所述外边界角点为满足要求的内框边界角点,设置旋转角度为90°、图框 缩放比例如式(8)所示,并更新左下角点坐标如式(11)所示和右上角点坐标如式(12)所 示;判断左下角点和右上角点形成坐标区域的宽高比是否满足指定要求,如果满足则跳转步 骤9),否则跳转步骤10);

|R-PW|RE---(1)

|R-1PW|RE---(2)

|R-PN|RE---(3)

|R-1PN|RE---(4)

式(1)~(4)中,R表示左下角点和右上角点形成坐标区域的宽高比,PW表示标准 图框外框的宽高比,PN表示标准图框内框的宽高比,E表示预设的允许误差值;

Scale=|J2.X-J1.X||WK2.X-WK1.X|---(5)

Scale=|J2.X-J1.X||WK2.Y-WK1.Y|---(6)

Scale=|J2.X-J1.X||NK2.X-NK1.X|---(7)

Scale=|J2.X-J1.X||NK2.Y-NK1.Y|---(8)

J1.X=J1.X-Scale×H1J1.Y=J1.Y-Scale×V1---(9)

TJ1.X=J1.X+(T1.X-WK1.X)×ScaleTJ1.X=J1.Y+(T1.Y-WK1.Y)×Scale---(13)

J1.X=J1.X-Scale×V2J1.Y=J1.Y-Scale×H1---(11)

J2.X=J2.X+Scale×V1J2.Y=J2.Y+Scale×H2---(12)

式(5)~(12)中,Scale表示图框缩放比例;J1.X表示左下角点的X坐标,J1.Y表 示左下角点的Y坐标;J2.X表示右上角点的X坐标,J2.Y表示右上角点的Y坐标;NK1.X 表示标准图框内框左下角点的X坐标,NK1.Y表示标准图框内框左下角点的Y坐标;NK2.X 表示标准图框内框右上角点的X坐标,NK2.Y表示标准图框内框右上角点的Y坐标;WK1.X 表示标准图框外框左下角点的X坐标,WK1.Y表示标准图框外框左下角点的Y坐标;WK2.X 表示标准图框外框右上角点的X坐标,WK2.Y表示标准图框外框右上角点的Y坐标;H1表 示标准图框的内框的左边、外框的左边之间水平距离,其表达式为H1=|NK1.X-WK1.X|; H2表示标准图框的内框的右边、外框的右边之间水平距离,其表达式为 H2=|WK2.X-NK2.X|;V1表示标准图框的内框的底边、外框的底边之间竖直距离,其表 达式为V1=|NK1.Y-WK1.Y|;V2表示标准图框的内框的顶边、外框的顶边之间竖直距离, 其表达式为V2=|WK2.Y-NK2.Y|;

9)将当前对象对应的图框信息与已保存的图框信息对比,如当前对象对应的图框信息尚 未保存过,则保存当前对象对应的图框信息,所述图框信息包含当前对象的左下角点和右上 角点的坐标、图框缩放比例、旋转角度;

10)判断当前对象是否为对象集合中的最后一个对象,如果是则结束处理并跳转步骤11), 否则从所述对象集合中选择下一个未处理的对象作为当前对象,跳转步骤6);

11)首先读取所有已保存的图框信息,显示输出给用户供用户选择,然后将用户选择的 图框信息作为待输出图框信息列表;

12)调用AutoCAD的输出样式表,根据预先定义值自动指定AutoCAD中输出的设备、 图幅尺寸和输出样式,通过AutoCAD向指定的设备发送输出指令,所述输出指令包括当前输 出图框信息的图形文件名称、图形空间名称、图形边界、图框缩放比例、旋转角度、图幅尺 寸、输出样式;

13)通过所述指定的设备将待输出图框信息列表中的每个图框信息对应的图纸区域输出。

进一步地,所述步骤2)获取用户设置的图框搜索选项时,所述图框搜索选项还包括标 准图框中图名的矩形区域、图号的矩形区域、页数的矩形区域、页码的矩形区域;所述步骤 9)保存当前对象的图框信息时,首先根据所述图名的矩形区域、图号的矩形区域、页数的矩 形区域、页码的矩形区域,分别依据图框对象旋转角度获取上述四种矩形区域的左下角点和 右上角点,如果旋转角度为0°,则根据式(13)和(14)更新每种矩形区域的左下角点和 右上角点;如果旋转角度为90°,则根据式(15)和(16)更新每种矩形区域的左下角点和 右上角点;依次识别待输出图纸文件中位于上述四种矩形区域内的单行或多行文字对象中的 文字,得到当前对象的图名、图号、页数、页码,将所述页数、页码中的非数字内容过滤后 转换为整数;将图名、图号、页数、页码存入当前对象的图框信息中;所述步骤11)中读取 所有已完成图框信息保存的已打开待输出图纸文件的图框信息并显示输出给用户供用户选择 时,针对读取得到的所有图框信息以图号作为第一排序条件、页码作为第二排序条件进行排 序后显示输出给用户;

TJ1.X=J1.X+(T1.X-WK1.X)×ScaleTJ1.Y=J1.Y+(T1.Y-WK1.Y)×Scale---(13)

TJ2.X=J1.X+(T2.X-WK1.X)×ScaleTJ2.Y=J1.Y+(T2.Y-WK1.Y)×Scale---(14)

TJ1.X=J1.X-(T1.Y-WK1.Y)×ScaleTJ1.Y=J1.Y+(T1.X-WK1.X)×Scale---(15)

TJ2.X=J1.X-(T2.Y-WK1.Y)×ScaleTJ2.Y=J1.Y+(T2.X-WK1.X)×Scale---(16)

式(13)~(16)中,TJ1.X表示所述矩形区域左下角点更新后的X坐标,TJ1.Y表示 所述矩形区域左下角点更新后的Y坐标;TJ2.X表示所述矩形区域右上角点更新后的X坐标, TJ2.Y表示所述矩形区域右上角点更新后的Y坐标;T1.X表示所述矩形区域左下角点更新前 的X坐标,T1.Y表示所述矩形区域左下角点更新前的Y坐标;T2.X表示所述矩形区域右上 角点更新前的X坐标,T2.Y表示所述矩形区域右上角点更新前的Y坐标;J1.X表示当前对 象对应的图框左下角点的X坐标,J1.Y表示当前对象对应的图框左下角点的Y坐标;Scale表 示图框缩放比例。

进一步地,第一排序条件和第二排序条件均为升序排列。

进一步地,所述步骤12)通过AutoCAD向指定的设备发送输出指令时,如果指定的设 备为虚拟设备,则通过AutoCAD向指定的设备发送输出指令中指定虚拟设备自动生成文件的 名称中包含当前输出图框信息的图名、图号、页码信息。

进一步地,所述步骤2)中的图层名称筛选条件包括图层名称检索字段值和是否采用正 则表达式选项。

进一步地,所述步骤2)中的图块名称筛选条件包括支持正则表达式的图块名称检索字 段值。

本发明基于AutoCAD的图框参数识别与图纸输出方法具有下述技术效果:本发明不限定 某种特定的文件格式,凡是在步骤1)中可被AutoCAD支持读取和操作的文件格式,均可以 使用本发明的图框参数识别与图纸输出方法进行批量输出,具有输出快捷高效、使用方便、 可靠性好的优点;而且,本发明使用图框对象的简单几何属性宽高比作为主要匹配条件,且 辅以图框搜索选项包括搜索空间类型、图框类型、图层名称筛选条件、图块名称筛选条件、 标等条件进行过滤。本发明不限定特种图框类型,既可以是直线构成的矩形区域,也可以是 多义线构成的矩形区域,也可以图块型的矩形区域和参照引用的矩形区域。本发明不限定特 定图幅以及参数格式,可以通过标准图框参数自定义外框和内框宽高比,并定义图名等各参 数区域范围。本发明不限定某种输出设备,凡被操作系统支持的输出的设备(包括打印设备、 绘图设备或虚拟设备,如PDF打印机或JPG打印机),均能够得到支持;具有普适性好、通 用性好、兼容性强、适用范围广的优点。

附图说明

图1为本发明实施例的实施流程示意图。

图2为本发明实施例中图框搜索选项的界面示意图。

图3为本发明实施例中一根水平线和一根竖直线确定一个矩形的原理示意图。

图4为本发明实施例中的标准图框示意图。

图5为本发明实施例中读取所有已保存的图框信息显示输出给用户供用户选择的人机交 互界面示意图。

图6为本发明实施例中图纸输出时指定的设备示意图。

具体实施方式

如图1所示,本实施例基于AutoCAD的图框参数识别与图纸输出方法的实施步骤如下:

1)打开AutoCAD读入其支持格式(如DWG、DXF等)的待输出图纸文件的文件数据。

2)获取用户设置的图框搜索选项,如图2所示,图框搜索选项包括搜索空间类型、图框 类型、图层名称筛选条件、图块名称筛选条件、标准图框外框的矩形区域、标准图框内框的 矩形区域,搜索空间类型包括模型空间和布局空间块表记录多选选项(对于AutoCAD而言, 布局空间是一个类型,以不同的名称区分,模型空间只有一个),图框类型包括图块、参照引 用(即外部参照)、多义线、直线四种图框类型多选选项;读入文件数据库,遍历文件数据库 中的块表数据库,根据图框搜索选项中的搜索空间类型对块表数据库中的块表记录进行筛选 过滤。本实施例中,将获取用户设置的图框搜索选项的功能封装为自定义命令“pz”,执行自 定义命令“pz”,则会弹出如图2所示的图框搜索选项来获取用户输入的交互消息。

参见图2,用户在图框搜索选项时,如果搜索空间类型仅勾选模型空间,则仅筛选出模 型空间块表记录;如果搜索空间类型仅勾选布局空间,则仅筛选出布局空间块表记录;本实 施例中,标准图框外框的矩形区域的横轴区间为0~420(横轴最小值MinX~横轴最大值 MaxX,下同)、纵轴向区间为0~297(纵轴最小值MinY~纵轴最大值MaxY,下同);标准 图框内框的矩形区域的横轴向区间为30~410、纵轴向区间为10~287。

本实施例中,步骤2)获取用户设置的图框搜索选项时,图框搜索选项还包括标准图框 中图名的矩形区域、图号的矩形区域、页数的矩形区域、页码的矩形区域;参见图2,本实 施例中,图名的矩形区域的横轴向区间为170~250、纵轴向区间为10~20;图号的矩形区域 的横轴向区间为390~250、纵轴向区间为410~20;页数的矩形区域的横轴向区间为380~ 410、纵轴向区间为273~279;页码的矩形区域的横轴向区间为380~410、纵轴向区间为267~ 273。上述图名的矩形区域、图号的矩形区域、页数的矩形区域、页码的矩形区域以及标准图 框外框的矩形区域、标准图框内框的矩形区域均的坐标值均可以通过指定参数文件进行导入, 点击图2中右侧的“加载图框参数”即可读取对应的数值。

3)针对通过筛选过滤后的块表(BlockTableRecord)记录,获取其中图框搜索选项中指 定的图框类型对应的对象、单行文字、多行文字作为待处理的对象集合Ents。参见图2,如 果仅勾选图框类型中的“多义线”、“块”,则仅仅筛选出块表记录中图块、多义线两种类型的 对象生成集合。

4)判断图框搜索选项是否指定图层(Layer)名称筛选条件,当指定图层名称筛选条件 时,将对象集合中不符合图层名称筛选条件的对象删除,只保留符合图层名称筛选条件的对 象。本实施例中,步骤2)中的图层名称筛选条件包括图层名称检索字段值和是否采用正则 表达式选项。参见图2,本实施例中,如果“图层名匹配”的输入框中填写有内容,则本实 施例判定为指定图层名称筛选条件,如果勾上“正则匹配”,则代表针对“图层名匹配”的输 入框中填写的图层名称检索字段值采用正则表达式的方式进行匹配,如“*图框*”,代表包含 “图框”二字的所有图层名称可以通过筛选;否则针对“图层名匹配”的输入框中填写的图 层名称检索字段值采用普通的匹配方式。如果“图层名匹配”的输入框为空,则本实施例判 定为未指定图层名称筛选条件,则不再针对图层名称进行筛选,直接跳转步骤5)。

5)从对象集合Ents中选择第一个对象作为当前对象。

6)判断当前对象的类型,在当前对象的类型为图块、参照引用时,跳转步骤7);在当 前对象的类型为多义线时,跳转步骤8);在当前对象的类型为直线时,筛选出对象集合中的 所有水平线和竖直线,如果当前对象为对象集合中的所有水平线和竖直线中的一根,且由包 含当前对象在内的一根水平线、一根竖直线确定一个矩形的图框对象,则将图框对象替代当 前对象跳转步骤8),否则跳转步骤10)。

本实施例中,由于多义线没有名称属性,所以多义线型不要按照名称进行步骤7)的过 滤,而是直接跳转步骤8)进行长宽比判断处理。对直线型进行识别,基本过程与图块型一 致;因为单条直线无法构成有效图框边界,也为尽可能减少计算量,直线型图框需要相互垂 直的一条水平线与一条竖直线确定图框边界。一根水平线、一根竖直线确定一个矩形的图框 对象包括图3所示四种情况。图3所示,情况1为HL(水平线)构成矩形边界的底边、VL(竖 直线)构成矩形边界的右边;情况2为HL(水平线)构成矩形边界的底边、VL(竖直线) 构成矩形边界的左边;情况3为HL(水平线)构成矩形边界的顶边、VL(竖直线)构成矩 形边界的右边;情况4为HL(水平线)构成矩形边界的顶边、VL(竖直线)构成矩形边界 的左边。本实施例中获取一根水平线、一根竖直线确定一个矩形的图框对象的过程如下:筛 选出Ents集合中所有的水平线HLs;对HLs集合中的每一条水平线HL,从Ents集合中筛 选出与HL同在一个空间、与HL共端点的竖直线集合VLs;将VLs中每一条直线VL与HL进 行组对,若HL与VL以图3所示四种情况中的一种构成矩形边界的相邻边该矩形边界满足步 骤8)所要求的宽高比,则认为HL(水平线)与VL(竖直线)确定了一个矩形的图框对象, 且针对表(1)的图框信息,将Handle1设置为HL的句柄,将Handle2设置为VL的句柄, TkType=0。

7)判断图框搜索选项是否指定图块名称筛选条件,当指定图块名称筛选条件时,如果当 前对象的名称不符合图块名称筛选条件,则过滤当前对象并跳转步骤10);否则跳转步骤8)。

本实施例中,步骤2)中的图块名称筛选条件包括支持正则表达式的图块名称检索字段 值。如“.+”表示非空名称均满足筛选条件。如匹配字符串为“.*图框.*|.*[Tt].*[Kk].*”,表示 只对名称中包含“图框”或同时包含大些(小)写的字母“T”、“K”的块名通过筛选。

8)获取当前对象Region的外边界角点,外边界角点包括左下角点J1和右上角点J2,计 算左下角点和右上角点形成坐标区域的宽高比R,同时计算标准图框外框的宽高比PW,标 准图框内框的宽高比PN;判断左下角点J1和右上角点J2形成坐标区域的宽高比R是否满足 式(1)~(4)中的任意一种;如果满足式(1),则判定外边界角点为满足要求的外框边界 角点,设置旋转角度(本实施例中,旋转角度方向为逆时针旋转)为0°(Angle=0°)、图 框缩放比例如式(5)所示;如果满足式(2),则判定外边界角点为满足要求的外框边界角点, 设置旋转角度为90°(Angle=90°)、图框缩放比例如式(6)所示;如果满足式(3),则 判定外边界角点为满足要求的内框边界角点,设置旋转角度为0°(Angle=0°)、图框缩放 比例如式(7)所示,并更新左下角点坐标如式(9)所示和右上角点坐标如式(10)所示; 如果满足式(4),则判定外边界角点为满足要求的内框边界角点,设置旋转角度为90° (Angle=90°)、图框缩放比例如式(8)所示,并更新左下角点坐标如式(11)所示和右上 角点坐标如式(12)所示;判断左下角点和右上角点形成坐标区域Region的宽高比R是否满 足指定要求,如果满足则跳转步骤9),否则跳转步骤10);

|R-PW|RE---(1)

|R-1PW|RE---(2)

|R-PN|RE---(3)

|R-1PN|RE---(4)

式(1)~(4)中,R表示左下角点和右上角点形成坐标区域的宽高比,PW表示标准 图框外框的宽高比,PN表示标准图框内框的宽高比,E表示预设的允许误差值;本实施例 中,预设的允许误差值为E=0.00001。

Scale=|J2.X-J1.X||WK2.X-WK1.X|---(5)

Scale=|J2.X-J1.X||WK2.Y-WK1.Y|---(6)

Scale=|J2.X-J1.X||NK2.X-NK1.X|---(7)

Scale=|J2.X-J1.X||NK2.Y-NK1.Y|---(8)

J1.X=J1.X-Scale×H1J1.Y=J1.Y-Scale×V1---(9)

J2.X=J2.X+Scale×H2J2.Y=J2.Y+Scale×V2---(10)

J1.X=J1.X-Scale×V2J1.Y=J1.Y-Scale×H1---(11)

J2.X=J2.X+Scale×V1J2.Y=J2.Y+Scale×H2---(12)

式(5)~(12)中,Scale表示图框缩放比例;J1.X表示左下角点J1的X坐标,J1.Y 表示左下角点J1的Y坐标;J2.X表示右上角点J2的X坐标,J2.Y表示右上角点J2的Y 坐标;NK1.X表示标准图框内框左下角点NK1的X坐标,NK1.Y表示标准图框内框左下角 点NK1的Y坐标;NK2.X表示标准图框内框右上角点NK2的X坐标,NK2.Y表示标准图 框内框右上角点NK2的Y坐标;WK1.X表示标准图框外框左下角点WK1的X坐标,WK1.Y 表示标准图框外框左下角点WK1的Y坐标;WK2.X表示标准图框外框右上角点WK2的X 坐标,WK2.Y表示标准图框外框右上角点WK2的Y坐标;式(9)~(12)中关于H1、H2、 V1、V2定义参见图4,H1表示标准图框的内框的左边、外框的左边之间水平距离,其表达 式为H1=|NK1.X-WK1.X|;H2表示标准图框的内框的右边、外框的右边之间水平距离, 其表达式为H2=|WK2.X-NK2.X|;V1表示标准图框的内框的底边、外框的底边之间竖直 距离,其表达式为V1=|NK1.Y-WK1.Y|;V2表示标准图框的内框的顶边、外框的顶边之间 竖直距离,其表达式为V2=|WK2.Y-NK2.Y|。

本实施例中,计算左下角点和右上角点形成坐标区域的宽高比的表达式为:

R=|J2.Y-J1.Y||J2.X-J1.X|

其中,R表示左下角点和右上角点形成坐标区域的宽高比,J1.X表示左下角点J1的X 坐标,J1.Y表示左下角点J1的Y坐标;J2.X表示右上角点J2的X坐标,J2.Y表示右上角 点J2的Y坐标。

参见图4的标准图框可知,标准图框外框的宽高比PW为:

PW=|WK2.Y-WK1.Y||WK2.X-WK1.X|.

其中,WK1.X表示标准图框外框左下角点WK1的X坐标,WK1.Y表示标准图框外框左 下角点WK1的Y坐标;WK2.X表示标准图框外框右上角点WK2的X坐标,WK2.Y表示标 准图框外框右上角点WK2的Y坐标。

参见图4的标准图框可知,标准图框内框的宽高比PN为:

PN=|NK2.Y-NK1.Y||NK2.X-NK1.X|

其中,NK1.X表示标准图框内框左下角点NK1的X坐标,NK1.Y表示标准图框内框左 下角点NK1的Y坐标;NK2.X表示标准图框内框右上角点NK2的X坐标,NK2.Y表示标 准图框内框右上角点NK2的Y坐标。

9)将当前对象对应的图框信息与已保存的图框信息对比,如当前对象对应的图框信息尚 未保存过,则保存当前对象对应的图框信息,图框信息具体如表(1)所示,包含当前对象的 左下角点和右上角点的坐标、图框缩放比例、旋转角度等信息。本实施例中将当前图框信息 与已保存的图框信息对比时,对比的内容包括:图形文件名、块表记录名、图框左下角点坐 标、图框右上角点坐标,若两个图框的以上四个参数相同,则认为两个图框表达相同。

本实施例中,图框信息的结构如表(1)所示。

表(1):图框信息结构表。

参见表(1)可知,保存当前对象的图框信息时,针对不同图框类型分别有不同的保存方 式,如果图框类型为直线,则TkType值为0;如果图框类型为多义线,则TkType值为1;

如果图框类型为图块,则TkType值为2;如果图框类型为参照引用,则TkType值为3。

本实施例中,保存当前对象的图框信息时,首先根据图名的矩形区域、图号的矩形区域、 页数的矩形区域、页码的矩形区域,分别依据图框对象旋转角度获取上述四种矩形区域的左 下角点和右上角点,如果旋转角度为0°,则根据式(13)和(14)更新每种矩形区域的左 下角点和右上角点;如果旋转角度为90°,则根据式(15)和(16)更新每种矩形区域的左 下角点和右上角点;依次识别待输出图纸文件中位于上述四种矩形区域内的单行或多行文字 对象中的文字,得到当前对象的图名、图号、页数、页码,将页数、页码中的非数字内容过 滤后转换为整数;将图名、图号、页数、页码存入当前对象的图框信息中;

式(13)~(16)中,TJ1.X表示矩形区域左下角点更新后的X坐标,TJ1.Y表示矩形 区域左下角点更新后的Y坐标;TJ2.X表示矩形区域右上角点更新后的X坐标,TJ2.Y表示 矩形区域右上角点更新后的Y坐标;T1.X表示矩形区域左下角点更新前的X坐标,T1.Y表 示矩形区域左下角点更新前的Y坐标;T2.X表示矩形区域右上角点更新前的X坐标,T2.Y 表示矩形区域右上角点更新前的Y坐标;J1.X表示当前对象对应的图框左下角点的X坐标, J1.Y表示当前对象对应的图框左下角点的Y坐标;Scale表示图框缩放比例。

以图名的矩形区域为例,本实施例在保存图框信息时,根据标准图框参数点TM1、TM2, 换算到实际图名边界角点TMJ1,TMJ2。

如果Angle=0°,

TMJ1.X=J1.X+(TM1.X-WK1.X)×Scale,TMJ1.Y=J1.Y+(TM1.Y-WK1.Y)×Scale

TMJ2.X=J1.X+(TM2.X-WK1.X)×Scale,TMJ2.Y=J1.Y+(TM2.Y-WK1.Y)×Scale

如果Angle=90°,

TMJ1.X=J1.X-(TM1.Y-WK1.Y)×Scale,TMJ1.Y=J1.Y+(TM1.X-WK1.X)×Scale

TMJ2.X=J1.X-(TM2.Y-WK1.Y)×Scale,TMJ2.Y=J1.Y+(TM2.X-WK1.X)×Scale

筛选出对象集合Ents中所有与当前图框对象位于同一空间的单行文字对象、多行文字对 象Texts;在Texts中寻找边界位于交点TMJ1、TMJ2构成区域内(或其上)的对象TEXT; 文字对象TEXT的文字内容,即为识别的图名,赋值给TM。由于图号、页数、页码三种矩形 区域与图名的矩形区域的处理方法相同,故在此不再赘述。在得到页数、页码后还需要对页 数、页码进行过滤取整,过滤掉非数字字符。此外,还可以根据需要保存更多当前对象的图 框信息,在处理时对表(1)的图框信息结构表进行扩展即可,且实际需要中如需要提取更多 的参数,可在标准图框参数中定义,获取过程类似。

10)判断当前对象是否为对象集合中的最后一个对象,如果是则结束处理并跳转步骤11), 否则从对象集合中选择下一个未处理的对象作为当前对象,跳转步骤6)。

11)首先读取所有已保存的图框信息,显示输出给用户供用户选择,然后将用户选择的 图框信息作为待输出图框信息列表。

本实施例将用户选择的待输出图框信息存储在变量TKs中,以变量TKs作为图框信息列 表来进行后续的处理。工程实践中,往往需要对变量TKs中所包含的图框信息进行一定的整 理和排序,以便在输出时,可以直接进行对图纸清点,防止图纸以无序的方式输出。一般情 况下,第一排序条件为按图号TM升序排列,第二排序条件按以页码YM升序排列。

本实施例步骤11)中读取已保存图框信息并显示输出给用户供用户选择时,对所有图框 信息以图号TM作为第一排序条件、页码YM作为第二排序条件进行排序后显示输出给用户; 其中,第一排序条件和第二排序条件均为升序排列。

如图5所示,本实施例输出图框信息列表的人机交互界面中,依次可以输出多个打开的 AutoCAD文件,针对每一个AutoCAD文件,输出图框信息列表分别包括图号、图名、页码、 页数四列信息,此外也可以根据需要设置显示更多的图框信息以便用户查看。

12)调用AutoCAD的输出样式表,根据预先定义值自动指定AutoCAD中输出的设备、 图幅尺寸和输出样式,通过AutoCAD向指定的设备发送输出指令,所述输出指令包括当前输 出图框信息的图形文件名称FileName、图形空间名称BlockTableName、图形边界Region(左 下角点J1和右上角点J2的坐标表达)、图框缩放比例Scale、旋转角度Angle、图幅尺寸、输 出样式。

本实施例中,为保证图幅的美观,选择的图幅尺寸须与标准图框参数定义的宽高比PW 一致。这也是输出图幅尺寸的唯一条件,因此可以通过控制PW值,实现与既有标准尺寸的 匹配,如A3、A2图幅,也可以对设备进行设置,自定义需要定义的图幅尺寸,以适应非标 准尺寸或非常见标准尺寸的图纸输出。步骤12)通过AutoCAD向指定的设备发送输出指令 时,如果指定的设备为虚拟设备,则通过AutoCAD向指定的设备发送输出指令中指定虚拟设 备自动生成文件的名称中包含当前输出图框信息的图名、图号、页码信息。本实施例中,通 过AutoCAD向指定的设备发送输出指令中指定虚拟设备自动生成文件的名称具体为“图号_ 图名_页码.后缀”格式。

13)通过所述指定的设备将待输出图框信息列表中的每个图框信息对应的图纸区域输出。

本实施例在应用中被封装为自定义命令“dy”,执行自定义命令“dy”即可调用本实施例 执行步骤1)~步骤10)完成AutoCAD文件按照标准图框参数进行图框参数识别的过程、执 行步骤11)~步骤13)完成已经打开且已经完成图框参数识别的AutoCAD文件按照图纸输 出参数进行图纸输出的过程,且多个文件可以一次性批量输出。本实施例通过指定标准图框 外框参数左下角坐标点(WK1)以及右上角坐标点(WK2)、内框为NK1与NK2、图名为 TM1与TM2、图号为TH1与TH2、页数为YS1与YS2、页码为YM1与YM2,并将这些坐 标转化为以WK1为原点的相对坐标。标准图框外框参数左下与右上角点的宽度与高度比值 作为图框识别的强制型匹配值,所有类型图框显示边界的宽高比(或高宽比)需要在一定小 的误差范围内,与外框参数宽高比进行比对,满足比对要求以及图层、块名筛选要求的图框 将被识别为有效图框;本实施例同样可以使用内框参数左下与右上角点的宽高比进行比对, 比对成功的图框通过外框参数与内框参数的相对关系,进行换算;本实施例可以定义图名、 图号、页数、页码的边界角点,也可以定义其他参数,如时间、设计、复核、审查等的边界 角点,以便在有效图框范围识别搜索相关参数信息。与现有技术通过块名、图层名、颜色等 参数来确定图框对象不同的是,本发明以矩形框宽高比匹配作为主要控制参数,辅以块名、 图层、空间等条件进行过滤。宽高比作为简单的几何特性,没有其他属性,使本发明具有灵 活性、通用性、准确性的优势。以常见的工程图纸图幅A3为例,其宽高比为是一个 无理数,在图纸中刚好有非图框对象宽高比为的可能性非常小,因此可以用宽高比作为主 要的匹配条件,再通过其他过滤条件辅助,可以进行进一步过滤。针对其他标准的或非标准 的图幅尺寸,通过标准图框参数定义,只要图纸输出设备能与之匹配,均可以通过本发明进 行图框信息搜索和图纸输出。

参见图6,输出设备可以根据需要选择打印设备、绘图设备以及虚拟设备(如PDF输出、 JPG输出、PNG输出等)。本实施例根据自定义命令“pz”封装的搜索筛选选项以及标准图 框参数,对单个或多个文件进行自动识别,也可以在已经被AutoCAD打开的图形中手动选择 一个或多个图框,对图框进行搜索、筛选与匹配。对于满足筛选条件、宽高比(或高宽比) 在小误差范围内等于标准图框定义的外框或内框参数宽高比的图框将被识别为有效图框,并 将该图框所在文件名、所在空间名(模型空间或某个布局空间)、左下角点坐标、右下角点坐 标、图框类型(直线、多义线、图块、参照引用)、图框对象句柄(直线型对应为构成矩形相 邻边的两条正交直线句柄、多义线型为该多义线句柄、图块型为该图框句柄、参照引用行为 该参照句柄)保存在数据库中。在有效图框得到识别和筛选的条件下,本实施例能够根据标 准图框参数,进一步对图号、图名、页数、页码等信息进行识别,并与对应图框一并保存在 数据库中。本实施例能够选择输出设备、图幅尺寸、输出样式、旋转角度,对识别得到的图 框进行批量或单个的输出。本实施例能够不限定某种输出设备,所以能安装到操作系统地虚 拟的或真实的输出设备均可以做出输出设备;本实施例能够不限定某种或某些图幅尺寸,既 可以针对A0、A1、A2、A3、A4等常见标准图幅进行输出,可以自定义图幅尺寸,该图幅尺 寸只需要宽高比同标准图框参数外框宽高比在小误差范围内相等即可;本实施例能够不限定 输出样式,任何AutoCAD定义的样式,均可以得到支持;本实施例能够通过图框宽高比或高 宽比与外(内)框宽高比在小误差范围内相等自动判断页面布局,如图框宽高比与外(内) 框宽高比在小误差范围内相等,则输出旋转角度为0°,如图框高宽比与外(内)框宽高比在 小误差范围内相等,则输出旋转角度为90°。综上所述,本实施例能够针对于不限图框形式(直 线型图框、多义线型图框、图块型图框、参照引用型图框)、不限格式(文字格式、布局、线 宽)、不限空间(AutoCAD模型空间、布局空间)、不限输出设备(既可以是虚拟设备,如 PDF、JPG打印机,也可以是各种打印绘图设备)、不限文件格式(AutoCAD支持的文件格式 均可以)的普适性图框参数识别与图纸输出。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡 属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本 发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号