1.本发明涉及计算机技术领域,尤其涉及一种三维模型中目标对象的拆分方法、装置、设备及介质。
背景技术:
2.现有技术在进行三维模型中目标对象的拆分时,利用三维软件,显示三维模型中的目标对象,以实现目标对象的拆分。但是该方式不能直观显示目标对象,导致目标对象的拆分耗时较长、效率较低。
技术实现要素:
3.本发明提供一种三维模型中目标对象的拆分方法、装置、设备及介质,用以解决现有技术中在三维模型中拆分目标对象时耗时长、效率低的缺陷,实现快速的拆分三维模型中的目标对象。
4.本发明提供一种三维模型中目标对象的拆分方法,包括:获取三维模型中目标对象的第一顶点信息;基于所述第一顶点信息和预设的维度转换关系,在二维画布中绘制所述目标对象,所述维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;拆分所述二维画布中的所述目标对象,得到至少两个子对象;获取各所述子对象的第二顶点信息;基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象。
5.根据本发明提供的一种三维模型中目标对象的拆分方法,所述拆分所述二维画布中的所述目标对象,得到至少两个子对象之前,还包括:确定所述目标对象的高度和宽度的比值;比对所述比值和预设值的大小,得到比对结果;所述拆分所述二维画布中的所述目标对象,得到至少两个子对象,包括:基于所述比对结果,拆分所述二维画布中的所述目标对象,得到所述子对象。
6.根据本发明提供的一种三维模型中目标对象的拆分方法,所述基于所述比对结果,拆分所述二维画布中的所述目标对象,得到所述子对象,包括:在确定所述比对结果为所述比值大于所述预设值的情况下,基于所述目标对象的高度和第一预设高度,拆分所述二维画布中的所述目标对象,得到所述子对象;在确定所述比对结果为所述比值小于或等于所述预设值的情况下,基于所述目标对象的高度、所述第一预设高度和第二预设高度,拆分所述二维画布中的所述目标对象,得到所述子对象;其中,所述目标对象的高度大于或等于所述第一预设高度与所述第二预设高度的
和。
7.根据本发明提供的一种三维模型中目标对象的拆分方法,所述三维模型包括:三维建筑模型;所述目标对象包括:楼板;所述基于所述比对结果,拆分所述二维画布中的所述目标对象,得到所述子对象,包括:在确定所述比对结果为所述比值大于所述预设值的情况下,确定所述楼板为单向板;基于所述楼板的高度和所述第一预设高度,确定所述单向板对应的第一分割方式;基于所述第一分割方式,拆分所述二维画布中的所述单向板,得到所述子对象;在确定所述比对结果为所述比值小于或等于所述预设值的情况下,确定所述楼板为双向板;基于所述楼板的高度、所述第一预设高度和所述第二预设高度,确定所述双向板对应的第二分割方式;基于所述第二分割方式,拆分所述二维画布中的所述双向板,得到所述子对象。
8.根据本发明提供的一种三维模型中目标对象的拆分方法,所述基于所述第一分割方式,拆分所述二维画布中的所述单向板,包括:基于所述第一分割方式,创建至少一条临时切割线;获取所述二维画布中鼠标的点击指令;基于所述点击指令,转换所述临时切割线为切割线,以拆分所述二维画布中的所述单向板;所述基于所述第二分割方式,拆分所述二维画布中的所述双向板,包括:基于所述第二分割方式,创建至少两条所述临时切割线;获取所述点击指令;基于所述点击指令,转换所述临时切割线为所述切割线,以拆分所述二维画布中的所述双向板。
9.根据本发明提供的一种三维模型中目标对象的拆分方法,所述基于所述第一顶点信息和预设的维度转换关系,在二维画布中绘制所述目标对象,包括:基于所述维度转换关系,确定与所述第一顶点信息对应的第三顶点信息,所述第三顶点信息为所述画布坐标系下的坐标信息;去除所述第三顶点信息中z轴对应的值,得到新的第三顶点信息;基于所述新的第三顶点信息,在所述二维画布中绘制所述目标对象。
10.根据本发明提供的一种三维模型中目标对象的拆分方法,所述基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象之前,还包括:存储所述第一顶点信息中z轴对应的值;所述基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象,包括:基于所述维度转换关系,确定与所述第二顶点信息对应的第四顶点信息,所述第四顶点信息为所述三维坐标系下的坐标信息;将所述z轴对应的值添加到所述第四顶点信息中,得到新的第四顶点信息;基于所述新的第四顶点信息,拆分所述三维模型中的所述目标对象。
11.本发明还提供一种三维模型中目标对象的拆分装置,包括:第一获取模块,用于获取三维模型中目标对象的第一顶点信息;绘制模块,用于基于所述第一顶点信息和预设的维度转换关系,在二维画布中绘制所述目标对象,所述维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;第一拆分模块,用于拆分所述二维画布中的所述目标对象,得到至少两个子对象;第二获取模块,用于获取各所述子对象的第二顶点信息;第二拆分模块,用于基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象。
12.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的三维模型中目标对象的拆分方法。
13.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的三维模型中目标对象的拆分方法。
14.本发明提供的三维模型中目标对象的拆分方法、装置、设备及介质,通过获取三维模型中目标对象的第一顶点信息;基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系,本发明将目标对象绘制在二维画布中,能够直观、清楚的显示目标对象;进而,拆分二维画布中的目标对象,得到至少两个子对象,本发明由于在二维画布中清楚、直观的显示目标对象,因此能够方便、快速的完成目标对象的拆分,最后,获取各子对象的第二顶点信息;基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象,本发明完成了三维模型中目标对象的拆分,整个过程方便、快捷,有效的降低了拆分时长,提高了拆分效率。
附图说明
15.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明提供的三维模型中目标对象的拆分方法的流程示意图之一;图2是本发明提供的三维模型中目标对象的拆分方法的流程示意图之二;图3是本发明提供的三维模型中目标对象的拆分方法的流程示意图之三;图4是本发明提供的三维模型中目标对象的拆分方法的流程示意图之四;图5是本发明提供的三维模型中目标对象的拆分方法的流程示意图之五;图6是本发明提供的三维模型中目标对象的拆分方法的流程示意图之六;图7是本发明提供的三维模型中目标对象的拆分方法的流程示意图之七;图8是本发明提供的三维模型中目标对象的拆分装置的结构示意图;图9是本发明提供的电子设备的结构示意图。
具体实施方式
17.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.具体的,现有技术在利用三维软件,拆分三维模型中的楼板时,不能确定目标楼板是单向板还是双向板,需要人为的确定,基于人为的确定结果,确定目标楼板是单向板还是双向板。在确定目标楼板之后,进行楼板的切割,但是在三维模型中切割目标楼板,并不会显示尺寸标注,需要人为的标记尺寸,进而基于人为标记的尺寸进行楼板的切割,这个过程导致楼板拆分效率较低。如果不人为的标记尺寸,容易造成切割尺寸错误的问题,还得需要重新切割,也导致楼板拆分效率很低。另外,在三维模型中切换目标楼板,也不能直观的展示目标楼板,这个切割过程耗时较长,效率较低。
19.下面结合图1至图7描述本发明的三维模型中目标对象的拆分方法。
20.本发明实施例提供了一种三维模型中目标对象的拆分方法,该方法可以应用在服务器中,也可以应用在智能终端中。下面以该方法应用在服务器中为例进行说明,但需要说明的是此处仅为举例说明,并不用于对保护范围进行限定。在实施例中的具体例子,也不用于对保护范围进行限定,之后不再一一说明。该方法的具体实现,如图1所示:步骤101,获取三维模型中目标对象的第一顶点信息。
21.其中,三维模型包括:三维建筑模型。
22.其中,目标对象包括:楼板。
23.具体的,利用建筑信息模型软件(revit)提取三维模型中楼板的第一顶点信息。具体为:提取三维建筑模型中的楼板构件的上表面的几何外轮廓的顶点集合,将该顶点集合作为第一顶点信息。其中,几何外轮廓包括四边形。
24.下面,进行举例说明:通过vertices表示第一顶点信息,每个第一顶点坐标通过数组list《xyz》表示,坐标以毫米为单位。下面,以第一顶点信息包括4个第一顶点坐标为例进行说明:表1 第一顶点信息步骤102,基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象。
25.其中,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系。
26.其中,三维坐标系的x轴向右,y轴向上,而画布坐标系的原点在画布的左上角,x轴
向右,y轴向下,因此,为了能够将三维坐标系下的目标对象绘制在二维画布中,需要对第一顶点信息进行转换。为了实现三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应,需要预先创建维度转换关系。
27.其中,与楼板对应的四边形为矩形,由于矩形为中心对称图形,因此,下面以矩形的中心为参考进行目标对象的变换或翻转。
28.具体的,通过遍历第一顶点信息,比较x轴中各个值的大小和y轴中各个值的大小,得到xy平面上位于左下位置的第一顶点坐标,记为最小顶点坐标,和位于右上位置的第一顶点坐标,记为最大顶点坐标。通过min表示最小顶点坐标,max表示最大顶点坐标。
29.例如:max=(-8500.000000000,26268.832031250,3150.000000000)min=(-11900.000000000,16443.070312500,3150.000000000)通过最小顶点坐标和最大顶点坐标,得到目标对象的中心坐标:center=(max min)/2=(-10200.000000000,21355.951171875,3150.000000000)下面,通过模型变换矩阵,将目标对象翻转,变换到画布坐标系下:其中,center.x表示中心坐标的x轴的值,center.y表示中心坐标的y轴的值,center.z表示中心坐标的z轴的值。
30.该模型变换矩阵可以为本技术的维度转换关系。
31.一个具体实施例中,基于维度转换关系,确定与第一顶点信息对应的第三顶点信息,第三顶点信息为画布坐标系下的坐标信息;去除第三顶点信息中z轴对应的值,得到新的第三顶点信息;基于新的第三顶点信息,在二维画布中绘制目标对象。
32.具体的,在通过维度转换关系,确定与第一顶点信息对应的第三顶点信息之前,遍历第一顶点信息,得到第一顶点信息的中心坐标,将得到的中心坐标输入到模型变换矩阵中,得到第三顶点信息。由于基于维度转换关系转换得到的第三顶点信息是三维坐标,本技术为二维画布,因此,为了能够清楚、直观的在二维画布中显示目标对象,需要将第三顶点信息中z轴对应的值去除,得到xy平面中x轴对应的值和y轴对应的值。将x轴对应的值和y轴对应的值作为新的第三顶点信息,在二维画布中绘制目标对象。
33.具体的,在基于新的第三顶点信息,在二维画布中绘制目标对象之前,对第三顶点信息进行标准化处理,即,将第三顶点信息变换到[-1,1]的单位矩阵范围内,具体通过投影
变换矩阵实现:其中,max.x表示最大顶点坐标的x轴的值,min.x表示最小顶点坐标的x轴的值,max.y表示最大顶点坐标的y轴的值,min.y表示最小顶点坐标的y轴的值。
[0034]
具体的,在将第三顶点信息变换到[-1,1]的单位矩阵范围之后,计算目标对象的宽度和高度的第一宽高比,以及计算二维画布的宽度和高度的第二宽高比。具体的,在得到第一顶点信息之后,第一宽高比便已经确定了,在确定二维画布之后,第二宽高比也就确定了。
[0035]
下面,以目标对象的宽度modelwidth=|max.x-min.x|=3400,目标对象的高度modelheight=|max.y-min.y| = 9826为例进行说明,基于此,第一宽高比modelratio =modelwidth/modelheight= 0.346029。以画布宽度viewwidth=1265画布高度viewheight=874为例进行说明,基于此,第二宽高比viewratio = viewwidth/viewheight =1.447368。
[0036]
具体的,在得到第一宽高比和第二宽高比之后,比对第一宽高比和第二宽高比,基于比对结果,确定是否直接在二维画布中绘制目标对象,还是进一步对目标对象进行缩放,将缩放后的目标对象在二维画布中绘制。
[0037]
具体的,此时引入视口宽高比的概念,视口为二维画布中显示目标对象的区域,因此,需要参考视口宽高比(ascpectratio)来绘制目标对象。
[0038]
具体的,在modelratio《=viewratio的情况下,视口宽高比ascpectratio=modelratio,可以直接在二维画布中绘制目标对象。在modelratio》viewratio的情况下,判断viewratio是否大于1,若是,ascpectratio=modelratio/viewratio,否则,ascpectratio =modelratio* viewratio,此时,需要对目标对象进行缩放,在二维画布中绘制缩放后的目标对象。
[0039]
具体的,通过视口变换矩阵,按照指定的缩放比例进行目标对象的缩放操作,将缩放后的目标对象绘制在画布的中心。判断目标对象的高度和宽度的大小,以目标对象的短边进行缩放。在本实施例中的例子中,目标对象的modelwidth小于modelheight,所以短边长度length =modelwidth = 3400。
[0040]
另外,为了能够预留标注的位置需要对目标对象整体进行预设比例的缩放,其中预设比例用scaleratio表示,本例子以scaleratio=0.7为例进行说明。视口变换矩阵如下:
具体的,将视口变换矩阵*投影变换矩阵*模型变换矩阵相乘,得到复合变换矩阵。为了能够方便、快速在二维画布中绘制目标对象,可以将复合变换矩阵作为本技术的维度转换关系,复合变换矩阵如下:其中,复合变换矩阵为4*4的矩阵,但由于矩阵较大,为了清楚的将其展示,下面通过2部分来展示:复合变换矩阵用a进行表示,a=,其中,b为4*2的矩阵,c为4*2的矩阵。
[0041]
下面,以维度转换关系为复合变换矩阵为例进行说明:具体的,在拆分二维画布中的目标对象之前,遍历第一顶点信息,基于复合变换矩阵变换所有第一顶点坐标,得到一个新的顶点集合,并记录新的顶点集合中的z轴对应的值。其中,该新的顶点集合为第三顶点信息。
[0042]
表2 第三顶点信息进而,遍历第三顶点信息中的第二顶点坐标,并去除第三顶点信息中z轴对应的值,得到xy平面的二维坐标,将其作为新的第三顶点信息,其中,第二顶点坐标为画布坐标系下的坐标信息。
[0043]
表3 新的第三顶点信息基于新的第三顶点信息中的第二顶点坐标在画布中创建目标对象,并显示在画布中,具体可参见图2。在图2中能够实时显示目标对象的高度和宽度。
[0044]
步骤103,拆分二维画布中的目标对象,得到至少两个子对象。
[0045]
一个具体实施例中,基于新的第三顶点信息中的第二顶点坐标在画布中创建目标对象之后,确定目标对象的高度和宽度的比值;比对比值和预设值的大小,得到比对结果;基于比对结果,拆分二维画布中的目标对象,得到子对象。
[0046]
具体的,通过ratio表示目标对象的高度和宽度的比值。
[0047]
ratio = modelheight/modelwidth一个具体实施例中,在确定比对结果为比值大于预设值的情况下,基于目标对象的高度和第一预设高度,拆分二维画布中的目标对象,得到子对象;在确定比对结果为比值小于或等于预设值的情况下,基于目标对象的高度、第一预设高度和第二预设高度,拆分二维画布中的目标对象,得到子对象;其中,目标对象的高度大于或等于第一预设高度与第二预设高度的和。
[0048]
具体的,基于目标对象的高度和第一预设高度在目标对象中创建临时切割线,为拆分二维画布中的目标对象提供基础数据;基于目标对象的高度、第一预设高度和第二预设高度在目标对象中创建临时切割线,为拆分二维画布中的目标对象提供基础数据。
[0049]
一个具体实施例中,在确定比对结果为比值大于预设值的情况下,确定楼板为单向板;基于楼板的高度和第一预设高度,确定单向板对应的第一分割方式;基于第一分割方式,拆分二维画布中的单向板,得到子对象;在确定比对结果为比值小于或等于预设值的情况下,确定楼板为双向板;基于楼板的高度、第一预设高度和第二预设高度,确定双向板对应的第二分割方式;基于第二分割方式,拆分二维画布中的双向板,得到子对象。
[0050]
其中,第一预设高度为楼板对应的拆分高度,第二预设高度为现浇段对应的高度。
[0051]
具体的,第一分割方式为在单向板的高度方向,基于第一预设高度在单向板中创建临时切割线。第二分割方式为在双向板的高度方向,基于预设拆分方式拆分二维画布中的双向板,得到子对象,预设拆分方式为:在双向板的高度方向,基于第一预设高度在双向板中创建临时切割线,和,在双向板的高度方向,基于第二预设高度在双向板中创建现浇段的临时切割线。
[0052]
具体的,以预设值等于3为例进行说明:若ratio大于3,确定目标对象为单向板,否则,确定目标对象为双向板。
[0053]
以本实施例中modelheight=9826,modelwidth=3400为例进行说明:ratio = modelheight/modelwidth = 2.89,可见,2.89小于或等于3,该实施例中的目标对象为双向板,则在切割的楼板之间需要创建现浇段。
[0054]
本发明通过计算目标对象的高度和宽度的比值来确定目标对象是单向板还是双向板,无需人为计算,有效的提高了目标对象的拆分效率,降低了拆分时长。
[0055]
一个具体实施例中,基于第一分割方式,自动计算单向板的分割情况,创建至少一条临时切割线,得到至少两个四边形,以及每个四边形的高度;获取鼠标的点击指令;基于点击指令,转换临时切割线为切割线,完成二维画布中单向板的拆分。基于第二分割方式,自动计算双向板的分割情况,创建至少两条临时切割线,得到至少三个四边形,以及每个四边形的高度;获取二维画布中鼠标的点击指令;基于点击指令,转换临时切割线为切割线,完成二维画布中双向板的拆分。
[0056]
一个具体实施例中,基于第一分割方式,自动计算单向板的分割情况,创建至少一条临时切割线,得到至少两个四边形,以及每个四边形的高度;获取二维画布中鼠标的位置信息和鼠标的点击指令;基于位置信息和点击指令,转换临时切割线为切割线,完成二维画布中单向板的拆分。基于第二分割方式,自动计算双向板的分割情况,创建至少两条临时切割线,得到至少三个四边形,以及每个四边形的高度;获取二维画布中鼠标的位置信息和鼠标的点击指令;基于位置信息和点击指令,转换临时切割线为切割线,完成二维画布中双向板的拆分。
[0057]
其中,在确定鼠标的位置信息在任意一条临时切割线所在的位置上,且,获取到鼠标的点击指令之后,将临时切割线转换为切割线。
[0058]
本发明得到四边形的高度之后,在二维画布中显示每个四边形的高度,以方便用户查看。
[0059]
下面,以第一预设高度2231.5,第二预设高度为300为例进行说明。具体图3所示,该临时切割线用一条虚线表示,并且,在图3中实时显示该临时切割线与楼板的宽度形成的四边形的高度。
[0060]
本发明可以同时创建多条临时切割线,在获取到点击指令之后,同时将多条临时切割线转换为切割线。
[0061]
另外,为了提高拆分楼板的效率,创建标准化的拆分逻辑。即,同一类型的楼板,存在不同高度时,按照与之对应的第一预设高度进行拆分。例如,第一预设高度存在多个,例如,2000,1500,1000等。不同高度的楼板对应不同的第一预设高度。因此,在得到楼板的高度时,需要确定与之对应的第一预设高度,再根据确定的第一预设高度进行楼板的拆分。第二预设高度的确定与之相同,用户根据实际情况的需要进行预先设定即可。
[0062]
具体的,在确定楼板为单向板时,基于单向板的高度确定对应的第一预设高度,基于第一预设高度拆分该单向板。在确定楼板为双向板是,基于双向板的高度确定对应的第一预设高度和第二预设高度,基于第一预设高度和第二预设高度,拆分该双向板。
[0063]
具体的,在进行楼板拆分之前,计算楼板的高度与预设拆分值的第一商值。当第一商值为整数时,基于目标对象的高度和第一预设高度在目标对象中创建临时切割线,或,基于目标对象的高度、第一预设高度和第二预设高度在目标对象中创建临时切割线。当第一商值为小数时,确定商数和余数,计算余数对应的部分楼板的高度与商数的第二商值,基于目标对象的高度、第一预设高度和第二商值在目标对象中创建临时切割线,或,基于目标对象的高度、第一预设高度、第二预设高度和第二商值在目标对象中创建临时切割线。
[0064]
其中,第二商值用于表示每块楼板之间的缝隙,预设拆分值小于楼板的高度。
[0065]
另外,本发明还可以一条一条的将临时切割线转换为切割线。在确定四边形的高度等于第一预设高度时,获取鼠标的点击指令,进而,基于点击指令,将临时切割线转换为切割线,此时的切割线通过一条实线表示。在切换一块楼板区域之后,利用上述过程的步骤,创建一条四边形高度为300的现浇段。重复执行创建与第一预设高度对应的切割线和创建与第二预设高度对应的切割线的步骤,直至目标对象拆分完成。具体可参见图4和图5。
[0066]
其中,图4为创建与第一预设高度对应的切割线和创建与第二预设高度对应的切割线的一次执行过程对应的结果,图5为目标对象拆分完成后对应的结果,图5中通过斜线标记的区域则对应楼板。
[0067]
在本发明切割目标对象的过程中,楼板的高度和宽度、四边形的宽度和高度一直处于显示状态,可以直观的确定创建切割线的具体位置,相较于现有技术需要人为标记的方式,有效的提高了楼板拆分效率。
[0068]
并且,本发明能够直观的查看拆分后的结果,明确拆分后各个楼板对应的尺寸信息,有效的提高了用户体验。
[0069]
步骤104,获取各子对象的第二顶点信息。
[0070]
具体的,在目标对象拆分完成后,获取拆分得到的多个多边形的顶点集合,将此时的顶点集合作为第二顶点信息。
[0071]
其中,第二顶点信息仅包括xy平面中x轴对应的值和y轴对应的值。
[0072]
步骤105,基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象。
[0073]
一个具体实施例中,基于维度转换关系,确定与第二顶点信息对应的第四顶点信息,再将之前存储的z轴对应的值添加到第四顶点信息中,得到新的第四顶点信息;基于新的第四顶点信息,拆分三维模型中的目标对象,第四顶点信息为三维坐标系下的坐标信息。
[0074]
本发明利用维度转换关系,实现了二维和三维的联动,将三维数据转换为二维数据,以在二维画布中清楚、直观的拆分目标对象,进而基于二维画布的拆分结果拆分三维模型中的目标对象,整个过程方便、快捷,降低了三维模型中目标对象的拆分所耗的时长。
[0075]
下面,通过图6对将三维模型中的目标对象绘制在二维画布的具体实现方式进行具体说明:步骤601,基于revit提取楼板构件上表面的几何外轮廓的顶点集合。
[0076]
步骤602,创建模型变换矩阵、投影变换矩阵和视口变换矩阵对应的复合变换矩阵。
[0077]
步骤603,遍历外轮廓顶点集合,用复合变换矩阵变换所有顶点,得到一个新的顶点集合,记录顶点的z轴坐标。
[0078]
步骤604,遍历上一步中得到的顶点集合,舍弃掉z轴坐标并创建二维坐标顶点,得到一个二维坐标系下的顶点集合。
[0079]
步骤605,根据二维坐标顶点集合在画布中创建多边形。
[0080]
下面,通过图7对在二维画布中拆分目标对象和在三维模型中拆分目标对象的具体实现方式进行具体说明:步骤701,在画布中的楼板显示区域移动鼠标,捕获鼠标移动事件,获取鼠标所在画布中的坐标点,基于板宽和鼠标所在位置信息实时显示一条临时切割线。
[0081]
步骤702,鼠标左键点击后,会在画布上创建出一条切割线,同时将画布上楼板宽度方向上底边的两个端点和切割线的两个端点组合成一个闭合的多边形。
[0082]
步骤703,点击确定后,获取上一步骤中画布中创建的二维的多边形的顶点集合。
[0083]
步骤704,遍历上一步骤中多边形的顶点集合,获取z轴坐标,将顶点的二维坐标变为三维坐标。
[0084]
步骤705,利用复合变换矩阵的逆变换,将画布坐标系下的坐标变换为世界坐标系下的坐标,得到世界坐标系下的三维坐标顶点集合,调用revit,根据变换后的三维坐标顶点集合拆分三维模型中的目标对象。
[0085]
本发明提供的三维模型中目标对象的拆分方法,通过获取三维模型中目标对象的第一顶点信息;基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系,本发明将目标对象绘制在二维画布中,能够直观、清楚的显示目标对象;进而,拆分二维画布中的目标对象,得到至少两个子对象,本发明由于在二维画布中清楚、直观的显示目标对象,因此能够方便、快速的完成目标对象的拆分,最后,获取各子对象的第二顶点信息;基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象,本发明完成了三维模型中目标对象的拆分,整个过程方便、快捷,有效的降低了拆分时长,提高了拆分效率。
[0086]
下面对本发明提供的三维模型中目标对象的拆分装置进行描述,下文描述的三维模型中目标对象的拆分装置与上文描述的三维模型中目标对象的拆分方法可相互对应参照,重复之处不再赘述,如图8所示,该装置包括:第一获取模块801,用于获取三维模型中目标对象的第一顶点信息;绘制模块802,用于基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;第一拆分模块803,用于拆分二维画布中的目标对象,得到至少两个子对象;第二获取模块804,用于获取各子对象的第二顶点信息;第二拆分模块805,用于基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象。
[0087]
一个具体实施例中,第一拆分模块803,还用于确定目标对象的高度和宽度的比值;比对比值和预设值的大小,得到比对结果;第一拆分模块803,具体用于基于比对结果,拆分二维画布中的目标对象,得到子对象。
[0088]
一个具体实施例中,第一拆分模块803,具体用于在确定比对结果为比值大于预设值的情况下,基于目标对象的高度和第一预设高度,拆分二维画布中的目标对象,得到子对象;在确定比对结果为比值小于或等于预设值的情况下,基于目标对象的高度、第一预设高度和第二预设高度,拆分二维画布中的目标对象,得到子对象;其中,目标对象的高度大于或等于第一预设高度与第二预设高度的和。
[0089]
一个具体实施例中,三维模型包括:三维建筑模型;目标对象包括:楼板;第一拆分模块803,具体用于在确定比对结果为比值大于预设值的情况下,确定楼板为单向板;基于楼板的高度和第一预设高度,确定单向板对应的第一分割方式;基于第一分割方式,拆分二维画布中的单向板,得到子对象;在确定比对结果为比值小于或等于预设值的情况下,确定楼板为双向板;基于楼板的高度、第一预设高度和第二预设高度,确定双向板对应的第二分割方式;基于第二分割方式,拆分二维画布中的双向板,得到子对象。
[0090]
一个具体实施例中,第一拆分模块803,具体用于基于第一分割方式,创建至少一条临时切割线;获取二维画布中鼠标的点击指令;基于点击指令,转换临时切割线为切割线,以拆分二维画布中的单向板;基于第二分割方式,创建至少两条临时切割线;获取点击指令;基于点击指令,转换临时切割线为切割线,以拆分二维画布中的双向板。
[0091]
一个具体实施例中,绘制模块802,具体用于基于维度转换关系,确定与第一顶点信息对应的第三顶点信息,第三顶点信息为画布坐标系下的坐标信息;去除第三顶点信息中z轴对应的值,得到新的第三顶点信息;基于新的第三顶点信息,在二维画布中绘制目标对象。
[0092]
一个具体实施例中,第二拆分模块805,还用于存储第一顶点信息中z轴对应的值;第二拆分模块805,具体用于基于维度转换关系,确定与第二顶点信息对应的第四顶点信息,第四顶点信息为三维坐标系下的坐标信息;将z轴对应的值添加到第四顶点信息中,得到新的第四顶点信息;基于新的第四顶点信息,拆分三维模型中的目标对象。
[0093]
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)901、通信接口(communications interface)902、存储器(memory)903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。处理器901可以调用存储器903中的逻辑指令,以执行三维模型中目标对象的拆分方法,该方法包括:获取三维模型中目标对象的第一顶点信息;基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;拆分二维画布中的目标对象,得到至少两个子对象;获取各子对象的第二顶点信息;基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象。
[0094]
此外,上述的存储器903中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
[0095]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的三维模型中目标对象的拆分方法,该方法包括:获取三维模型中目标对象的第一顶点信息;基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;拆分二维画布中的目标对象,得到至少两个子对象;获取各子对象的第二顶点信息;基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象。
[0096]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的三维模型中目标对象的拆分方法,该方法包括:获取三维模型中目标对象的第一顶点信息;基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;拆分二维画布中的目标对象,得到至少两个子对象;获取各子对象的第二顶点信息;基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象。
[0097]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0098]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0099]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种三维模型中目标对象的拆分方法,其特征在于,包括:获取三维模型中目标对象的第一顶点信息;基于所述第一顶点信息和预设的维度转换关系,在二维画布中绘制所述目标对象,所述维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;拆分所述二维画布中的所述目标对象,得到至少两个子对象;获取各所述子对象的第二顶点信息;基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象。2.根据权利要求1所述的三维模型中目标对象的拆分方法,其特征在于,所述拆分所述二维画布中的所述目标对象,得到至少两个子对象之前,还包括:确定所述目标对象的高度和宽度的比值;比对所述比值和预设值的大小,得到比对结果;所述拆分所述二维画布中的所述目标对象,得到至少两个子对象,包括:基于所述比对结果,拆分所述二维画布中的所述目标对象,得到所述子对象。3.根据权利要求2所述的三维模型中目标对象的拆分方法,其特征在于,所述基于所述比对结果,拆分所述二维画布中的所述目标对象,得到所述子对象,包括:在确定所述比对结果为所述比值大于所述预设值的情况下,基于所述目标对象的高度和第一预设高度,拆分所述二维画布中的所述目标对象,得到所述子对象;在确定所述比对结果为所述比值小于或等于所述预设值的情况下,基于所述目标对象的高度、所述第一预设高度和第二预设高度,拆分所述二维画布中的所述目标对象,得到所述子对象;其中,所述目标对象的高度大于或等于所述第一预设高度与所述第二预设高度的和。4.根据权利要求3所述的三维模型中目标对象的拆分方法,其特征在于,所述三维模型包括:三维建筑模型;所述目标对象包括:楼板;所述基于所述比对结果,拆分所述二维画布中的所述目标对象,得到所述子对象,包括:在确定所述比对结果为所述比值大于所述预设值的情况下,确定所述楼板为单向板;基于所述楼板的高度和所述第一预设高度,确定所述单向板对应的第一分割方式;基于所述第一分割方式,拆分所述二维画布中的所述单向板,得到所述子对象;在确定所述比对结果为所述比值小于或等于所述预设值的情况下,确定所述楼板为双向板;基于所述楼板的高度、所述第一预设高度和所述第二预设高度,确定所述双向板对应的第二分割方式;基于所述第二分割方式,拆分所述二维画布中的所述双向板,得到所述子对象。5.根据权利要求4所述的三维模型中目标对象的拆分方法,其特征在于,所述基于所述第一分割方式,拆分所述二维画布中的所述单向板,包括:基于所述第一分割方式,创建至少一条临时切割线;获取所述二维画布中鼠标的点击指令;基于所述点击指令,转换所述临时切割线为切割线,以拆分所述二维画布中的所述单
向板;所述基于所述第二分割方式,拆分所述二维画布中的所述双向板,包括:基于所述第二分割方式,创建至少两条所述临时切割线;获取所述点击指令;基于所述点击指令,转换所述临时切割线为所述切割线,以拆分所述二维画布中的所述双向板。6.根据权利要求1-5任一项所述的三维模型中目标对象的拆分方法,其特征在于,所述基于所述第一顶点信息和预设的维度转换关系,在二维画布中绘制所述目标对象,包括:基于所述维度转换关系,确定与所述第一顶点信息对应的第三顶点信息,所述第三顶点信息为所述画布坐标系下的坐标信息;去除所述第三顶点信息中z轴对应的值,得到新的第三顶点信息;基于所述新的第三顶点信息,在所述二维画布中绘制所述目标对象。7.根据权利要求1-5任一项所述的三维模型中目标对象的拆分方法,其特征在于,所述基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象之前,还包括:存储所述第一顶点信息中z轴对应的值;所述基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象,包括:基于所述维度转换关系,确定与所述第二顶点信息对应的第四顶点信息,所述第四顶点信息为所述三维坐标系下的坐标信息;将所述z轴对应的值添加到所述第四顶点信息中,得到新的第四顶点信息;基于所述新的第四顶点信息,拆分所述三维模型中的所述目标对象。8.一种三维模型中目标对象的拆分装置,其特征在于,包括:第一获取模块,用于获取三维模型中目标对象的第一顶点信息;绘制模块,用于基于所述第一顶点信息和预设的维度转换关系,在二维画布中绘制所述目标对象,所述维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;第一拆分模块,用于拆分所述二维画布中的所述目标对象,得到至少两个子对象;第二获取模块,用于获取各所述子对象的第二顶点信息;第二拆分模块,用于基于所述第二顶点信息和所述维度转换关系,拆分所述三维模型中的所述目标对象。9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的三维模型中目标对象的拆分方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的三维模型中目标对象的拆分方法。
技术总结
本发明涉及计算机技术领域,提供一种三维模型中目标对象的拆分方法、装置、设备及介质,方法包括:获取三维模型中目标对象的第一顶点信息;基于第一顶点信息和预设的维度转换关系,在二维画布中绘制目标对象,维度转换关系用于指示三维坐标系下的坐标信息与画布坐标系下的坐标信息的对应关系;拆分二维画布中的目标对象,得到至少两个子对象;获取各子对象的第二顶点信息;基于第二顶点信息和维度转换关系,拆分三维模型中的目标对象。本发明用以解决现有技术中在三维模型中拆分目标对象时耗时长、效率低的缺陷,实现快速的拆分三维模型中的目标对象。型中的目标对象。型中的目标对象。
技术研发人员:田龙 陈叶舟 马国兴
受保护的技术使用者:三一筑工科技股份有限公司
技术研发日:2022.04.22
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-8842.html