基于bim的三维图像生成方法、装置、电子设备及介质
技术领域
1.本技术涉及计算机技术领域,尤其是涉及一种基于bim的三维图像生成方法、装置、电子设备及介质。
背景技术:2.随着软件技术的发展,越来越多的行业可以通过软件技术提高工作效率。例如,在建筑行业中,可以通过软件技术来进行建筑物规划,例如可以通过建筑信息模型(building information modeling,bim)技术来进行建筑物规划, bim的核心是通过建立虚拟的建筑工程三维模型,利用数字化技术,为这个模型提供完整的、与实际情况一致的建筑工程信息库。
3.在相关技术中,通过bim进行三维图像生成时,可以将二维建筑平面图转换为三维建筑模型,具体地,通过识别二维建筑平面图中各个二维构件的类型、尺寸以及各个二维构件之间的关系,从数据库中查找各个二维构件分别对应的三维构件,并基于各个二维构件之间的位置关系,生成三维建筑模型。
4.在实现本技术过程中,发明人发现该技术中至少存在如下问题:在生成三维建筑模型的过程中,基于各个二维构件的类型和尺寸需要从数据库中一一查找各个三维组件,并且各个二维组件的位置关系计算并生成各个三维构件组合,从而导致在生成三维建筑模型的过程中计算量较大,进而导致生成三维建筑模型的速度较慢。
技术实现要素:5.本技术目的是提供一种基于bim的三维图像生成方法、装置、电子设备及介质,用于解决以上技术问题。
6.本技术的上述发明目的是通过以下技术方案得以实现的:第一方面,提供了一种基于bim的三维图像生成方法,包括:获取二维建筑平面图;识别所述二维建筑平面图,得到所述二维建筑平面图中包含的各个二维构件分别对应的属性信息以及各个二维构件之间的位置关系,所述属性信息包括:构件类型以及构件尺寸中的至少一项;确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,所述满足第一预设条件的历史三维组合构件包含:至少两个所述三维构件构成的组合,并且所述至少两个三维构件之间的位置关系与至少两个所述二维构件的位置关系相同,并且至少两个三维构件的属性信息与至少两个二维构件的属性信息相同;若存在,则获取所述满足第一预设条件的历史三维组合构件;基于所述二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及所述满足第一预设条件的历史三维组合构件,生成三维建筑模型。
7.在一种可能的实现方式中,所述确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,包括:基于所述各个二维构件之间的位置关系以及各个二维构件分别对应的类型信息,从所述历史数据库中查找是否存在满足第二预设条件的至少一个三维构件组合,满足第二预设条件的任一三维构件组合为与至少两个二维构件的位置关系相同,并且与所述至少两个二维构件的类型相同;若存在,确定满足第二预设条件的每个三维构件组合相对应的各个二维构件的尺寸信息;确定所述满足第二预设条件的每个三维构件组合中每个三维构件的尺寸信息与各自对应的二维构件的尺寸信息是否相符,以确定历史数据库中是否存在满足第一预设条件的历史三维组合构件。
8.在另一种可能的实现方式中,所述确定所述满足第二预设条件的每个三维构件组合中每个三维构件的尺寸信息与各自对应的二维构件的尺寸信息是否相符,以确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,之后还包括:若三维构件组合中存在与各自对应二维构件的尺寸不相符的三维构件,则确定所述三维构件组合中的各个三维构件中与对应的二维构件的尺寸不匹配的三维构件;调整尺寸不匹配的三维构件,并将调整尺寸后的三维构件的组合确定为所述满足第一预设条件的历史三维组合构件。
9.在另一种可能的实现方式中,所述基于所述二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及所述满足第一预设条件的历史三维组合构件,生成三维建筑模型,包括:基于所述二维建筑平面图中包含的各个二维构件分别对应的属性信息,各个二维构件之间的位置关系以及满足第一预设条件的历史三维组合构件,生成三维建筑构架模型;基于所述三维建筑构架模型,确定各个三维构件之间的位置关系;确定各个三维构件分别对应的贴图信息;将所述各个三维构件分别对应的贴图信息按照所述各个三维构件之间的位置关系进行组合,得到组合后的贴图信息;将所述组合后的贴图信息以及所述三维建筑架构模型进行组合,得到所述三维建筑模型。
10.在另一种可能的实现方式中,所述方法还包括:当检测到用户针对所述三维建筑模型的调整指令时,确定各个三维构件分别对应的光照方向,所述调整指令包括:模型旋转指令以及位置调整指令中的至少一项;基于各个三维构件的类型,确定满足第三预设条件的三维构件,所述满足第三预设条件的三维构件为具备透光功能的三维构件;确定不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系;基于所述各个三维构件分别对应的光照方向、所述满足第三预设条件的三维构件以及所述不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系,确
定各个三维构件的光照信息;基于所述各个三维构建的光照信息对所述三维建筑模型进行渲染。
11.在另一种可能的实现方式中,基于所述二维建筑平面图中包含的各个二维构件的属性信息、各个二维构件之间的位置关系,以及所述满足预设条件的历史三维组合构件,生成三维建筑模型,之后还包括:当达到预设时间段时,获取当前施工进展信息,并基于所述当前施工进展信息从所述三维建筑模型中,确定当前已修建部分的三维建筑模型;将所述当前已修建部分的三维建筑模型同步至各个终端设备。
12.在另一种可能的实现方式中,获取建筑物的当前施工进展信息,并基于所述施工进展信息从所述三维建筑模型中,确定已修建部分的三维建筑模型,包括:获取当前已修建部分的图像信息;基于所述当前已修建部分的图像信息确定已修建部分的建筑物信息,基于所述已修建部分的建筑物信息从所述三维建筑模型中确定当前已修建部分的三维建筑模型。
13.其中,所述已修建部分的建筑物信息包括:已修建部分所涉及的三维构件类型、三维构件尺寸以及各个三维构件的位置关系。
14.在另一种可能的实现方式中,所述确定当前已修建部分的三维建筑模型,之后还包括:获取预估三维建筑模型,所述预估三维建筑模型为基于建筑进度规划信息预估得到的在达到当前时间段已修建部分的三维建筑模型,所述建筑进度规划信息中包含各个时间段分别对应的建筑规划信息;基于所述预估三维建筑模型以及所述当前已修建部分的三维建筑模型,确定进度差别信息,所述进度差别信息为当前修建进度与建筑规划进度的进度差距信息;将所述进度差别信息同步至各个终端设备。
15.在另一种可能的实现方式中,所述获取预估三维建筑模型,之前还包括:确定所述建筑进度规划信息;基于所述建筑进度规划信息以及所述三维建筑模型,预估各个时间段分别对应三维建筑模型,任一时间段对应的三维建筑模型为达到所述任一时间段时预估修建完成的三维建筑模型。
16.第二方面,提供了一种基于bim的三维图像生成装置,包括:第一获取模块,用于获取二维建筑平面图;识别模块,用于识别所述二维建筑平面图,得到所述二维建筑平面图中包含的各个二维构件分别对应的属性信息以及各个二维构件之间的位置关系,所述属性信息包括:构件类型以及构件尺寸中的至少一项;第一确定模块,用于确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,所述满足第一预设条件的历史三维组合构件包含:至少两个所述三维构件构成的组合,并且所述至少两个三维构件之间的位置关系与至少两个所述二维构件的位置关系相同,并且至少两个三维构件的属性信息与至少两个二维构件的属性信息相同;第二获取模块,用于当存在满足第一预设条件的历史三维组合构件时,获取所述满足第一预设条件的历史三维组合构件;
生成模块,用于基于所述二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及所述满足第一预设条件的历史三维组合构件,生成三维建筑模型。
17.在一种可能的实现方式中,所述第一确定模块在确定历史数据库中是否存在满足第一预设条件的历史三维组合构件时,具体用于:基于所述各个二维构件之间的位置关系以及各个二维构件分别对应的类型信息,从所述历史数据库中查找是否存在满足第二预设条件的至少一个三维构件组合,满足第二预设条件的任一三维构件组合为与至少两个二维构件的位置关系相同,并且与所述至少两个二维构件的类型相同;若存在,确定满足第二预设条件的每个三维构件组合相对应的各个二维构件的尺寸信息;确定所述满足第二预设条件的每个三维构件组合中每个三维构件的尺寸信息与各自对应的二维构件的尺寸信息是否相符,以确定历史数据库中是否存在满足第一预设条件的历史三维组合构件。
18.在另一种可能的实现方式中,所述装置还包括:第二确定模块、调整模块以及第三确定模块,其中,所述第二确定模块,用于当三维构件组合中存在与各自对应二维构件的尺寸不相符的三维构件时,确定所述三维构件组合中的各个三维构件中与对应的二维构件的尺寸不匹配的三维构件;所述调整模块,用于调整尺寸不匹配的三维构件;所述第三确定模块,用于将调整尺寸后的三维构件的组合确定为所述满足第一预设条件的历史三维组合构件。
19.在另一种可能的实现方式中,所述生成模块在基于所述二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及所述满足第一预设条件的历史三维组合构件,生成三维建筑模型时,具体用于:基于所述二维建筑平面图中包含的各个二维构件分别对应的属性信息,各个二维构件之间的位置关系以及满足第一预设条件的历史三维组合构件,生成三维建筑构架模型;基于所述三维建筑构架模型,确定各个三维构件之间的位置关系;确定各个三维构件分别对应的贴图信息;将所述各个三维构件分别对应的贴图信息按照所述各个三维构件之间的位置关系进行组合,得到组合后的贴图信息;将所述组合后的贴图信息以及所述三维建筑架构模型进行组合,得到所述三维建筑模型。
20.在另一种可能的实现方式中,所述装置还包括:第四确定模块、第五确定模块、第六确定模块、第七确定模块以及渲染模块,其中,所述第四确定模块,用于当检测到用户针对所述三维建筑模型的调整指令时,确定各个三维构件分别对应的光照方向,所述调整指令包括:模型旋转指令以及位置调整指令中的至少一项;
所述第五确定模块,用于基于各个三维构件的类型,确定满足第三预设条件的三维构件,所述满足第三预设条件的三维构件为具备透光功能的三维构件;所述第六确定模块,用于确定不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系;所述第七确定模块,用于基于所述各个三维构件分别对应的光照方向、所述满足第三预设条件的三维构件以及所述不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系,确定各个三维构件的光照信息;所述渲染模块,用于基于所述各个三维构建的光照信息对所述三维建筑模型进行渲染。
21.在另一种可能的实现方式中,所述装置还包括:第三获取模块、第八确定模块以及第一同步模块,其中,所述第三获取模块,用于当达到预设时间段时,获取当前施工进展信息;所述第八确定模块,用于基于所述当前施工进展信息从所述三维建筑模型中,确定当前已修建部分的三维建筑模型;所述第一同步模块,用于将所述当前已修建部分的三维建筑模型同步至各个终端设备。
22.在另一种可能的实现方式中,所述第三获取模块在获取建筑物的当前施工进展信息时,具体用于:获取当前已修建部分的图像信息;所述第八确定模块在基于所述施工进展信息从所述三维建筑模型中,确定已修建部分的三维建筑模型时,具体用于:基于所述当前已修建部分的图像信息确定已修建部分的建筑物信息,基于所述已修建部分的建筑物信息从所述三维建筑模型中确定当前已修建部分的三维建筑模型。
23.其中,所述已修建部分的建筑物信息包括:已修建部分所涉及的三维构件类型、三维构件尺寸以及各个三维构件的位置关系。
24.在另一种可能的实现方式中,所述装置还包括:第四获取模块、第九确定模块以及第二同步模块,其中,所述第四获取模块,用于获取预估三维建筑模型,所述预估三维建筑模型为基于建筑进度规划信息预估得到的在达到当前时间段已修建部分的三维建筑模型,所述建筑进度规划信息中包含各个时间段分别对应的建筑规划信息;所述第九确定模块,用于基于所述预估三维建筑模型以及所述当前已修建部分的三维建筑模型,确定进度差别信息,所述进度差别信息为当前修建进度与建筑规划进度的进度差距信息;所述第二同步模块,用于将所述进度差别信息同步至各个终端设备。
25.在另一种可能的实现方式中,所述装置还包括:第十确定模块以及预估模块,其中,所述第十确定模块,用于确定所述建筑进度规划信息;所述预估模块,用于基于所述建筑进度规划信息以及所述三维建筑模型,预估各个时间段分别对应三维建筑模型,任一时间段对应的三维建筑模型为达到所述任一时间段时预估修建完成的三维建筑模型。
26.第三方面,提供了一种计算机设备,包括:至少一个处理器;存储器;至少一个应用程序,其中所述至少一个应用程序被存储在所述存储器中并被配置为由所述至少一个处理器执行,所述至少一个应用程序配置用于:执行根据第一方面所述的一种基于bim的三维图像生成方法。
27.第四方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的一种基于bim的三维图像生成方法。
28.综上,本技术所带来的至少一项效果如下所示:本技术提供了一种基于bim的三维图像生成方法、装置、电子设备及介质,与相关技术相比,本技术中在基于二维建筑平面图生成三维建筑模型时,从历史数据库中获取历史生成三维建筑模型时是否存在与至少两个二维构件的位置关系以及属性均相同的三维构件组合,若存在,可以基于这些三维构件组合来生成三维建筑模型,而不需要在生成三维建筑模型时,基于各个二维构件的属性信息一一查找各自对应的三维构件,并根据各个二维构件的位置关系一一组合各个三维构件,以生成三维建筑模型,从而可以降低生成三维建筑模型的计算量,进而可以提高生成三维建筑模型的速度。
附图说明
29.图1是本技术实施例提供了一种基于bim的三维图像生成方法流程示意图;图2是本技术实施例提供了一种基于bim的三维图像生成装置结构示意图;图3是本技术实施例提供了一种电子设备装置结构示意图。
具体实施方式
30.以下结合附图对本技术作进一步详细说明。
31.本具体实施例仅仅是对本技术的解释,其并不是对本技术的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本技术的权利要求范围内都受到专利法的保护。
32.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
34.下面结合说明书附图对本技术实施例作进一步详细描述。
35.本技术实施例提供一种基于bim的三维图像生成方法,如图1所示,在本技术实施例中提供的基于bim的三维图像生成方法可以由电子设备执行,该电子设备可以为服务器
也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做限制,该方法可以包括:步骤s101、获取二维建筑平面图。
36.对于本技术实施例,建筑平面图,简称平面图,是一种假想在房屋的窗台以上作水平剖切后,移去上面部分后作剩余部分的正投影而得到的水平剖面图。
37.对于本技术实施例,二维建筑平面图的获取方式可以包括从本地存储中获取二维建筑平面图,也可以包括用户输入的二维建筑平面图,还可以包括在bim软件中绘制的二维建筑平面图。
38.步骤s102、识别二维建筑平面图,得到二维建筑平面图中包含的各个二维构件分别对应的属性信息以及各个二维构件之间的位置关系。
39.其中,属性信息包括:构件类型以及构件尺寸中的至少一项。
40.例如,构件类型可以包括:墙、门、窗户等。
41.步骤s103、确定历史数据库中是否存在满足第一预设条件的历史三维组合构件。
42.对于本技术实施例,历史数据库中存储着历史时间段生成的三维建筑模型,也可以存储着历史时间段生成的三维建筑模型中至少两个三维构件的组合。在本技术实施例中,若历史数据库中存储着历史时间段生成的三维建筑模型,则也可以存储各个三维构件分别对应的属性信息以及各个三维构件分别对应的位置关系等。在本技术实施例中,满足第一预设条件的历史三维组合构件包含:至少两个三维构件构成的组合,并且至少两个三维构件之间的位置关系与至少两个二维构件的位置关系相同,并且至少两个三维构件的属性信息与至少两个二维构件的属性信息相同。
43.步骤s104、若存在,则获取满足第一预设条件的历史三维组合构件。
44.具体地,若历史数据库中存储着满足第一预设条件的历史三维组合构件,则从历史数据库中获取满足第一预设条件的历史三维组合构件。
45.步骤s105、基于二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及满足第一预设条件的历史三维组合构件,生成三维建筑模型。
46.具体地,基于满足第一预设条件的历史三维组合构件确定与之对应的二维构件,然后确定除确定出的历史三维组合构件对应的二维构件之外的其他二维构件的属性信息、位置关系,然后基于其他二维构件的属性信息以及位置关系,以及满足第一预设条件的历史三维组合构件,生成三维建筑模型。
47.例如,二维建筑平面图中包含二维构件1、二维构件2、二维构件3以及二维构件4,并且满足第一预设条件的历史三维组合构件为二维构件1与二维构件2对应的三维组合,则根据二维构件3以及二维构件4分别对应的属性信息,二维构件1、二维构件2、二维构件3以及二维构件4之间的位置关系,及二维构件1与二维构件2对应的三维组合,生成三维建筑模型。
48.本技术实施例提供了一种基于bim的三维图像生成方法,与相关技术相比,本技术
实施例中在基于二维建筑平面图生成三维建筑模型时,从历史数据库中获取历史生成三维建筑模型时是否存在与至少两个二维构件的位置关系以及属性均相同的三维构件组合,若存在,可以基于这些三维构件组合来生成三维建筑模型,而不需要在生成三维建筑模型时,基于各个二维构件的属性信息一一查找各自对应的三维构件,并根据各个二维构件的位置关系一一组合各个三维构件,以生成三维建筑模型,从而可以降低生成三维建筑模型的计算量,进而可以提高生成三维建筑模型的速度。
49.具体地,步骤s101中获取二维建筑平面图以及步骤s102中识别二维建筑平面图可以通过本技术实施例实现,也可以通过相关技术实现,在本技术实施例中不做限定。
50.具体地,步骤s103中确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,具体可以包括:基于各个二维构件之间的位置关系以及各个二维构件分别对应的类型信息,从历史数据库中查找是否存在满足第二预设条件的至少一个三维构件组合;若存在,确定满足第二预设条件的每个三维构件组合相对应的各个二维构件的尺寸信息;确定满足第二预设条件的每个三维构件组合中每个三维构件的尺寸信息与各自对应的二维构件的尺寸信息是否相符,以确定历史数据库中是否存在满足第一预设条件的历史三维组合构件。
51.其中,满足第二预设条件的任一三维构件组合为与至少两个二维构件的位置关系相同,并且与至少两个二维构件的类型相同。在本技术实施例中,在确定历史数据库中是否存在满足第一预设条件的历史三维组合构件时,若构件类型和构件之间的位置关系相同,则可以通过调整尺寸即可以得到满足第一预设条件的历史三维组合构件,因此为了节省搜索时间以及尽可能找到符合历史三维组合构件,可以先从历史数据库中查找到符合第二预设条件的至少一个三维构件组合。
52.进一步地,确定满足第二预设条件的每个三维构件组合中每个三维构件的尺寸信息与各自对应的二维构件的尺寸信息是否相符,以确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,之后还可以包括:若三维构件组合中存在与各自对应二维构件的尺寸不相符的三维构件,则确定三维构件组合中的各个三维构件中与对应的二维构件的尺寸不匹配的三维构件;调整尺寸不匹配的三维构件,并将调整尺寸后的三维构件的组合确定为满足第一预设条件的历史三维组合构件。在本技术实施例中,若满足第二预设条件的三维构件组合与对应的二维构件的尺寸不相符,则基于尺寸不相符的二维构件的尺寸确定对应的三维构件的尺寸,并基于确定出的尺寸调整尺寸不匹配的三维构件的尺寸,并将调整尺寸后的满足第二预设条件的历史三维组合构件确定为满足第一预设条件的历史三维构件组合。
53.进一步地,在从历史数据库中查找到满足第二预设条件的三维构件组合之后,若该满足第二预设条件的三维构件组合中各个三维构件和与各自对应的二维构件尺寸相符,则也可以直接将该符合第二预设条件的三维构件组合确定为满足第一预设条件的三维构件组合。
54.例如,基于二维构件1、二维构件2、二维构件3以及二维构件4的类型和构建的位置关系,从历史数据库中确定出和二维构件1以及二维构件2的类型相同且位置关系相符的历史三维组合构件1,包含三维构件1和三维构件2,若三维构件1与二维构件1对应的三维构件的尺寸相同,并且三维构件2与二维构件2对应的三维构件的尺寸相同,则确定历史三维组
合构件为满足第一预设条件的历史三维构件组合;若三维构件1与二维构件1对应的三维构件的尺寸不相同,则将三维构件1按照二维构件1对应的三维构件的尺寸进行调整,以使得调整后的历史三维构件组合为满足第一预设条件的历史三维组合构件。
55.进一步地,若历史数据库中存在满足第一预设条件的历史三维构件组合,则从历史数据库中获取该历史三维构件组合,和/或,获取调整尺寸后的历史三维组合构件。
56.具体地,基于二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及满足第一预设条件的历史三维组合构件,生成三维建筑模型,具体可以包括:步骤s1051(图中未示出)、步骤s1052(图中未示出)、步骤s1053(图中未示出)、步骤s1054(图中未示出)以及步骤s1055(图中未示出),其中,步骤s1051、基于二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系以及满足第一预设条件的历史三维组合构件,生成三维建筑构架模型。
57.步骤s1052、基于三维建筑构架模型,确定各个三维构件之间的位置关系。
58.对于本技术实施例,确定各个三维构件之间的位置关系的方式可以为直接获取在生成三维建筑构架模型时确定出的各个三维构件之间的位置关系,还可以为在得到三维建筑构件模型后确定出的各个三维构件之间的位置关系,在本技术实施例中不做限定。
59.步骤s1053、确定各个三维构件分别对应的贴图信息。
60.对于本技术实施例,贴图信息用于指制作电脑效果图用的材质图片。在本技术实施例可以为材质贴图等,“材质”用来指定物体的表面或数个面的特性,它决定这些平面在着色时的特性,如颜色,光亮程度,自发光度及不透明度等,制定到材质上的图形称为“贴图”。进一步地,各个三维构件分别对应的贴图信息可以为用户输入的,也可以是从二维建筑平面中记载的,当然也可以是基于其他方式获取的。在本技术实施例中,在确定各个三维构件的贴图信息后,若某个三维构件的贴图信息的尺寸与对应的三维构件的尺寸不相符,则调整对应贴图信息的尺寸,以使得尺寸相符。
61.步骤s1054、将各个三维构件分别对应的贴图信息按照各个三维构件之间的位置关系进行组合,得到组合后的贴图信息。
62.步骤s1055、将组合后的贴图信息以及三维建筑架构模型进行组合,得到三维建筑模型。
63.对于本技术实施例,通过将各个三维构件分别对应的贴图信息按照各个三维构件之间的位置关系进行组合后直接与三维建筑架构模型进行组合,不需要对各个三维构件一一进行贴图处理,从而可以提高贴图处理的效率,进而可以提高渲染效率。
64.进一步地,在生成三维建筑模型后,可以将该三维建筑模型存储至历史数据库中,并记录该三维建筑模型中各个三维构件分别对应的属性信息以及各个三维构件之间的位置关系;当然还可以基于各个三维构件分别对应的属性信息以及各个三维构件之间的位置信息,确定某些三维构件组合并未存储在历史数据库中,此时可将这些三维构件组合存储在历史数据库中。
65.例如,历史数据库当前并未存储有三维构件1、三维构件2以及三维构件3所对应的三维构件组合,则将该三维构件组合存储在该历史数据库中,并且在历史数据库中还可以记载三维构件1、三维构件2以及三维构件3分别对应的属性信息以及位置关系。
66.进一步地,在生成三维建筑模型时,可以将生成的三维建筑模型同步至各个终端设备,以使得各个用户均可以获得生成的三维建筑模型,但是用户在查看该三维建筑模型时,可能会调整该三维建筑模型的方向和位置,以观看在不同方向或者不同位置处三维建筑模型的效果。
67.进一步地,该方法还可以包括:步骤sa(图中未示出)、步骤sb(图中未示出)、步骤sc(图中未示出)、步骤sd(图中未示出)以及步骤se(图中未示出),其中,步骤sa、当检测到用户针对三维建筑模型的调整指令时,确定各个三维构件分别对应的光照方向。
68.其中,调整指令包括:模型旋转指令以及位置调整指令中的至少一项。
69.对于本技术实施例,用户可以针对三维建筑模型触发模型旋转指令,以使得三维建筑模型可以根据用户触发的模型旋转指令旋转任意角度,以使得用户可以从各个角度查看该三维建筑模型;用户也可以调整三维建筑模型在屏幕中显示的位置,以模拟三维建筑模型在实际位置中的情况。
70.进一步地,由于通过模型旋转指令以及位置调整指令,模型中各个三维构件所对应的光照方向可能会发生变化,则在基于用户的模型旋转指令和/或位置调整指令后,确定三维建筑模型中各个三维构件分别对应的光照方向信息。
71.步骤sb、基于各个三维构件的类型,确定满足第三预设条件的三维构件。
72.其中,满足第三预设条件的三维构件为具备透光功能的三维构件。
73.步骤sc、确定不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系。
74.具体地,确定不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系,具体可以包括:确定各个满足第三预设条件的三维构件之间的位置关系,以及满足各个不满足第三预设条件的三维构件与各自对应的满足第三预设条件的三维构件之间的位置关系。
75.例如,三维构件1以及三维构件3为具备透光功能的三维构件,三维构件2和三维构件4是不具备透光功能的三维构件,则确定三维构件1和三维构件3之间的位置关系,三维构件2与三维构件1以及三维构件3分别对应的位置关系,三维构件4与三维构件1以及三维构件3分别对应的位置关系。
76.对于本技术实施例,确定各个三维构件分别对应的光照方向的步骤可以在步骤sb-步骤sc之前执行,也可以在步骤sb-步骤sc之后执行,也可以与步骤sb-步骤sc同时执行。
77.步骤sd、基于各个三维构件分别对应的光照方向、满足第三预设条件的三维构件以及不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系,确定各个三维构件的光照信息。
78.对于本技术实施例,光照方向、非透光功能的三维构件与透光功能的三维构件之间的位置关系均会影响各个三维构件的光照信息,因此在得到各个三维构件分别对应的光照方向、满足第三预设条件的三维构件的位置关系,以及不满足第三预设条件的三维构件以及满足第三预设条件的三维构件之间的位置,确定各个三维构件的光照信息可以提高确定出的各个三维构件光照信息的准确度,进而可以进一步地提高用户体验。
79.步骤se、基于各个三维构建的光照信息对三维建筑模型进行渲染。
80.具体地,在得到各个三维构件的光照信息后,基于各个三维构建的光照信息对三维建筑模型进行渲染。
81.具体地,通过渲染引擎把组合后的光影效果等实时计算出来并展示在屏幕上,以实现对位置和角度变换后更为准确地实现对三维建筑模型的渲染。
82.进一步地,在得到三维建筑模型后,后续可能涉及工人进行建筑施工,但是某些人员需要实时了解施工进度,例如,在进行小区建筑的过程中,业主可以实时通过终端设备了解小区修建的进度。
83.为了实现上述方式,基于二维建筑平面图中包含的各个二维构件的属性信息、各个二维构件之间的位置关系,以及满足预设条件的历史三维组合构件,生成三维建筑模型,之后还可以包括:当达到预设时间段时,获取当前施工进展信息,并基于当前施工进展信息从三维建筑模型中,确定当前已修建部分的三维建筑模型;将当前已修建部分的三维建筑模型同步至各个终端设备。
84.对于本技术实施例,预设时间段可以为用户设定的,也可以是系统设定。例如,预设时间段可以为1周、1个月等。
85.对于本技术实施例,当前施工进展信息可以为用户通过文字格式输入的施工进展信息,也可以为用户通过语音格式输入的施工进展信息,还可以为图像、视频等格式的多媒体信息。
86.具体地,获取建筑物的当前施工进展信息,并基于施工进展信息从三维建筑模型中,确定已修建部分的三维建筑模型,具体可以包括:获取当前已修建部分的图像信息;基于当前已修建部分的图像信息确定已修建部分的建筑物信息,基于已修建部分的建筑物信息从三维建筑模型中确定当前已修建部分的三维建筑模型。
87.对于本技术实施例,施工现场可以设置摄像头,也即可以获取摄像头采集的当前已修建部分的图像信息,当然可以为其他用户拍摄后上传的视频信息和/或图像,在获取当前已修建部分的图像信息后,进行图像处理,以确定已修建部分的建筑物信息,并从生成的三维建筑模型中确定当前已修建部分的三维建筑模型。在本技术实施例中,已修建部分的建筑物信息包括:已修建部分所涉及的三维构件类型、三维构件尺寸以及各个三维构件的位置关系。
88.进一步地,在确定当前已修建部分的三维建筑模型后,可以将已修建部分的三维建筑模型同步至给各个终端设备,也可以通过在生成的三维建筑模型中通过特定的标识标识已修建部分,同步至各个终端设备。在本技术实施例中,在将已修建部分同步至各个终端设备时,也可以将已修建部分的详见修建信息形成文本信息同步至各个终端设备。
89.进一步地,在某些情况下,某些人员需要实时了解当前进度和计划进度之间的关系,例如,小区开发商需要实时了解当前小区修建进度和计划进度的差别,为了使得这些人员实时了解当前进度和计划进度之间的关系,在确定当前已修建部分的三维建筑模型之后还可以包括:获取预估三维建筑模型;基于预估三维建筑模型以及当前已修建部分的三维建筑模型,确定进度差别信息;将进度差别信息同步至各个终端设备。
90.具体地,基于预估三维建筑模型以及当前已修建部分的三维建筑模型确定出进度差别信息时,可以在预估三维建筑模型中标识确定出的进度差别信息,或者将进度差别信
息生成对应的文本信息,同步至各个终端设备;当然还可以将标识有进度差别信息的三维建筑模型以及对应的文本信息,同步至各个终端设备。
91.其中,预估三维建筑模型为基于建筑进度规划信息预估得到的在达到当前时间段已修建部分的三维建筑模型,建筑进度规划信息中包含各个时间段分别对应的建筑规划信息;进度差别信息为当前修建进度与建筑规划进度的进度差距信息。
92.进一步地,获取预估三维建筑模型,之前还可以包括:确定建筑进度规划信息;基于建筑进度规划信息以及三维建筑模型,预估各个时间段分别对应三维建筑模型。在本技术实施例中,建筑进度规划信息可以通过文本格式输入,也可以通过图像格式输入。在本技术实施例中不做限定。
93.具体地,当建筑进度规划信息通过文本格式输入时,通过该建筑进度规划信息进行文本识别以及语义识别等,识别出建筑具体进度规划信息,并基于具体进度规划信息,确定出不同的时间段建筑实际完成情况,并基于生成的三维建筑模型中,生成与之对应的三维建筑模型;当建筑进度规划信息通过图像格式输入的,则可以基于输入的图像信息,并结合已生成的三维建筑模型,生成不同段所对应的三维建筑模型。其中,任一时间段对应的三维建筑模型为达到任一时间段时预估修建完成的三维建筑模型。
94.上述实施例从方法流程的角度介绍了一种基于bim的三维图像生成方法,下述实施例从虚拟模块或者结构的角度介绍一种基于bim的三维图像生成装置,具体详见下述实施例。
95.本技术实施例提供了一种基于bim的三维图像生成装置,如图2所示,基于bim的三维图像生成装置20具体可以包括:第一获取模块21、识别模块22、第一确定模块23、第二获取模块24以及生成模块25,其中,第一获取模块21,用于获取二维建筑平面图;识别模块22,用于识别二维建筑平面图,得到二维建筑平面图中包含的各个二维构件分别对应的属性信息以及各个二维构件之间的位置关系,属性信息包括:构件类型以及构件尺寸中的至少一项;第一确定模块23,用于确定历史数据库中是否存在满足第一预设条件的历史三维组合构件,满足第一预设条件的历史三维组合构件包含:至少两个三维构件构成的组合,并且至少两个三维构件之间的位置关系与至少两个二维构件的位置关系相同,并且至少两个三维构件的属性信息与至少两个二维构件的属性信息相同;第二获取模块24,用于当存在满足第一预设条件的历史三维组合构件时,获取满足第一预设条件的历史三维组合构件;生成模块25,用于基于二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及满足第一预设条件的历史三维组合构件,生成三维建筑模型。
96.本技术实施例的另一种可能的实现方式,第一确定模块23在确定历史数据库中是否存在满足第一预设条件的历史三维组合构件时,具体用于:基于各个二维构件之间的位置关系以及各个二维构件分别对应的类型信息,从历史数据库中查找是否存在满足第二预设条件的至少一个三维构件组合,满足第二预设条件的任一三维构件组合为与至少两个二维构件的位置关系相同,并且与至少两个二维构件的
类型相同;当查找到满足第二预设条件的至少一个三维构件组合时,确定满足第二预设条件的每个三维构件组合相对应的各个二维构件的尺寸信息;确定满足第二预设条件的每个三维构件组合中每个三维构件的尺寸信息与各自对应的二维构件的尺寸信息是否相符,以确定历史数据库中是否存在满足第一预设条件的历史三维组合构件。
97.本技术实施例的另一种可能的实现方式,装置20还可以包括:第二确定模块、调整模块以及第三确定模块,其中,第二确定模块,用于当三维构件组合中存在与各自对应二维构件的尺寸不相符的三维构件时,确定三维构件组合中的各个三维构件中与对应的二维构件的尺寸不匹配的三维构件;调整模块,用于调整尺寸不匹配的三维构件;第三确定模块,用于将调整尺寸后的三维构件的组合确定为满足第一预设条件的历史三维组合构件。
98.本技术实施例的另一种可能的实现方式,生成模块25在基于二维建筑平面图中包含的各个二维构件分别对应的属性信息、各个二维构件之间的位置关系,以及满足第一预设条件的历史三维组合构件,生成三维建筑模型时,具体用于:基于二维建筑平面图中包含的各个二维构件分别对应的属性信息,各个二维构件之间的位置关系以及满足第一预设条件的历史三维组合构件,生成三维建筑构架模型;基于三维建筑构架模型,确定各个三维构件之间的位置关系;确定各个三维构件分别对应的贴图信息;将各个三维构件分别对应的贴图信息按照各个三维构件之间的位置关系进行组合,得到组合后的贴图信息;将组合后的贴图信息以及三维建筑架构模型进行组合,得到三维建筑模型。
99.本技术实施例的另一种可能的实现方式,装置20还可以包括:第四确定模块、第五确定模块、第六确定模块、第七确定模块以及渲染模块,其中,第四确定模块,用于当检测到用户针对三维建筑模型的调整指令时,确定各个三维构件分别对应的光照方向,调整指令包括:模型旋转指令以及位置调整指令中的至少一项;第五确定模块,用于基于各个三维构件的类型,确定满足第三预设条件的三维构件,满足第三预设条件的三维构件为具备透光功能的三维构件;第六确定模块,用于确定不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系;第七确定模块,用于基于各个三维构件分别对应的光照方向、满足第三预设条件的三维构件以及不满足第三预设条件的三维构件和满足第三预设条件的三维构件的位置关系,确定各个三维构件的光照信息;渲染模块,用于基于各个三维构建的光照信息对三维建筑模型进行渲染。
100.本技术实施例的另一种可能的实现方式,装置20还可以包括:第三获取模块、第八确定模块以及第一同步模块,其中,
第三获取模块,用于当达到预设时间段时,获取当前施工进展信息;第八确定模块,用于基于当前施工进展信息从三维建筑模型中,确定当前已修建部分的三维建筑模型;第一同步模块,用于将当前已修建部分的三维建筑模型同步至各个终端设备。
101.本技术实施例的另一种可能的实现方式,第三获取模块在获取建筑物的当前施工进展信息时,具体用于:获取当前已修建部分的图像信息;第八确定模块在基于施工进展信息从三维建筑模型中,确定已修建部分的三维建筑模型时,具体用于:基于当前已修建部分的图像信息确定已修建部分的建筑物信息,基于已修建部分的建筑物信息从三维建筑模型中确定当前已修建部分的三维建筑模型。
102.其中,已修建部分的建筑物信息包括:已修建部分所涉及的三维构件类型、三维构件尺寸以及各个三维构件的位置关系。
103.本技术实施例的另一种可能的实现方式,装置20还可以包括:第四获取模块、第九确定模块以及第二同步模块,其中,第四获取模块,用于获取预估三维建筑模型,预估三维建筑模型为基于建筑进度规划信息预估得到的在达到当前时间段已修建部分的三维建筑模型,建筑进度规划信息中包含各个时间段分别对应的建筑规划信息;第九确定模块,用于基于预估三维建筑模型以及当前已修建部分的三维建筑模型,确定进度差别信息,进度差别信息为当前修建进度与建筑规划进度的进度差距信息;第二同步模块,用于将进度差别信息同步至各个终端设备。
104.本技术实施例的另一种可能的实现方式,装置20还可以包括:第十确定模块以及预估模块,其中,第十确定模块,用于确定建筑进度规划信息;预估模块,用于基于建筑进度规划信息以及三维建筑模型,预估各个时间段分别对应三维建筑模型,任一时间段对应的三维建筑模型为达到任一时间段时预估修建完成的三维建筑模型。
105.需要说明的是:第一获取模块21、第二获取模块24、第三获取模块以及第四获取模块可以为同一获取模块,也可以均为不同的获取模块,也可以部分为相同的获取模块;第一同步模块以及第二同步模块可以为同一同步模块,也可以为不同的同步模块;第一确定模块23、第二确定模块、第三确定模块、第四确定模块、第五确定模块、第六确定模块、第七确定模块、第八确定模块、第九确定模块以及第十确定模块可以为同一确定模块,也可以为不同的确定模块,也可以部分为相同的确定模块,在本技术实施例中不做限定。
106.本技术实施例提供了一种基于bim的三维图像生成装置,与相关技术相比,本技术实施例中在基于二维建筑平面图生成三维建筑模型时,从历史数据库中获取历史生成三维建筑模型时是否存在与至少两个二维构件的位置关系以及属性均相同的三维构件组合,若存在,可以基于这些三维构件组合来生成三维建筑模型,而不需要在生成三维建筑模型时,基于各个二维构件的属性信息一一查找各自对应的三维构件,并根据各个二维构件的位置关系一一组合各个三维构件,以生成三维建筑模型,从而可以降低生成三维建筑模型的计算量,进而可以提高生成三维建筑模型的速度。
107.本技术实施例提供的一种基于bim的三维图像生成方法适用于上述方法实施例,在此不再赘述。
108.本技术实施例中提供了一种电子设备,如图3所示,图3所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本技术实施例的限定。
109.处理器301可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
110.总线302可包括一通路,在上述组件之间传送信息。总线302可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
111.存储器303可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
112.存储器303用于存储执行本技术方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
113.其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
114.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,本技术实施例中在基于二维建筑平面图生成三维建筑模型时,从历史数据库中获取历史生成三维建筑模型时是否存在与至少两个二维构件的位置关系以及属性均相同的三维构件组合,若存在,可以基于这些三维构件组合来生成三维建筑模型,而不需要在生成三维建筑模型时,基于各个二维构件的属性信息一一查找各自对应的三维构件,并
根据各个二维构件的位置关系一一组合各个三维构件,以生成三维建筑模型,从而可以降低生成三维建筑模型的计算量,进而可以提高生成三维建筑模型的速度。
115.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
116.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。