CN117454457A - 一种图纸标注排布方法、***及相关设备 - Google Patents

一种图纸标注排布方法、***及相关设备 Download PDF

Info

Publication number
CN117454457A
CN117454457A CN202210842399.2A CN202210842399A CN117454457A CN 117454457 A CN117454457 A CN 117454457A CN 202210842399 A CN202210842399 A CN 202210842399A CN 117454457 A CN117454457 A CN 117454457A
Authority
CN
China
Prior art keywords
arrangement
user
information
label
objective function
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.)
Pending
Application number
CN202210842399.2A
Other languages
English (en)
Inventor
李心成
金鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202210842399.2A priority Critical patent/CN117454457A/zh
Publication of CN117454457A publication Critical patent/CN117454457A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种图纸标注排布方法、***及相关设备,该方法包括以下步骤:图纸标注排布***获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的,第二图纸的标注之间的重叠面积或者重叠边距低于第一阈值,使得用户在图纸生成后无需再手动调整标注位置,用户获得的第二图纸满足用户的排布意图,提高用户的使用体验,提高施工图生成的效率。

Description

一种图纸标注排布方法、***及相关设备
技术领域
本申请涉及计算机领域,尤其涉及一种图纸标注排布方法、***及相关设备。
背景技术
施工图是表示工程项目总体布局、建筑物外部形状、内部布置、结构构造、内外装修、材料作法以及设备、施工等要求的图样,施工人员通常会利用施工图进行落地施工,因此施工图具有图纸齐全、表达准确、要求具体的特点,施工图绘制是项目从设计到落地中的重要一环。
通常情况下,设计师可通过各种图纸生成软件绘制施工图,绘制完毕后,图纸生成软件可以自动生成各种标注,获得施工图。但是,施工图中的标注和构件数量非常多,自动生成的标注和标注之间会产生大量的标注重叠,重叠的标注会导致施工图纸不清楚,影响后期落地施工进度,因此,图纸生成软件生成自动标注后,设计师往往需要手动调整标注位置,不仅降低设计师的使用体验,而且降低施工图生成的效率。
发明内容
本申请提供了一种图纸标注排布方法、***及相关设备,用于解决设计师需要手动调整标注位置,影响设计师使用体验以及施工图生成效率的问题。
第一方面,提供了一种图纸标注排布方法,该方法包括以下步骤:图纸标注排布***获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的具体实现中,第二图纸的标注之间的重叠面积或者重叠边距低于第一阈值。
实施第一方面描述的方法,通过获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的,第二图纸的标注之间的重叠边距或者重叠面积低于第一阈值,使得用户在图纸生成后无需再手动调整标注位置,用户获得的第二图纸满足用户的排布意图,提高用户的使用体验,提高施工图生成的效率。
在一可能的实现方式中,用户可通过本地的客户端,输入图纸信息和排布信息,并通过本地的客户端接收第二图纸。这里的客户端可集成于图纸生成软件中,作为图纸生成软件的一种自动排布标注的功能,用户可通过图纸生成软件输入图纸信息和排布信息。图纸标注排布***可以集成于图纸生成软件,与客户端部署于同一台计算设备上,或者,图纸标注排布***可以集成于远端计算设备,通过网络接收客户端发送的排布信息和图纸信息,根据排布信息和图纸信息生成上述第二图纸,这里的远端计算设备可以是上述物理服务器、虚拟机或者容器,本申请不作具体限定。
可选地,客户端可以集成于公有云的控制台(console)中,作为图纸绘制服务中的一个子服务,比如用户购买图纸绘制服务时,可以勾选自动排布标注服务,用户购买云服务成功后,可以通过公有云的console输入排布信息和图纸信息。图纸标注排布***可以部署于公有云的数据中心,具体可部署于数据中心内的物理服务器、虚拟机、容器或者服务器集群,本申请不作具体限定,图纸标注排布***可通过网络接收客户端发送的排布信息和图纸信息,根据排布信息和图纸信息生成标注排版后的第二图纸。
可选地,客户端和图纸标注排布***可以打包为独立的自动排布标注工具,比如一个应用程序、微服务、APP或者API,部署于同一台计算设备上,用户可以在图纸生成软件生成第一图纸之后,将排布信息和图纸信息输入该自动排布标注工具,自动排表标注工具可以根据排布信息和图纸信息,对第一图纸的标注进行排版,获得第二图纸。
应理解,客户端和图纸标注排布***还可以有更多种类的形态,具体可根据实际的应用场景决定,这里不一一展开赘述。
上述实现方式,本申请提供的图纸标注排布***的部署方式多种多样,可以有多种产品形态,极大程度满足用户的使用需求,有着较宽的应用场景。
在一可能的实现方式中,图纸信息包括第一图纸,第一图纸包括标注。其中,第一图纸包括地图、线路图、建筑图、结构图、机电图中的一种或者多种。标注包括集中标注和原位标注,集中标注指的是包括引线的标注,原位标注指的是不包括引线的标注,其中,集中标注的引线所连接的构件可称为该集中标注的关联构件。
可选地,图纸信息还可包括对第一图纸进行分析后获得的第一图纸的构件信息和标注信息,其中,构件信息包括但不限于第一图纸中的构件的类型、坐标集合、几何形状等等,构件的类型包括梁、柱、墙壁等等,几何形状包括矩形、六边形、圆形等等,标注信息包括但不限于标注的类型、坐标集合、集合形状等等,标注的类型包括集中标注和原位标注,本申请不作具体限定。需要说明的,构件的坐标集合和标注的坐标集合可以包括多个坐标,举例来说,假设构件A的标注A1的标注框的形状为矩形,那么标注A1的坐标集合可包括标注框的左上角坐标和右下角坐标,或者,右上角坐标和左下角坐标,或者其他能够表示标注A1在第一图纸中位置的坐标集合,本申请不作具体限定。
可选地,排布信息用于描述用户在标注排布时的排布意图,具体地,该排布意图可包括但不限于:“标注之间重叠最小、标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少、集中标注引线为单引线或三段折线、集中标注起点在对应构件(比如梁)的范围内、原位标注位置在对应构件(比如梁)范围内”等等,本申请不作具体限定。
具体实现中,若用户的排布意图为标注之间重叠最小,那么排布信息可包括用于确定第一图纸中标注和标注之间重叠面积或者重叠边距的信息,第二图纸的标注与标注之间的重叠面积或者重叠边距低于第一阈值;若用户的排布意图为标注和构件之间不重叠或者重叠最小,排布信息还包括用于确定第一图纸中的标注和第一图纸中的构件之间的重叠面积或者重叠边距的信息,第二图纸的标注与第二图纸的构件之间的重叠面积或者重叠边距低于第二阈值;若用户的排布意图为标注和构件之间的距离最短,那么排布信息还包括用于确定第一图纸中的构件与对应标注之间的距离的信息,第二图纸中的构件与对应标注之间的距离低于第三阈值;以此类推,可以根据用户的排布意图获得更多种类的排布信息,这里不一一举例说明。
上述实现方式,通过获取用户的排布信息和图纸信息,图纸标注排布***可以更好地获知用户的需求,按照排布信息和图纸信息对第一图纸的标注进行排版,这样获得的第二图纸可以更大程度满足用户的需求,用户无需再手动调整标注位置,提高用户的使用体验和施工图的生成效率。
在一可能的实现方式中,排布信息可以是排布意图,或者用于描述该排布意图的目标函数,或者该目标函数的元素和函数关系,当然排布信息还可以是其他能够描述排布意图的任意表现形式,本申请不作具体限定。具体实现中,客户端可以向用户提供多种排布意图,比如“标注不重叠”选项,“标注构件不重叠”选项等等,根据用户选择的排布意图确定其对应的目标函数,这里不一一举例说明。
可选地,排布信息可包括用户输入的排布意图,比如上述标注之间重叠最小、标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少等等,具体可参考前述内容中关于排布意图的描述,这里不重复赘述。具体实现中,图纸标注排布***可以提前设定好不同的排布意图对应的目标函数,然后向用户提供多个排布意图的选项,用户可以从中选择自己所需要的排布意图,根据该排布意图确定对应的目标函数,使用该目标函数对用户输入的第一图纸进行排布,获得第二图纸。
可选地,排布信息可包括目标函数,目标函数是用户通过软件开发工具包(software development kit,SDK)建模界面提供的多个软件开发工具包(softwaredevelopment kit,SDK)确定的。该目标函数用于描述用户的上述排布意图。具体实现中,若用户的排布意图为标注之间没有重叠或者重叠最小,那么排布信息可包括用于确定标注之间重叠面积或者重叠边距的目标函数;若用户的排布意图为标注与构件之间没有重叠或者重叠最小,那么排布信息可包括用于确定第一图纸中的标注和第一图纸中的构件之间的重叠面积或者重叠边距的目标函数;若用户的排布意图为集中标注与关联构件之间的距离最短,那么排布信息可包括用于确定第一图纸中的构件与标注之间距离的目标函数;若用户的排布意图为集中标注在关联构件居中位置,那么排布信息可包括用于确定标注所在区域的中点和关联构件所在区域的中点之间距离的目标函数。应理解,用户可拥有多个排布意图,那么排布信息也可包括多个目标函数,其中,一个目标函数对应一个排布意图。具体实现中,用户可通过客户端输入目标函数。
可选地,排布信息可包括目标函数的元素和函数关系,目标函数的元素和函数关系是用户通过可视化建模界面提供的多个元素和多个函数关系确定的。该元素和函数关系可以确定上述用于描述用户排布意图的目标函数。具体实现中,图纸标注排布***可以向用户提供多个元素和多个函数关系,用户可以先确定自己的排布意图,然后从图纸标注排布***提供的多个元素和多个函数关系中选择自己排布意图所需的元素和函数关系,图纸标注排布***根据用户选择的元素和函数关系生成目标函数,然后使用该目标函数对第一图纸的标注进行排版,获得排版后的第二图纸。
具体实现中,可视化建模界面提供的多个元素包括标注的坐标集合、构件的坐标集合、构件的尺寸、标注的框尺寸,可视化建模界面提供的多个函数关系包括标注的框的面积、标注的框之间的距离、标注的框中心坐标、加减乘除运算、矩阵交并比(intersectionover union,IoU)、前景交叉比(intersection over foreground,IoF)、矩阵的上斜矩阵、矩阵的对角矩阵等等,本申请不作具体限定。
上述实现方式,通过SDK界面向用户提供多种API接口,使得用户可以根据自己的排布意图灵活输入目标函数,通过可视化建模界面向用户提供多种元素和多种函数关系,使得用户可以通过拖拽元素和函数关系组合的方式来描述自己的目标函数,不需要再学习API接口的代码知识,通过可视化建模界面直接选择排布意图的方式,使得用户可以直接选择自己的排布意图,不需要再考虑目标函数如何编写,操作更加简单便捷。上述三种方式使得本申请提供的图纸标注排布方法可以适用于大部分的应用场景,且符合多种类型使用者的使用习惯,对于排布意图为常用排布意图,且对编程不太了解的用户来说,可使用直接选择排布意图的方式输入排布信息;对排布意图稍微有些不常用的用户来说,可以通过选取元素和函数关系组合的方式,灵活设置自己的排布意图;对编程知识较为熟悉的用户,可以直接通过SDK界面输入API的方式输入排布信息,用户可根据实际应用场景灵活选择输入排布信息的方式。
在一可能的实现方式中,根据坐标集合和目标函数,使用梯度类优化算法确定第二图纸的标注的坐标信息,根据第二图纸的标注的坐标信息,对第一图纸的标注进行排布,获得第二图纸,向用户输出第二图纸。
具体实现中,上述梯度类优化算法包括但不限于最速下降法、梯度下降法、随机梯度下降法、动量梯度下降法、自适应矩估计(adaptive moment estimation,ADAM)算法、牛顿法、拟牛顿法、高斯-牛顿法、列文伯格-马夸尔特算法等,本申请不作具体限定。
上述实现方式,梯度类优化算法指的是遵循一定优化路径逐渐寻找最优点的方法,这里的一定优化路径指的可以是上述目标函数,本申请通过将用户的排布意图转化为目标函数后,通过梯度类优化算法确定第一图纸中每个标注的最优坐标,从而实现对第一图纸标注的排版。
在一可能的实现方式中,排布信息包括标注在排布时的区域约束,根据标注集合和区域约束确定第一图纸的多个优化区域,其中,一个标注对应一个优化区域,根据目标函数,对多个优化区域中的每个优化区域使用梯度类优化算法,获得第二图纸的标注的坐标信息。
具体实现中,每个标注的优化区域指的是该标注满足区域约束的区域,举例来说,如果优化约束为“原地标注位于关联构件上方”,那么原地标注的优化区域为关联构件上方的区域,该区域的大小可以是默认大小。再举例来说,如果优化约束为“集中标注的引线不穿过构件”,那么集中标注的优化区域是引线不会穿过任何构件的区域。总而言之,优化区域的位置是根据用户输入的区域约束来确定,标注优化区域的大小可以根据经验值或者用户输入的值来确定,本申请不作具体限定。
进一步地,每个标注可包括多行标注信息,根据区域约束确定每个标注的优化区域,并对优化区域内基于目标函数使用梯度优化算法确定每个标注的坐标之后,可以对每个标注的多行标注信息进行进一步的排布,比如修改第一行标注和第三行标注的位置,使得最终获得的第二图纸的标注满足用户的排布意图。
需要说明的,如果用户没有输入优化约束,那么上述优化区域可以是标注所在的区域,区域的大小可以根据经验值确定,本申请不作具体限定。进一步地,由于图纸的标准通常是固定的,因此用户没有输入优化约束,图纸标注排布***也可以根据输入图纸的类型确定图纸的通用规范,使用通用规范对应的优化约束确定优化区域,本申请不作具体限定。
需要说明的,如果用户通过SDK建模界面输入的目标函数无法使用梯度类优化算法,图纸标注排布***200可以向客户端反馈目标函数不符合规则的信息,使得客户端可以重新获取用户输入的目标函数,从而避免出现排布失败的问题,提高用户的使用体验。
上述实现方式,通过优化约束确定标注的优化区域,从而减小梯度类优化算法的计算范围,从而提高标注排版的效率。
第二方面,提供了一种图纸标注排布***,该***包括:获取单元,用于获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,输出单元,用于向用户输出第二图纸,其中,第二图纸是基于排布信息对对第一图纸的标注进行排布后获得的。
实施第二方面描述的方法,图纸标注排布***通过获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的,第二图纸的标注之间的重叠边距或者重叠面积低于第一阈值,使得用户在图纸生成后无需再手动调整标注位置,用户获得的第二图纸满足用户的排布意图,提高用户的使用体验,提高施工图生成的效率。
在一可能的实现方式中,第二图纸的标注之间的重叠面积或者重叠边距低于第一阈值。
在一可能的实现方式中,排布信息还包括用于确定第一图纸中的标注和第一图纸中的构件之间的重叠面积或者重叠边距的信息,第二图纸的标注与第二图纸的构件之间的重叠面积或者重叠边距低于第二阈值。
在一可能的实现方式中,排布信息还包括用于确定第一图纸中的构件与对应标注之间的距离的信息,第二图纸中的构件与对应标注之间的距离低于第三阈值。
在一可能的实现方式中,排布信息包括目标函数,目标函数是用户通过软件开发工具包SDK建模界面提供的多个应用程序接口API确定的。
在一可能的实现方式中,排布信息包括目标函数的元素和函数关系,目标函数的元素和函数关系是用户通过可视化建模界面提供的多个元素和多个函数关系确定的。
在一可能的实现方式中,可视化建模界面提供的多个元素包括标注的坐标集合、构件的坐标集合、构件的尺寸、标注的框尺寸,可视化建模界面提供的多个函数关系包括标注的框的面积、标注的框之间的距离、标注的框中心坐标、加减乘除运算、矩阵交并比IoU、矩阵前景交叉比IoF。
在一可能的实现方式中,***还包括优化单元,优化单元,用于根据坐标集合和第一目标函数,使用梯度类优化算法确定第二图纸的标注的坐标信息;优化单元,用于根据第二图纸的标注的坐标信息,对第一图纸的标注进行排布,获得第二图纸;输出单元,用于向用户输出第二图纸。
在一可能的实现方式中,排布信息包括标注在排布时的区域约束;优化单元,用于根据标注集合和区域约束确定第一图纸的多个优化区域,其中,一个标注对应一个优化区域;优化单元,用于根据目标函数,对多个优化区域中的每个优化区域使用梯度类优化算法,获得第二图纸的标注的坐标信息。
在一可能的实现方式中,梯度类优化算法包括最速下降法、梯度下降法、随机梯度下降法、动量梯度下降法、自适应矩估计ADAM算法、牛顿法、拟牛顿法、高斯-牛顿法、列文伯格-马夸尔特算法中的一种或者多种。
在一可能的实现方式中,第一图纸包括地图、线路图、建筑图、结构图、机电图中的一种或者多种。
第三方面,提供了一种计算设备,包括处理器和存储器,存储器用于存储代码,处理器包括用于执行第一方面或第一方面任一种可能实现方式中图纸标注排布***实现的各个模块的功能。
第四方面,提供了一种计算机存储介质,该计算机存储介质中存储有指令,当其在计算设备运行时,使得计算设备执行上述各方面所述的方法。
第五方面,提供了一种包含指令的程序产品,包括程序或指令,当该程序或指令在计算设备上运行时,使得计算设备执行上述各方面所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是一种施工图纸中标注的示例图;
图2是本申请提供的一种图纸标注排布***的架构示意图;
图3是本申请提供的一种图纸标注排布方法的步骤流程示意图;
图4是本申请提供的一种第一目标函数的算法流程示意图;
图5是本申请提供的一种可视化建模界面的示例图;
图6是本申请提供的另一种可视化建模界面的示例图;
图7是本申请提供的一种图纸输入界面的示例图;
图8是本申请提供的一种优化区域的划分方式示例图;
图9是本申请提供的一种排布标注内信息的流程示例图;
图10是本申请提供的一种计算设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
施工图是表示工程项目总体布局、建筑物外部形状、内部布置、结构构造、内外装修、材料作法以及设备、施工等要求的图样,施工人员通常会利用施工图进行落地施工,因此施工图具有图纸齐全、表达准确、要求具体的特点,施工图是进行工程施工、编制施工图预算和施工组织设计的依据,也是进行技术管理的重要技术文件。施工图可包括建筑设计施工图、结构设计社工图和机电设计施工图等等,本申请不作具体限定。
标注是施工图中的重要组成部分,为了使施工图能够被施工人员更好地理解,设计师会按照国家标准规范对施工图进行标注,国家标准规范限定了标注的位置、表达方式等。通常情况下,设计师可通过各种图纸生成软件绘制施工图,绘制完毕后,图纸生成软件可以自动生成各种标注,获得施工图。但是,施工图中的标注和构件数量非常多,自动生成的标注不仅会存在标注与标注之间、标注和构件之间的重叠,还会存在标注引线交叉、标注排布不整齐等问题,导致施工图纸不清楚甚至无法阅读,影响后期落地施工进度。
举例来说,图1是一种施工图纸中标注的示例图,该施工图中的标注是图纸生成软件自动生成的,该施工图包括多个构件130,比如墙壁、梁等等,还包括集中标注110和原位标注120,其中,集中标注110指的是包括引线的标注,原位标注指的是不包括引线的标注。如图1所示,集中标注110与原位标注120发生了重叠,原位标注120与构件130发生了重叠,导致集中标注110和原位标注120的标注文字不清楚,难以分辨,影响施工人员阅读。应理解,图1所举例子中构件和标注的数量较少,但是具体实现中,施工图包含大量的构件和标注,会大量出现图1所示的重叠情况,导致施工图纸不清楚甚至无法阅读,影响后期落地施工进度。
综上,由于施工图中的标注和构件数量非常多,图纸生成软件自动生成的标注和标注之间、标注和构件之间会产生大量的重叠,重叠的标注会导致施工图纸不清楚,影响后期落地施工进度,因此,获得施工图的标注后,设计师往往需要手动调整标注位置,避免出现标注重叠的现象,不仅降低设计师的使用体验,而且降低施工图生成的效率。
为了解决图纸生成软件自动生成的标注需要设计师手动调整标注,导致施工图生成效率低的问题,本申请提供了一种图纸标注排布***,通过获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的,第二图纸的标注之间的重叠边距或者重叠面积低于第一阈值,使得用户在图纸生成后无需再手动调整标注位置,用户获得的第二图纸满足用户的排布意图,提高用户的使用体验,提高施工图生成的效率。
图2是本申请提供的一种图纸标注排布***的架构示意图,如图2所示,该架构可包括图纸标注排布***200以及客户端300,其中,图纸标注排布***200和客户端300之间可建立通信连接,具体可以是有线网络也可以是无线网络,本申请不作具体限定。
客户端300可以在用户所控制的终端设备或计算设备上运行,该终端设备可以是计算机、智能手机、掌上处理设备、平板电脑、移动笔记本、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、一体化掌机、穿戴设备、车载设备、智能会议设备、智能广告设备、智能家电等等,此处不作具体限定。该计算设备可以是裸金属服务器(Bare Metal Server,BMS)、虚拟机、容器或边缘计算设备。其中,BMS指的是通用的物理服务器,例如,ARM服务器或者X86服务器;虚拟机指的是网络功能虚拟化(NetworkFunctions Virtualization,NFV)技术实现的、通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***,容器指的是一组受到资源限制,彼此间相互隔离的进程。
具体实现中,客户端300可以是应用程序客户端,也可以是浏览器中的基于web的客户端,还可以是应用程序(application,APP)客户端,还可以是应用程序编辑接口(application programming interface,API),本申请不作具体限定。
图纸标注排布***200可以部署于计算设备上,该计算设备可以是BMS、虚拟机或容器。其中,BMS指的是通用的物理服务器,例如,ARM服务器或者X86服务器;虚拟机和容器的描述可参考前述内容,这里不重复赘述,图纸标注排布***200还可以部署于多个计算设备组成的计算设备集群上,本申请不作具体限定。
可选地,图纸标注排布***200和客户端300可以部署于不同的计算设备上;或者,图纸标注排布***200部署于计算设备,客户端300部署于终端设备;或者,图纸标注排布***200和客户端300可部署于同一个计算设备上,本申请不作具体限定。
在本申请实施例中,用户通过客户端300输入排布信息和图纸信息后,客户端300可以将上述排布信息和图纸信息发送给图纸标注排布***200,其中,排布信息用于描述用户在标注排布时的排布意图,排布意图可以是标注和标注之间的重叠面积最小、标注居中、标注和构件之间的重叠面积最小等等,图纸信息包括第一图纸,图纸标注排布***200根据排布信息进行建模生成目标函数,根据目标函数和图纸信息生成第二图纸,其中,第二图纸是对第一图纸中的标注进行排布后获得的,该第二图纸中的标注不存在标注重叠问题,使得用户不需要手动调整标注位置,提高用户的使用体验,提高施工图生成的效率。
可选地,客户端300可集成于图纸生成软件中,作为图纸生成软件的一种自动排布标注的功能,用户可通过图纸生成软件输入图纸信息和排布信息。图纸标注排布***200可以集成于图纸生成软件,与客户端300部署于同一台计算设备上,或者,图纸标注排布***200可以集成于远端计算设备,通过网络接收客户端300发送的排布信息和图纸信息,根据排布信息和图纸信息生成上述第二图纸,这里的远端计算设备可以是上述物理服务器、虚拟机或者容器,本申请不作具体限定。
可选地,客户端300可以集成于公有云的控制台(console)中,作为图纸绘制服务中的一个子服务,比如用户购买图纸绘制服务时,可以勾选自动排布标注服务,用户购买云服务成功后,可以通过公有云的console输入排布信息和图纸信息。图纸标注排布***200可以部署于公有云的数据中心,具体可部署于数据中心内的物理服务器、虚拟机、容器或者服务器集群,本申请不作具体限定,图纸标注排布***200可通过网络接收客户端300发送的排布信息和图纸信息,根据排布信息和图纸信息生成上述第二图纸。
可选地,客户端300和图纸标注排布***200可以打包为独立的自动排布标注工具,比如一个应用程序、微服务、APP或者API,部署于同一台计算设备上,用户可以在图纸生成软件生成第一图纸之后,将排布信息和图纸信息输入该自动排布标注工具,自动排表标注工具可以根据排布信息和图纸信息对第一图纸的标注进行排版,获得第二图纸。
应理解,客户端300和图纸标注排布***200还可以有更多种类的形态,具体可根据实际的应用场景决定,这里不一一展开赘述。
进一步地,图纸标注排布***200可划分为多个单元模块,各个单元模块可以是软件模块也可以是硬件模块,也可以是部分软件模块部分硬件模块,本申请不作具体限定。图2是一种示例性划分方式,如图2所示,该图纸标注排布***200可以包括获取单元210、建模单元220、优化单元230以及输出单元240。其中,获取单元210、建模单元220、优化单元230以及输出单元240之间建立通信连接,具体可以是有线连接或者无线连接,本申请不作具体限定。
获取单元210用于获取用户输入的图纸信息和排布信息。
本申请实施例中,图纸信息包括第一图纸,第一图纸包括标注。其中,第一图纸包括地图、线路图、建筑图、结构图、机电图中的一种或者多种。标注包括集中标注和原位标注,集中标注指的是包括引线的标注,原位标注指的是不包括引线的标注,其中,集中标注的引线所连接的构件可称为该集中标注的关联构件,比如图1中的集中标注110的关联构件即为构件130,应理解,关于标注的其他具体描述可参考图1实施例中的举例,这里不重复赘述。
可选地,图纸信息还可包括对第一图纸进行分析后获得的第一图纸的构件信息和标注信息,其中,构件信息包括但不限于第一图纸中的构件的类型、坐标集合、几何形状等等,构件的类型包括梁、柱、墙壁等等,几何形状包括矩形、六边形、圆形等等,标注信息包括但不限于标注的类型、坐标集合、集合形状等等,标注的类型包括集中标注和原位标注,本申请不作具体限定。
需要说明的,构件的坐标集合和标注的坐标集合可以包括多个坐标,举例来说,假设构件A的标注A1的标注框的形状为矩形,那么标注A1的坐标集合可包括标注框的左上角坐标和右下角坐标,或者,右上角坐标和左下角坐标,或者其他能够表示标注A1在第一图纸中位置的坐标集合,本申请不作具体限定。
本申请实施例中,排布信息用于描述用户在标注排布时的排布意图,具体地,该排布意图可包括但不限于:“标注之间重叠最小、标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少、集中标注引线为单引线或三段折线、集中标注起点在对应构件(比如梁)的范围内、原位标注位置在对应构件(比如梁)范围内”等等,本申请不作具体限定。
在一实施例中,排布信息可包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息。具体实现中,该排布信息可以是排布意图,或者用于描述该排布意图的目标函数,或者该目标函数的元素和函数关系,当然排布信息还可以是其他能够描述排布意图的任意表现形式,本申请不作具体限定。
可选地,排布信息可包括用户输入的排布意图,比如上述标注之间重叠最小、标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少等等,具体可参考前述内容中关于排布意图的描述,这里不重复赘述。具体实现中,图纸标注排布***200可以提前设定好不同的排布意图对应的目标函数,然后向用户提供多个排布意图的选项,用户可以从中选择自己所需要的排布意图,根据该排布意图确定对应的目标函数,使用该目标函数对用户输入的第一图纸进行排布,获得第二图纸。
可选地,排布信息可包括目标函数,该目标函数用于描述用户的上述排布意图。具体实现中,若用户的排布意图为标注之间没有重叠或者重叠最小,那么排布信息可包括用于确定标注之间重叠面积或者重叠边距的目标函数;若用户的排布意图为标注与构件之间没有重叠或者重叠最小,那么排布信息可包括用于确定第一图纸中的标注和第一图纸中的构件之间的重叠面积或者重叠边距的目标函数;若用户的排布意图为集中标注与关联构件之间的距离最短,那么排布信息可包括用于确定第一图纸中的构件与标注之间距离的目标函数;若用户的排布意图为集中标注在关联构件居中位置,那么排布信息可包括用于确定标注所在区域的中点和关联构件所在区域的中点之间距离的目标函数。应理解,用户可拥有多个排布意图,那么排布信息也可包括多个目标函数,其中,一个目标函数对应一个排布意图。具体实现中,用户可通过客户端输入目标函数。
可选地,排布信息可包括目标函数的元素和函数关系,该元素和函数关系可以确定上述用于描述用户排布意图的目标函数。具体实现中,图纸标注排布***200可以向用户提供多个元素和多个函数关系,用户可以先确定自己的排布意图,然后从图纸标注排布***200提供的多个元素和多个函数关系中选择自己排布意图所需的元素和函数关系,图纸标注排布***200根据用户选择的元素和函数关系生成目标函数,然后使用该目标函数对第一图纸的标注进行排版,获得排版后的第二图纸。
在一实施例中,客户端300包括建模界面310和图纸输入界面320,客户端300可通过建模界面310向用户获取排布信息,通过图纸输入界面320向用户获取图纸信息。其中,建模界面310包括软件开发工具包(software development kit,SDK)建模界面和可视化建模界面。
可选地,当建模界面310是SDK建模界面时,SDK建模界面可以向用户提供多个建模应用程序接口(application programming interface,API),用户可根据排布意图,使用建模API输入排布信息,该排布信息可以是目标函数,其中,不同的排布意图可对应不同的目标函数。举例来说,若用户需要标注之间没有重叠或者重叠最小,那么用户可通过SDK建模界面,使用API生成用于确定标注之间重叠面积或者重叠边距的第一目标函数;若用户需要标注与构件之间没有重叠或者重叠最小,那么用户可通过SDK建模界面,使用API生成用于确定标注与构件之间重叠面积或者重叠边距的第二目标函数,以此类推,这里不一一举例说明。
可选地,当建模界面310是可视化建模界面时,用户输入的排布信息可以是用于确定目标函数的元素和函数关系,比如上述可视化建模界面可以向用户提供图纸元素列表和可微几何关系列表,其中,图纸元素列表包括多个图纸元素,这里的图纸元素可包括上述构件、集中标注、原位标注以及引线等图纸中的常用元素,可微几何关系列表可包括多种可微(可微分)的集合关系,比如矩阵的加减乘除、矩阵交并比(intersection over union,IoU)、前景交叉比(intersection over foreground,IoF)、矩阵的上斜矩阵、矩阵的对角矩阵等等,本申请不作具体限定。
可选地,当建模界面310是可视化建模界面时,用户输入的排布信息还可以是排布意图,比如上述可视化建模界面可以向用户提供多种排布意图,比如“标注不重叠”选项,“标注构件不重叠”选项等等,根据用户选择的排布意图确定其对应的目标函数,这里不一一举例说明。
可选地,排布信息可包括标注在排布时的区域约束。区域约束用于确定标注能够存在的优化区域,举例来说,原位标注在关联构件上方、原位标注在关联构件下方等,或者,集中标注的引线不穿过构件等等,本申请不作具体限定。具体实现中,排布信息中的区域约束也可通过上述可视化建模界面或者SDK建模界面输入,这里不再展开赘述。
建模单元220用于根据用户输入的排布信息生成目标函数,其中,目标函数的数量可以是一个或者多个,比如上述第一目标函数、第二目标函数、第三目标函数和第四目标函数,一个目标函数对应一个排布意图。
应理解,如果用户通过SDK建模界面直接输入了目标函数,即客户端300获取的排布信息为上述目标函数,那么获取单元210可以直接将目标函数发送给优化单元230,如果用户通过可视化建模界面输入了目标函数的元素和函数关系,或者输入了排布意图,那么获取单元可以将排布信息发送给建模单元220,建模单元可以基于该排布信息生成上述目标函数。
具体实现中,如果排布信息是目标函数的元素和函数关系,那么建模单元220可以根据元素和函数关系组合成目标函数,如果排布信息是排布意图,那么建模单元220可以根据预先设定好的排布意图和目标函数之间的对应关系,确定该排布意图对应的目标函数。
优化单元230用于图纸信息和目标函数,对第一图纸的标注进行排布后获得第二图纸。其中,该图纸信息是用户通过客户端300的图纸输入界面320获得的,目标函数可以是用户通过建模界面310输入的,也可以是建模单元220根据用户输入的排布信息生成的,本申请不作具体限定。
具体实现中,优化单元230可以根据图纸信息中的标注的坐标集合,结合目标函数,使用梯度类优化算法确定第二图纸的标注的坐标信息,然后根据第二图纸的标注的坐标信息,对第一图纸的标注进行排布,获得第二图纸。
可选地,优化单元230可以先根据图纸信息中标注的坐标集合,结合排布信息中的区域约束,确定第一图纸的多个优化区域,其中,一个标注对应一个优化区域,然后根据建模单元220生成的目标函数,对每个优化区域使用梯度类优化算法,使得每个优化区域内的标注满足用户所需的排布意图,获得第二图纸的标注的坐标信息。
具体实现中,每个标注的优化区域指的是该标注满足区域约束的区域,举例来说,如果优化约束为“原地标注位于关联构件上方”,那么原地标注的优化区域为关联构件上方的区域,该区域的大小可以是默认大小。再举例来说,如果优化约束为“集中标注的引线不穿过构件”,那么集中标注的优化区域是引线不会穿过任何构件的区域。总而言之,优化区域的位置是根据用户输入的区域约束来确定,标注优化区域的大小可以根据经验值或者用户输入的值来确定,本申请不作具体限定。
进一步地,每个标注可包括多行标注信息,根据区域约束确定每个标注的优化区域,并对优化区域内基于目标函数使用梯度优化算法确定每个标注的坐标之后,可以对每个标注的多行标注信息进行进一步的排布,比如修改第一行标注和第三行标注的位置,使得最终获得的第二图纸的标注满足用户的排布意图。
举例来说,梁A的标注中的第一行标注信息为梁尺寸标注(比如宽*高为250*600),第二行标注信息为箍筋尺寸标注(比如Φ8-100/200意思是箍筋直径为8,加密区间距100,非加密区间距200),如果最终确定的梁A的标注坐标,虽然是梯度优化算法获得的最优值,但是仍果然有部分标注文字与其他标注重叠,那么确定梁A的标注的坐标信息之后,可以对梁A的标注内的多行标注信息进行排布,比如修改第一行标注和第三行标注之间的位置,使得梁A的标注文字与其他标注文字不进行重叠,从而最大程度满足用户的排布意图,提高用户的使用体验。应理解,上述举例用于说明,本申请不作具体限定。
需要说明的,如果用户没有输入优化约束,那么上述优化区域可以是标注所在的区域,区域的大小可以根据经验值确定,本申请不作具体限定。进一步地,由于图纸的标准通常是固定的,因此用户没有输入优化约束,图纸标注排布***200也可以根据输入图纸的类型确定图纸的通用规范,使用通用规范对应的优化约束确定优化区域,本申请不作具体限定。
可选地,优化单元230在对每个优化区域内的标注进行排布时,可根据上述坐标集合和目标函数,对每个优化区域使用梯度类优化算法确定第二图纸的标注的坐标信息,根据第二图纸的标注的坐标信息,对第一图纸的标注进行排布,获得第二图纸。
其中,梯度类优化算法指的是遵循一定优化路径逐渐寻找最优点的方法,这里的一定优化路径指的可以是上述目标函数。举例来说,如果目标函数为用于确定标注之间重叠面积的第一目标函数,那么根据梯度类优化算法确定的标注,标注之间的重叠面积最小。
具体实现中,上述梯度类优化算法包括但不限于最速下降法、梯度下降法、随机梯度下降法、动量梯度下降法、自适应矩估计(adaptive moment estimation,ADAM)算法、牛顿法、拟牛顿法、高斯-牛顿法、列文伯格-马夸尔特算法等,本申请不作具体限定。
需要说明的,如果用户通过SDK建模界面输入的目标函数无法使用梯度类优化算法,图纸标注排布***200可以向客户端300反馈目标函数不符合规则的信息,使得客户端300可以重新获取用户输入的目标函数。
输出单元240用于向用户输出第二图纸,具体地,输出单元240可以将第二图纸发送给客户端300,客户端300的图纸输出界面330可以向用户显示第二图纸。
综上可知,本申请提供的图纸标注排布***,通过获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的,第二图纸的标注之间的重叠边距或者重叠面积低于第一阈值,使得用户在图纸生成后无需再手动调整标注位置,用户获得的第二图纸满足用户的排布意图,提高用户的使用体验,提高施工图生成的效率。
图3是本申请提供的一种图纸标注排布方法的步骤流程示意图,该方法可应用于如图2所示的图纸标注排布***中,如图3所示,该图纸标注排布方法可包括以下步骤:
S310:客户端300向图纸标注排布***200发送用户输入的排布信息。
其中,排布信息用于描述用户在标注排布时的排布意图,该排布意图可包括但不限于:“标注之间重叠最小、标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少、集中标注引线为单引线或三段折线、集中标注起点在对应构件(比如梁)的范围内、原位标注位置在对应构件(比如梁)范围内”等等,本申请不作具体限定。
在一实施例中,排布信息可包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息。具体实现中,该排布信息可以是排布意图,或者用于描述该排布意图的目标函数,或者该目标函数的元素和函数关系,当然排布信息还可以是其他能够描述排布意图的任意表现形式,本申请不作具体限定。
可选地,排布信息可包括用户输入的排布意图,比如上述标注之间重叠最小、标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少等等,具体可参考前述内容中关于排布意图的描述,这里不重复赘述。具体实现中,图纸标注排布***200可以提前设定好不同的排布意图对应的目标函数,然后向用户提供多个排布意图的选项,用户可以从中选择自己所需要的排布意图,根据该排布意图确定对应的目标函数,使用该目标函数对用户输入的第一图纸进行排布,获得第二图纸。
可选地,排布信息可包括目标函数,该目标函数用于描述用户的上述排布意图。具体实现中,若用户的排布意图为标注之间没有重叠或者重叠最小,那么排布信息可包括用于确定标注之间重叠面积或者重叠边距的目标函数;若用户的排布意图为标注与构件之间没有重叠或者重叠最小,那么排布信息可包括用于确定第一图纸中的标注和第一图纸中的构件之间的重叠面积或者重叠边距的目标函数;若用户的排布意图为集中标注与关联构件之间的距离最短,那么排布信息可包括用于确定第一图纸中的构件与标注之间距离的目标函数;若用户的排布意图为集中标注在关联构件居中位置,那么排布信息可包括用于确定标注所在区域的中点和关联构件所在区域的中点之间距离的目标函数。应理解,用户可拥有多个排布意图,那么排布信息也可包括多个目标函数,其中,一个目标函数对应一个排布意图。具体实现中,用户可通过客户端输入目标函数。
可选地,排布信息可包括目标函数的元素和函数关系,该元素和函数关系可以确定上述用于描述用户排布意图的目标函数。具体实现中,图纸标注排布***200可以向用户提供多个元素和多个函数关系,用户可以先确定自己的排布意图,然后从图纸标注排布***200提供的多个元素和多个函数关系中选择自己排布意图所需的元素和函数关系,图纸标注排布***200根据用户选择的元素和函数关系生成目标函数,然后使用该目标函数对第一图纸的标注进行排版,获得排版后的第二图纸。
可选地,排布信息可包括标注在排布时的区域约束。区域约束用于确定标注能够存在的优化区域,举例来说,原位标注在关联构件上方、原位标注在关联构件下方等,或者,集中标注的引线不穿过构件等等,本申请不作具体限定。具体实现中,排布信息中的区域约束也可通过上述可视化建模界面或者SDK建模界面输入,这里不再展开赘述。
在一实施例中,客户端300可通过图2实施例中描述的建模界面310获取上述排布信息,其中,建模界面包括SDK建模界面和可视化建模界面。可选地,SDK建模界面可以向用户提供多个建模API,用户可根据所需的标注排布的排布意图,使用建模API生成目标函数。
需要说明的,SDK建模界面获取的排布信息可以是用户使用建模API直接生成的目标函数,也可以是用户使用建模API生成的目标函数的相关信息,比如目标函数的元素、函数关系等等,以供图纸标注排布***200根据该目标函数的相关信息生成多个目标函数。
举例来说,若用户需要标注之间没有重叠或者重叠最小,那么用户可通过SDK建模界面,使用API生成用于确定标注之间重叠面积的第一目标函数,或者,使用API描述第一目标函数所需的元素和函数关系,以供图纸标注排布***200基于该元素和函数关系生成第一目标函数;若用户需要标注与构件之间没有重叠或者重叠最小,那么用户可通过SDK建模界面,使用API生成用于确定标注与构件之间重叠面积的第二目标函数,或者,使用API描述第一目标函数所需的元素和函数关系,以供图纸标注排布***200基于该元素和函数关系生成第二目标函数,以此类推,这里不一一举例说明。
可选地,可视化建模界面可以向用户提供多个元素和多个函数关系,用户可根据所需的标注排布的排布意图,从多个元素和多个函数关系中挑选出目标函数的元素和函数关系,从而生成排布信息并输入至图纸标注排布***200。
具体实现中,可视化建模界面提供的多个元素可以是包括多个图纸元素的图纸元素列表,这里的图纸元素可包括上述构件、集中标注、原位标注以及引线等图纸中的常用元素,可视化建模界面提供的多个函数关系可以是包括多个可微(可微分)几何关系的可微几何关系列表,这里的可微几何关系可包括标注的框面积、标注的框之间的距离、标注的框中心坐标、矩阵的加减乘除、矩阵交并比(intersection over union,IOU)、前景交叉比(intersection over foreground,IoF)、矩阵的上斜矩阵、矩阵的对角矩阵等等,本申请不作具体限定。
需要说明的,可视化建模界面获取的排布信息可以包括目标函数的元素和函数关系等等,以供图纸标注排布***200根据该目标函数的元素和函数关系生成目标函数。
举例来说,假设用户所需的标注排布的排布意图为:标注之间的重叠面积最小或者不发生重叠,那么用户可以根据自己的排布意图,通过客户端300输入排布信息,参考前述内容可知,该排布信息可包括用于确定标注之间重叠面积的第一目标函数,或者,第一目标函数的元素和函数关系。示例性地,图4是本申请提供的一种第一目标函数的算法流程图,应理解,图4是一种第一目标函数的举例,具体实现中,用户可根据实际业务情况来确定第一目标函数的具体算法流程,本申请不作具体限定。
如图4所示,首先,可先获取第一图纸的原位标注包围盒和集中标注包围盒,其中,原位标注包围盒指的是原位标注的标注框的坐标集合,参考前述内容可知,该坐标集合可包括标注框的左上角坐标和右下角坐标,同理,集中标注包围盒指的是集中标注的标注框的坐标集合。接着,对原位标注包围盒进行batch操作确定原位标注矩阵,对集中标注包围盒进行batch操作确定集中标注矩阵,然后对原位标注矩阵和集中标注矩阵进行矩阵IoU,获得原位-集中IoU,这里的原位-集中IoU用于描述原位标注和集中标注之间重叠的面积大小,同理,对集中标注矩阵自身进行矩阵IoU后后的集中-集中IoU,然后对集中-集中IoU取上斜矩阵,可以得到集中标注间的重叠,最后将两个IoU矩阵分别通过矩阵sum再数值sum后,即可得到标注间的重叠损失,该重叠损失可用于衡量标注之间的重叠面积或者重叠边距。其中,矩阵sum指的是计算矩阵中元素的综合,数值sum指的是加法计算,应理解,图4所示的第一目标函数的算法流程用于举例说明,本申请不作具体限定。
具体实现中,用户可根据图4所示的流程图,通过SDK界面提供的多种API编写能够实现图4所示算法流程的第一目标函数,输入图纸标注排布***200。
可选地,用户也可以根据图4所示的流程图,通过可视化界面输入第一目标函数的元素和函数关系,示例性地,图5是本申请提供的一种可视化建模界面的示例图,如图5所示,该可视化界面可包括元素列表510、建模区域520、函数关系列表530以及编辑选项列表540。
其中,元素列表510中包括多个元素,包括但不限于图5中所示的原位标注包围盒、集中标注包围盒、构件包围盒、引线长度、构件长度、构件宽度等等。
函数关系列表530中包括多个函数关系,包括但不限于图5中所示的batch操作、矩阵IoU、上斜矩阵、矩阵sum、数值sum、构件宽度计算等等,本申请不作具体限定。
编辑选项列表540包括多种编辑控件,包括但不限于图5中所示的连接线控件、撤销控件以及保存控件,其中,连接线控件用于在元素和元素之间、元素和函数关系之间或者函数关系和函数关系之间建立连接关系,撤销用于回到上一步操作,保存用于保存建模区域内显示的排布信息。
建模区域520用于显示用户选择的元素和函数关系,具体实现中,用户可以从元素列表拉取元素至建模区域520,从函数关系列表530拉取函数关系至建模区域520,然后根据用户所需的目标函数的算法流程建立元素和函数关系之间的连接关系,以图4所述的第一目标函数的算法流程为例,获取原位-集中IoU的计算流程可以用如下方式表示:用户可从元素列表510中拉取元素“原位标注包围盒”至建模区域520,从函数关系列表530中拉取函数关系“Batch操作”至建模区域520,从编辑选项列表540中选择连接线,然后将元素“原位标注包围盒”与函数关系“Batch操作”建立连接,则表示对原位标注包围盒进行Batch操作,同理,从元素列表510中拉取元素“集中标注包围盒”至建模区域520,从函数关系列表530中拉取函数关系“Batch操作”至建模区域520,从编辑选项列表540中选择连接线,然后将元素“集中标注包围盒”与函数关系“Batch操作”建立连接,则表示对集中标注包围盒进行Batch操作,然后从函数关系列表530拉取函数关系“矩阵IoU”,再将两个函数关系“Batch操作”与函数关系“矩阵IoU”建立连接,这样即可获得图4所示的原位-集中IoU,以此类推,通过拉取元素和函数关系,使用连接线对元素和函数关系按照图4所示的算法流程进行连接,最终可获得图5所示的建模区域520内的函数关系。
需要说明的,用户在建模区域520中输入函数关系和元素后,点击编辑选项列表540中的保存控件,即可保存排布信息,客户端300可以将保存好的排布信息(包括建模区域520内的元素、函数关系以及二者之间的连接关系)发送给图纸标注排布***200,以供图纸标注排布***200根据该排布信息生成对应的目标函数。
应理解,图5用于举例说明,可视化建模界面还可包括更多列表、控件、元素和函数关系,具体可根据业务需求确定,本申请不作具体限定。
需要说明的,上述例子中对用户的目标为:标注之间没有重叠或者重叠最小,因此上文对第一目标函数的可能实现方式进行了举例说明,以此类推,对于用户其他目标比如:标注与构件重叠最小、集中标注的引线穿过构件区域(比如梁)的次数最少、集中标注引线为单引线或三段折线、集中标注起点在对应构件(比如梁)的范围内、原位标注位置在对应构件(比如梁)范围内等等,用户也可以按照图4所示的方式先确定目标对应的目标函数的算法流程,按照算法流程从SDK建模界面输入排布信息,或者,从可视化建模界面输入排布信息,这里不一一举例说明。
可选地,排布信息可包括标注在排布时的区域约束。区域约束用于确定标注能够存在的优化区域,举例来说,原位标注在关联构件上方、原位标注在关联构件下方等,或者,集中标注的引线不穿过构件等等,本申请不作具体限定。
需要说明的,排布信息中的区域约束也可通过上述可视化建模界面或者SDK建模界面输入,这里不再展开赘述。
在一实施例中,排布信息可以是排布意图。可视化建模界面可以向用户提供多个排布意图以供选择,不同的排布意图对应不同的目标函数,图纸标注排布***200可根据用户选择的排布意图确定目标函数。
举例来说,显示排布意图的可视化建模界面可以如图6所示,图6是本申请提供的另一种可视化建模界面的示意图,如图6所示,该可视化建模界面可包括排布意图选择区域660,应理解,图6是一种举例,用于获取排布意图的可视化建模界面还可包括更多的区域,本申请不作具体限定。
其中,排布意图选择区域660用于向用户展示多个排布意图以供选择,用户可以根据实际的业务场景需求,选择所需的排布意图,示例性地,如图6所示,用户可以选择“标注不重叠”的排布意图以及“集中标注引线不穿构件”的排布意图,图纸标注排布***200可以根据用户选择的排布意图,获取“标注不重叠”的排布意图对应的第一目标函数,即用于确定标注之间重叠面积或者重叠边距的第一目标函数,获取“集中标注引线不穿构件”的排布意图,获得集中标注引线不穿梁的区域约束。应理解,图6用于举例说明,本申请不作具体限定。
可以理解的,通过获取用户排布意图的方式,获图纸标注排布***200可以提前确定多个排布意图对应的目标函数,然后向用户提供可以选取的排布意图,再根据用户选择的排布意图获得对应的目标函数,根据目标函数使用梯度优化算法来对第一图纸的标注进行重新排版,获得第二图纸。上述过程中,用户只需选择排布意图输入第一图纸即可,操作简单快捷,提高用户的使用体验。
需要说明的,图6只可以选择图纸标注排布***200提供的排布意图,如果用户需要更多类别的排布意图,可以使用图5所示的可视化建模界面,选取函数关系和元素,组合出目标函数,如果图5中提供的函数关系和元素仍然无法满足用户的排布意图,用户可以选择SDK建模界面,手动输入想要的目标函数。用户可根据实际应用场景灵活选择输入排布信息的方式。
S320:图纸标注排布***200确定目标函数。
具体实现中,图纸标注排布***200可根据用户输入的排布信息生成目标函数,其中,目标函数的数量可以是一个或者多个,比如上述第一目标函数、第二目标函数、第三目标函数和第四目标函数,一个目标函数对应一个排布意图。
应理解,若用户通过SDK建模界面输入排布信息,那么该排布信息可包括多个目标函数,步骤S310后可直接执行步骤S330;若用户通过可视化建模界面输入排布信息,那么该排布信息可以是多个排布意图,或者多个目标函数的元素和函数关系,那么步骤S310后可执行步骤S320,根据排布信息中目标函数的元素和函数关系,确定目标函数,将其进行保存。具体实现中,如果排布信息是目标函数的元素和函数关系,那么可以根据元素和函数关系组合成目标函数,如果排布信息是排布意图,那么可以根据预先设定好的排布意图和目标函数之间的对应关系,确定该排布意图对应的目标函数。
需要说明的,如果用户输入的目标函数,或者,根据用户输入的元素和函数关系所确定的目标函数是不可微分的函数,图纸标注排布***200可以向用户返回目标函数不符合标准的信息,直至用户输入可微函数后,再将其作为目标函数进行保存,避免后续使用梯度类优化算法时由于目标函数不可微分出现优化失败的问题。
S330:客户端300向图纸标注排布***200发送用户输入的图纸信息。
其中,图纸信息包括第一图纸,第一图纸包括标注。具体地,第一图纸包括地图、线路图、建筑图、结构图、机电图中的一种或者多种。标注包括集中标注和原位标注,集中标注指的是包括引线的标注,原位标注指的是不包括引线的标注,其中,集中标注的引线所连接的构件可称为该集中标注的关联构件,比如图1中的集中标注110的关联构件即为构件130,应理解,关于标注的其他具体描述可参考图1实施例中的举例,这里不重复赘述。
可选地,图纸信息还可包括对第一图纸进行分析后获得的第一图纸的构件信息和标注信息,其中,构件信息包括但不限于构件的类型、坐标集合、几何形状等等,构件的类型包括梁、柱、墙壁等等,几何形状包括矩形、六边形、圆形等等,标注信息包括但不限于标注的类型、坐标集合、集合形状等等,标注的类型包括集中标注和原位标注,本申请不作具体限定。
需要说明的,构件的坐标集合和标注的坐标集合可以包括多个坐标,举例来说,假设构件A的标注A1的标注框的形状为矩形,那么标注A1的坐标集合可包括标注框的左上角坐标和右下角坐标,或者,右上角坐标和左下角坐标,或者其他能够表示标注A1在第一图纸中位置的坐标集合,本申请不作具体限定。
在本申请实施例中,第一图纸的标注可以是用户人工添加的标注,也可以是图纸生成软件自动添加的标注,本申请不作具体限定。
具体实现中,客户端300可以通过图2实施例中的图纸输入界面320获取上述图纸信息,示例性地,图7是本申请提供的一种图纸输入界面的示例图,如图7所示,该图纸输入界面可包括上传图纸区域610、图纸显示区域620、构件信息和标注信息显示区域630以及控件区域640。
其中,上传图纸区域610用于获取用户上传的第一图纸,用户可在该区域双击添加文件,或者直接拖拽图纸文件实现第一图纸的上传,本申请不作具体限定。
图纸显示区域620用于显示用户上传的第一图纸,或者,用于显示图纸标注排布***200对第一图纸的标注进行排布后生成的第二图纸,本申请不作具体限定。具体实现中,可以在排布之前,图纸显示区域620显示第一图纸,在排布之后,图纸显示区域620显示第二图纸。需要说明的,图纸显示区域620也可以进一步划分为第一图纸显示区域和第二图纸显示区域,本申请不作具体限定。
构件信息和标注信息显示区域630用于显示第一图纸的构件信息和第一图纸的标注信息,其中,构件信息可包括但不限于构件的坐标集合、构件的类型、构件的几何形状等,标注信息可包括但不限于标注的坐标集合、标注的类型、标注的集合形状等,本申请不作具体限定。其中,构件信息和标注信息的具体描述可参考前述内容,这里不重复赘述。
需要说明的,构件信息和标注信息显示区域所显示的构件信息和标注信息可以是客户端300根据用户上传的第一图纸分析生成的,也可以是用户手动输入的。当然,构件信息和标注信息也可以供用户进行修改,比如客户端300根据用户上传的第一图纸分析生成构件类型为梁,用户可以对其进行修改,比如将其修改为次梁或者主梁,本申请不作具体限定。
可以理解的,在标注排布之后,图纸显示区域620显示第二图纸时,构件信息和标注信息显示区域可以随之显示第二图纸的构件信息和第二图纸的标注信息,本申请不作具体限定。
控件区域640包括但不限于图7所示的保存控件和开始控件,其中,保存控件用于保存用户上传的图纸信息,开始控件用于根据该图纸信息,结合目标函数对第一图纸中的标注进行排布,生成第二图纸。
应理解,图7用于举例说明,图纸输入界面还可根据实际情况包括更多或者更少的显示区域以及控件,本申请不作具体限定。
S340:图纸标注排布***200根据图纸信息和排布信息确定优化区域。
可选地,图纸标注排布***200可根据图纸信息中的标注的坐标集合,结合排布信息中的区域约束,确定第一图纸的多个优化区域,其中,一个标注对应一个优化区域,每个标注的优化区域指的是能够使得该标注满足区域约束的区域,举例来说,如果优化约束为“原地标注位于关联构件上方”,那么原地标注的优化区域为关联构件上方的区域,该区域的大小可以是默认大小。再举例来说,如果优化约束为“集中标注的引线不穿过构件”,那么集中标注的优化区域是引线不会穿过任何构件的区域。总而言之,优化区域的位置是根据用户输入的区域约束来确定,标注优化区域的大小可以根据经验值或者用户输入的值来确定,本申请不作具体限定。
以图8所示的例子为例,图8是本申请提供的一种优化区域的划分示例图,如图8所示,第一图纸中的梁1标注和梁2标注都穿过了与其关联的构件梁1和构件梁2,如果用户输入的排布信息包括区域约束1、排布信息1和排布信息2,其中,区域约束1为集中标注的引线不穿过构件,排布信息1为用于确定集中标注的标注框与关联构件之间的距离的第三目标函数(用户通过SDK建模界面直接输入的目标函数),排布信息2为用于确定标注所在区域的中点和关联构件所在区域的中点之间距离的第四目标函数,那么图8所示的例子中,根据区域约束1和梁1标注的坐标集合,可以获得梁1标注的优化区域为区域1,因为梁1标注如果在区域2和区域3,那么梁1标注的引线必然会穿过梁1和梁2。同理,梁2标注的优化区域为区域2,因为如果梁2标注位于区域1其引线将会穿过梁1,如果梁2标注位于区域3其引线将会穿过梁2。因此梁1标注的优化区域为区域1,梁2标注的优化区域为区域2。
接着,确定好每个标注的优化区域后,可以针对每个优化区域和确定的目标函数(即上述第三目标函数和第四目标函数)使用梯度类优化算法确定每个标注坐标的最优值,最终的优化结果可以如图8所示,其中,梁1标注与关联构件梁1之间的距离较短,且位于梁1居中位置,梁2标注与关联构件梁2之间的距离较短,且位于梁2居中位置。应理解,图8用于举例说明,本申请不作具体限定。
需要说明的,如果用户没有输入优化约束,那么上述优化区域可以是标注所在的区域,区域的大小可以根据经验值确定,本申请不作具体限定。进一步地,由于图纸的标准通常是固定的,因此用户没有输入优化约束,图纸标注排布***200也可以根据输入图纸的类型确定图纸的通用规范,使用通用规范对应的优化约束确定优化区域,本申请不作具体限定。
进一步地,每个标注可包括多行标注信息,根据区域约束确定每个标注的优化区域,并对优化区域内基于目标函数使用梯度优化算法确定每个标注的坐标之后,可以对每个标注的多行标注信息进行进一步的排布,比如修改第一行标注和第三行标注的位置,使得最终获得的第二图纸的标注满足用户的排布意图。
举例来说,图9是一种排布标注内信息的流程示意图,图9左侧的图纸即为图1所示的图纸,包括集中标注X和原地标注Y,假设用户的排布意图为标注不重叠,通过SDK建模界面或者可视化建模界面输入的排布信息包括用于确定标注之间重叠面积或者重叠边距的第一目标函数,接收用户输入的第一图纸,然后确定集中标注X和原地标注Y的优化区域,在优化区域内结合第一目标函数使用梯度类优化算法确定标注的最优坐标,获得图9中间位置所示的第一图纸,此时集中标注X和原地标注Y之间的重叠面积最小,但是还存在有部分重叠,因此可以对集中标注X和原地标注Y的每行标注信息进行排布,获得图9右侧位置所示的第二图纸,此时集中标注X和原地标注Y没有重叠。应理解,图9用于举例说明,本申请不作具体限定。
需要说明的,如果图纸的标注规范要求标注顺序不能发生改变,比如梁的标注中第一行必须是梁的尺寸,第二行必须是梁的材质,那么图纸标注排布***200确定标注的坐标之后,可以不对标注内的每行标注信息进行进一步地排布,具体可根据实际情况决定是否需要进一步的排布每行标注信息,本申请不作具体限定。
S350:图纸标注排布***200根据目标函数,对每个优化区域使用梯度类优化算法,确定第二图纸的标注的坐标信息。
其中,梯度类优化算法指的是遵循一定优化路径逐渐寻找最优点的方法,这里的一定优化路径指的可以是上述目标函数。举例来说,如果目标函数为用于确定标注之间重叠面积的第一目标函数,那么根据梯度类优化算法确定的标注,标注之间的重叠面积最小。
具体实现中,上述梯度类优化算法包括但不限于最速下降法、梯度下降法、随机梯度下降法、动量梯度下降法、自适应矩估计(adaptive moment estimation,ADAM)算法、牛顿法、拟牛顿法、高斯-牛顿法、列文伯格-马夸尔特算法等,本申请不作具体限定。
可以理解的,如果用户输入了多个目标函数,那么可以使用梯度类优化算法确定满足多个目标函数的最优坐标,比如用户要求标注之间重叠面积最小,并且标注和构件之间的重叠面积最小,那么第一目标函数用于描述标注与标注之间的重叠面积,第二目标函数用于描述标注与构件之间的重叠面积,步骤S350使用梯度类优化算法确定的坐标信息可以同时满足第一目标函数和第二目标函数最小。
S360:图纸标注排布***200根据第二图纸的标注的坐标信息,对第一图纸的标注进行排布,获得第二图纸。
S370:图纸标注排布***200向客户端300发送第二图纸。
具体实现中,客户端300可以向用户显示第二图纸,比如在图7所示的界面中的图纸显示区域620向用户显示标注排布后的第二图纸,或者,在新的图纸输出界面向用户显示第二图纸,本申请不作具体限定。
可以理解的,上述步骤S310~步骤S370整个步骤流程中,用户只需要输入图纸信息和排布信息,即可获得第二图纸,并且,多个图纸可以共用同一个排布信息,也就是说,用户在输入排布信息后,可以输入多张图纸进行标注的重新排布,使得用户无需再对图纸进行重复性、机械性的排布操作,不仅提高用户的使用体验,而且提高图纸的生成效率。
综上可知,本申请提供的图纸标注排布方法,通过获取用户输入的图纸信息和排布信息,其中,图纸信息包括第一图纸,排布信息用于描述用户在标注排布时的排布意图,排布信息包括用于确定第一图纸中的标注之间的重叠面积或者重叠边距的信息,图纸标注排布***向用户输出第二图纸,其中,第二图纸是基于排布信息对第一图纸的标注进行排布后获得的,第二图纸的标注之间的重叠面积或者重叠边距低于第一阈值,使得用户在图纸生成后无需再手动调整标注位置,用户获得的第二图纸满足用户的排布意图,提高用户的使用体验,提高施工图生成的效率。
图10是本申请提供的一种计算设备的结构示意图,图1~图9实施例中描述的图纸标注排布***200可部署于图10所示的计算设备900上。
进一步地,计算设备900包括处理器901、存储单元902、存储介质903和通信接口904,其中,处理器901、存储单元902、存储介质903和通信接口904通过总线905进行通信,也通过无线传输等其他手段实现通信。
该计算设备可以是BMS、虚拟机或容器。其中,BMS指的是通用的物理服务器,例如,ARM服务器或者X86服务器;虚拟机指的是NFV技术实现的、通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***,容器指的是一组受到资源限制,彼此间相互隔离的进程,计算设备还可以是边缘计算设备、存储服务器或者存储阵列,本申请不作具体限定。
处理器901由至少一个通用处理器构成,例如CPU、NPU或者CPU和硬件芯片的组合。上述硬件芯片是专用集成电路(Application-Specific Integrated Circuit,ASIC)、编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD是复杂编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场编程逻辑门阵列(Field-Programmable Gate Array,FPGA)、通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。处理器901执行各种类型的数字存储指令,例如存储在存储单元902中的软件或者固件程序,它能使计算设备900提供较宽的多种服务。
具体实现中,作为一种实施例,处理器901包括一个或多个CPU,例如图10中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算设备900也包括多个处理器,例如图10中所示的处理器901和处理器906。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储单元902用于存储程序代码,并由处理器901来控制执行,以执行上述图1-图9中任一实施例中图纸标注排布***200的处理步骤。程序代码中包括一个或多个软件单元,上述一个或多个软件单元是图2实施例中的建模单元和优化单元,其中,建模单元用于根据用户输入的排布信息获得目标函数,优化单元用于根据目标函数对用户输入的第一图纸中的标注进行重新排布,获得排布后的第二图纸。上述建模单元和优化单元的具体实现方式参考图1~图9实施例,并且,上述程序代码还可包括更多的软件单元,比如图1实施例中的获取单元和输出单元,此处不再赘述。
存储单元902包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储单元902还包括非易失性随机存取存储器。存储单元902是易失性存储器或非易失性存储器,或包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、编程只读存储器(programmable ROM,PROM)、擦除编程只读存储器(erasable PROM,EPROM)、电擦除编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。还是硬盘(hard disk)、U盘(universal serial bus,USB)、闪存(flash)、SD卡(secure digital memory Card,SD card)、记忆棒等等,硬盘是硬盘驱动器(hard diskdrive,HDD)、固态硬盘(solid state disk,SSD)、机械硬盘(mechanical hard disk,HDD)等,本申请不作具体限定。
存储介质903是存储数据的载体,比如硬盘(hard disk)、U盘(universal serialbus,USB)、闪存(flash)、SD卡(secure digital memory Card,SD card)、记忆棒等等,硬盘可以是硬盘驱动器(hard disk drive,HDD)、固态硬盘(solid state disk,SSD)、机械硬盘(mechanical hard disk,HDD)等,本申请不作具体限定。
通信接口904为有线接口(例如以太网接口),为内部接口(例如高速串行计算机扩展总线(Peripheral Component Interconnect express,PCIe)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他服务器或单元进行通信。
总线905是快捷***部件互联标准(Peripheral Component InterconnectExpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线905分为地址总线、数据总线、控制总线等。
总线905除包括数据总线之外,还包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线905。
需要说明的,图10仅仅是本申请实施例的一种可能的实现方式,实际应用中,计算设备900还包括更多或更少的部件,这里不作限制。关于本申请实施例中未示出或未描述的内容,参见前述图1-图9实施例中的相关阐述,这里不再赘述。
本申请实施例提供一种计算机存储介质,该计算机存储介质中存储有指令;当该指令在计算设备上运行时,使得该计算设备执行上述图1~图9实施例描述的图纸标注排布方法。
本申请实施例提供了一种包含指令的程序产品,包括程序或指令,当该程序或指令在计算设备上运行时,使得该计算设备执行上述图1~图9实施例描述的图纸标注排布方法。
上述实施例,全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例全部或部分地以计算机程序产品的形式实现。计算机程序产品包括至少一个计算机指令。在计算机上加载或执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机为通用计算机、专用计算机、计算机网络、或者其他编程装置。计算机指令存储在计算机读存储介质中,或者从一个计算机读存储介质向另一个计算机读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机读存储介质是计算机能够存取的任何用介质或者是包含至少一个用介质集合的服务器、数据中心等数据存储节点。用介质是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD)、或者半导体介质。半导体介质是SSD。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,轻易想到各种等效的修复或替换,这些修复或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (23)

1.一种图纸标注排布方法,其特征在于,所述方法包括:
图纸标注排布***获取用户输入的图纸信息和排布信息,其中,所述图纸信息包括第一图纸,所述排布信息包括用于确定所述第一图纸中的标注之间的重叠面积或者重叠边距的信息;
所述图纸标注排布***向所述用户输出第二图纸,其中,所述第二图纸是基于所述排布信息对所述第一图纸的标注进行排布后获得的。
2.根据权利要求1所述的方法,其特征在于,所述第二图纸的标注之间的重叠面积或者重叠边距低于第一阈值。
3.根据权利要求1所述的方法,其特征在于,所述排布信息还包括用于确定所述第一图纸中的标注和所述第一图纸中的构件之间的重叠面积或者重叠边距的信息,所述第二图纸的标注与所述第二图纸的构件之间的重叠面积或者重叠边距的低于第二阈值。
4.根据权利要求1至3任一权利要求所述的方法,其特征在于,所述排布信息还包括用于确定所述第一图纸中的构件与对应标注之间的距离的信息,所述第二图纸中的构件与对应标注之间的距离低于第三阈值。
5.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述排布信息包括目标函数,所述目标函数是用户通过软件开发工具包SDK建模界面提供的多个应用程序接口API确定的。
6.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述排布信息包括目标函数的元素和函数关系,所述目标函数的元素和函数关系是用户通过可视化建模界面提供的多个元素和多个函数关系确定的。
7.根据权利要求6所述的方法,其特征在于,所述可视化建模界面提供的多个元素包括所述标注的坐标集合、所述构件的坐标集合、所述构件的尺寸、所述标注的框尺寸,所述可视化建模界面提供的多个函数关系包括所述标注的框的面积、所述标注的框之间的距离、所述标注的框中心坐标、加减乘除运算、矩阵交并比IoU、矩阵前景交叉比IoF。
8.根据权利要求5至7任一权利要求所述的方法,其特征在于,所述图纸信息包括所述第一图纸的标注的坐标集合,所述图纸标注排布***向所述用户输出第二图纸包括:
根据所述坐标集合和所述目标函数,使用梯度类优化算法确定所述第二图纸的标注的坐标信息;
根据所述第二图纸的标注的坐标信息,对所述第一图纸的标注进行排布,获得所述第二图纸;
向所述用户输出所述第二图纸。
9.根据权利要求8所述的方法,其特征在于,所述排布信息包括所述标注在排布时的区域约束,所述根据所述坐标集合和所述目标函数,使用梯度类优化算法确定所述第二图纸的标注的坐标信息包括:
根据所述标注集合和所述区域约束确定所述第一图纸的多个优化区域,其中,一个标注对应一个优化区域;
根据所述目标函数,对所述多个优化区域中的每个优化区域使用梯度类优化算法,获得所述第二图纸的标注的坐标信息。
10.根据权利要求8或9所述的方法,其特征在于,所述梯度类优化算法包括最速下降法、梯度下降法、随机梯度下降法、动量梯度下降法、自适应矩估计Adam算法、牛顿法、拟牛顿法、高斯-牛顿法、列文伯格-马夸尔特算法中的一种或者多种。
11.根据权利要求1至10任一权利要求所述的方法,其特征在于,所述第一图纸包括地图、线路图、建筑图、结构图、机电图中的一种或者多种。
12.一种图纸标注排布***,其特征在于,所述***包括:
获取单元,用于获取用户输入的图纸信息和排布信息,其中,所述图纸信息包括第一图纸,所述排布信息用于描述所述用户在标注排布时的排布意图,所述排布信息包括用于确定所述第一图纸中的标注之间的重叠面积或者重叠边距的信息;
输出单元,用于向所述用户输出第二图纸,其中,所述第二图纸是基于所述排布信息对对所述第一图纸的标注进行排布后获得的。
13.根据权利要求12所述的***,其特征在于,所述第二图纸的标注之间的重叠面积或者重叠边距低于第一阈值。
14.根据权利要求12或13所述的***,其特征在于,所述排布信息还包括用于确定所述第一图纸中的标注和所述第一图纸中的构件之间的重叠面积或者重叠边距的信息,所述第二图纸的标注与所述第二图纸的构件之间的重叠面积或者重叠边距低于第二阈值。
15.根据权利要求12至14任一权利要求所述的***,其特征在于,所述排布信息还包括用于确定所述第一图纸中的构件与对应标注之间的距离的信息,所述第二图纸中的构件与对应标注之间的距离低于第三阈值。
16.根据权利要求12至15任一权利要求所述的***,其特征在于,所述排布信息包括目标函数,所述目标函数是用户通过软件开发工具包SDK建模界面提供的多个应用程序接口API确定的。
17.根据权利要求12至15任一权利要求所述的***,其特征在于,所述排布信息包括目标函数的元素和函数关系,所述目标函数的元素和函数关系是用户通过可视化建模界面提供的多个元素和多个函数关系确定的。
18.根据权利要求17所述的***,其特征在于,所述可视化建模界面提供的多个元素包括所述标注的坐标集合、所述构件的坐标集合、所述构件的尺寸、所述标注的框尺寸,所述可视化建模界面提供的多个函数关系包括所述标注的框的面积、所述标注的框之间的距离、所述标注的框中心坐标、加减乘除运算、矩阵交并比IoU、矩阵前景交叉比IoF。
19.根据权利要求16至18任一权利要求所述的***,其特征在于,所述***还包括优化单元,
所述优化单元,用于根据所述坐标集合和所述第一目标函数,使用梯度类优化算法确定所述第二图纸的标注的坐标信息;
所述优化单元,用于根据所述第二图纸的标注的坐标信息,对所述第一图纸的标注进行排布,获得所述第二图纸;
所述输出单元,用于向所述用户输出所述第二图纸。
20.根据权利要求19所述的***,其特征在于,所述排布信息包括所述标注在排布时的区域约束;
所述优化单元,用于根据所述标注集合和所述区域约束确定所述第一图纸的多个优化区域,其中,一个标注对应一个优化区域;
所述优化单元,用于根据所述目标函数,对所述多个优化区域中的每个优化区域使用梯度类优化算法,获得所述第二图纸的标注的坐标信息。
21.根据权利要求20所述的***,其特征在于,所述梯度类优化算法包括最速下降法、梯度下降法、随机梯度下降法、动量梯度下降法、自适应矩估计ADAM算法、牛顿法、拟牛顿法、高斯-牛顿法、列文伯格-马夸尔特算法中的一种或者多种。
22.根据权利要求12至21任一权利要求所述的***,其特征在于,所述第一图纸包括地图、线路图、建筑图、结构图、机电图中的一种或者多种。
23.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器用于存储代码,所述处理器用于执行所述代码实现如权利要求1至11任一权利要求所述的方法。
CN202210842399.2A 2022-07-18 2022-07-18 一种图纸标注排布方法、***及相关设备 Pending CN117454457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210842399.2A CN117454457A (zh) 2022-07-18 2022-07-18 一种图纸标注排布方法、***及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210842399.2A CN117454457A (zh) 2022-07-18 2022-07-18 一种图纸标注排布方法、***及相关设备

Publications (1)

Publication Number Publication Date
CN117454457A true CN117454457A (zh) 2024-01-26

Family

ID=89591574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210842399.2A Pending CN117454457A (zh) 2022-07-18 2022-07-18 一种图纸标注排布方法、***及相关设备

Country Status (1)

Country Link
CN (1) CN117454457A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117953187A (zh) * 2024-03-26 2024-04-30 北京鸿鹄云图科技股份有限公司 一种图纸重叠标注快速优化方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117953187A (zh) * 2024-03-26 2024-04-30 北京鸿鹄云图科技股份有限公司 一种图纸重叠标注快速优化方法及***
CN117953187B (zh) * 2024-03-26 2024-05-24 北京鸿鹄云图科技股份有限公司 一种图纸重叠标注快速优化方法及***

Similar Documents

Publication Publication Date Title
WO2019109485A1 (zh) 基于eCharts工具的图表制作方法、装置、设备及介质
WO2021184725A1 (zh) 用户界面测试方法、装置、存储介质及计算机设备
US10331765B2 (en) Methods and apparatus for translating forms to native mobile applications
US20210208854A1 (en) System and method for enhancing component based development models with auto-wiring
US9626285B2 (en) Storage resource allocation to dataflows based on data requirements and attributes
CN108549532A (zh) 网页构建方法、装置、电子设备及存储介质
CN103246755A (zh) 基于任意拉格朗日-欧拉(ale)的有限元分析的单元细分方法和***
CN108986233A (zh) 一种快速绘制室内预览图的方法及其***
CN103955367A (zh) 一种生成页面的方法及装置
CN110377209B (zh) 一种通过拖拽实现可视化流程配置的方法及装置
CN114594927A (zh) 低代码开发方法、装置、***、服务器及存储介质
CN117454457A (zh) 一种图纸标注排布方法、***及相关设备
JP2020535570A (ja) 代表イメージの生成
US10255399B2 (en) Method, apparatus and system for automatically performing end-to-end channel mapping for an interconnect
CN116662039B (zh) 基于共享内存的工业信息并行检测方法、装置及介质
CN110312990A (zh) 配置方法及***
US10649743B2 (en) Application developing method and system
US10310823B2 (en) Program development support system and program development support software
CN115454403A (zh) 页面搭建方法、装置及存储介质
CN112149343B (zh) 一种对象建模方法、装置及存储介质
CN114610309A (zh) 对象配置方法、装置、设备及存储介质
CN116702689A (zh) 量子芯片版图的构建方法和装置及存储介质
CN110506257A (zh) 在云服务代理***中创建和分配集成连接器的技术
CN113704671A (zh) 页面生成方法和装置
CN115249284A (zh) 可视化视图的构建方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication