CN113408031A - 一种排布大样图的方法、装置、设备及可读存储介质 - Google Patents
一种排布大样图的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113408031A CN113408031A CN202110693816.7A CN202110693816A CN113408031A CN 113408031 A CN113408031 A CN 113408031A CN 202110693816 A CN202110693816 A CN 202110693816A CN 113408031 A CN113408031 A CN 113408031A
- Authority
- CN
- China
- Prior art keywords
- large sample
- arrangement
- target
- ith row
- width
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 23
- 230000001186 cumulative effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural 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)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Architecture (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种排布大样图的方法、装置、设备及可读存储介质,所述方法包括:接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;从所述排布规则中解析出排布顺序、最小列距和最小行距;从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图;本发明能够按照设计人员的需求自动化的将多个大样图和详图排布到图纸中,节省了人力成本并提高了出图效率。
Description
技术领域
本发明涉及计算机辅助设计技术领域,特别涉及一种排布大样图的方法、装置、设备及可读存储介质。
背景技术
在建筑设计业务中,需要通过大样图和详图表达建筑物局部的详细构造信息;由于大样图和详图仅展示建筑物局部的信息,所以大样图和详图所占据的图纸空间较小,出图时常常将多个大样图和详图排布在一张图纸上。例如,通过一张排布结果图纸展示多个门窗大样图。
在现有技术中,需要设计人员手动将需要排布的大样图和详图逐个放置在图纸中,且在放置过程中,设计人员还需要考虑大样图和详图的排布顺序问题、以及列间距和行间距问题;因此,现有的手动排布大样图的方式会占用设计人员大量时间、效率低下。由此可见,如何自动化的按照设计人员的需求将多个大样图和详图排布到图纸中成为本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的在于提供一种排布大样图的方法、装置、设备及可读存储介质,能够按照设计人员的需求自动化的将多个大样图和详图排布到图纸中,节省了人力成本并提高了出图效率。
根据本发明的一个方面,提供了一种排布大样图的方法,所述方法包括:
接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
从所述排布规则中解析出排布顺序、最小列距和最小行距;
从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图。
可选的,根据所述排布指令获取用于排布大样图的布图区域,包括:
获取用户在显示界面绘制的布图框,并根据预设的标高符号预留宽度从所述布图框中截取出所述布图区域;
其中,所述布图区域的高度为所述布图框的高度,所述布图区域的宽度为所述布图框的宽度与所述标高符号预留宽度的差值。
可选的,根据所述排布指令获取包含待排布的大样图的图集,包括:
获取待排布的大样图,并按照预设排序规则对获取到的所有大样图进行排序以得到所述图集。
可选的,所述从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图,包括:
针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图;
根据第i行的每个目标大样图的高度以及所述最小行距,确定出第i行的高度;
根据第i行的高度确定出前i行的累计高度,并判断所述累计高度是否小于所述布图区域的高度;
若是,则确定出排布在第(i+1)行的目标大样图;若否,则将第i行的所有目标大样图添加至所述图集中,并根据前(i-1)行的目标大样图形成排布结果图。
可选的,所述针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图,包括:
从所述图集中获取一个候选大样图,并按照所述排布顺序将所述候选大样图排布在第i行;
将所述候选大样图的宽度、所述最小列距和第i行的累计宽度相加,得到更新后的第i行的累计宽度;
判断更新后的第i行的累计宽度是否小于所述布图区域的宽度;
若是,则从所述图集中获取下一个候选大样图;若否,则将所述候选大样图添加至所述图集中,并将在获取所述候选大样图之前的已排布在第i行的大样图设置为第i行的目标大样图。
可选的,在所述针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图之后,所述方法还包括:
按照如下公式计算出第i行的富余列距d:
其中,W为所述布图区域的宽度;
rw(i)为根据第i行的所有目标大样图计算出的累计宽度;
n为第i行的目标大样图的总数量;
将第i行中相邻两个目标大样图之间的列距均调整为所述富余列距与所述最小列距的和。
可选的,所述根据第i行的每个目标大样图的高度以及所述最小行距,确定出第i行的高度,包括:
获取第i行的每个目标大样图的高度,并从获取到的所有高度中确定出最大高度;
将所述最大高度与所述最小行距相加得到第i行的高度。
为了实现上述目的,本发明还提供一种排布大样图的装置,所述装置具体包括以下组成部分:
获取模块,用于接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
解析模块,用于从所述排布规则中解析出排布顺序、最小列距和最小行距;
排布模块,用于从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的排布大样图的方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的排布大样图的方法的步骤。
本发明提供的排布大样图的方法、装置、设备及可读存储介质,设计人员仅需要在显示界面中框选出一个布图区域,并事先设置排布规则,就能自动化的将图集中的待排布的大样图按照所述排布规则排布在所述布图区域内,从而得到排布结果图。本发明能够按照设计人员的需求自动化的将多个大样图和详图排布到图纸中,节省了人力成本并提高了出图效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实施例一提供的排布大样图的方法的一种可选的流程示意图;
图2为实施例一中的排布结果图的示例图;
图3为实施例一中的窗大样包围盒的尺寸示意图;
图4为实施例二提供的排布大样图的装置的一种可选的组成结构示意图;
图5为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种排布大样图的方法,如图1所示,该方法具体包括以下步骤:
步骤S101:接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则。
在本实施例中,当需要进行大样图和/或详图排布时,设计人员只需事先确定出布图区域、图集和排布规则即可,后续可根据布图区域、图集和排布规则自动化的进行大样图和/或详图的排布。
具体的,根据所述排布指令获取用于排布大样图的布图区域,包括:
获取用户在显示界面绘制的布图框,并根据预设的标高符号预留宽度从所述布图框中截取出所述布图区域;
其中,所述布图区域的高度为所述布图框的高度,所述布图区域的宽度为所述布图框的宽度与所述标高符号预留宽度的差值。
在本实例中,布图区域为放置多个大样图和/或详图的图纸区域,由设计人员框选绘制而成;例如,在如图2所示的排布结果图的示例图中,最外层的虚线框为设计人员在显示界面绘制的布图框,其中,布图框的宽度为1000、高度为8000;当标高符号预留宽度为1000时,如图2所示,从布图框中截取出宽度为9000、高度为8000的布图区域。
进一步的,根据所述排布指令获取包含待排布的大样图的图集,具体包括:
获取待排布的大样图,并按照预设排序规则对获取到的所有大样图进行排序以得到所述图集。
在本实施例中,先获取所有待排序的大样图和/或详图,并按照预设排序规则对所有大样图和/或详图进行排序,排序在前的大样图或详图先排布于布图区域。排序规则可由用户事先设定,例如:在门窗大样图的场景中,可以参考门窗表的排序,也可以由用户设定特征,并按照该特征的特征值进行升序或降序排序。此外,用户还可以设定过滤规则以过滤掉不需要排序的大样图和/或详图。
需要说明的是,在本实施例中,图集中所有大样图的缩放比例均一致。
在本实施例中为了实现自动排布大样图需要依赖三部分的输入:布图区域、图集和排布规则。
步骤S102:从所述排布规则中解析出排布顺序、最小列距和最小行距。
其中,所述排布顺序为决定多个大样图和/或详图在布图区域上的先后位置顺序的规则;例如,排序顺序为先从左至右、再从上至下,即先按照从左至右的顺序在一行中排布大样图,并在该行排满之后再按照从上至下的顺序在下一行中排布大样图。另外,所述排序顺序还可以为以下之一:先从上至下、再从左至右(即先按照从上至下的顺序在一列中排布大样图,并在该列排满之后再按照从左至右的顺序在下一列中排布大样图),先从右至左、再从上至下(即先按照从右至左的顺序在一行中排布大样图,并在该行排满之后再按照从上至下的顺序在下一行中排布大样图),先从上至下、再从右至左(即先按照从上至下的顺序在一列中排布大样图,并在该列排满之后再按照从右至左的顺序在下一列中排布大样图)。
所述最小列距为排布结果图的每一行中,相邻两个目标大样图之间的最小列间距离值;即,单个大样图和/或详图左右的最小间距;
所述最小行距为排布结果图中,相邻两行之间的最小行间距离值;即,单个大样图和/或详图上下的最小间距。
步骤S103:从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图。
在本实施例中,先从所述图集中确定出用于排布在所述布图区域的目标大样图,再按照所述排布顺序在所述布图区域中对所有目标大样图进行按序排列,最后调整排布在所述布图区域内的各个目标大样图的位置,使得调整后的任意两个相邻的目标大样图之间的列距均大于所述最小列距,并使得调整后的任意两个相邻的目标大样图之间的行距均大于所述最小行距。
具体的,当所述排布顺序为由上至下逐行排布时,步骤S103,包括:
步骤A1:针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图;其中,i为大于等于1的整数。
在本实施例中依次从所述图集中获取大样图,并将获取到的大样图按照所述排布顺序(从左至右或从右至左)依次排布在第i行中,直至排布在第i行的大样图超出了所述布图区域的宽度。
进一步的,步骤A1,具体包括:
步骤A11:从所述图集中获取一个候选大样图,并按照所述排布顺序将所述大样图排布在第i行;
步骤A12:将所述候选大样图的宽度、所述最小列距和第i行的累计宽度相加,得到更新后的第i行的累计宽度;其中,所述累计宽度的初始值为0;
需要说明的是,在本实施例中,包含在图集中的大样图是以大样包围盒的形式存在的图;大样包围盒是在构件示意图的周围留有预留宽度和预留高度而得到的图;在本实施例中,大样图的宽度均指大样包围盒的宽度,大样图的高度均指大样图包围盒的高度;如图3所示,为门窗大样包围盒的尺寸示意图,其中,w为门窗大样包围盒的宽度,h为门窗大样包围盒的高度;
步骤A13:判断更新后的第i行的累计宽度是否小于所述布图区域的宽度;
步骤A14:若是,则重新执行步骤A11,以从所述图集中获取下一个候选大样图;若否,则将所述候选大样图添加至所述图集中,并将在获取所述候选大样图之前的已排布在第i行的大样图设置为第i行的目标大样图。
进一步的,在所述确定出排布在第i行的目标大样图之后,所述方法还包括:
按照如下公式计算出第i行的富余列距d:
其中,W为所述布图区域的宽度;
rw(i)为根据第i行的所有目标大样图计算出的累计宽度;
n为第i行的目标大样图的总数量;
将第i行中相邻两个目标大样图之间的列距均调整为所述富余列距与所述最小列距的和。
需要说明的是,rw(i)是将第i行的n个目标大样图的总宽度加上n个最小列距得到的结果;如图2所示,在第一行中,位于最左边的门窗大样图与布图区域的左边界线的距离为最小列距a,但第一行中相邻的两个门窗大样图之间的距离为调整后的富余列距d和最小列距a的和。
在本实施例中,在第i行中第一个目标大样图的左下角顶点的横坐标为所述布图区域的左上角顶点的横坐标x0与所述最小列距a的和;在第i行中从第二个目标大样图开始,第k个目标大样图的左下角顶点的横坐标是将第(k-1)个目标大样图的左下角顶点的横坐标、第(k-1)个目标大样图的宽度、所述最小列距和所述富余列距累加得到的。
更进一步的,在步骤A11中,所述从所述图集中获取一个候选大样图,具体包括:
判断在所述图集中是否存在大样图;
若是,则从所述图集中获取一个候选大样图,并将所述候选大样图从所述图集中删除;其中,所述候选大样图为所述图集中排序第一的大样图;
若否,则将已排布在第i行的大样图设置为第i行的目标大样图,并根据第i行的目标大样图执行步骤A2。
在本实施例中,由于每次从图集中获取一个大样图,都会从所述图集中将该大样图删除,所以在对第i行进行大样图排布时,会出现所述图集中没有大样图的情况,在此情况下将已排布在第i行的大样图设置为第i行的目标大样图,并根据第i行的目标大样图执行步骤A2。
步骤A2:根据第i行的每个目标大样图的高度以及所述最小行距,确定出第i行的高度。
具体的,步骤A2,包括:
步骤A21:获取第i行的每个目标大样图的高度,并从获取到的所有高度中确定出最大高度;
步骤A22:将所述最大高度与所述最小行距相加得到第i行的高度。
如图2所示,在第i行中根据每个目标大样图的高度,确定出最大高度hmax,并将该最大高度hmax与最小行距b相加,得到第i行的高度rh(i)。
步骤A3:根据第i行的高度确定出前i行的累计高度,并判断所述累计高度是否小于所述布图区域的高度;其中,所述累计高度的初始值为0。
具体的,按照如下公式计算出i行的累计高度ro(i):
ro(i)=ro(i-1)+rh(i);
其中,ro(i-1)为前(i-1)行的累计高度;
rh(i)为第i行的高度。
需要说明的是,在第i行中每个目标大样图的左下角顶点的纵坐标均为所述布图区域左上角顶点的纵坐标y0与i行的累计高度ro(i)的和。
步骤A4:若是,则重复执行步骤A1以确定出排布在第(i+1)行的目标大样图;若否,则将第i行的所有目标大样图添加至所述图集中,并根据前(i-1)行的目标大样图形成排布结果图。
在本实施例中,当设计人员需要排布大样图和/或详图时,只需要在界面中拖拽绘制出一个矩形的布图区域,按照上述步骤会自动的在该布图区域内排布多个大样图和/或详图。需要说明的是,在用户拖拽形成布图区域的过程中,可以实现用户实时预览排布结果,即随着用户调整布图区域的大小,会动态的显示在调整后的布图区域内的排布结果。
此外,当所述排布顺序为由左至右逐列排布时,步骤S103,包括:
步骤B1:针对第j列,依次从所述图集中获取大样图,并根据获取到的每个大样图的高度、所述布图区域的高度以及所述最小行距,确定出排布在第j列的目标大样图;其中,j为大于等于1的整数。
在本实施例中依次从所述图集中获取大样图,并将获取到的大样图按照所述排布顺序:从上至下,依次排布在第j列中,直至排布在第j列的大样图超出了所述布图区域的高度。
进一步的,步骤B1,具体包括:
步骤B11:从所述图集中获取一个候选大样图,并按照所述排布顺序将所述大样图排布在第j列;
步骤B12:将所述候选大样图的高度、所述最小行距和第j列的累计高度相加,得到更新后的第j列的累计高度;其中,所述累计高度的初始值为0;
需要说明的是,在本实施例中,包含在图集中的大样图是以大样包围盒的形式存在的图;大样包围盒是在构件示意图的周围留有预留宽度和预留高度而得到的图;在本实施例中,大样图的宽度均指大样包围盒的宽度,大样图的高度均指大样图包围盒的高度;如图3所示,为门窗大样包围盒的尺寸示意图,其中,w为门窗大样包围盒的宽度,h为门窗大样包围盒的高度;
步骤B13:判断更新后的第j列的累计高度是否小于所述布图区域的高度;
步骤B14:若是,则重新执行步骤B11,以从所述图集中获取下一个候选大样图;若否,则将所述候选大样图添加至所述图集中,并将在获取所述候选大样图之前的已排布在第j列的大样图设置为第j列的目标大样图。
进一步的,在所述确定出排布在第j列的目标大样图之后,所述方法还包括:
按照如下公式计算出第j列的富余行距t:
其中,H为所述布图区域的高度;
lo(j)为根据第j列的所有目标大样图计算出的累计高度;
m为第j列的目标大样图的总数量;
将第j列中相邻两个目标大样图之间的行距均调整为所述富余行距与所述最小行距的和。
需要说明的是,lo(j)是将第j列的m个目标大样图的总高度加上m个最小行距得到的结果;在本实施例中,第一个目标大样图的右上角顶点的纵坐标为所述布图区域的左上角顶点的纵坐标y0与所述最小行距b的和;在第j列中从第二个目标大样图开始,第k个目标大样图的右上角顶点的纵坐标是将第(k-1)个目标大样图的右上角顶点的纵坐标、第(k-1)个目标大样图的高度、所述最小行距和所述富余行距累加得到的。
更进一步的,在步骤B11中,所述从所述图集中获取一个候选大样图,具体包括:
判断在所述图集中是否存在大样图;
若是,则从所述图集中获取一个候选大样图,并将所述候选大样图从所述图集中删除;其中,所述候选大样图为所述图集中排序第一的大样图;
若否,则将已排布在第j列的大样图设置为第j列的目标大样图,并根据第j列的目标大样图执行步骤B2。
在本实施例中,由于每次从图集中获取一个大样图,都会从所述图集中将该大样图删除,所以在对第j列进行大样图排布时,会出现所述图集中没有大样图的情况,在此情况下将已排布在第j列的大样图设置为第j列的目标大样图,并根据第j列的目标大样图执行步骤B2。
步骤B2:根据第j列的每个目标大样图的宽度以及所述最小列距,确定出第j行的宽度。
具体的,步骤B2,包括:
步骤B21:获取第j列的每个目标大样图的宽度,并从获取到的所有宽度中确定出最大宽度;
步骤B22:将所述最大宽度与所述最小列距相加得到第j列的宽度。
步骤B3:根据第j列的宽度确定出前j列的累计宽度,并判断所述累计宽度是否小于所述布图区域的宽度;其中,所述累计宽度的初始值为0。
具体的,按照如下公式计算出j列的累计宽lq(j):
lq(j)=lq(j-1)+lw(j);
其中,lq(i-1)为前(j-1)列的累计宽度;
lw(j)为第j列的宽度。
需要说明的是,在第j列中,每个目标大样图的右上角顶点的横坐标均为所述布图区域左上角顶点的横坐标x0与j列的累计宽度lq(j)的和。
步骤B4:若是,则重复执行步骤B1以确定出排布在第(j+1)列的目标大样图;若否,则将第j列的所有目标大样图添加至所述图集中,并根据前(j-1)列的目标大样图形成排布结果图。
通过本实施例,设计人员仅需要在显示界面中框选出一个布图区域,并事先设置排布规则,就能自动化的将图集中的待排布的大样图按照所述排布规则排布在所述布图区域内,从而得到排布结果图。本实施例能够按照设计人员的需求自动化的将多个大样图和详图排布到图纸中,节省了人力成本并提高了出图效率。
实施例二
本发明实施例提供了一种排布大样图的装置,如图4所示,该装置具体包括以下组成部分:
获取模块401,用于接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
解析模块402,用于从所述排布规则中解析出排布顺序、最小列距和最小行距;
排布模块403,用于从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图,以得到排布结果图。
具体的,获取模块401,用于:
获取用户在显示界面绘制的布图框,并根据预设的标高符号预留宽度从所述布图框中截取出所述布图区域;
其中,所述布图区域的高度为所述布图框的高度,所述布图区域的宽度为所述布图框的宽度与所述标高符号预留宽度的差值。
进一步的,获取模块401,还用于:
获取待排布的大样图,并按照预设排序规则对获取到的所有大样图进行排序以得到所述图集。
进一步的,排布模块403,具体包括:
获取单元,用于针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图;
确定单元,用于根据第i行的每个目标大样图的高度以及所述最小行距,确定出第i行的高度;
判断单元,用于根据第i行的高度确定出前i行的累计高度,并判断所述累计高度是否小于所述布图区域的高度;
处理单元,用于若是,则确定出排布在第(i+1)行的目标大样图;若否,则将第i行的所有目标大样图添加至所述图集中,并根据前(i-1)行的目标大样图形成排布结果图。
进一步的,所述获取单元,具体用于:
从所述图集中获取一个候选大样图,并按照所述排布顺序将所述候选大样图排布在第i行;
将所述候选大样图的宽度、所述最小列距和第i行的累计宽度相加,得到更新后的第i行的累计宽度;
判断更新后的第i行的累计宽度是否小于所述布图区域的宽度;
若是,则从所述图集中获取下一个候选大样图;若否,则将所述候选大样图添加至所述图集中,并将在获取所述候选大样图之前的已排布在第i行的大样图设置为第i行的目标大样图。
确定单元,具体用于:
获取第i行的每个目标大样图的高度,并从获取到的所有高度中确定出最大高度;
将所述最大高度与所述最小行距相加得到第i行的高度。
更进一步的,排布模块403,还用于:
按照如下公式计算出第i行的富余列距d:
其中,W为所述布图区域的宽度;
rw(i)为根据第i行的所有目标大样图计算出的累计宽度;
n为第i行的目标大样图的总数量;
将第i行中相邻两个目标大样图之间的列距均调整为所述富余列距与所述最小列距的和。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备50至少包括但不限于:可通过系统总线相互通信连接的存储器501、处理器502。需要指出的是,图5仅示出了具有组件501-502的计算机设备50,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器501(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器501可以是计算机设备50的内部存储单元,例如该计算机设备50的硬盘或内存。在另一些实施例中,存储器501也可以是计算机设备50的外部存储设备,例如该计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器501还可以既包括计算机设备50的内部存储单元也包括其外部存储设备。在本实施例中,存储器501通常用于存储安装于计算机设备50的操作系统和各类应用软件。此外,存储器501还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器502在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制计算机设备50的总体操作。
具体的,在本实施例中,处理器502用于执行存储器501中存储的排布大样图的方法的程序,所述排布大样图的方法的程序被执行时实现如下步骤:
接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
从所述排布规则中解析出排布顺序、最小列距和最小行距;
从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
从所述排布规则中解析出排布顺序、最小列距和最小行距;
从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种排布大样图的方法,其特征在于,所述方法包括:
接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
从所述排布规则中解析出排布顺序、最小列距和最小行距;
从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图。
2.根据权利要求1所述的排布大样图的方法,其特征在于,根据所述排布指令获取用于排布大样图的布图区域,包括:
获取用户在显示界面绘制的布图框,并根据预设的标高符号预留宽度从所述布图框中截取出所述布图区域;
其中,所述布图区域的高度为所述布图框的高度,所述布图区域的宽度为所述布图框的宽度与所述标高符号预留宽度的差值。
3.根据权利要求1所述的排布大样图的方法,其特征在于,根据所述排布指令获取包含待排布的大样图的图集,包括:
获取待排布的大样图,并按照预设排序规则对获取到的所有大样图进行排序以得到所述图集。
4.根据权利要求1所述的排布大样图的方法,其特征在于,所述从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图,包括:
针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图;
根据第i行的每个目标大样图的高度以及所述最小行距,确定出第i行的高度;
根据第i行的高度确定出前i行的累计高度,并判断所述累计高度是否小于所述布图区域的高度;
若是,则确定出排布在第(i+1)行的目标大样图;若否,则将第i行的所有目标大样图添加至所述图集中,并根据前(i-1)行的目标大样图形成排布结果图。
5.根据权利要求4所述的排布大样图的方法,其特征在于,所述针对第i行,依次从所述图集中获取大样图,并根据获取到的每个大样图的宽度、所述布图区域的宽度以及所述最小列距,确定出排布在第i行的目标大样图,包括:
从所述图集中获取一个候选大样图,并按照所述排布顺序将所述候选大样图排布在第i行;
将所述候选大样图的宽度、所述最小列距和第i行的累计宽度相加,得到更新后的第i行的累计宽度;
判断更新后的第i行的累计宽度是否小于所述布图区域的宽度;
若是,则从所述图集中获取下一个候选大样图;若否,则将所述候选大样图添加至所述图集中,并将在获取所述候选大样图之前的已排布在第i行的大样图设置为第i行的目标大样图。
7.根据权利要求4所述的排布大样图的方法,其特征在于,所述根据第i行的每个目标大样图的高度以及所述最小行距,确定出第i行的高度,包括:
获取第i行的每个目标大样图的高度,并从获取到的所有高度中确定出最大高度;
将所述最大高度与所述最小行距相加得到第i行的高度。
8.一种排布大样图的装置,其特征在于,所述装置包括:
获取模块,用于接收排布指令,并根据所述排布指令获取用于排布大样图的布图区域、包含待排布的大样图的图集以及预设的排布规则;
解析模块,用于从所述排布规则中解析出排布顺序、最小列距和最小行距;
排布模块,用于从所述图集中确定出目标大样图,按照所述排布顺序在所述布图区域中对所述目标大样图进行排布,并使得排布后的各个目标大样图之间满足所述最小列距和最小行距,以得到排布结果图,以得到排布结果图。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110693816.7A CN113408031B (zh) | 2021-06-22 | 2021-06-22 | 一种排布大样图的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110693816.7A CN113408031B (zh) | 2021-06-22 | 2021-06-22 | 一种排布大样图的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113408031A true CN113408031A (zh) | 2021-09-17 |
CN113408031B CN113408031B (zh) | 2024-01-30 |
Family
ID=77682420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110693816.7A Active CN113408031B (zh) | 2021-06-22 | 2021-06-22 | 一种排布大样图的方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113408031B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139266A (zh) * | 2021-12-08 | 2022-03-04 | 中国建筑西南设计研究院有限公司 | 基于动态组合的墙身节点大样自动设计方法及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11250041A (ja) * | 1998-02-27 | 1999-09-17 | Toshiba Corp | 文書処理装置および文書処理方法 |
CN101063984A (zh) * | 2006-04-28 | 2007-10-31 | 鸿富锦精密工业(深圳)有限公司 | 图框自动整理排序系统及方法 |
KR20120015869A (ko) * | 2010-08-13 | 2012-02-22 | (주)바로건설기술 | 철근 상세 도면 작성방법 |
CN102567300A (zh) * | 2011-12-29 | 2012-07-11 | 方正国际软件有限公司 | 图片文档的处理方法及装置 |
CN105045776A (zh) * | 2015-09-07 | 2015-11-11 | 武汉大学 | 一种页面自动排版方法 |
EP3154016A1 (en) * | 2015-10-07 | 2017-04-12 | Luxembourg Institute of Science and Technology (LIST) | Method for automatic validation of architectural building plans |
CN109885928A (zh) * | 2019-02-19 | 2019-06-14 | 珠海中易建建设工程有限公司 | 网片钢筋图形处理方法、电子设备及存储介质 |
CN112883799A (zh) * | 2021-01-20 | 2021-06-01 | 上海品览智造科技有限公司 | 一种cad坡道大样图中坡道精准识别的方法 |
-
2021
- 2021-06-22 CN CN202110693816.7A patent/CN113408031B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11250041A (ja) * | 1998-02-27 | 1999-09-17 | Toshiba Corp | 文書処理装置および文書処理方法 |
CN101063984A (zh) * | 2006-04-28 | 2007-10-31 | 鸿富锦精密工业(深圳)有限公司 | 图框自动整理排序系统及方法 |
KR20120015869A (ko) * | 2010-08-13 | 2012-02-22 | (주)바로건설기술 | 철근 상세 도면 작성방법 |
CN102567300A (zh) * | 2011-12-29 | 2012-07-11 | 方正国际软件有限公司 | 图片文档的处理方法及装置 |
CN105045776A (zh) * | 2015-09-07 | 2015-11-11 | 武汉大学 | 一种页面自动排版方法 |
EP3154016A1 (en) * | 2015-10-07 | 2017-04-12 | Luxembourg Institute of Science and Technology (LIST) | Method for automatic validation of architectural building plans |
CN109885928A (zh) * | 2019-02-19 | 2019-06-14 | 珠海中易建建设工程有限公司 | 网片钢筋图形处理方法、电子设备及存储介质 |
CN112883799A (zh) * | 2021-01-20 | 2021-06-01 | 上海品览智造科技有限公司 | 一种cad坡道大样图中坡道精准识别的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139266A (zh) * | 2021-12-08 | 2022-03-04 | 中国建筑西南设计研究院有限公司 | 基于动态组合的墙身节点大样自动设计方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113408031B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8161384B2 (en) | Arranging graphic objects on a page with text | |
JP4929397B2 (ja) | 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 | |
US10679089B2 (en) | Systems and methods for optical character recognition | |
US10346560B2 (en) | Electronic blueprint system and method | |
US8862986B2 (en) | Arranging graphic objects on a page with relative position based control | |
JP5659563B2 (ja) | 識別方法、識別装置およびコンピュータプログラム | |
US8290272B2 (en) | Creating a document template for capturing data from a document image and capturing data from a document image | |
US7971174B1 (en) | Congestion aware pin optimizer | |
US10740638B1 (en) | Data element profiles and overrides for dynamic optical character recognition based data extraction | |
CN109255300B (zh) | 票据信息提取方法、装置、计算机设备及存储介质 | |
US11080913B2 (en) | Page image display control system, page image display control method, and program therefor | |
WO2019041442A1 (zh) | 图表数据结构化提取方法、系统、电子设备及计算机可读存储介质 | |
CN113408031A (zh) | 一种排布大样图的方法、装置、设备及可读存储介质 | |
CN111967545A (zh) | 文本检测方法、装置、电子设备及计算机存储介质 | |
CN116682130A (zh) | 图签信息的提取方法、装置、设备及可读存储介质 | |
US8755606B2 (en) | Systems and methods for efficient feature extraction accuracy using imperfect extractors | |
US8704850B2 (en) | Two-dimensional object packing | |
JP6322086B2 (ja) | 表示制御装置、表示装置、プログラム、記録媒体 | |
CN114463544A (zh) | 一种不规则物体语义分割快速标注方法 | |
CN113408032B (zh) | 一种生成门窗大样图的方法、设备及可读存储介质 | |
CN113343797A (zh) | 信息提取方法、装置、终端设备及计算机可读存储介质 | |
CN113850208A (zh) | 一种图片信息结构化方法、装置、设备及介质 | |
CN110908570A (zh) | 图像处理方法、装置、终端及存储介质 | |
CN109034139A (zh) | 人脸识别方法、装置、存储介质及电子设备 | |
JP6028905B2 (ja) | 帳票管理装置及び帳票管理方法並びに帳票管理プログラム |
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 |