CAD矢量图元素自动拆分方法、装置、设备及存储介质与流程

文档序号:15833514发布日期:2018-11-07 07:35阅读:412来源:国知局
CAD矢量图元素自动拆分方法、装置、设备及存储介质与流程

本发明涉及cad矢量图技术领域,尤其涉及一种cad矢量图元素自动拆分方法、装置、设备及存储介质。

背景技术

cad矢量图包括有各种元素(例如点、线段、曲线、多边形或文字等),目前,用户在对cad矢量图中的元素进行操作(例如删除操作、移动操作或缩放操作等)之前,需要通过框选的方式来选择对应的元素,然后才能对选中的元素进行相应的操作。

由于现有的cad矢量图中的单个元素一般是整体存在的,因此用户在框选时会选中整个元素,而不能对元素中的某一部分进行选择,这样不便于用户对元素进行局部操作;目前用户只能通过cad自带的拆分工具(裁剪工具或打断工具等)来对单个元素进行拆分,然后才能对该元素的进行局部选择。

本发明人在实施本发明的过程中发现,现有技术中存在以下技术问题:当用户需要对多个元素均进行局部选择时,用户就需要通过cad自带的拆分工具来逐一对这些元素进行人工拆分,这样对元素的拆分的操作会很繁琐,并且拆分的效率低下。



技术实现要素:

本发明实施例提供一种cad矢量图元素自动拆分方法、装置、设备及存储介质,能够提高对cad矢量图元素的拆分效率。

本发明一实施例提供一种cad矢量图元素自动拆分方法,包括以下步骤:

根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择;

根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作;

在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素;

在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成对应的且支持用户局部选择的拆分元素。

作为上述方案的改进,所述根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作步骤包括:

s110,当对用户已在所述cad矢量图中选定的元素开始进行遍历后,判断当前正在遍历的元素是否是最后一个;

s111,若是,则停止遍历,并根据用户选择的元素拆分模型,对所述元素执行拆分工作;

s112,若否,则根据用户选择的元素拆分模型,对所述元素执行拆分工作,并返回步骤s110。

作为上述方案的改进,所述元素拆分模型有以下两种:用于将所述元素以设定数量等分的定数等分模型、及用于将所述元素以设定距离逐段拆分的定距等分模型;

其中,所述定数等分模型包括定数值参数、元素类型排除参数及文字拆分长度参数;

所述定距等分模型包括定距值参数、元素类型排除参数及文字拆分长度参数。

作为上述方案的改进,所述根据用户选择的元素拆分模型,对所述元素执行拆分工作步骤包括:

根据用户选择的元素拆分模型,检测所述元素是否为排除类型;

若是,则不对所述元素进行拆分并返回步骤s110;

若否,对所述元素进行元素类型分析,并根据元素类型分析结果及所述元素拆分模型,对各个分析后的元素进行拆分;其中,所述元素类型包括单线段类型、多线段类型、曲线类型、文字类型及块类型。

作为上述方案的改进,若所述元素分析为多线段类型,则所述根据元素类型分析结果及所述元素拆分模型,对各个分析后的元素进行拆分具体为:

以所述元素的各个线段之间的连接点作为拆分点,来将所述元素拆分为多个线段,以作为分析后的元素;

根据所述元素拆分模型,对各个分析后的元素进行拆分。

作为上述方案的改进,若所述元素分析为块类型,则所述根据元素类型分析结果及所述元素拆分模型,对各个分析后的元素进行拆分具体为:

获取所述元素内的各个基础元素;所述基础元素包括单线段类型、多线段类型、曲线类型及文字类型;

分析各个的所述基础元素是否为多线段类型的元素;

若否,则根据所述元素拆分模型,对各个分析后的元素进行拆分;

若是,则以所述基础元素的各个线段之间的连接点作为拆分点,来将所述基础元素拆分为多个线段,以作为分析后的元素,并根据所述元素拆分模型,对各个分析后的元素进行拆分。

作为上述方案的改进,若所述元素为线段,则所述对各个分析后的元素进行拆分具体为:

获取分析后的元素的首尾两端的坐标点,以得到所述元素的长度数值;

获取所述元素拆分模型中的拆分参数,并根据所述拆分参数及所述元素的长度数值,来获取所述元素的拆分数量;其中,所述拆分参数为定数值参数或定距值参数;

根据所述元素的拆分数量得到所述元素的拆分点数量,并获取所述元素的各个拆分点的坐标;

将所述元素的各个拆分点的坐标作为所述元素的拆分结果。

本发明另一实施例对应提供了cad矢量图元素自动拆分装置,包括:

拆分模型显示模块,用于根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择;

拆分模块,用于根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作;

删除模块,用于在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素;

重绘模块,用于在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成支持用户局部选择的拆分元素。

本发明另一实施例提供了一种cad矢量图元素自动拆分设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的cad矢量图元素自动拆分方法。

本发明另一实施例提供了一种存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述发明实施例所述的cad矢量图元素自动拆分方法。

本发明实施例提供的所述cad矢量图元素自动拆分方法、装置、设备及存储介质,首先通过根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择;接着,根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作;然后,在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素;最后,在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成对应的且支持用户局部选择的拆分元素。由上分析可知,本发明实施例能够根据用户选择的元素拆分模型来自动对用户选定的cad矢量图元素进行拆分,无需用户通过手动操作来逐一拆分cad矢量图元素,因此能够提高对cad矢量图元素的拆分效率。

附图说明

图1是本发明一实施例提供的一种cad矢量图元素自动拆分方法的流程示意图;

图2是本发明一实施例提供的一种cad矢量图元素自动拆分装置的结构示意图。

具体实施方式

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

参见图1,本发明一实施例提供一种cad矢量图元素自动拆分方法,包括步骤s10至步骤s13:

s10,根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择。

具体地,当用户在终端设备上(例如笔记本电脑或台式电脑等)用cad软件打开cad矢量图时,若用户需要对cad矢量图的元素(例如点、线段、曲线、多边形或文字等)进行拆分,用户可以在该终端设备输入元素拆分命令,具体地,可以通过终端设备的键盘输入“divelements”命令并回车确认,或者通过鼠标或触摸屏点击终端设备的显示屏上显示出来的拆分按钮等,在此不做具体限定。当该终端设备的系统接收到所述元素拆分命令后,会显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择。

其中,优选地,所述元素拆分模型有以下两种:一种是用于将所述元素以设定数量等分的定数等分模型,其中,所述定数等分模型包括定数值参数、元素类型排除参数及文字拆分长度参数;另一种是用于将所述元素以设定距离逐段拆分的定距等分模型,其中,所述定距等分模型包括定距值参数、元素类型排除参数及文字拆分长度参数。

s11,根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作。

示例性地,所述步骤s11具体包括步骤s110至步骤s112:

s110,当对用户已在所述cad矢量图中选定的元素开始进行遍历后,判断当前正在遍历的元素是否是最后一个。

具体地,遍历的规则可以从左到右且从下到上,当然也可以为从右到左且从下到上等,在此不做具体限定。

s111,若是,则停止遍历,并根据用户选择的元素拆分模型,对所述元素执行拆分工作。

其中,当判断出当前正在遍历的元素为用户选定的元素中的最后一个元素,那么停止遍历,并根据用户选择的所述元素拆分模型,对所述元素执行拆分工作。

s112,若否,则根据用户选择的元素拆分模型,对所述元素执行拆分工作,并返回步骤s110。

更具体地,所述根据用户选择的元素拆分模型,对所述元素执行拆分工作的具体过程包括步骤s1100至步骤s1102:

s1100,根据用户选择的元素拆分模型,检测所述元素是否为排除类型。

s1101,若是,则不对所述元素进行拆分并返回步骤s110。

s1102,若否,对所述元素进行元素类型分析,并根据元素类型分析结果及所述元素拆分模型,对各个分析后的元素进行拆分;其中,所述元素类型包括单线段类型、多线段类型、曲线类型、文字类型及块类型。

下面,针对所述元素的各种元素类型,对元素的拆分过程进行以下更详细说明:

(1)所述元素分析为多线段类型:则所述根据元素类型分析结果及所述元素拆分模型,对各个分析后的元素进行拆分,具体包括步骤s11020至步骤s11021:

s11020,以所述元素的各个线段之间的连接点作为拆分点,来将所述元素拆分为多个线段,以作为分析后的元素。

由于多线段是由多个单线段依次连接而成的,因此,当所述元素为多线段类型时,可以以所述元素的各个单线段之间的连接点作为拆分点,来将所述元素拆分为多个单线段,以作为分析后的元素。

s11021,根据所述元素拆分模型,对各个分析后的元素进行拆分。

具体地,当所述元素拆分模型为上述的定数等分模型时,那么当获取到各个分析后的单线段后,根据定数等分模型对各个单线段进行拆分。例如,假设定数等分模型中的定数值参数为5,那么就将所述多线段元素中的各个单线段均等分成5份。而当所述元素拆分模型为上述的定距等分模型时,那么当获取到各个分析后的单线段后,根据定距等分模型对各个单线段进行拆分。例如,假设定数等分模型中的定距值参数为5mm,那么就将所述多线段元素中的各个单线段均以5mm为设定距离来进行逐段拆分,又例如:若某个单线段长度为21mm,则以该单线段的某一个端点为起点,以5mm为拆分距离来进行逐段拆分,最终,该单线段会分成以下五段:(0,5)、(5,10)、(10,15)、(15,20)、(20,21)。

(2)所述元素分析为块类型:则所述根据元素类型分析结果及所述元素拆分模型,对各个分析后的元素进行拆分,具体包括步骤s11022至步骤s11025:

s11022,获取所述元素内的各个基础元素。

其中,块类型的元素由单线段、多线段、曲线或文字等内容组成,因此当所述元素分析为块类型时,获取所述元素内的各个基础元素;所述基础元素包括单线段类型、多线段类型、曲线类型及文字类型。

s11023,分析各个的所述基础元素是否为多线段类型的元素。

s11024,若否,则根据所述元素拆分模型,对各个分析后的元素进行拆分。

s11025,若是,则以所述基础元素的各个线段之间的连接点作为拆分点,来将所述基础元素拆分为多个线段,以作为分析后的元素,并根据所述元素拆分模型,对各个分析后的元素进行拆分。

(3)所述元素为单线段类型:在上述的各个实施例中,当所述元素为线段时,则所述对各个分析后的元素进行拆分的过程,具体包括步骤s11026至s11029:

s11026,获取分析后的元素的首尾两端的坐标点,以得到所述元素的长度数值distance。

假设单线段为a(x1,y1)b(x2,y2),则distance=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));其中,sqrt为平方根函数。

s11027,获取所述元素拆分模型中的拆分参数,并根据所述拆分参数及所述元素的长度数值,来获取所述元素的拆分数量。

具体地,当所述元素拆分模型为上述的定数等分模型时,获取所述定数等分模型中的定数值参数,并根据所述定数值参数及所述元素的长度数值,来获取所述元素的拆分数量。例如,当所述单线段的长度为20mm时,且定数值参数为5,则该单线段元素的拆分数量为5,且每段长4mm。而当所述元素拆分模型为上述的定距等分模型时,获取所述定距等分模型中的定距值参数,并根据所述定距值参数及所述元素的长度数值,来获取所述元素的拆分数量。例如,当所述单线段的长度为21mm时,且定数值参数为5,则该单线段元素的拆分数量为:n=5。

s11028,根据所述元素的拆分数量得到所述元素的拆分点数量,并获取所述元素的各个拆分点的坐标。

例如,当为单线段的所述元素的长度为20mm,所述元素拆分模型为上述的定数等分模型,定数值参数为5,则拆分数量为5,而拆分点的数量为4,若该单线段为水平单线段,则其中这四个拆分点的坐标从左到右分别为:(4,0)、(8,0)、(12,0)、(16,0)。

s11029,将所述元素的各个拆分点的坐标作为所述元素的拆分结果。

即,将得到的各个拆分点的坐标作为该元素的拆分坐标。

(4)所述元素为文字类型:在上述的各个实施例中,当所述元素为文字类型,则所述对各个分析后的元素进行拆分的过程,具体为:

根据所述元素拆分模型中的文字拆分长度参数对文字进行拆分。具体地,2个中文文字为一个拆分单位,1个英文字母为一个拆分单位,当文字拆分长度参数为1时,1个中文字将作为一个整体不被拆分。

示例性地:假设文字拆分长度参数为1时,拆分为

而文字拆分长度参数为2时,则拆分为

(5)所述元素为曲线类型(例如圆、椭圆或弧线等):在上述的各个实施例中,当所述元素为曲线类型时,则所述对各个分析后的元素进行拆分的过程,具体为:

根据所述元素拆分模型来调用cad软件中的对应的拆分插件,具体地:当所述元素拆分模型为定数拆分模型时,则调用cad软件中的等数等分divide工具对元素进行拆分;如果拆分类型为等数等分,则调用cad软件中的等距等分measure工具对元素进行拆分。拆分后返回各个拆分点pointlist。

遍历所有的拆分点pointlist,分别调用cad软件中的打断break工具对各个拆分点进行打断,从而实现了对元素的拆分。

s12,在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素。

s13,在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成对应的且支持用户局部选择的拆分元素。

其中,当得到拆分元素后,可以自动保存所述cad矢量图。

在本发明实施例中,首先通过根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择;接着,根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作;然后,在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素;最后,在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成对应的且支持用户局部选择的拆分元素。由上分析可知,本发明实施例能够根据用户选择的元素拆分模型来自动对用户选定的cad矢量图元素进行拆分,无需用户通过手动操作来逐一拆分cad矢量图元素,因此能够提高对cad矢量图元素的拆分效率。

参见图2,本发明另一实施例对应提供了cad矢量图元素自动拆分装置,包括:

拆分模型显示模块10,用于根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择;

拆分模块11,用于根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作;

删除模块12,用于在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素;

重绘模块13,用于在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成支持用户局部选择的拆分元素。

在本发明实施例中,首先,通过拆分模型显示模块10根据接收到的用户输入的元素拆分命令,显示多种预设的用于对已打开的cad矢量图的元素进行拆分的元素拆分模型,以供用户选择;接着,通过拆分模块11根据用户选择的元素拆分模型,对用户已在所述cad矢量图中选定的元素执行拆分工作;然后,通过删除模块12在对所述元素拆分后,在所述cad矢量图中删除原有的所述元素;最后,通过重绘模块13在所述cad矢量图中的原有的所述元素的原来的位置,根据拆分结果重绘所述元素并在显示屏上显示重绘后的所述元素,以形成对应的且支持用户局部选择的拆分元素。由上分析可知,本发明实施例能够根据用户选择的元素拆分模型来自动对用户选定的cad矢量图元素进行拆分,无需用户通过手动操作来逐一拆分cad矢量图元素,因此能够提高对cad矢量图元素的拆分效率。

本发明另一实施例提供了一种cad矢量图元素自动拆分设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的cad矢量图元素自动拆分方法。所述处理器执行所述计算机程序时实现上述各个cad矢量图元素自动拆分方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述cad矢量图元素自动拆分设备中的执行过程。

所述cad矢量图元素自动拆分设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述**装置/终端设备的控制中心,利用各种接口和线路连接整个cad矢量图元素自动拆分设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述cad矢量图元素自动拆分设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述cad矢量图元素自动拆分设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

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