本发明实施例涉及工程测算技术领域,尤其涉及一种立体组合模型重合面积确定方法及装置。
背景技术:
目前,在进行工程施工之前,通常先通过预设平台(例如revit平台等)创建立体组合模型,并可以通过立体组合模型获取工程的多种参数,例如,工程的内表面积、工程体积等。
立体组合模型通常由多个单独的立体模型构成,例如,房间模型(立体组合模型)可以由四个墙壁模型、一个地板模型及一个房顶模型构成。在立体组合模型中,多个立体模型之间通常相切,使得多个立体模型之间具有重合面积。在很多应用场景(例如,计算立体组合模型的外露面积)中,需要使用立体模型之间的重合面积。在现有技术中,通常通过人工获取重合面积的形状,并根据重合面积的形状计算重合面积。
然而,当重合面的形状为不规则形状时,人工计算需要耗费较多时长才能确定重合面积,导致立体组合模型重合面积的确定效率较低。
技术实现要素:
本发明实施例提供一种立体组合模型重合面积确定方法及装置,用于提高确定立体组合模型重合面积的效率。
第一方面,本发明实施例提供一种立体组合模型重合面积确定方法,所述立体组合模型包括第一立体模型和第二立体模型,所述第一立体模型和所述第二立体模型相切形成切面,所述方法包括:
沿所述切面的垂直方向,控制所述第一立体模型和/或第二立体模型进行位移或形变,以使所述第一立体模型和所述第二立体模型相交;
对所述第一立体模型和所述第二立体模型进行布尔运算,确定所述第一立体模型和所述第二立体模型的重合空间的体积;
根据所述重合空间的体积、及所述位移或所述形变的大小,确定所述第一立体模型和所述第二立体模型的重合面积。
在一种可能的实施方式中,所述沿所述切面的垂直方向,控制所述第一立体模型和/或第二立体模型进行形变,以使所述第一立体模型和所述第二立体模型相交,包括:
在所述第一立体模型或第二立体模型中确定待处理面,所述待处理面包括所述切面;
控制所述待处理面沿所述切面的垂直方向拉伸,以使包括所述待处理面的立体模型发生形变,并以使所述第一立体模型和所述第二立体模型相交。
在另一种可能的实施方式中,所述形变的大小为拉伸的长度;相应的,根据所述重合空间的体积、及所述位移或所述形变的大小,确定所述第一立体模型和所述第二立体模型的重合面积,包括:
根据所述重合空间的体积和所述拉伸的长度,确定所述立体组合模型的重合面积。
在另一种可能的实施方式中,所述沿所述切面的垂直方向,控制所述第一立体模型和/或第二立体模型进行位移,以使所述第一立体模型和所述第二立体模型相交,包括:
在所述第一立体模型和所述第二立体模型中确定目标立体模型;
控制所述目标立体模型沿所述切面的垂直方向移动,以使所述第一立体模型和所述第二立体模型相交。
在另一种可能的实施方式中,所述位移大小为移动的距离;相应的,根据所述重合空间的体积、及所述位移或所述形变的大小,确定所述第一立体模型和所述第二立体模型的重合面积,包括:
根据所述重合空间的体积和所述移动的距离,确定所述立体组合模型的重合面积。
在另一种可能的实施方式中,所述方法还包括:
接收用户输入的、所述立体组合模型对应的面积获取指令,所述面积获取指令用于请求获取所述立体组合模型的预设面的外露面积;
根据所述预设面积获取指令,确定所述立体组合模型的预设面;
根据所述预设面和所述切面的关系,确定所述预设面的面积。
在另一种可能的实施方式中,所述根据所述预设面和所述切面的关系,确定所述预设表面的面积,包括:
判断所述预设面中是否包括所述切面;
若是,则根据所述预设面的面积和所述重合面积,确定所述预设面的外露面积;
若否,则将所述预设面的面积确定为所述预设面的外露面积。
第二方面,本发明实施例提供一种立体组合模型重合面积确定装置,所述立体组合模型包括第一立体模型和第二立体模型,所述第一立体模型和所述第二立体模型相切形成切面,所述装置包括:
控制模块,用于沿所述切面的垂直方向,控制所述第一立体模型和/或第二立体模型进行位移或形变,以使所述第一立体模型和所述第二立体模型相交;
第一确定模块,用于对所述第一立体模型和所述第二立体模型进行布尔运算,确定所述第一立体模型和所述第二立体模型的重合空间的体积;
第二确定模块,用于根据所述重合空间的体积、及所述位移或所述形变的大小,确定所述第一立体模型和所述第二立体模型的重合面积。
在一种可能的实施方式中,所述第一确定模块具体用于:
在所述第一立体模型或第二立体模型中确定待处理面,所述待处理面包括所述切面;
控制所述待处理面沿所述切面的垂直方向拉伸,以使包括所述待处理面的立体模型发生形变,并以使所述第一立体模型和所述第二立体模型相交。
在另一种可能的实施方式中,所述形变的大小为拉伸的长度;相应的,所述第二确定模块具体用于:
根据所述重合空间的体积和所述拉伸的长度,确定所述立体组合模型的重合面积。
在另一种可能的实施方式中,所述第一确定模块具体用于:
在所述第一立体模型和所述第二立体模型中确定目标立体模型;
控制所述目标立体模型沿所述切面的垂直方向移动,以使所述第一立体模型和所述第二立体模型相交。
在另一种可能的实施方式中,所述位移大小为移动的距离;相应的,所述第二确定模块具体用于:
根据所述重合空间的体积和所述移动的距离,确定所述立体组合模型的重合面积。
在另一种可能的实施方式中,所述装置还包括接收模块、第三确定模块和第四确定模块,其中,
所述接收模块用于,接收用户输入的、所述立体组合模型对应的面积获取指令,所述面积获取指令用于请求获取所述立体组合模型的预设面的外露面积;
所述第三确定模块用于,根据所述预设面积获取指令,确定所述立体组合模型的预设面;
所述第四确定模块用于,根据所述预设面和所述切面的关系,确定所述预设面的面积。
在另一种可能的实施方式中,所述第四确定模块具体用于:
判断所述预设面中是否包括所述切面;
若是,则根据所述预设面的面积和所述重合面积,确定所述预设面的外露面积;
若否,则将所述预设面的面积确定为所述预设面的外露面积。
本发明实施例提供的立体组合模型重合面积确定方法及装置,当需要确定第一立体模型和第二立体模型的重合面积时,沿切面的垂直方向,控制第一立体模型和/或第二立体模型进行位移或形变,以使第一立体模型和第二立体模型相交,通过对第一立体模型和第二立体模型进行布尔运算,确定第一立体模型和第二立体模型的重合空间的体积,并根据重合空间的体积、及位移或形变的大小,确定第一立体模型和第二立体模型的重合面积。在上述过程中,通过对第一立体模型和/或第二立体模型进行处理,使得第一立体模型和第二立体模型相交,进而可以对第一立体模型和第二立体模型进行布尔运算,以方便的获取第一立体模型和第二立体模型的重合空间的体积,进而可以方便的根据重合空间的体积、及位移或形变的大小,确定第一立体模型和第二立体模型的重合面积,提高了确定立体组合模型重合面积的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的立体组合模型重合面积确定方法的流程图;
图2为本发明提供的控制立体模型相交方法的流程示意图一;
图3为本发明提供的立体组合模型的结构示意图一;
图4为本发明提供的控制立体模型相交方法的流程示意图二;
图5为本发明提供的立体组合模型的结构示意图二;
图6为本发明提供的确定外露面积方法的流程示意图;
图7为本发明提供的立体组合模型的结构示意图三;
图8为本发明提供的立体组合模型重合面积确定装置的结构图一;
图9为本发明提供的立体组合模型重合面积确定装置的结构图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,立体组合模型中包括多个单独的立体模型,且该多个立体模型中存在至少两个立体模型相切以形成切面,在该切面处形成了立体组合模型的重合面积。当需要确定立体组合模型的重合面积时,可以对该两个立体组合模型进行处理,以使该两个立体组合模型相交,进而可以通过对两个相交的立体组合模型进行布尔运算,以获取两个立体组合模型的重合空间的体积,并根据重合空间的体积确定重合面积。在上述过程中,可以方便快速的确定得到立体组合模型的重合面积,进而提高确定立体组合模型重合面积的效率。下面,通过具体实施例对本申请所示的技术方案进行详细说明。
需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本发明提供的立体组合模型重合面积确定方法的流程图,请参见图1,该方法可以包括:
S101、沿切面的垂直方向,控制第一立体模型和/或第二立体模型进行位移或形变,以使第一立体模型和第二立体模型相交;
S102、对第一立体模型和第二立体模型进行布尔运算,确定第一立体模型和第二立体模型的重合空间的体积;
S103、根据重合空间的体积、及位移或形变的大小,确定第一立体模型和第二立体模型的重合面积。
本发明实施例的执行主体可以为立体组合模型重合面积确定装置(下文简称确定装置),该装置可以设置于预设平台(例如revit平台等)。该确定装置可以通过软件和/或硬件实现。
需要说明的是,立体组合模型中可能包括多个由两个立体模型构成的重合面,确定装置确定每一个重合面的面积过程相同。在本申请实施例中,立体组合模型包括第一立体模型和第二立体模型,第一立体模型和第二立体模型相切形成切面,以确定由第一立体模型和第二立体模型构成的重合面的面积的过程为例进行说明。
在实际应用过程中,当需要确定第一立体模型和第二立体模型的重合面时,先确定第一立体模型和第二立体模型的切面的垂直方向,并沿切面的垂直方向,控制第一立体模型和/或第二立体模型进行位移或形变,以使第一立体模型和第二立体模型相交。可选的,可以控制第一立体模型和第二立体模型中的任意一个立体模型进行位移或者形变。为了提高计算的精确性,位移及形变的尺寸应小于预设阈值,可选的,该预设阈值可以为1毫米。
在第一立体模型和第二立体模型相交之后,可以对第一立体模型和第二立体模型进行布尔运算,以确定第一立体模型和第二立体模型的重合空间的体积。可选的,可以通过如下程序进行布尔运算:
需要说明的是,上述只是示例的形式示意对第一立体模型和第二立体模型进行布尔运算的过程,并不是对该过程的限定,在实际应用过程中,可以通过现有的布尔运算规则,对第一立体模型和第二立体模型进行布尔运算,本发明对此不作进行赘述。
在确定得到重合空间的体积之后,根据重合空间的体积、及位移或形变的大小,确定第一立体模型和第二立体模型的重合面积。具体的,若控制第一立体模型和/或第二立体模型进行位移,则根据重合空间的体积、及位移的大小确定重合面积;若控制第一立体模型和/或第二立体模型进行形变,则根据重合空间的体积、及形变的大小确定重合面积。可选的,可以将重合空间的体积除以位移的大小或者形变的大小,以得到重合面积。
本发明实施例提供的立体组合模型重合面积确定方法,当需要确定第一立体模型和第二立体模型的重合面积时,沿切面的垂直方向,控制第一立体模型和/或第二立体模型进行位移或形变,以使第一立体模型和第二立体模型相交,通过对第一立体模型和第二立体模型进行布尔运算,确定第一立体模型和第二立体模型的重合空间的体积,并根据重合空间的体积、及位移或形变的大小,确定第一立体模型和第二立体模型的重合面积。在上述过程中,通过对第一立体模型和/或第二立体模型进行处理,使得第一立体模型和第二立体模型相交,进而可以对第一立体模型和第二立体模型进行布尔运算,以方便的获取第一立体模型和第二立体模型的重合空间的体积,进而可以方便的根据重合空间的体积、及位移或形变的大小,确定第一立体模型和第二立体模型的重合面积,提高了确定立体组合模型重合面积的效率。
在图1所示实施例的基础上,可选的,可以通过如下两种可行的实现方式对第一立体模型和/或第二立体模型进行控制操作,以使第一立体模型和第二立体模型相交,具体的,请参见图2-图5所示的实施例。
图2为本发明提供的控制立体模型相交方法的流程示意图一,请参见图2,该方法可以包括:
S201、在第一立体模型或第二立体模型中确定待处理面,待处理面包括切面;
S202、控制待处理面沿切面的垂直方向拉伸,以使包括待处理面的立体模型发生形变,并以使第一立体模型和第二立体模型相交。
在图2所示的实施例中,当需要控制第一立体模型和第二立体模型进行相交时,在第一立体模型或第二立体模型中确定待处理面,该待处理面中包括第一立体模型和第二立体模型的切面。具体的,该待处理面可以为第一立体模型中与第二立体模型相切的面,也可以为第二立体模型中与第一立体模型相切的面。
在确定得到待处理面之后,控制待处理面沿切面的垂直方向拉伸,以使包括该待处理面的立体模型发生形变,并使得第一立体模型和第二立体模型相交。
在该种可行的实现方式中,形变的大小为拉伸的长度;相应的,确定装置可以根据重合空间的体积和拉伸的长度,确定立体组合模型的重合面积。
下面,结合图3,通过具体示例对图1-图2实施例所示的方法进行详细说明。
图3为本发明提供的立体组合模型的结构示意图一,请参见图3,包括第一立体模型301和第二立体模型302。
第一立体模型为长方体,第二立体模型为圆柱体,第一立体模型的下面表与第二立体模型的上表面相切。第一立体模型的下面表面和第二立体模型的上表面之间形成重合面。
当需要获取第一立体模型和第二立体模型的重合面的面积时,在第一立体模型和第二立体模型中确定待处理面,假设待处理面为第一立体模型中的底面A,确定装置对第一立体模型的底面A沿着底面A(切面)的垂直方向向下进行拉伸处理,假设向下拉伸长度为d,使得第一立体模型发生形变,具体的,第一立体模型的高度变大,第一立体模型的高度由h变为了h+d,发生形变后的第一立体模型的底面为A1。
在对第一立体模型的底面A进行拉伸处理之后,第一立体模型和第二立体模型相交,并形成重合空间。由于第一立体模型和第二立体模型相交,因此,可以对第一立体模型和第二立体模型进行布尔运算,以得到第一立体模型和第二立体模型的重合空间的体积V。
根据重合空间的体积V和拉伸长度d,可以确定重合面的面积为V/d。
图4为本发明提供的控制立体模型相交方法的流程示意图二,请参见图4,该方法可以包括:
S401、在第一立体模型和第二立体模型中确定目标立体模型;
S402、控制目标立体模型沿切面的垂直方向移动,以使第一立体模型和第二立体模型相交。
在图4所示的实施例中,当需要控制第一立体模型和第二立体模型进行相交时,在第一立体模型和第二立体模型中确定目标立体模型,可选的,可以将第一立体模型和第二立体模型中的任意一个立体模型确定为目标立体模型。
在确定得到目标立体模型之后,控制目标立体模型沿切面的垂直方向移动,以使第一立体模型和第二立体模型相交。可选的,移动的距离小于预设阈值。
在该种可行的实现方式中,位移大小为移动的距离;相应的,确定装置可以根据重合空间的体积和移动的距离,确定立体组合模型的重合面积。
下面,结合图5,通过具体示例对图1和图4实施例所示的方法进行详细说明。
图5为本发明提供的立体组合模型的结构示意图二,请参见图5,包括第一立体模型501和第二立体模型502。
第一立体模型为长方体,第二立体模型为圆柱体,第一立体模型的下面表与第二立体模型的上表面相切。第一立体模型的下面表面和第二立体模型的上表面之间形成重合面。
当需要获取第一立体模型和第二立体模型的重合面的面积时,在第一立体模型和第二立体模型中确定目标立体模型,假设目标立体模型为第一立体模型。第一立体模型的高度为h,底面为A,确定装置控制第一立体模型沿着第一立体模型的底面A(切面)的垂直方向向下移动,假设向下移动的距离为d。
在对第一立体模型进行移动之后,第一立体模型和第二立体模型相交,并形成重合空间。由于第一立体模型和第二立体模型相交,因此,可以对第一立体模型和第二立体模型进行布尔运算,以得到第一立体模型和第二立体模型的重合空间的体积V。
根据重合空间的体积V和拉伸长度d,可以确定重合面的面积为V/d。
在上述任意一个实施例的基础上,确定装置还可以获取立体组合模型中预设面的外露面积,下面,通过图6所示的实施例,对获取立体组合模型中预设面的外露面积的过程进行详细说明。
图6为本发明提供的确定外露面积方法的流程示意图,请参见图6,该方法可以包括:
S601、接收用户输入的、立体组合模型对应的面积获取指令,面积获取指令用于请求获取立体组合模型的预设面的外露面积;
S602、根据预设面积获取指令,确定立体组合模型的预设面;
S603、根据预设面和切面的关系,确定预设面的面积。
在图6所示的实施例中,面积获取指令包括表面积获取指令、内表面积获取指令、外表面积获取指令等。具体的,表面积获取指令用于指示获取立体组合模型的所有面的外露面积;内表面积获取指令用于指示获取立体组合模型的内表面的外露面积;在实际应用过程中,可选的,可以为立体组合模型中的各个立体模型中的各个面设置标识,以指示各个面的类型(例如内表面、外表面等)。
在实际应用过程中,当用户需要获取立体组合模型的预设面的外露面积时,用户可以在确定装置中输入相应的面积获取指令。例如,当用户需要获取立体组合模型的内表面的外露面积时,用户可以输入内表面积获取指令。
在确定装置接收到面积获取指令后,确定装置确定面积获取指令对应的预设面。可选的,可以设置面积获取指令与各立体模型中的各个面的对应关系,以使确定装置可以根据用户输入的面积获取指令和该对应关系,确定对应的预设面。可选的,该预设对应关系可以如表1所示:
表1
需要说明的是,表1只是以示例的形式示意面积获取指令与各立体模型中的各个面的对应关系,并不是对该对应关系的限定,在实际应用过程中,可以根据实际需要确定该对应关系,本发明对此不作具体限定。
在确定装置确定的得到立体组合模型的预设面之后,确定装置根据预设面和切面的关系,确定预设面的面积。可选的,确定装置可以判断预设面中是否包括切面;若是,则根据预设面的面积和重合面积,确定预设面的外露面积,可选的,可以将预设面的面积减去n倍的重合面面积,其中,n为1或2;若否,则将预设面的面积确定为预设面的外露面积。
在上述过程中,在确定装置接收到用户输入的面积获取指令之后,若确定面积获取指令对应的预设面中存在重合面积,则根据图1-图5实施例所示的方法快速获取重合面积,并根据重合面积快速确定面积获取指令对应的预设面的外露面积,进而提高获取预设面的外露面积的效率。
下面,结合图7,通过具体示例,对图6实施例所示的方法进行详细说明。
图7为本发明提供的立体组合模型的结构示意图三,请参见图7,包括立体模型701、立体模型702、及立体模型703。
立体模型701、立体模型702、及立体模型703分别为底面为体型的四棱柱,该三个立体模型相切形成一个立体组合模型。具体的,立体模型701的面A与立体模型703的一个端面相切,立体模型702的面B与立体模型701的一个端面相切,立体模型703的面C与立体模型702的一个端面相切。
当用户需要获取该立体模型的内表面积时,用户可以输入内表面积获取指令。当确定装置接收到内表面积获取指令之后,确定装置获取内表面获取指令对应的预设面,假设该内表面积获取指令对应的预设面为立体模型701的面A、立体模型702的面B、及立体模型703的面C。
确定装置判断立体模型701的面A与立体模型703的一个端面相切,则确定装置通过图1-图5实施例所示的方法获取面A与立体模型703的一个端面的重合面积的大小S1;同理,确定装置通过图1-图5实施例所示的方法获取面B与立体模型701的一个端面的重合面积的大小S2;确定装置通过图1-图5实施例所示的方法获取面C与立体模型702的一个端面的重合面积的大小S3。
确定装置还获取面A的面积SA、面B的面积SB、及面C的面积SC,确定装置确定该立体组合模型的内表面积为SA-S1+SB-S2+SC-S3。
图8为本发明提供的立体组合模型重合面积确定装置的结构图一,所述立体组合模型包括第一立体模型和第二立体模型,所述第一立体模型和所述第二立体模型相切形成切面,请参见图8,所述装置包括:
控制模块801,用于沿所述切面的垂直方向,控制所述第一立体模型和/或第二立体模型进行位移或形变,以使所述第一立体模型和所述第二立体模型相交;
第一确定模块802,用于对所述第一立体模型和所述第二立体模型进行布尔运算,确定所述第一立体模型和所述第二立体模型的重合空间的体积;
第二确定模块803,用于根据所述重合空间的体积、及所述位移或所述形变的大小,确定所述第一立体模型和所述第二立体模型的重合面积。
本发明实施例提供的立体组合模型重合面积确定装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述第一确定模块802具体用于:
在所述第一立体模型或第二立体模型中确定待处理面,所述待处理面包括所述切面;
控制所述待处理面沿所述切面的垂直方向拉伸,以使包括所述待处理面的立体模型发生形变,并以使所述第一立体模型和所述第二立体模型相交。
在该种可能的实施方式中,所述形变的大小为拉伸的长度;相应的,所述第二确定模块803具体用于:
根据所述重合空间的体积和所述拉伸的长度,确定所述立体组合模型的重合面积。
在另一种可能的实施方式中,所述第一确定模块802具体用于:
在所述第一立体模型和所述第二立体模型中确定目标立体模型;
控制所述目标立体模型沿所述切面的垂直方向移动,以使所述第一立体模型和所述第二立体模型相交。
在该种可能的实施方式中,所述位移大小为移动的距离;相应的,所述第二确定模块具体用于:
根据所述重合空间的体积和所述移动的距离,确定所述立体组合模型的重合面积。
图9为本发明提供的立体组合模型重合面积确定装置的结构图二,在图8所示实施例的基础上,请参见图9,所述装置还包括接收模块804、第三确定模块805和第四确定模块806,其中,
所述接收模块804用于,接收用户输入的、所述立体组合模型对应的面积获取指令,所述面积获取指令用于请求获取所述立体组合模型的预设面的外露面积;
所述第三确定模块805用于,根据所述预设面积获取指令,确定所述立体组合模型的预设面;
所述第四确定模块806用于,根据所述预设面和所述切面的关系,确定所述预设面的面积。
在另一种可能的实施方式中,所述第四确定模块806具体用于:
判断所述预设面中是否包括所述切面;
若是,则根据所述预设面的面积和所述重合面积,确定所述预设面的外露面积;
若否,则将所述预设面的面积确定为所述预设面的外露面积。
本发明实施例提供的立体组合模型重合面积确定装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。