一种CAD矢量图自动切图方法及装置与流程

文档序号:12826265阅读:856来源:国知局
一种CAD矢量图自动切图方法及装置与流程

本发明涉及矢量图技术领域,尤其涉及一种cad矢量图自动切图方法及装置。



背景技术:

cad矢量图的矢量元素(例如线条或点等)一般较多且密集,因此如果通过缩小cad矢量图来打印的话会造成打印模糊不清的现象。现有的做法都是由业务人员通过一系列反复的步骤(框选、移动、套图框等),将cad矢量图切割成一份份可打印的标准图纸(例如a4、a3或a5等图纸),然后再逐一进行打印。但是采用人工切图的方式对cad矢量图进行切图打印,效率比较低下,而且容易因为人为的误操作而影响到切图的质量,造成切图质量下降。



技术实现要素:

针对上述问题,本发明的目的在于提供一种cad矢量图自动切图方法及装置,通过应用该方法可以实现对cad矢量图的自动切图,从而可以提高切图的效率并可以提高切图质量。

为了实现上述目的,本发明一方面提供了一种cad矢量图自动切图方法,其包括以下步骤:获取目标cad矢量图;接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,以供用户进行选择操作;根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域;根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。

进一步地,所述切图模型包括截图框区域宽度与高度、切图框模板文件路径、切图框区域宽度与高度、缩放系数以及图框信息。

进一步地,所述步骤“根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域”具体为:

遍历所述目标cad矢量图,以获取所述目标cad矢量图中所有的矢量元素的坐标点;

对所有矢量元素的坐标点进行比较分析,以获取所述矢量元素坐标点中的x坐标及y坐标的最小、最大值:

根据获取到的x坐标及y坐标的最小、最大值,得到所述目标cad矢量图的矢量图切图区域,并得到所述矢量图切图区域的宽度与高度;

获取所述切图模型中截图框区域的高度与宽度,并根据所述矢量图切图区域的宽度与高度以及所述截图框区域的高度与宽度,得到所述矢量图切图区域中的截图框的列数与行数;

以所述矢量图切图区域的左上角坐标点、右上角坐标点、左下角坐标点或右下角坐标点为截图框生成起始点,并根据获取到的截图框的列数与行数以及截图框区域的高度与宽度在所述矢量图切图区域上依次生成所述截图框。

进一步地,所述步骤“根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域”具体为:

遍历所述目标cad矢量图,以获取所述目标cad矢量图中所有的矢量元素的坐标点;

对所有矢量元素的坐标点进行比较分析,以获取所述矢量元素坐标点中的x坐标及y坐标的最小、最大值:

根据获取到的x坐标及y坐标的最小、最大值,得到所述目标cad矢量图的矢量图切图区域,并得到所述矢量图切图区域的宽度与高度;

获取所述切图模型中截图框区域的高度与宽度,并根据所述矢量图切图区域的宽度与高度以及所述截图框区域的高度与宽度,得到所述矢量图切图区域中的截图框的列数与行数;

以所述矢量图切图区域的左上角坐标点、右上角坐标点、左下角坐标点或右下角坐标点为截图框生成起始点,并根据获取到的截图框的列数与行数以及截图框区域的高度与宽度在所述矢量图切图区域上依次生成所述截图框。

进一步地,所述步骤“根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图”具体为:

根据获取到的所述截图框将对应的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域;

根据所述切图模型在每一个所述切图框区域上对应生成矢量图切图。

进一步地,所述步骤“根据获取到的所述截图框将对应的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域”具体为:

对每一个截图框进行排序;

按照截图框的排序依次复制与截图框对应的截图框区域,并将复制的截图框区域按照所述切图模型中的缩放系数进行缩放;

将缩放后的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域。

进一步地,所述目标cad矢量图为管线施工cad矢量图,则所述步骤“对每一个截图框进行排序”具体为:

遍历每一个截图框,以判断每一个截图框内是否存在点元素;

对存在点元素的每一个截图框内的所有点元素的位置进行比较分析,以获取每一个存在点元素的截图框内的为最小位置的点元素;其中,所述点元素的位置以数字编号的形式来进行表示;

根据每一个存在点元素的截图框内的为最小位置的点元素的位置大小对每一个存在点元素的截图框进行排序,并将不存在点元素的截图框排至最后。

进一步地,所述步骤“将缩放后的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域”具体为:

s13020,获取所述切图模型中的切图框区域宽度及高度;

s13021,判断当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的高度之和与所述缩放系数的乘积是否小于所述切图框区域高度;

s13022,若是,则将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序上下设置在该切图框区域中,返回步骤s13021;

s13023,若否,则判断当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的宽度之和与所述缩放系数的乘积是否小于所述切图框区域宽度;

s13024,若是,则将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序左右设置在该切图框区域中,返回步骤s13021;

s13025,若否,则将当前的截图框区域复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在当前的截图框区域的复制迁移位置上相应生成切图框区域。

进一步地,所述步骤“根据所述切图模型在每一个所述切图框区域上对应生成矢量图切图”具体为:

根据所述切图模型中的切图框模板文件路径读取预设的切图框,并在每一个切图框区域上对应添加所述切图框,以形成与所述截图框区域相对应的矢量图切图;

根据所述切图模型给每一幅矢量图切图添加图框信息;

根据与所述矢量图切图对应的截图框的排序对每一幅矢量图切图进行图框序号标示。

进一步地,在所述步骤“根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域”之后,所述步骤“根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图”之前,还包括:

当判断出所述截图框所对应的截图框区域中不存在矢量元素时,将所述截图框删除。

本发明另一方面还提供了一种cad矢量图自动切图装置,其包括:获取模块,用于获取目标cad矢量图;接收模块,用于接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,以供用户进行选择操作;截图框生成模块,用于根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域;切图生成模块,用于根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。

本发明提供的所述的cad矢量图自动切图方法及装置,通过在获取到目标cad矢量图时,接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,然后根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,最后再根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。由此可见,本发明能够对cad矢量图进行自动切图,从而可以提高对cad矢量图的切图的效率,并且可以避免因为人为的误操作而影响到切图的质量,因此本发明也可以提高对cad矢量图的切图的质量。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种cad矢量图自动切图方法的流程图:

图2是本发明实施例提供的一种在cad矢量图区域上生成截图框的示意图;

图3是本发明实施例提供的一种矢量图切图生成示意图;

图4是本发明实施例提供的一种cad矢量图自动切图装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,本发明实施例提供了一种cad矢量图自动切图方法,其包括以下步骤s10至s13:

s10,获取目标cad矢量图。

当用户需要对相应的cad矢量图进行切图时,用户可以通过相应的cad软件(例如autocad软件、中望cad软件或浩辰cad软件等)打开该cad矢量图,此时系统可以通过运行cad软件中预设的cad矢量图自动切图程序来开始执行步骤s10,即系统会获取需要进行切图的目标cad矢量图。

s11,接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,以供用户进行选择操作。

当用户向系统输入用于使得系统对获取到的所述目标矢量图自动进行切图的切图生成命令时,系统会根据接收到的所述切图生成命令在设备的显示屏上显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,以供用户进行选择操作。需要说明的是,用户向系统输入所述切图生成命令的方式可以为通过系统设备的键盘键入切图生成命令(例如cutchart单词或者c字符等),或者可以为通过鼠标点击或者触摸点击相应cad软件的菜单中的预设有的切图生成按钮等。

其中,所述切图模型可以为用于将所述目标cad矢量图切分成多个a3图纸的a3切图模型、或者为用于将所述目标cad矢量图切分成多个a4图纸的a4切图模型等,在此不做具体限定。

优选地,每一个所述切图模型包括截图框区域宽度与高度、切图框模板文件路径、切图框区域宽度与高度、缩放系数以及图框信息这五个参数变量。系统根据调用用户选择的切图模型中的各个参数变量来对所述目标cad矢量图进行切图,其中系统调用切图模型以及其含有的参数变量是通过系统预先设置的配置文件来实现的。需要说明的是,每一个所述切图模型的截图框区域宽度的参数变量的参数数值是不同的。同理地,所述切图模型的截图框区域高度,所述切图模型的切图框区域宽度以及述切图模型的切图框区域高度与上述情况类似。可以理解的是,所述切图模型还可以包括其他参数变量,例如还可以包括截图框显示颜色、截图框形状等。

s12,根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域。

当用户对显示的多个的切图模型做出选择操作时,系统会根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,其中,所述多个截图框用于将所述目标cad矢量图分割成多个与所述截图框一一对应的截图框区域。需要说明的是,每一个截图框区域包含有目标cad矢量图中的不同部分的矢量元素。其中,所述矢量元素为所述目标矢量图中的组成内容(例如线段、点或字体等)。

在本发明实施例中,优选地,所述步骤s12具体包括步骤s120至步骤s124:

s120,遍历所述目标cad矢量图,以获取所述目标cad矢量图中所有的矢量元素的坐标点。

当用户对显示的多个的切图模型做出选择操作后,系统会遍历所述目标cad矢量图,以获取所述目标cad矢量图中所有的矢量元素的坐标点。

s121,对所有矢量元素的坐标点进行比较分析,以获取所述矢量元素坐标点中的x坐标及y坐标的最小、最大值。

即通过对获取到的所述目标cad矢量图中所有矢量元素的坐标点进行比较分析,来获取所述矢量元素坐标点中的x坐标的最小值minx与最大值maxx以及y坐标的最小值miny与最大值maxy。

s122,根据获取到的x坐标及y坐标的最小、最大值,得到所述目标cad矢量图的矢量图切图区域,并得到所述矢量图切图区域的宽度与高度。

请参见图2,即根据获取到的所述矢量元素坐标点中的x坐标的最小值minx与最大值maxx以及y坐标的最小值miny与最大值maxy,得到四个坐标点:左上角坐标点a(minx,maxy),右上角坐标点b(maxx,maxy),右下角坐标c点(maxx,miny),左下角坐标点d(minx,miny),以这四个坐标点限定的区域为所述目标cad矢量图需要进行切图的矢量图切图区域,并可以得到所述矢量图切图区域的宽度为maxx-minx,所述矢量图切图区域的高度为maxy-miny。

s123,获取所述切图模型中截图框区域的高度与宽度,并根据所述矢量图切图区域的宽度与高度以及所述截图框区域的高度与宽度,得到所述矢量图切图区域中的截图框的列数与行数。

即,当获取到的所述切图模型中截图框区域的高度与宽度以及所述矢量图切图区域的宽度与高度后,可以通过以下规则来计算得到所述矢量图切图区域中的截图框的列数与行数。

其中,所述矢量图切图区域中的截图框的列数的算法规则为:如果(矢量图切图区域宽度%截图框区域宽度)>0,则截图框的列数=(int)(矢量图切图区域宽度/截图框区域宽度)+1;否则截图框的列数=(矢量图切图区域宽度/截图框区域宽度)。

所述矢量图切图区域中的截图框的行数的算法规则为:如果(矢量图切图区域高度%截图框区域高度)>0,则截图框的行数=(int)(矢量图切图区域高度/截图框区域高度)+1;否则截图框的行数=(矢量图切图区域高度/截图框区域高度)。

需要说明的是,“%”为取余运算,“/”为除法运算,(int)为取整运算。

s124,以所述矢量图切图区域的左上角坐标点、右上角坐标点、左下角坐标点或右下角坐标点为截图框生成起始点,并根据获取到的截图框的列数与行数以及截图框区域的高度与宽度在所述矢量图切图区域上依次生成所述截图框。

即,当获取到截图框的列数与行数时,请参见图2,根据所述切图模型获取截图框区域的高度与宽度,从而可以得到相应的截图框,然后以所述矢量图切图区域预设的截图框生成起始点(例如左上角坐标点a(minx,maxy)、右上角坐标点b(maxx,maxy)、右下角坐标c点(maxx,miny)或左下角坐标点d(minx,miny))为参照点在所述矢量图切图区域上依次生成所述截图框。

现以矢量图切图区域的左上角坐标点a(minx,maxy)为截图框生成起始点为例来进行说明:

以所述矢量图切图区域的左上角坐标点a(minx,maxy)为参照点来计算当前截图框的左上角坐标点的位置:其中,当前截图框的左上角坐标点的x坐标为:minx+(截图框区域宽度*(当前截图框列数-1));当前截图框的左上角坐标点的y坐标为:maxy-(截图框区域宽度*(当前截图框行数-1))。当计算出当前截图框的左上角坐标点后,可以以该坐标点为当前截图框的生成坐标点依次在所述矢量图切图区域中生成所述截图框。

需要说明的是,还可以以述矢量图切图区域的左上角坐标点a(minx,maxy)(或右上角坐标点b(maxx,maxy)、右下角坐标c点(maxx,miny)、左下角坐标点d(minx,miny))为参照点来计算计算当前截图框的左下角坐标点、右下角坐标点或右上角坐标点的位置、具体计算方式以及截图框生成过程可参考上述内容,在此不再赘述。

s13、根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。

请参见图3,当在所述目标cad矢量图上生成所述截图框时,系统会根据用户选择的所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图,从而完成对所述目标cad矢量图的切图。此时,用户可以对生成好的矢量图切图进行确认,若用户不需要所述矢量图切图时,用户可以通过相应的操作放弃生成所述矢量图切图;当用户确认需要所述矢量图切图后,用户可以对所属矢量图切图进行打印操作。

优选地,所述步骤s13具体为:

s130,根据获取到的所述截图框将对应的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域。

即当在所述目标cad矢量图上生成所述截图框时,系统会根据获取到的所述截图框将与所述截图框对应的截图框区域进行复制,并将复制好的截图框区域迁移到所述目标cad矢量图相应的位置上,然后根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成用于放置所述截图框区域的切图框区域。需要说明的是,所述切图框区域的高度数值需要等于或大于所述截图框区域的高度数值,且所述切图框区域的宽度数值需要等于或大于所述截图框区域的宽度数值,这样所述截图框区域可以完全地迁移放置在所述切图框区域内。可以理解的是,当所述切图框区域的高度数值小于所述截图框区域的高度数值时,或当所述切图框区域的宽度数值小于所述截图框区域的宽度数值时,可以对所述截图框区域进行相应缩小。

优选地,所述步骤s130具体为:

s1300,对每一个截图框进行排序。

即,当在所述目标cad矢量图上生成所述截图框后,系统会对每一个截图框进行排序。排序规则可以为从左到右、从上到下依次对所述目标cad矢量图上的所述截图框进行前后排序,也可以为从右到左、从下到上依次对所述目标cad矢量图上的所述截图框进行前后排序,在此不做具体限定。

在本发明实施例中,优选地,请参见图2,所述目标cad矢量图为管线施工cad矢量图。其中管线施工cad矢量图具有多个用来表示管线连接件的节点(即点元素)以及用来表示管线的线段(即线段元素),而管线施工cad矢量图中的各个节点通过线段对应连接,其中每一个节点(即点元素)具有各自的用数字编号来标示的位置,且每一个节点(即点元素)的位置按照线路的走向依次进行标示。需要说明的是,所述目标cad矢量图还可以为建筑平面图或者是部件结构图等,在此不做具体限定。

而当所述目标cad矢量图为管线施工cad矢量图时,优选地,所述步骤s1300具体包括步骤s13000至步骤s13002:

s13000,遍历每一个截图框,以判断每一个截图框内是否存在点元素。

当在所述管线施工cad矢量图上生成所述截图框后,系统会遍历每一个截图框,以判断每一个截图框内是否存在点元素。

s13001,对存在点元素的每一个截图框内的所有点元素的位置进行比较分析,以获取每一个存在点元素的截图框内的为最小位置的点元素;其中,所述点元素的位置以数字编号的形式来进行表示。此外,每一个截图框内的最小位置的点元素即为每一个截图框内的数字编号最小的点元素。

s13002,根据每一个存在点元素的截图框内的为最小位置的点元素的位置大小对每一个存在点元素的截图框进行排序,并将不存在点元素的截图框排至最后。

即,系统会对获取到的每一个存在点元素的截图框内的为最小位置的点元素的位置的数字编号大小进行比较分析,以比较分析出每一个截图框内的为最小位置的点元素的位置大小(即点元素的数字编号大小),然后系统根据每一个存在点元素的截图框内的为最小位置的点元素的位置大小对每一个存在点元素的截图框进行排序,并且,系统还会将不存在点元素的截图框排至最后。其中,优选地,存在点元素的截图框内的为最小位置的点元素的位置越小,该截图框的排序越靠前。例如,请参见图2与图3,截图框1内的最小位置的点元素为标号为1的点元素,截图框3内的最小位置的点元素为标号为38的点元素,截图框2内没有点元素,因此放在最后,而截图框4因为不存在矢量元素,因此可将截图框4进行删除,所以图2的截图框的排序为:截图框1>截图框3>截图跨、框2。可以理解的是,存在点元素的截图框内的为最小坐标的点元素的位置越小,该截图框的排序也可以越靠后。

需要说明的是,所述管线施工矢量图中的截图框的排序还可以为从左到右、从上到下依次进行排序。

s1301,按照截图框的排序依次复制与截图框对应的截图框区域,并将复制的截图框区域按照所述切图模型中的缩放系数进行缩放。

当获取到每一个截图框的排序后,系统会按照截图框的排序依次复制与截图框对应的截图框区域,然后将复制好的截图框区域按照所述切图模型中的缩放系数进行缩放,以使得所述截图框区域可以缩小或放大。其中,当所述切图框区域的高度数值小于所述截图框区域的高度数值时,或当所述切图框区域的宽度数值小于所述截图框区域的宽度数值时,可以对所述截图框区域进行缩小,以使得所述截图框区域能够完全放置到所述切图框区域内;而当所述切图框区域的高度数值大于所述截图框区域的高度数值,且所述切图框区域的宽度数值大于所述截图框区域的宽度数值时,可以对所述截图框区域进行放大,使得所述截图框区域能够完全放置到所述切图框区域内的同时还可以使得截图框区域内的矢量元素更加清晰明了。

在本发明实施例中,优选地,所述缩放系数为0.5。需要说明的是,所述缩放系数还可以根据实际需要而设定为其他数值,在此不作具体限定。

s1302,将缩放后的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域。

优选地,所述步骤s1302具体为:

s13020,获取所述切图模型中的切图框区域宽度及高度。

s13021,判断当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的高度之和与所述缩放系数的乘积是否小于所述切图框区域高度。

s13022,若是,则将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序上下设置在该切图框区域中,返回步骤s13021。

由于步骤s1301已经对所述截图框区域进行相应的缩放以使得缩放后的截图框区域能够完全放置在相应的切图框区域中,而当系统判断出当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的高度之和与所述缩放系数的乘积小于所述切图框区域高度时,表明当前的截图框区域和排序位于当前的截图框区域后面的截图框区域能够沿着切图框区域的高度从上到下地设置在同一个切图框区域中,因此可以采用截图框区域高度合并方式来进行复制迁移,即可以将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度而在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序从上到下设置在该切图框区域中,然后返回步骤s13021。由于多个截图框区域可以一起设置在同一个切图框区域中,因此可以减少切图框区域的生成数量,从而在后续的步骤中可以减少矢量图切图的生成数量,并进而可以减少目标cad矢量图的切图的打印数量。

s13023,若否,则判断当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的宽度之和与所述缩放系数的乘积是否小于所述切图框区域宽度。

s13024,若是,则将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序左右设置在该切图框区域中,返回步骤s13021。

由于步骤s1301已经对所述截图框区域进行相应的缩放以使得缩放后的截图框区域能够完全放置在相应的切图框区域中,而当系统判断出当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的宽度之和与所述缩放系数的乘积小于所述切图框区域宽度时,表明当前的截图框区域和排序位于当前的截图框区域后面的截图框区域能够沿着切图框区域的宽度从左到右地设置在同一个切图框区域中,因此可以采用截图框区域高度合并方式来进行复制迁移,即可以将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度而在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序从左到右设置在该切图框区域中,然后返回步骤s13021。由于多个截图框区域可以一起设置在同一个切图框区域中,因此可以减少切图框区域的生成数量,从而在后续的步骤中可以减少矢量图切图的生成数量,并进而可以减少目标cad矢量图的切图的打印数量。

s13025,若否,则将当前的截图框区域复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在当前的截图框区域的复制迁移位置上相应生成切图框区域。

即当判断出当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的高度之和与所述缩放系数的乘积大于所述切图框区域高度,且当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的宽度之和与所述缩放系数的乘积大于所述切图框区域宽度时,表明一个切图框区域只能完全放置下当前的截图框区域,因此将当前的截图框区域复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在当前的截图框区域的复制迁移位置上相应生成切图框区域。

其中,当每一个截图框区域复制迁移到目标位置时,以复制迁移后的截图框区域的左上角坐标点(x,y)为基准点,并根据所述切图模型中的切图框区域宽度与高度在该基准点上生成切图框区域,即生成的切图框区域的左上角坐标点(设为(minx,maxy))与相应的复制迁移后的截图框区域的左上角坐标点对应重合。

其中,复制迁移后的截图框区域的左上角坐标点(x,y)与生成的切图框区域的左上角坐标点(minx,maxy)的坐标相互之间的设置关系为:

当采用截图框区域高度合并方式时,y=(maxy-切图框区域偏移高度)-(同个切图框区域内排序位于当前的截图框区域前面的所有截图框区域高度相加*缩放系数);

x=(minx+切图框区域偏移宽度)。

其中,请参见图3,切图框区域偏移高度表示为切图框区域距离切图框的上边框的偏移量,切图框区域偏移宽度表示为切图框区域距离切图框的左边框的偏移量,切图框区域偏移宽度以及切图框区域偏移高度这两个参数变量包含于所述切图模型中。优选地,所述切图框区域偏移宽度设定数值为10mm,所述切图框区域偏移高度设定数值为30mm。

当采用宽度合并方式时,y=(maxy-切图框区域偏移高度);

x=(minx+切图框区域偏移宽度+(同个切图框区域内排序位于当前的截图框区域前面的所有截图框区域宽度相加*缩放系数))。

当直接复制迁移当前截图框区域时,y=(maxy-切图框区域偏移高度);x=(minx+切图框区域偏移宽度)。

需要说明的是,当每一个截图框区域复制迁移到目标位置时,还可以以复制迁移后的截图框区域的其他坐标点(例如右上角坐标点或左下角坐标点等)为切图框区域生成的基准点,在此不做具体限定。

s131,根据所述切图模型在每一个所述切图框区域上对应生成矢量图切图。

即,当在每一个截图框区域的复制迁移位置上对应生成切图框区域后,系统会根据所述切图模型在每一个所述切图框区域上对应生成矢量图切图。

优选地,所述步骤s131具体为:

s1310,根据所述切图模型中的切图框模板文件路径读取预设的切图框,并在每一个切图框区域上对应添加所述切图框,以形成与所述截图框区域相对应的矢量图切图。

例如,请参见图3,在每一个截图框区域的复制迁移位置上对应生成切图框区域后,若用户选择的切图模型为a4切图模型时,系统会根据a4切图模型中的a4切图框模板文件路径读取a4切图框,然后在每一个切图框区域上一一对应地添加a4切图框,从而形成a4图纸版式的矢量图切图。

s1311,根据所述切图模型给每一幅矢量图切图添加图框信息。

其中,所述图框信息包括项目负责人,主管,绘图,审核,设计,工程名称等信息项目。可以理解的是,每一幅矢量图切图中的图框信息的内容是根据所述目标cad矢量图中的图框信息的内容来生成的。

s1312,根据与所述矢量图切图对应的截图框的排序对每一幅矢量图切图进行图框序号标示。

当每一幅矢量图切图中的图框信息中的内容都已经生成后,系统会根据与所述矢量图切图对应的截图框的排序对每一幅矢量图切图进行图框序号标示,从而使得用户可以根据图框序号查阅所述矢量图切图。需要说明的是,还可以在每一幅矢量图切图中添加切图总数标示,其中,切图总数是通过统计所有矢量图切图数量而得出的。

需要说明的是,在所述步骤s1312之后还可以包括步骤:给每一幅矢量图切图添加指北针。其中,优选地,所述指北针标示在每一幅矢量图切图的右上角。

综上所述,在本发明实施例中,通过在获取到目标cad矢量图时,接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,然后根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,最后再根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。由此可见,本发明实施例能够对cad矢量图进行自动切图,从而可以提高对cad矢量图的切图的效率,并且可以避免因为人为的误操作而影响到切图的质量,因此本发明也可以提高对cad矢量图的切图的质量。

在上述发明实施例中,优选地,在所述步骤s12之后,所述步骤s13之前,还包括:

s20,当判断出所述截图框所对应的截图框区域中不存在矢量元素时,将所述截图框删除。

即,当在所述目标矢量图上生成截图框后,系统会判断所述截图框所对应的截图框区域中是否存在矢量元素,若否,系统会将不存在矢量元素的截图框删除,从而在后续步骤中无需生成与该不存在矢量元素的截图框对应的矢量图切图,进而在打印时可以避免打印出不存在矢量元素的矢量图切图图纸。

需要说明的是,在本优选实施例中,所述步骤s20之后还可以包括:

s30,当接收到用户对所述目标cad矢量图中的截图框发出的调整指令后,根据用户的操作对所述截图框进行相应调整,以获取调整后的截图框。

即,当在所述目标cad矢量图上生成所述截图框时,用户可以选择是否调整所述截图框(例如调整所述截图框的大小、位置甚至形状等),若用户需要对所述截图框做出调整,用户可以通过触摸操作或者鼠标操作来调整所述截图框,调整完后用户可以通过点击相应确认按钮或者是键入相关字符(例如yes或y)来对调整后的截图框进行确认。

请参见图4,本发明实施例还提供了一种cad矢量图自动切图装置,其包括:

获取模块10,用于获取目标cad矢量图;

接收模块11,用于接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,以供用户进行选择操作;

截图框生成模块12,用于根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,以将所述目标cad矢量图分割成多个相应的截图框区域;

切图生成模块13,用于根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。

优选地,所述切图模型包括截图框区域宽度与高度、切图框模板文件路径、切图框区域宽度与高度、缩放系数以及图框信息。

进一步地,所述截图框生成模块12包括:

遍历单元,用于遍历所述目标cad矢量图,以获取所述目标cad矢量图中所有的矢量元素的坐标点;

坐标点比较分析单元,用于对所有矢量元素的坐标点进行比较分析,以获取所述矢量元素坐标点中的x坐标及y坐标的最小、最大值:

切图区域生成单元,用于根据获取到的x坐标及y坐标的最小、最大值,得到所述目标cad矢量图的矢量图切图区域,并得到所述矢量图切图区域的宽度与高度;

计算单元,用于获取所述切图模型中截图框区域的高度与宽度,并根据所述矢量图切图区域的宽度与高度以及所述截图框区域的高度与宽度,得到所述矢量图切图区域中的截图框的列数与行数;

截图框生成单元,用于以所述矢量图切图区域的左上角坐标点、右上角坐标点、左下角坐标点或右下角坐标点为截图框生成起始点,并根据获取到的截图框的列数与行数以及截图框区域的高度与宽度在所述矢量图切图区域上依次生成所述截图框。

进一步地,所述切图生成模块13包括:

复制迁移单元,用于根据获取到的所述截图框将对应的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域;

切图生成单元,用于根据所述切图模型在每一个所述切图框区域上对应生成所述矢量图切图。

进一步地,所述复制迁移单元包括:

排序子单元,用于对每一个截图框进行排序;

缩放子单元,用于按照截图框的排序依次复制与截图框对应的截图框区域,并将复制的截图框区域按照所述切图模型中的缩放系数进行缩放;

复制迁移子单元,用于将缩放后的截图框区域复制迁移到相应的位置上,并根据所述切图模型中的切图框区域宽度与高度在每一个所述截图框区域的复制迁移位置上对应生成切图框区域。

进一步地,所述目标cad矢量图为管线施工cad矢量图,则所述排序子单元包括:

判断次级单元,用于遍历遍历每一个截图框,以判断每一个截图框内是否存在点元素;

比较分析次级单元,用于对存在点元素的每一个截图框内的所有点元素的位置进行比较分析,以获取每一个存在点元素的截图框内的为最小位置的点元素;其中,所述点元素的位置以数字编号的形式来进行表示;

排序次级单元,用于根据每一个存在点元素的截图框内的为最小位置的点元素的位置大小对每一个存在点元素的截图框进行排序,并将不存在点元素的截图框排至最后。

进一步地,所述复制迁移子单元包括:

获取次级单元,用于获取所述切图模型中的切图框区域宽度及高度;

第一判断次级单元,用于判断当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的高度之和与所述缩放系数的乘积是否小于所述切图框区域高度;

第一切图框区域生成单元,用于若是,则将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序上下设置在该切图框区域中,通知所述第一判断次级单元;

第二判断次级单元,用于若否,则判断当前的截图框区域和排序位于当前的截图框区域后面的截图框区域的宽度之和与所述缩放系数的乘积是否小于所述切图框区域宽度;

第二切图框区域生成单元,用于若是,则将当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域一起复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在该复制迁移位置上生成相应的切图框区域,使得当前的截图框区域以及排序位于当前的截图框区域后面的截图框区域按照截图框排序左右设置在该切图框区域中,通知所述第一判断次级单元;

第三切图框区域生成单元,用于若否,则将当前的截图框区域复制迁移到相应的位置上,并根据所述切图框区域宽度及高度在当前的截图框区域的复制迁移位置上相应生成切图框区域。

进一步地,所述切图生成单元包括:

切图框读取添加子单元,用于根据所述切图模型中的切图框模板文件路径读取预设的切图框,并在每一个切图框区域上对应添加所述切图框,以形成与所述截图框区域相对应的矢量图切图;

图框信息添加子单元,用于根据所述切图模型给每一幅矢量图切图添加图框信息;

序号标示子单元,用于根据与所述矢量图切图对应的截图框的排序对每一幅矢量图切图进行图框序号标示。

在本发明实施例中,所述获取模块10可以获取到目标cad矢量图,所述接收模块11可以接收用户输入的切图生成命令,并根据所述切图生成命令显示多个预设的用于对所述目标cad矢量图进行切图的切图模型,然后所述截图框生成模块12根据用户选择的切图模型在所述目标cad矢量图中生成与该切图模型相对应的多个截图框,最后所述切图生成模块13再根据所述切图模型以及获取到的所述截图框生成与所述截图框相对应的矢量图切图。由此可见,本发明实施例能够对cad矢量图进行自动切图,从而可以提高对cad矢量图的切图的效率,并且可以避免因为人为的误操作而影响到切图的质量,因此本发明也可以提高对cad矢量图的切图的质量。

在上述发明实施例中,优选地,所述cad矢量图自动切图装置还包括截图框删除模块,用于当判断出所述截图框所对应的截图框区域中不存在矢量元素时,将所述截图框删除。这样当在所述目标矢量图上生成截图框后,所述截图框删除模块可以判断所述截图框所对应的截图框区域中是否存在矢量元素,若否,述截图框删除模块会将不存在矢量元素的截图框删除,从而在后续步骤中无需生成与该不存在矢量元素的截图框对应的矢量图切图,进而在打印时可以避免打印出不存在矢量元素的矢量图切图图纸。

以上所揭露的仅为本发明一些较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1