CN110321405A - 模型匹配方法、装置、计算机可读存储介质和计算机设备 - Google Patents
模型匹配方法、装置、计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110321405A CN110321405A CN201910377452.4A CN201910377452A CN110321405A CN 110321405 A CN110321405 A CN 110321405A CN 201910377452 A CN201910377452 A CN 201910377452A CN 110321405 A CN110321405 A CN 110321405A
- Authority
- CN
- China
- Prior art keywords
- planar element
- model
- planar
- type
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种模型匹配方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取设计文件中的平面元素及对应的平面元素信息;对平面元素进行组合,得到平面元素集合;根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型。本申请提供的方案能得到整个设计文件中所包含的通用的设计模型。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型匹配方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的发展,平面设计已经不限于手绘的样式,而出现了电子设计稿。传统的软件只能判断各个平面设计的设计稿中包含的各个平面元素。因此,传统的方式不能从设计文件中得到通用的设计模型。
发明内容
基于此,有必要针对传统的方式不能从设计文件中得到通用的设计模型的技术问题,提供一种模型匹配方法、装置、计算机可读存储介质和计算机设备。
一种模型匹配方法,包括:获取设计文件中的平面元素及对应的平面元素信息;对平面元素进行组合,得到平面元素集合;根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型。
一种模型匹配装置,包括:获取模块,用于获取设计文件中的平面元素对应的平面元素信息;组合模块,用于对平面元素进行组合,得到平面元素集合;匹配模块,用于根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型;匹配模块,还用于当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:获取设计文件中的平面元素及对应的平面元素信息;对平面元素进行组合,得到平面元素集合;根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:获取设计文件中的平面元素及对应的平面元素信息;对平面元素进行组合,得到平面元素集合;根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型。
上述模型匹配方法、装置、计算机可读存储介质和计算机设备,获取设计文件中的平面元素及对应的平面元素信息,对平面元素进行组合,得到平面元素集合,根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型,能够避免平面元素的遗漏;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型,能得到整个设计文件中所包含的通用的设计模型,且上述模型匹配方法适用于所有设计文件,具有通用性。
附图说明
图1为一个实施例中模型匹配方法的流程示意图;
图2为一个实施例中得到平面元素集合对应的设计模型的流程示意图;
图3为一个实施例中元素模型的属性的界面示意图;
图4为一个实施例中一个实施例中平面元素不相同但仍然属于同一组件模型的界面示意图;
图5为一个实施例中空间关系的维度示意图;
图6为一个实施例中设计模型库中的元素模型的界面示意图;
图7为设计模型库中的组件模型的界面示意图;
图8为一个实施例中模型匹配方法的界面流程示意图;
图9为一个实施例中将设计文件分为不同区域的界面示意图;
图10为一个实施例中当区域的边界在平面元素所处位置范围内的界面示意图;
图11为另一个实施例中模型匹配方法的流程示意图;
图12为一个实施例中模型匹配装置的结构框图;
图13为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,模型匹配方法可应用于终端。终端具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。终端可基于各种操作系统,比如,Windows操作系统、Linux操作系统或者Android操作系统等。模型匹配程序可应用于终端中。
在一个实施例中,如图2所示,提供了一种模型匹配方法。本实施例主要以该方法应用于终端来举例说明。参照图2,该模型匹配方法具体包括:
步骤102,获取设计文件中的平面元素及对应的平面元素信息。
其中,设计文件是指通过设计软件生成的平面设计文件。例如设计文件可以是界面设计文件。平面元素是指从设计文件中获取的图元或文本等。平面元素对应的平面元素信息是指图元或文本等平面元素包含的信息。例如平面元素信息包括平面元素的数量、平面元素的类型、平面元素的坐标、平面元素之间的空间关系中的至少一种。
具体地,当接收到模型匹配指令时,模型匹配程序获取设计文件,并从设计文件中获取所有平面元素以及平面元素对应的平面元素信息。
步骤104,对平面元素进行组合,得到平面元素集合。
具体地,平面元素集合中包含平面元素以及平面元素对应的平面元素信息。模型匹配程序可对平面元素进行随机组合,则得到平面元素集合。其中,每个平面元素集合中包含的平面元素不完全一致。例如,平面元素组合1包含的平面元素为a、b和c,平面元素组合2包含的平面元素为a、b和d等不限于此。
本实施例中,模型匹配程序获取平面元素信息中的平面元素的总数量。其中,平面元素的总数量可以是原设计文件中包含的平面元素的总数量,也可以是除已匹配的平面元素之外的平面元素的总数量。模型匹配程序根据平面元素的总数量以及预设平面元素数量,对平面元素进行随机组合,则得到平面元素组合。例如,平面元素总数量为32个,预设平面元素数量为3个,那么模型匹配程序从32个平面元素中任取3个平面元素进行组合,则根据组合公式能得到4960个平面元素集合。
本实施例中,模型匹配程序可根据平面元素的总数量以及预设平面元素的类型以及该类型对应的平面元素数量对平面元素进行组合,得到平面元素集合。
步骤106,根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型。
其中,设计模型是指由平面元素组成的具有特定视觉特征的设计排列。设计模型库用于存储设计模型。
具体地,模型匹配程序可根据平面元素的类型以及平面元素之间的空间关系,将平面元素集合与设计模型库中的设计模型匹配。当满足设计模型的匹配条件时,则模型匹配程序确定该平面元素组合与设计模型库中的设计模型匹配成功。其中,设计模型的匹配条件例如类型为图标的平面元素在类型为文本的平面元素的左边,且两个平面元素之间的距离小于或等于预设距离等。每个设计模型具有不同的匹配条件。
本实施例中,模型匹配程序可按照预设优先级顺序,根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配。例如设计模型分为一元素模型、二元素模型和三元素模型,则模型匹配程序先将三个平面元素组成的平面元素集合与三元素模型进行匹配。当匹配成功后,模型匹配程序从设计文件中剩余的平面元素中任取两个平面元素进行组合,得到包含两个平面元素的平面元素集合,将该平面元素集合与二元素模型匹配。当设计文件中还存在无法匹配的平面元素时,模型匹配程序将剩余的平面元素与一元素模型进行匹配,得到该平面元素对应的设计模型。
步骤108,当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型。
具体地,当设计文件中的平面元素均与设计模型库中的某一设计模型匹配成功时,得到设计文件中所包含的所有设计模型。
上述模型匹配方法,获取设计文件中的平面元素及对应的平面元素信息,对平面元素进行组合,得到平面元素集合,根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型,能够避免平面元素的遗漏;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型,能得到整个设计文件中所包含的通用的设计模型,且上述模型匹配方法适用于所有设计文件,具有通用性,并可生成可循环的结构,提高模型匹配的处理效率。
在一个实施例中,如图2所示,为一个实施例中得到平面元素集合对应的设计模型的流程示意图。根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型,包括:
步骤202,根据平面元素信息处理得到平面元素集合对应的元素模型。
其中,设计模型包括元素模型和组件模型。元素模型是指各平面元素所组合成的模型,或者某一平面元素可单独为一种元素模型。组件模型是元素模型组合而成的模型。
具体地,模型匹配程序根据平面元素信息查找到平面元素集合对应的元素模型。
本实施例中,模型匹配程序可根据平面元素集合中包含的平面元素的类型,以及平面元素的类型对应的数量,查找到平面元素集合对应的元素模型。例如,平面元素集合中包含了1个文本类型的平面元素和1个图标类型的平面元素,则模型匹配程序查找到该平面元素集合对应的元素模型为:包含1个文本类型的平面元素和1个图标类型的平面元素的元素模型。
步骤204,对平面元素集合对应的元素模型进行组合,得到元素模型集合。
其中,模型匹配程序对平面元素集合对应的元素模型进行随机组合,得到至少两个元素模型集合。其中,每个元素模型集合中包含的元素模型不完全一致。例如,元素模型集合1包含的元素模型为A、B和C,元素模型集合2包含的元素模型为A、B和D等不限于此。
步骤206,获取元素模型集合中各元素模型之间的空间关系。
具体地,模型匹配程序可根据元素模型对应的坐标,获取至少两个元素模型集合中各元素模型之间的空间关系。其中,元素模型对应的坐标可以是元素模型左上角的坐标但不限于此。
步骤208,根据元素模型集合中各元素模型之间的空间关系,将元素模型集合与设计模型库中的组件模型匹配,得到平面元素集合对应的组件模型。
具体地,根据至少两个元素模型集合中各元素模型之间的空间关系,将元素模型集合与设计模型库中的组件模型匹配,当匹配成功时,得到该平面元素集合对应的组件模型。其中,各元素模型之间的空间关系例如可以是元素模型A位于元素模型B的左边,A与B之间的距离、A位于B内、A和B位于同一水平线等不限于此。
上述模型匹配方法,根据平面元素信息处理得到平面元素集合对应的元素模型,对平面元素集合对应的元素模型进行组合,得到元素模型集合,获取元素模型集合中各元素模型之间的空间关系,根据元素模型集合中各元素模型之间的空间关系,将元素模型集合与设计模型库中的组件模型匹配,得到平面元素集合对应的组件模型,能够得到通用的设计模型,能更精确地得到设计文件中的信息,并且减少含有多平面元素的设计模型的匹配次数,降低计算量以及系统占用率,提高模型匹配效率。
在一个实施例中,该模型匹配方法还包括:获取平面元素集合对应的元素模型的属性;根据元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配,包括:根据元素模型的属性以及元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配。
其中,元素模型的属性可以是文本属性、图标属性、图片属性或图形属性。如图3所示,为一个实施例中元素模型的属性的界面示意图。在平面设计中,例如1个图形元素和1个文本元素组成的元素模型可划分为文本属性的元素模型。1个图标元素等元素模型可划分为图标属性的元素模型。1张图片等元素模型可划分为图片属性的元素模型。
具体地,模型匹配程序可根据每个平面元素集合中包括的平面元素的类型,获取平面元素集合对应的元素模型的属性。模型匹配程序根据元素模型的属性以及元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配。其中,每个组件模型具有对应的匹配逻辑。
本实施例中,如图4所示,为一个实施例中平面元素不相同但仍然属于同一组件模型的界面示意图。一篇文章对应的平面元素组合中包含的平面元素的类型为图片+图标+文本+文本,另一篇文章对应的平面元素组合中包含的平面元素类型为图片+文本+文本。当对一篇文章对应的平面元素组合进行元素模型匹配时,将NO.1与一篇文章归为一个元素模型中,且NO.1与一篇文章对应的元素模型的属性为文本。则一篇文章对应的平面元素组合与另一篇文章对应的平面元素组合所对应的组件模型相同,均为左图片,右上和右下为文本。
上述模型匹配方法,获取平面元素集合对应的元素模型的属性,根据元素模型的属性以及元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配,能将相似度较高的平面元素集合划分为同一属性,对平面元素集合进行语义化的分析,并根据属性与组件模型匹配,能降低元素模型组合与组件模型匹配时的计算量,提高模型匹配效率。
在一个实施例中,例如,若模型匹配程序需要从包含32个平面元素的设计文件中得到一个含有7个平面元素的组件模型,那么有336万多种平面元素集合。而通过先得到元素模型,再得到组件模型的形式,例如,先得到元素模型,则可以是从32个中任取3个进行组合匹配,再从剩下的29个中任取4个进行组合匹配,得到设计文件中包含的所有元素模型后,例如元素模型有9个,那么则是从中获取元素模型进行匹配,能大大降低计算机的运算量,提高模型匹配效率。
在一个实施例中,如图5所示,为一个实施例中空间关系的维度示意图。本申请实施例中的空间关系包括但不限于图5所示的4种空间关系:方位、距离、位置和水平线。其中A和B可以均为平面元素,也可以均为平面元素组合对应的元素模型。模型匹配程序可通过平面元素的坐标,或者元素模型的坐标确定A和B之间的空间关系。平面元素的坐标可为(w,h,x,y),其中w可为平面元素对应的宽度,h可为平面元素对应的高度。例如,当平面元素A的x坐标小于平面元素B的x坐标,则A位于B的左侧。当A位于B的左侧,那A和B之间的距离为x(B)–(x(A)+w(A))。当A位于B中时,有x(A)>x(B)且x(A)>y(B)且x(A)+w(A)>x(B)+w(B)且y(A)+h(A)<y(B)+h(B)。当A和B在同一水平线时,y(A)+h(A)>y(B)且y(B)+h(B)<y(A)。
在一个实施例中,如图6所示,为一个实施例中设计模型库中的元素模型的界面示意图。本申请实施例中的元素模型包括但不限于图6中所示的元素模型。其中,第一列为元素模型标识,例如EM1-M1、EM1-M2…等。第二列为元素模型对应的平面元素的类型以及对应的平面元素的数量,例如EM2-M1包含的平面元素的类型及对应的数量为1个图标和1个文本。第三列为元素模型中各平面元素之间的空间关系,但不限于此。例如满足左边为图标,右边为文本,且图标和文本在同一水平线,且图标和文本之间的距离小于预设距离等的平面元素组合,才能与EM2-M1元素模型匹配成功。第四列为与元素模型匹配成功的平面元素集合的界面示意图。根据平面元素对应的像素,模型匹配程序获取平面元素集合对应的平面元素的类型。例如EM2-M1中的平面元素为左图标和右文本的平面元素,那么“看一看”这个标签的像素大于预设像素,确定“看一看”标签对应的类型为图标。而EM3-M1对应的平面元素集合中的“看一看”为图形和文本的组合,所以“看一看”标签对应的类型为图标和文本。以EM2-M1对应的元素模型和EM2-M2对应的元素为例,匹配成功的平面元素集合中的平面元素类型及对应的数量相同,然而文本和图标之间的空间关系不相同,EM2-M1对应的设计代码和EM2-M2对应的设计代码也不相同。
在一个实施例中,如图7所示,为一个实施例中设计模型库中的组件模型的界面示意图。本申请实施例中的组件模型包括但不限于图7中所示的组件模型。其中,第一列为组件模型标识,例如WG2-M1、WG2-M2…等。第二列为组件模型对应的元素模型的属性以及对应的元素模型的数量,例如WG2-M1包含的元素模型及对应的数量为1图标属性和1文本属性。第三列为元素模型中各平面元素之间的空间关系,但不限于此。例如满足左边为图标属性,右边为文本属性,且图标属性的元素模型和文本属性的元素模型在同一水平线,且图标属性的元素模型和文本属性的元素模型之间的距离小于预设距离等的平面元素集合,能与WG2-M1元素模型匹配成功。第四列为与组件模型匹配成功的元素模型集合的界面示意图。
在一个实施例中,平面元素信息包括预设平面元素的类型和预设平面元素的类型对应的平面元素之间的空间关系。根据平面元素信息处理得到平面元素集合对应的元素模型,包括:
根据预设平面元素的类型、预设平面类型对应的平面元素的数量和预设平面元素的类型对应的平面元素之间的空间关系与设计模型库中的元素模型匹配,得到平面元素集合对应的元素模型。
其中,预设平面元素的类型是指模型匹配程序中已设定的平面元素的类型。
具体地,模型匹配程序对平面元素进行随机组合,得到平面元素集合。模型匹配程序根据预设平面元素的类型和预设平面元素的类型对应的平面元素的数量,获取对应的平面元素集合,根据平面元素集合中预设平面元素的类型对应的平面元素之间的空间关系与设计模型库中的元素模型匹配。当预设平面元素的类型、预设平面类型对应的平面元素的数量以及与预设平面元素的类型对应的平面元素之间的空间关系满足设计模型库中某一元素模型的所有条件时,得到平面元素集合对应的元素模型。
例如,平面元素组合中的预设平面元素的类型为图标和文本,预设平面元素的类型对应的平面元素的数量为图标元素1个,文本元素1个,模型匹配程序根据图标元素1个和文本元素1个,在图6所示的元素模型库中查找到EM2-M1和EM2-M2对应的元素模型。模型匹配程序再根据图标元素和文本元素之间的空间关系,得到该平面元素组合对应的元素模型。
上述模型匹配方法,根据预设平面元素的类型、预设平面类型对应的平面元素的数量和预设平面元素的类型对应的平面元素之间的位置关系空间关系与设计模型库中的元素模型匹配,得到平面元素集合对应的元素模型,能够得到通用的设计模型,并使匹配的元素模型更加精确,并且减少含有多平面元素的设计模型的匹配次数,降低计算量以及系统占用率,提高模型匹配效率。
在一个实施例中,如图8所示,为一个实施例中模型匹配方法的界面流程示意图。模型匹配程序获取设计文件,从设计文件中获取平面元素以及对应的平面元素信息,该平面元素信息包括平面元素类型。模型匹配程序按照匹配优先级将平面元素集合与元素模型进行匹配。例如,模型匹配程序按照1个图标、2个文本的类型从设计文件的平面元素中获取对应的平面元素,并对该平面元素进行组合,得到第一平面元素集合。模型匹配程序将第一平面元素集合与三元素模型中的EM3-M3进行匹配,当所有第一平面元素集合与EM3-M3匹配完成时,得到第一平面元素集合对应的EM3-M3模型。当匹配成功时,模型匹配程序可移除匹配成功的平面元素,再将剩余的平面元素集合与EM3-M4模型匹配,其中,剩余的平面元素集合中不包含匹配成功的平面元素。当与EM3-M4匹配完毕时,按照1个图标、2个文本的类型从剩余的平面元素中获取对应的平面元素进行组合。当平面元素组合与三元素模型中的平面元素匹配完毕后,与二元素模型进行匹配。以图6中的EM2-M1为例,EM2-M1对应的是1个图标和1个文本的平面元素组合。则模型匹配程序按照1个图标和1个文本的类型以及数量,从设计文件中任取1个图标和1个文本进行组合,得到平面元素集合,再与EM2-M1进行匹配。当与二元素模型匹配完毕后,与一元素模型进行匹配。
当平面元素均与元素模型匹配成功后,模型匹配程序按照预设平面元素的类型以及平面元素的类型对应的平面元素的数量,对元素模型进行组合,并按照组件模型的优先级与设计文件库中的组件模型进行匹配,得到设计文件对应的设计模型。例如先与包含四个元素模型的组件模型进行匹配,再与包含三个元素模型的组件模型进行匹配,再与包含2个元素模型的组件模型进行匹配,得到设计文件中的设计模型。其中,设计模型可包括组件模型和元素模型。
在一个实施例中,平面元素信息包括平面元素的类型、平面元素的坐标和平面元素的距离。对平面元素进行组合,得到平面元素集合,包括:
步骤(a1),按照预设平面元素的类型获取处于同一水平线的平面元素。
其中,预设平面元素的类型可以包括文本类型,还可以包括图标类型和图形类型等。
具体地,模型匹配程序获取设计文件中的预设平面元素的类型对应的平面元素。然后,模型匹配程序获取预设平面元素的类型获取对应的平面元素的坐标,根据平面元素的坐标获取处于同一水平线的平面元素。例如,平面元素a对应的坐标为(wa,ha,xa,ya),平面元素b对应的坐标为(wb,hb,xb,yb),那么当ya+ha大于yb且yb+hb大于ya时,平面元素a和平面元素b在同一水平线上。
步骤(a2),对处于同一水平线的平面元素进行组合,得到平面元素集合。
具体地,包括预设平面元素的类型且处于同一水平线的平面元素可以存在多个。模型匹配程序对同一水平线的平面元素进行组合,得到平面元素组合。例如第一水平线上的平面元素作为一个平面元素集合,第二水平线上的平面元素作为一个平面元素集合。
步骤(a3),根据平面元素的坐标将平面元素集合中的平面元素进行排列,当平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到平面元素组合对应的元素模型,其中,第一预设条件为平面元素之间的距离小于或等于预设距离,第二预设条件为满足第一预设条件的平面元素的数量大于或等于预设数量。
其中,平面元素的坐标可以是(宽,高,x,y)这四个维度。当平面元素的类型为文本时,该平面元素还可以包括字体、颜色等坐标信息。预设距离的单位可为像素,例如10个像素、20个像素或者30个像素等不限于此。
具体地,模型匹配程序根据平面元素的坐标中的x按照从小到大的顺序,将平面元素集合中的平面元素进行排列。模型匹配程序检测平面元素组合中排列后的平面元素之间的距离,当平面元素之间的距离小于或等于预设距离,且平面元素之间的距离小于或等于预设距离的平面元素的数量大于或等于预设数量时,得到该平面元素组合对应的元素模型。其中,该元素模型可以为可变元素模型。例如,模型匹配程序获取平面元素组合为文本+图标+图标或者文本+图标+图标+图标对应的元素模型为可变元素模型。可变元素模型的优先级大于三元素模型、二元素模型和一元素模型。
本实施例中,在根据平面元素的坐标将平面元素集合中的平面元素进行排列,当平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到平面元素组合对应的元素模型之后,该模型匹配方法还包括:根据预设平面元素的类型、预设平面类型对应的平面元素的数量和预设平面元素的类型对应的平面元素之间的空间关系,与设计模型库中的元素模型匹配,得到平面元素集合对应的元素模型。
上述模型匹配方法,按照预设平面元素的类型获取处于同一水平线的平面元素,对处于同一水平线的平面元素进行组合,得到平面元素集合,根据平面元素的坐标将平面元素集合中的平面元素进行排列,当平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到平面元素组合对应的元素模型,其中,第一预设条件为平面元素之间的距离小于或等于预设距离,第二预设条件为满足第一预设条件的平面元素的数量大于或等于预设数量,则可以得到平面元素数量不限的元素模型,且设计模型库中不需要再增加特定的元素模型。
在一个实施例中,平面元素信息包括平面元素的类型、所述平面元素的类型对应的数量以及所述平面元素的类型以及所述平面元素的类型对应的平面元素之间的空间关系;根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,包括:根据平面元素集合中平面元素的类型、所述平面元素的类型对应的数量以及所述平面元素的类型对应的平面元素之间的空间关系,将平面元素集合与设计模型库中的设计模型匹配。
其中,平面元素的类型可以是图片、图形、图标和文本中的至少一种。
具体地,模型匹配程序获取平面元素组合中的平面元素的类型以及对应的数量、平面元素之间的空间关系。例如平面元素组合中有3个平面元素,包括2种平面元素的类型,例如1个图标对应的平面元素和2个文本对应的平面元素。模型匹配程序再根据平面元素集合中平面元素的类型以及对应的数量、平面元素的类型对应的平面元素之间的空间关系,将平面元素集合与设计模型库中的设计模型匹配。例如平面元素类型对应的平面元素之间的空间关系为文字对应的平面元素在图标对应的平面元素之中,另一个文字对应的平面元素在图标对应的平面元素的右边等。
本实施例中,获取平面元素集合中平面元素的类型,包括:获取平面元素组合中的平面元素对应的像素;根据平面元素对应的像素得到平面元素组合中包含的平面元素类型。
具体地,模型匹配程序获取平面元素组合中的平面元素对应的像素,根据平面元素对应的像素得到平面元素组合中包含的平面元素类型。例如文本平面元素的像素为小于44像素但不限于此。当某一平面元素的长度和宽度都小于或等于100像素但不限于此,模型匹配程序将该平面元素分类为图标类型。当某一平面元素的长度和宽度等都大于100像素时,模型匹配程序将该平面元素分类为图片类型。当某一平面元素可直接通过程序语言生成,例如一个圆或者一个矩形等,则模型匹配程序将该平面元素分类为图形类型。
上述模型匹配方法,根据平面元素集合中平面元素的类型、数量以及空间关系,将平面元素集合与设计模型库中的设计模型匹配,能基于设计文件得到通用的设计模型,并可生成可循环的结构,提高模型匹配的处理效率。
在一个实施例中,对平面元素进行组合,得到平面元素集合,包括:按照预设平面元素的类型以及每个平面元素的类型对应的平面元素数量对平面元素进行组合,得到平面元素集合;
根据平面元素集合中平面元素的类型、平面元素的类型对应的数量,以及平面元素的类型对应的平面元素之间的空间关系,将平面元素集合与设计模型库中的设计模型匹配,包括:根据平面元素集合中预设平面元素的类型、预设平面元素的类型对应的数量,以及预设平面元素的类型对应的平面元素之间的空间关系,将平面元素集合与设计模型库中的组件模型匹配。
具体地,模型匹配程序按照预设平面元素的类型,以及每个平面元素的类型对应的平面元素数量对平面元素进行组合,得到平面元素集合。例如,设计文件中的平面元素总数量有32个,其中,文本类型的平面元素、图标类型的平面元素、图片类型的平面元素和图形类型的平面元素各有8个。预设平面元素的类型为图标和文本,预设平面元素的类型对应的平面元素的数量为图标类型1个平面元素,文本类型2个平面元素。根据排列组合公式,模型匹配程序得到224个平面元素组合。
模型匹配程序根据平面元素集合中预设平面元素的类型以及对应的平面元素的数量,从设计模型库中查找到预设平面元素的类型及数量对应的设计模型。模型匹配程序再根据对应的平面元素之间的空间关系,将平面元素集合与预设平面元素的类型对应的设计模型匹配,得到平面元素集合对应的设计模型。
上述模型匹配方法,按照预设平面元素的类型以及每个平面元素的类型对应的平面元素数量对平面元素进行组合,得到平面元素集合,根据平面元素集合中预设平面元素的类型、数量及空间关系,将平面元素集合与设计模型库中的组件模型匹配,能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,对平面元素进行组合,得到平面元素集合,包括:将设计文件分为不同区域;对区域中的平面元素进行组合。
具体地,如图9所示,为一个实施例中将设计文件分为不同区域的界面示意图。其中,902为设计文件的界面,904为第一区域,906为第二区域。模型匹配程序可按照预设像素大小将设计文件分为不同区域。例如一个具有7500像素的设计文件,每次以750像素将设计文件分为10个不同的区域。模型匹配程序对每个区域中的平面元素进行随机组合。例如,第一区域内的平面元素进行随机组合,第二区域内的平面元素进行随机组合等不限于此。
本实施例中,例如具有7500像素的设计文件中共有320个平面元素,那么对320个节点随机取3个平面元素,则有5410240种组合。当将设计文件分为不同区域时,例如分为10个区域,每个区域中有32个平面元素,那么对每个区域的这32个平面元素进行随机取点,有4960种组合,则10个区域有49600中组合,能减少两个数量级的运算量。
上述模型匹配方法,将设计文件分为不同区域;对区域中的平面元素进行组合,能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,该模型匹配方法还包括:当第一区域的边界在平面元素所处位置范围内时,移除第一区域的边界对应的平面元素,得到第一区域中剩余的平面元素;
对区域中的平面元素进行组合,得到平面元素集合,包括:对第一区域中剩余的平面元素进行组合,得到第一区域对应的平面元素集合。
具体地,如图10所示,为一个实施例中当区域的边界在平面元素所处位置范围内的界面示意图。如图10所示,当第一区域1002的边界在平面元素所处位置范围内时,模型匹配程序移除第一区域的边界对应的平面元素,得到第一区域中剩余的平面元素。例如,模型匹配程序对第一区域中剩余的平面元素进行随机组合,得到平面元素集合。或者,模型匹配程序按照预设平面元素的类型和预设平面元素的类型对应的平面元素的数量,对第一区域中剩余的平面元素进行组合,得到第一区域对应的平面元素集合。模型匹配程序根据平面元素信息将第一区域对应的平面元素集合与设计模型库中的设计模型匹配,得到第一区域对应的平面元素集合对应的设计模型。
上述模型匹配方法,当第一区域的边界在平面元素所处位置范围内时,移除第一区域的边界对应的平面元素,得到第一区域中剩余的平面元素,对第一区域中剩余的平面元素进行组合,得到平面元素集合,能解决因平面元素落在区域边界而导致匹配错误等问题,且不会对边界上的平面元素重复匹配。
在一个实施例中,该模型匹配方法还包括:当第一区域的边界在平面元素所处位置范围内时,使在第一区域边界的平面元素匹配失败。具体地,当模型匹配程序检测到第一区域的边界在平面元素所处位置范围内时,由于取平面元素左上角的坐标,则模型匹配程序会将第一区域边界的平面元素进行组合。但当含有第一区域边界的平面元素的平面元素组合与设计模型匹配时,使匹配失败。上述模型匹配方法,当第一区域的边界在平面元素所处位置范围内时,使在第一区域边界的平面元素匹配失败,能解决因平面元素落在区域边界而导致匹配错误等问题,且不会对边界上的平面元素重复匹配。
在一个实施例中,模型匹配方法还包括:将设计文件或第一区域的边界移动预设距离,得到第二区域;获取第二区域中的平面元素,其中,第二区域中的平面元素包括第一区域的边界对应的平面元素;检测第二区域中已匹配成功的平面元素,并从第二区域中的平面元素移除已匹配成功的平面元素,得到第二区域中剩余的平面元素;对第二区域中剩余的平面元素进行组合,得到第二区域对应的平面元素集合。
其中,预设距离可以小于一个区域的高度、宽度等距离,例如二分之一个区域的距离等。
具体地,当模型匹配程序检测到区域的边界在平面元素所处位置范围内时,将设计文件或第一区域的边界移动预设距离,得到第二区域。如图11所示,其中包括第二区域1004。第二区域1004中的平面元素包括第一区域的边界对应的平面元素。模型匹配程序检测第二区域中已匹配成功的平面元素,当检测到某一平面元素已匹配成功时,移除该已匹配成功的平面元素,得到第二区域中剩余的平面元素。模型匹配程序对第二区域中剩余的平面元素进行随机组合,得到平面元素集合。或者,模型匹配程序按照预设平面元素的类型以及预设平面元素的类型对应的平面元素的数量,对第二区域中剩余的平面元素进行组合,得到平面元素集合。模型匹配程序根据平面元素信息将第二区域对应的平面元素集合与设计模型库中的设计模型匹配,得到第二区域对应的平面元素集合对应的设计模型。
上述模型匹配方法,将设计文件或第一区域的边界移动预设距离,能解决边界内的平面元素与所属设计模型无法匹配的问题,检测第二区域中已匹配成功的平面元素,并移除已匹配成功的平面元素,得到剩余的平面元素,对剩余的平面元素进行组合,得到平面元素集合,能将边界上的平面元素进行匹配,也能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,平面元素信息包括平面元素的坐标。检测第二区域中已匹配成功的平面元素,并从第二区域中的平面元素移除已匹配成功的平面元素,得到第二区域中剩余的平面元素,包括:存储已匹配成功的平面元素的坐标;从第二区域中包含的平面元素的坐标中移除已存储的平面元素的坐标,得到第二区域中剩余的平面元素。
具体地,模型匹配程序存储已匹配成功的平面元素的坐标。当模型匹配程序从第二区域中包含的平面元素的坐标中检测到已存储的平面元素的坐标时,从第二区域中包含的平面元素的坐标中移除已存储的平面元素的坐标,得到剩余的平面元素的坐标,则得到剩余的平面元素。其中,剩余的平面元素中不包括已匹配成功的平面元素。例如,根据平面元素的x和y坐标,模型匹配程序获取区域内的平面元素。a,b,c三个平面元素与设计模型A匹配成功,这三个平面元素对应的平面元素信息会存储在设计模型A的数据结构中,然后模型匹配程序将a,b,c三个平面元素从第二区域中的总平面元素中移除。
上述模型匹配方法,存储已匹配成功的平面元素的坐标;从区域中包含的平面元素的坐标中移除已存储的平面元素的坐标,得到剩余的平面元素,能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,该模型匹配方法还包括:当平面元素集合中任一平面元素集合与设计模型库中的设计模型匹配成功时,从剩余的平面元素集合中移除第一平面元素集合,其中,第一平面元素集合中包含匹配成功的平面元素集合中的任一平面元素,继续执行根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配的步骤。
具体地,模型匹配程序得到多个平面元素集合,并将每个平面元素集合与设计模型库中的设计模型匹配。当平面元素集合中第一个平面元素集合与设计模型匹配A失败,则下一个平面元素集合继续与设计模型A匹配。当平面元素集合中任一平面元素集合与设计模型库中的设计模型匹配成功时,模型匹配程序从剩余的平面元素集合中移除第一平面元素集合,其中,第一平面元素集合中包含匹配成功的平面元素集合中的任一平面元素。模型匹配程序继续执行根据平面元素信息将除第一平面元素集合外的剩余平面元素集合与设计模型库中的设计模型匹配的步骤。
例如,平面元素集合a、b和c与设计模型A匹配成功,剩余的平面元素集合中有b、d和f集合,和a、b和d集合,e、f和g集合。那么b、d和f集合中包括b平面元素,a、b和d集合中包括a和b元素,则模型匹配程序移除b、d和f集合和a、b和d集合,保留e、f和g集合。模型匹配程序将e、f和g集合与设计模型A继续匹配。
上述模型匹配方法,当平面元素集合中任一平面元素集合与设计模型库中的设计模型匹配成功时,从剩余的平面元素集合中移除第一平面元素集合,其中,第一平面元素集合中包含匹配成功的平面元素集合中的任一平面元素,能减少平面元素组合匹配的次数,减少计算量,降低系统占用率,提高模型匹配效率。
在一个实施例中,该模型匹配方法还包括:获取设计模型对应的设计代码;将设计代码组合成设计文件对应的界面代码。
其中,界面代码是指软件界面需要用到的一些特殊的语言。通过对界面代码的组织和编排,能生成界面。
具体地,每个设计模型都有对应的设计代码。该设计代码符合界面代码的结构。模型匹配程序获取设计模型对应的设计代码,将设计代码组合成设计文件对应的界面代码。
上述模型匹配方法,通过获取设计模型对应的设计代码,将设计代码组合成设计文件对应的界面代码,能够得到设计文件对应的合适的设计代码,避免产生冗余代码,降低系统占用率。
在一个实施例中,如图11所示,为另一个实施例中模型匹配方法的流程示意图。模型匹配程序获取设计文件中的平面元素及对应的平面元素信息,任取N个平面元素进行组合,得到平面元素集合。模型匹配程序将平面元素集合与设计模型库中的设计模型匹配,当匹配失败时,下一个平面元素集合与设计模型匹配;当匹配成功时,得到该平面元素集合对应的设计模型。无论平面元素集合与设计模型库中的模型匹配成功或失败,模型匹配程序均判断设计文件中的平面元素是否均匹配成功,当存在未匹配成功的平面元素时,模型匹配程序移除已匹配的平面元素集合对应的平面元素,将剩余的平面元素集合中下一个平面元素集合再与设计模型匹配……当设计文件中的平面元素均匹配成功时,得到设计文件中包含的所有设计模型。
上述获取设计文件中的平面元素及对应的平面元素信息,对平面元素进行组合,得到平面元素集合,根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型,能够避免平面元素的遗漏;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型,能得到整个设计文件中所包含的通用的设计模型,且上述模型匹配方法适用于所有设计文件,具有通用性,并可生成可循环的结构,提高模型匹配的处理效率。
在一个实施例中,一种模型匹配方法,包括:
步骤(b1),获取设计文件中的平面元素及对应的平面元素信息,其中,平面元素信息包括平面元素的坐标、平面元素的类型、平面元素的类型对应的平面元素的数量和平面元素之间的空间关系。
步骤(b2),将设计文件分为不同区域。
步骤(b3),按照预设平面元素的类型获取处于同一水平线的平面元素。
步骤(b4),对处于同一水平线的平面元素进行组合,得到平面元素集合。
步骤(b5),根据平面元素的坐标将平面元素集合中的平面元素进行排列,当平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到平面元素集合对应的元素模型,其中,第一预设条件为平面元素之间的距离小于或等于预设距离,第二预设条件为满足第一预设条件的平面元素的数量大于或等于预设数量。
步骤(b6),按照预设平面元素的类型以及每个平面元素的类型对应的平面元素数量对平面元素进行组合,得到平面元素集合;
步骤(b7),根据预设平面元素的类型、预设平面类型对应的平面元素的数量和预设平面元素的类型对应的平面元素之间的空间关系,与设计模型库中的元素模型匹配,得到平面元素集合对应的元素模型。
步骤(b8),获取平面元素集合对应的元素模型的属性。
步骤(b9),对平面元素集合对应的元素模型进行组合,得到元素模型集合。
步骤(b10),获取元素模型集合中各元素模型之间的空间关系。
步骤(b11),根据元素模型的属性以及元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配,得到平面元素集合对应的组件模型。
步骤(b12),获取设计模型对应的设计代码,其中,设计模型包括元素模型和组件模型。
步骤(b13),将设计代码组合成设计文件对应的界面代码。
虽然上述步骤(b1)至(b13)按照数字代表的顺序依次显示,但是这些步骤并不是必然按照数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
上述模型匹配方法,能对平面元素集合进行语义化的分析,能够得到通用的设计模型,可以得到平面元素数量不限的元素模型,且设计模型库中不需要再增加特定的元素模型,能更精确地得到设计文件中的信息,并且减少含有多平面元素的设计模型的匹配次数,降低计算量以及系统占用率,提高模型匹配效率;获取设计模型对应的设计代码,能够得到设计文件对应的合适的设计代码,避免产生冗余代码,降低系统占用率。
图1、2和11为一个实施例中模型匹配方法的流程示意图。应该理解的是,虽然图2、3和12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、2和11中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,为一个实施例中模型匹配装置的结构框图。一种模型匹配装置,包括获取模块1202、组合模块1204和匹配模块1206,其中:
获取模块1202,用于获取设计文件中的平面元素对应的平面元素信息。
组合模块1204,用于对所述平面元素进行组合,得到平面元素集合。
匹配模块1206,用于根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配,得到所述平面元素集合对应的设计模型。
匹配模块1206,还用于当所述设计文件中的平面元素均匹配成功时,得到所述设计文件所包含的设计模型。
上述模型匹配装置,获取设计文件中的平面元素及对应的平面元素信息,对平面元素进行组合,得到平面元素集合,根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配,得到平面元素集合对应的设计模型,能够避免平面元素的遗漏;当设计文件中的平面元素均匹配成功时,得到设计文件所包含的设计模型,能得到整个设计文件中所包含的通用的设计模型,且上述模型匹配装置适用于所有设计文件,具有通用性,并可生成可循环的结构,提高模型匹配的处理效率。
在一个实施例中,该模型匹配装置还包括处理模块。处理模块用于根据平面元素信息处理得到平面元素集合对应的元素模型;组合模块1204用于对平面元素集合对应的元素模型进行组合,得到元素模型集合;获取模块1202用于获取元素模型集合中各元素模型之间的空间关系;匹配模块1206用于根据元素模型集合中各元素模型之间的空间关系,将元素模型集合与设计模型库中的组件模型匹配,得到平面元素集合对应的组件模型。
上述模型匹配装置,根据平面元素信息处理得到平面元素集合对应的元素模型,对平面元素集合对应的元素模型进行组合,得到元素模型集合,获取元素模型集合中各元素模型之间的空间关系,根据元素模型集合中各元素模型之间的空间关系,将元素模型集合与设计模型库中的组件模型匹配,得到平面元素集合对应的组件模型,能够得到通用的设计模型,能更精确地得到设计文件中的信息,并且减少含有多平面元素的设计模型的匹配次数,降低计算量以及系统占用率,提高模型匹配效率。
在一个实施例中,获取模块1202用于获取平面元素集合对应的元素模型的属性;匹配模块1206用于根据元素模型的属性以及元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配。
上述模型匹配装置,获取平面元素集合对应的元素模型的属性,根据元素模型的属性以及元素模型集合中各元素模型的空间关系,将元素模型集合与设计模型库中的组件模型匹配,能将相似度较高的平面元素集合划分为同一属性,对平面元素集合进行语义化的分析,并根据属性与组件模型匹配,能降低元素模型组合与组件模型匹配时的计算量,提高模型匹配效率。
在一个实施例中,平面元素信息包括预设平面元素的类型和预设平面元素的类型对应的平面元素之间的空间关系。处理模块用于根据预设平面元素的类型、预设平面类型对应的平面元素的数量和预设平面元素的类型对应的平面元素之间的空间关系与设计模型库中的元素模型匹配,得到平面元素集合对应的元素模型。
上述模型匹配装置,根据预设平面元素的类型、预设平面类型对应的平面元素的数量和预设平面元素的类型对应的平面元素之间的位置关系空间关系与设计模型库中的元素模型匹配,得到平面元素集合对应的元素模型,能够得到通用的设计模型,并使匹配的元素模型更加精确,并且减少含有多平面元素的设计模型的匹配次数,降低计算量以及系统占用率,提高模型匹配效率。
在一个实施例中,平面元素信息包括平面元素的类型、平面元素的坐标和平面元素的距离。获取模块1202用于按照预设平面元素的类型获取处于同一水平线的平面元素;组合模块1204用于对处于同一水平线的平面元素进行组合,得到平面元素集合;处理模块用于根据平面元素的坐标将平面元素集合中的平面元素进行排列,当平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到平面元素组合对应的元素模型,其中,第一预设条件为平面元素之间的距离小于或等于预设距离,第二预设条件为满足第一预设条件的平面元素的数量大于或等于预设数量。
上述模型匹配装置,按照预设平面元素的类型获取处于同一水平线的平面元素,对处于同一水平线的平面元素进行组合,得到平面元素集合,根据平面元素的坐标将平面元素集合中的平面元素进行排列,当平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到平面元素组合对应的元素模型,其中,第一预设条件为平面元素之间的距离小于或等于预设距离,第二预设条件为满足第一预设条件的平面元素的数量大于或等于预设数量,则可以得到平面元素数量不限的元素模型,且设计模型库中不需要再增加特定的元素模型。
在一个实施例中,平面元素信息包括平面元素的类型、平面元素的类型对应的数量以及平面元素的类型以及平面元素的类型对应的平面元素之间的空间关系。匹配模块1206用于根据平面元素集合中平面元素的类型、平面元素的类型对应的数量,以及平面元素的类型对应的平面元素之间的空间关系,将平面元素集合与设计模型库中的设计模型匹配。
上述模型匹配装置,根据平面元素集合中平面元素的类型、数量以及空间关系,将平面元素集合与设计模型库中的设计模型匹配,能基于设计文件得到通用的设计模型,并可生成可循环的结构,提高模型匹配的处理效率。
在一个实施例中,组合模块1204用于按照预设平面元素的类型以及每个平面元素的类型对应的平面元素数量对平面元素进行组合,得到平面元素集合。匹配模块1206用于根据平面元素集合中预设平面元素的类型、预设平面元素的类型对应的数量,以及预设平面元素的类型对应的平面元素之间的空间关系,将平面元素集合与设计模型库中的设计模型匹配。
上述模型匹配装置,按照预设平面元素的类型以及每个平面元素的类型对应的平面元素数量对平面元素进行组合,得到平面元素集合,根据平面元素集合中预设平面元素的类型、数量及空间关系,将平面元素集合与设计模型库中的组件模型匹配,能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,组合模块1204用于将设计文件分为不同区域;对区域中的平面元素进行组合。
上述模型匹配装置,将设计文件分为不同区域;对区域中的平面元素进行组合,能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,模型匹配装置还包括移除模块。移除模块用于当第一区域的边界在平面元素所处位置范围内时,移除第一区域的边界对应的平面元素,得到第一区域中剩余的平面元素;组合模块1204用于对第一区域中剩余的平面元素进行组合,得到第一区域对应的平面元素集合。
上述模型匹配装置,当第一区域的边界在平面元素所处位置范围内时,移除第一区域的边界对应的平面元素,得到第一区域中剩余的平面元素,对第一区域中剩余的平面元素进行组合,得到平面元素集合,能解决因平面元素落在区域边界而导致匹配错误等问题,且不会对边界上的平面元素重复匹配。
在一个实施例中,该模型匹配装置还包括移动模块。移动模块用于将设计文件或第一区域的边界移动预设距离,得到第二区域;获取模块1202用于获取第二区域中的平面元素,其中,第二区域中的平面元素包括第一区域的边界对应的平面元素;移除模块用于检测第二区域中已匹配成功的平面元素,并从第二区域中的平面元素移除已匹配成功的平面元素,得到第二区域中剩余的平面元素;组合模块1204用于对第二区域中剩余的平面元素进行组合,得到第二区域对应的平面元素集合。
上述模型匹配装置,将设计文件或第一区域的边界移动预设距离,能解决边界内的平面元素与所属设计模型无法匹配的问题,检测第二区域中已匹配成功的平面元素,并移除已匹配成功的平面元素,得到剩余的平面元素,对剩余的平面元素进行组合,得到平面元素集合,能将边界上的平面元素进行匹配,也能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,平面元素信息包括平面元素的坐标。该模型匹配装置还包括存储模块。存储模块用于存储已匹配成功的平面元素的坐标;移除模块用于从第二区域中包含的平面元素的坐标中移除已存储的平面元素的坐标,得到第二区域中剩余的平面元素。
上述模型匹配装置,存储已匹配成功的平面元素的坐标;从区域中包含的平面元素的坐标中移除已存储的平面元素的坐标,得到剩余的平面元素,能减少平面元素组合匹配的次数,减少计算量,提高模型匹配效率。
在一个实施例中,移除模块用于当平面元素集合中任一平面元素集合与设计模型库中的设计模型匹配成功时,从剩余的平面元素集合中移除第一平面元素集合,其中,第一平面元素集合中包含匹配成功的平面元素集合中的任一平面元素。组合模块1204用于根据平面元素信息将平面元素集合与设计模型库中的设计模型匹配。
上述模型匹配装置,当平面元素集合中任一平面元素集合与设计模型库中的设计模型匹配成功时,从剩余的平面元素集合中移除第一平面元素集合,其中,第一平面元素集合中包含匹配成功的平面元素集合中的任一平面元素,能减少平面元素组合匹配的次数,减少计算量,降低系统占用率,提高模型匹配效率。
在一个实施例中,获取模块1202用于获取设计模型对应的设计代码;组合模块1204用于将设计代码组合成设计文件对应的界面代码。
上述模型匹配装置,通过获取设计模型对应的设计代码,将设计代码组合成设计文件对应的界面代码,能够得到设计文件对应的合适的设计代码,避免产生冗余代码,降低系统占用率。
图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现模型匹配方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行模型匹配方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的模型匹配装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该模型匹配装置的各个程序模块,比如,图12所示的获取模块1202、组合模块1204和匹配模块1206。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的模型匹配方法中的步骤。
例如,图13所示的计算机设备可以通过如图12所示的模型匹配装置中的获取模块执行获取设计文件中的平面元素对应的平面元素信息。计算机设备可通过组合模块执行对所述平面元素进行组合,得到平面元素集合。计算机设备可通过匹配模块执行根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配,得到所述平面元素集合对应的设计模型;当所述设计文件中的平面元素均匹配成功时,得到所述设计文件所包含的设计模型。。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述模型匹配方法的步骤。此处模型匹配方法的步骤可以是上述各个实施例的模型匹配方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述模型匹配方法的步骤。此处模型匹配方法的步骤可以是上述各个实施例的模型匹配方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种模型匹配方法,包括:
获取设计文件中的平面元素及对应的平面元素信息;
对所述平面元素进行组合,得到平面元素集合;
根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配,得到所述平面元素集合对应的设计模型;
当所述设计文件中的平面元素均匹配成功时,得到所述设计文件所包含的设计模型。
2.根据权利要求1所述的方法,其特征在于,所述设计模型包括组件模型;
所述根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配,得到所述平面元素集合对应的设计模型,包括:
根据所述平面元素信息处理得到所述平面元素集合对应的元素模型;
对所述平面元素集合对应的元素模型进行组合,得到元素模型集合;
获取元素模型集合中各元素模型之间的空间关系;
根据所述元素模型集合中各元素模型之间的空间关系,将所述元素模型集合与设计模型库中的组件模型匹配,得到所述平面元素集合对应的组件模型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述平面元素集合对应的元素模型的属性;
所述根据所述元素模型集合中各元素模型的空间关系,将所述元素模型集合与设计模型库中的组件模型匹配,包括:
根据所述元素模型的属性以及所述元素模型集合中各元素模型的空间关系,将所述元素模型集合与设计模型库中的组件模型匹配。
4.根据权利要求2或3所述的方法,其特征在于,所述平面元素信息包括预设平面元素的类型、所述预设平面类型对应的平面元素的数量和所述预设平面元素的类型对应的平面元素之间的空间关系;
所述根据所述平面元素信息处理得到所述平面元素集合对应的元素模型,包括:
根据所述预设平面元素的类型、所述预设平面类型对应的平面元素的数量和所述预设平面元素的类型对应的平面元素之间的空间关系,与设计模型库中的元素模型匹配,得到所述平面元素集合对应的元素模型。
5.根据权利要求2或3所述的方法,其特征在于,所述平面元素信息包括平面元素的类型、平面元素的坐标和平面元素之间的距离;
所述对所述平面元素进行组合,得到平面元素集合,包括:
按照预设平面元素的类型获取处于同一水平线的平面元素;
对所述处于同一水平线的平面元素进行组合,得到平面元素集合;
所述根据所述平面元素信息处理得到所述平面元素集合对应的元素模型,包括:
根据所述平面元素的坐标将所述平面元素集合中的平面元素进行排列,当所述平面元素集合中的平面元素满足第一预设条件和第二预设条件时,得到所述平面元素集合对应的元素模型,其中,所述第一预设条件为平面元素之间的距离小于或等于预设距离,所述第二预设条件为满足第一预设条件的平面元素的数量大于或等于预设数量。
6.根据权利要求1所述的方法,其特征在于,所述平面元素信息包括平面元素的类型、所述平面元素的类型对应的数量以及所述平面元素的类型以及所述平面元素的类型对应的平面元素之间的空间关系;
根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配,包括:
根据所述平面元素集合中平面元素的类型、所述平面元素的类型对应的数量,以及所述平面元素的类型对应的平面元素之间的空间关系,将所述平面元素集合与设计模型库中的设计模型匹配。
7.根据权利要求6所述的方法,其特征在于,所述对平面元素进行组合,得到平面元素集合,包括:
按照预设平面元素的类型以及每个平面元素的类型对应的平面元素数量对所述平面元素进行组合,得到平面元素集合;
所述根据所述平面元素集合中平面元素的类型、所述平面元素的类型对应的数量,以及所述平面元素的类型对应的平面元素之间的空间关系,将所述平面元素集合与设计模型库中的设计模型匹配,包括:
根据所述平面元素集合中预设平面元素的类型、所述预设平面元素的类型对应的数量,以及所述预设平面元素的类型对应的平面元素之间的空间关系,将所述平面元素集合与设计模型库中的设计模型匹配。
8.根据权利要求1所述的方法,其特征在于,所述对所述平面元素进行组合,得到平面元素集合,包括:
将所述设计文件分为不同区域;
对所述不同区域中的平面元素分别进行组合,得到平面元素集合。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当第一区域的边界在平面元素所处位置范围内时,移除所述第一区域的边界对应的平面元素,得到所述第一区域中剩余的平面元素;
所述对所述区域中的平面元素进行组合,得到平面元素集合,包括:
对所述第一区域中剩余的平面元素进行组合,得到第一区域对应的平面元素集合。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将所述设计文件或所述第一区域的边界移动预设距离,得到第二区域;
获取第二区域中的平面元素,其中,所述第二区域中的平面元素包括所述第一区域的边界对应的平面元素;
检测所述第二区域中已匹配成功的平面元素,并从所述第二区域中的平面元素中移除所述已匹配成功的平面元素,得到第二区域中剩余的平面元素;
对所述第二区域中剩余的平面元素进行组合,得到所述第二区域对应的平面元素集合。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述平面元素集合中任一平面元素集合与所述设计模型库中的设计模型匹配成功时,从剩余的平面元素集合中移除第一平面元素集合,其中,所述第一平面元素集合中包含匹配成功的平面元素集合中的任一平面元素,继续执行所述根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配的步骤。
12.根据权利要求1至3、6至11任一项所述的方法,其特征在于,所述方法还包括:
获取所述设计模型对应的设计代码;
将所述设计代码组合成所述设计文件对应的界面代码。
13.一种模型匹配装置,其特征在于,所述装置包括:
获取模块,用于获取设计文件中的平面元素对应的平面元素信息;
组合模块,用于对所述平面元素进行组合,得到平面元素集合;
匹配模块,用于根据所述平面元素信息将所述平面元素集合与设计模型库中的设计模型匹配,得到所述平面元素集合对应的设计模型;
所述匹配模块,还用于当所述设计文件中的平面元素均匹配成功时,得到所述设计文件所包含的设计模型。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377452.4A CN110321405B (zh) | 2019-05-07 | 2019-05-07 | 模型匹配方法、装置、计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377452.4A CN110321405B (zh) | 2019-05-07 | 2019-05-07 | 模型匹配方法、装置、计算机可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321405A true CN110321405A (zh) | 2019-10-11 |
CN110321405B CN110321405B (zh) | 2022-03-29 |
Family
ID=68118875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910377452.4A Active CN110321405B (zh) | 2019-05-07 | 2019-05-07 | 模型匹配方法、装置、计算机可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321405B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611936A (zh) * | 2020-05-22 | 2020-09-01 | 青矩技术股份有限公司 | 一种cad图纸中相似矢量图的自动识别系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5041992A (en) * | 1988-10-24 | 1991-08-20 | University Of Pittsburgh | Interactive method of developing software interfaces |
US20050283494A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Visualizing and manipulating multidimensional OLAP models graphically |
US20090138835A1 (en) * | 2006-03-31 | 2009-05-28 | Subarnarekha Sinha | Identifying layout regions susceptible to fabrication issues by using range patterns |
CN101751384A (zh) * | 2008-11-28 | 2010-06-23 | 方正国际软件(北京)有限公司 | 一种排版方法及系统 |
CN103024413A (zh) * | 2012-11-19 | 2013-04-03 | 清华大学 | 一种双目立体素材缩略图显示方法及系统 |
CN101882225B (zh) * | 2009-12-29 | 2013-09-18 | 北京中科辅龙计算机技术股份有限公司 | 基于模板的工程图纸材料信息提取方法及系统 |
CN106072956A (zh) * | 2016-06-20 | 2016-11-09 | 北京理工大学 | 一种服装设计方法及装置 |
CN107918648A (zh) * | 2017-11-09 | 2018-04-17 | 程杰 | 一种平面设计模板库的建立和模板查找方法 |
CN108416827A (zh) * | 2018-02-11 | 2018-08-17 | 李荣陆 | 一种基于数据驱动和素材分析的平面设计自动布局装置和方法 |
-
2019
- 2019-05-07 CN CN201910377452.4A patent/CN110321405B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5041992A (en) * | 1988-10-24 | 1991-08-20 | University Of Pittsburgh | Interactive method of developing software interfaces |
US20050283494A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Visualizing and manipulating multidimensional OLAP models graphically |
US20090138835A1 (en) * | 2006-03-31 | 2009-05-28 | Subarnarekha Sinha | Identifying layout regions susceptible to fabrication issues by using range patterns |
CN101751384A (zh) * | 2008-11-28 | 2010-06-23 | 方正国际软件(北京)有限公司 | 一种排版方法及系统 |
CN101751384B (zh) * | 2008-11-28 | 2012-07-04 | 方正国际软件(北京)有限公司 | 一种排版方法及系统 |
CN101882225B (zh) * | 2009-12-29 | 2013-09-18 | 北京中科辅龙计算机技术股份有限公司 | 基于模板的工程图纸材料信息提取方法及系统 |
CN103024413A (zh) * | 2012-11-19 | 2013-04-03 | 清华大学 | 一种双目立体素材缩略图显示方法及系统 |
CN106072956A (zh) * | 2016-06-20 | 2016-11-09 | 北京理工大学 | 一种服装设计方法及装置 |
CN107918648A (zh) * | 2017-11-09 | 2018-04-17 | 程杰 | 一种平面设计模板库的建立和模板查找方法 |
CN108416827A (zh) * | 2018-02-11 | 2018-08-17 | 李荣陆 | 一种基于数据驱动和素材分析的平面设计自动布局装置和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611936A (zh) * | 2020-05-22 | 2020-09-01 | 青矩技术股份有限公司 | 一种cad图纸中相似矢量图的自动识别系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110321405B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6768695B2 (ja) | 合成された絵を生成するための方法及び装置 | |
Lin et al. | POLAR: Placement based on novel rough legalization and refinement | |
CN108762505B (zh) | 基于手势的虚拟对象控制方法、装置、存储介质和设备 | |
Gupta et al. | Automatic extraction of free-form surface features (FFSFs) | |
JP5854802B2 (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
US20070256037A1 (en) | Net-list organization tools | |
CN110209630A (zh) | Dxf文件信息处理方法、装置、计算机设备和存储介质 | |
CN109977952A (zh) | 基于局部最大值的候选目标检测方法 | |
CN114254584A (zh) | 芯片产品的对比方法、建模方法、装置及存储介质 | |
CN110704087A (zh) | 页面生成方法、装置、计算机设备和存储介质 | |
CN110910334A (zh) | 一种实例分割方法、图像处理设备及计算机可读存储介质 | |
CN110321405A (zh) | 模型匹配方法、装置、计算机可读存储介质和计算机设备 | |
Han et al. | iNet: visual analysis of irregular transition in multivariate dynamic networks | |
US9280612B2 (en) | Visualizing a relationship of attributes using a relevance determination process to select from candidate attribute values | |
CN110162549A (zh) | 一种火灾数据分析方法、装置、可读存储介质及终端设备 | |
CN106777220B (zh) | 一种配电网图模连续异动的处理方法 | |
CN114757822B (zh) | 一种基于双目的人体三维关键点检测方法及系统 | |
CN108932279A (zh) | 一种应用页面处理方法及装置 | |
US9779524B2 (en) | Visualization that indicates event significance represented by a discriminative metric computed using a contingency calculation | |
JP4915522B2 (ja) | 図形処理装置 | |
Trunz et al. | Inverse procedural modeling of knitwear | |
CN109544661A (zh) | 面积图绘制方法、装置、计算机设备和存储介质 | |
CN108830303A (zh) | 车辆识别方法、装置、计算机设备和存储介质 | |
CN117635626A (zh) | 具有方向框监督的遥感图像分割方法、装置、设备和介质 | |
US10423753B1 (en) | Method and apparatus for efficient and accurate signal electromigration analysis of digital-on-top designs with complex interface pin shapes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |