BIM动态渲染方法及其系统与流程
未命名
08-18
阅读:175
评论:0
bim动态渲染方法及其系统
技术领域
1.本发明涉及bim动态渲染方法及其系统,属于一种高效渲染方法及系统。
背景技术:
2.单个bim模型内构件数量少则几万多则达百万个,现有的技术方案无法渲染这么大的数据,勉强渲染也只有个位数的帧率.而且因为数据太大初次加载数据也非常缓慢。因此如何提高渲染的效果属于该领域一直需要面临的问题。现有技术是在建模初期分地理区域进行分块扫描,减少构建个数,然后各自采用渲染再拼合的方法。但是这个方法缺点也很突出,无法选择性地进行构建的渲染,无法整体上对多个相同性质的构建,比如屋顶等进行整体上选择性渲染。而且分块扫描成本高,耗时也不能明显缩短。困扰了行业多年。并且拼接图片也需要适当的算法。这都是需要进行图像计算计入耗时。
技术实现要素:
3.为了解决上述问题本发明采用一种bim动态渲染方法及系统,是以模型内的构件作为最小渲染单元,动态筛选合并多个构件,一个批次提交给显卡进行渲染,从而解决数据太大渲染性能低的问题。
4.鉴于上述设想,本发明提供一种bim动态渲染方法,包括如下步骤:
5.s1数据库的建立;
6.s2读取rvt文件,把数据存储到数据库内,其中,读取程序是基于sdk提供的一个插件,能够识别出文件中的数据并存入s1建立的数据库中;
7.s3数据发布服务,用于给渲染引擎提供数据支持,按需给渲染引擎提供指定实例及几何内容,并且具体提供以下接口:空间索引,用于提供空间树信息,用于获取模型的实例所在空间的位置;实例信息,用于提供实例信息查询,用于查询空间内的实例,三角网几何,用于提供三角面几何数据,用于实际渲染;s4基于s3发布的所述数据进行调度渲染。
8.进一步地,s1中所述数据库的结构包括:mesh表,用于存储顶点和顶点索引信息,以将被渲染空间中的构建形成的三角网;instances表,用于存储实例矩阵信息,component表,用于存储构件信息,空间树信息表或者同质图,用于存储实例所在空间的信息。
9.其中,所述mesh表内的数据构成完整的三角网几何信息,所述实例矩阵信息包含了几何位置矩阵和包围盒信息,并且每条数据关联mesh表的一条数据,形成一个完整几何实例,所述存储构件信息中表示的一个构件会包含至少一个几何实例,包括构件的属性信息,以及构件所包括的几何实例。
10.进一步地,所述同质图以所述mesh表中的构件的顶点为节点,节点之间的三角网边作为同质图的边,表示构建之间的空间位置关系,具体地,地理区域每一处构件的mesh表中找到三角网的顶点作为节点,以同一间房间或街道上的(例如道路材料、车、公共设施、树木、路灯)构件作为最近邻节点,而不同房间或街道上的构件作为次近邻节点,以同一楼层的其他户或同一区域内其他街道的所述节点作为三级次近邻节点,以不同的楼层或不同的
区域内其他街道的所述节点作为四级次近邻节点,以不同楼栋或不同的城镇街道的所述节点作为五级次近邻节点,以不同小区或不同的省份的所述节点作为六级次近邻节点,通过构件的不同级节点之间的连接形成同质图。
11.所述构件包括建筑构件、家具构件、生活用品办公用品构件,所述生活用品包括但不仅限于家电、厨卫器具,所述办公用品包括但不仅限于办公桌椅,台式计算机,笔记本电脑,智能手机。
12.例如家居构件,就会在城市中每一处室内家居构件的mesh表中找到三角网的顶点作为节点,以同一间房间的家具作为最近邻节点,而不同房间的家具作为次近邻节点,以同一楼层的其他户的所述节点作为三级次近邻节点,以不同的楼层的所述节点作为四级次近邻节点,以不同楼栋的所述节点作为五级次近邻节点,以不同小区的所述节点作为六级次近邻节点。通过家具构建的不同级节点之间的连接形成同质图。而建筑构件,比如窗、门、墙体同一类构建也能够如上述方法进行构成一种同质图。
13.s4中的调度渲染包括如下步骤:
14.s4-1从数据服务中获取到模型的空间信息,初始化到世界场景内,用于后续的空间搜索,所述世界场景包括使用遥感影像、lidar点云、遥感红外、倾斜摄影中至少一者形成的3d模型,其数据结构对于空间树信息表是一个大的二叉树,对于同质图来说属于一个不同构件的同质子图的集合,其中,
15.通过视锥判断二叉树的各个节点是否与视锥相交,把与视锥相交的二叉树空间检索出来,请求与视锥相交空间内的几何实例信息和几何数据,
16.通过同质图中选择的构件节点对应的component表中的属性信息,以及instances表中的几何实例,关联到三角网中所有的顶点以及空间位置信息。
17.比如选择构建书家具或办公用品构件中的扶手凳子节点,对应找到component表中的属性信息为扶手凳子,从而找到所有模型中的集合实例,并关联到三角网中所有扶手凳中的顶点以及空间位置信息。
18.优选地,选择所需要检索的构建节点所在模型中的分布区域,进行选择性的组织空间检索,获取相应选择的分布区域内所有选择的构件节点组成的同质子图。
19.更优选地,制定所需要检索的构件节点的选择程序,按照预设的选择程序依次对不同构件进行渲染。s4-2申请初始化显存,通过贴图方式传递给显卡传递大批数据,先申请预定张数贴图,将三角网几何信息,实例矩阵,uv,材质,存入其中;
20.s4-3筛选视野内的构件,包括基于视锥筛选出请求与视锥相交空间内的实例信息和几何信息,进一步通过对实例按照投影面积排序,算出来投影面积较大的实例,将这些实例提交给显卡进行渲染,并且移动视角后重新上述步骤就实现了动态渲染超大bim模型的能力,或根据所选择的节点分布区域中所选节点对应的实例提交给显卡进行渲染;
21.s4-4渲染几何信息,修复渲染代码将贴图内的信息读取出来渲染。
22.优选地,若将视锥移动,则移动后的视锥中不存在移动前的视锥中的顶点或节点所对应的构件渲染结果予以删除,以更新显存。
23.本发明的另一个目的是提供一种实现bim动态渲染方法的系统,包括数据库服务器,数据发布服务器,调度渲染服务器,根据用户所申请的服务器类型,而数据库服务器进行相应的数据库构建、数据存储、维护、更新、调用的服务,数据发布服务器提供相应的3d模
型、空间索引、实例信息、三角网几何数据的发布服务,调度渲染服务器提供设定视锥或同质图的服务,以进行组织空间搜索、申请初始化显存、筛选视野内的构件、渲染几何信息,更新显存,以及渲染几何信息的服务。
24.本发明第三个目的是提供一种计算机可读非暂时性存储介质,其中存储有可由所述bim动态渲染系统运行而实现bim动态渲染方法的计算机可读程序。
25.有益效果
26.本发明的bim动态渲染方法及系统利用空间树或同质图构建构件的数据组织形式,从而达到动态选择需要渲染的构建,例如设置可移动的视锥内的动态渲染,以及根据所选择的不同构件而选择性动态渲染。提高了渲染效率,减轻了显卡和服务器的载荷。
27.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
28.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
29.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
30.图1三个小区中定点视点下转动视锥形成的空间检索范围,其中显示出了各小区和小区内部部分三角网络基础上构建的同质子图,
31.图2为图1中一栋筒子楼的正视图结构示意,其中显示了西边户型图,给出了各房间和各户以及各楼层的部分同质子图,
32.图3为图2中西边户的家具和建筑构件的节点设置以及同质子图,
33.图4本发明实施例2的bim动态渲染方法系统组成示意图。
具体实施方式
34.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
35.实施例1
36.如图1所示三个小区,各有示例性表述的3栋筒子楼的俯视示意图,其中在三个小区之间设定了一个渲染视点,并且设定一个具有一定立体角的视锥,能够覆盖任一小区的所有所示的3栋建筑中所有节点。如图1所示当视锥按照方向转动时候,则转换到另一个小区。则之前渲染的小区的3栋筒子楼的渲染结果全部删除,转为对转动之后另一个小区的建筑3栋筒子楼的动态渲染。
37.其中动态渲染的方法如下:
38.s1数据库的建立,包括:mesh表,用于存储顶点和顶点索引信息,以将被渲染空间
中的构建形成的三角网;instances表,用于存储实例矩阵信息,component表,用于存储构件信息,空间树信息表或者同质图,用于存储实例所在空间的信息。其中,所述mesh表内的数据构成完整的三角网几何信息,所述实例矩阵信息包含了几何位置矩阵和包围盒信息,并且每条数据关联mesh表的一条数据,形成一个完整几何实例,所述存储构件信息中表示的一个构件会包含至少一个几何实例,包括构件的属性信息,以及构件所包括的几何实例。
39.如图2所示,其中一栋筒子楼的正视图结构示意,底层为共享公共空间,在其之上示例性显示出了三层楼,每一楼层包括了西边户、中间户,以及东边户,其中还给出了西边户的户型结构,包括小房间a,含内卫(图未示出)大套间b,餐厅c,厨房d,三个阳台e1-e3,干湿分离公共卫生间f,以及客厅g。
40.图3给出了其中小房间中家具构件和建筑构件的同质图节点,其中包括椅1、椅2、床、玻璃幕墙、平开窗、衣柜、固定隔窗、门洞、桌,打乱属性分类顺序的节点编号。即便如此。仍然能够通过异质图方式,将坐卧类型及其附属家具椅1、椅2、床、桌(属于附属家具)中选择的构建几何顶点(实际运用时选择的实质上可以是构件对应包围盒几何中的一个选定的点作为顶点)作为节点1,2,3,9,形成三角网中的构建顶点,并含有索引信息。将两者编入instances表,与其中的位置信息、包围盒信息一起形成4条几何实例,形成各节点相互连接的三角网,并且通过同质图的概念建立了椅1、椅2、床、桌为节点的同质图子图。同理对于玻璃幕墙、平开窗、固定隔窗、门洞的建筑构件的节点4、5、7、8也构成同质子图,从而两张同质子图集合形成小房间a的同质图,其中确定了节点到节点边的信息,包括边两端的节点位置信息,以及每个节点所在的构件在component表中存储的属性信息。
41.同理回到图2,对于大套件b中的家具构件节点10、餐厅中的两把餐椅节点11和12,形成基于三个空间的三角网构建的同质子图。对于同一层楼的中间户节点13、东边户节点14,15,楼下西边户、中间户、东边户的节点16-18,示例性给出的基于家具构件各节点的部分三角网构建的同质子图。以及回到图1给出了基于各小区内的三角网构建的同质子图,以及三个小区之间的部分同质图。依次形成了与小房间a为视角点的各级邻近节点。
42.s2读取rvt文件,把数据存储到数据库内,其中,读取程序是基于sdk提供的一个插件,能够识别出文件中的数据并存入s1建立的数据库中;
43.s3数据发布服务,用于给渲染引擎提供数据支持,按需给渲染引擎提供指定实例及几何内容,并且具体提供以下接口:空间索引,用于提供空间树信息,用于获取模型的实例所在空间的位置;实例信息,用于提供实例信息查询,用于查询空间内的实例,三角网几何,用于提供三角面几何数据,用于实际渲染;s4基于s3发布的所述数据进行调度渲染,包括如下步骤:
44.s4-1从数据服务中获取到模型的空间信息,初始化到世界场景内,用于后续的空间搜索,所述世界场景包括使用遥感影像、lidar点云、遥感红外、倾斜摄影形成的3d模型,其数据结构对于空间树信息表是一个大的二叉树,对于同质图来说属于一个不同构件的同质子图的集合,其中,
45.如图1所示,通过视锥判断二叉树的各个节点是否与视锥相交,把与视锥相交的二叉树空间检索出来,请求与视锥相交空间内的几何实例信息和几何数据。如上述的相交的每个小区的3栋筒子楼对应的歌节点即是空间检索的结果。
46.此时,制定所需要检索的构件节点的选择程序,按照预设的选择程序依次对不同
构件进行渲染。例如按照如图2和图3的顺序将三个小区的筒子楼、一个小区3栋筒子楼、楼下各户、本楼层、西边户、小房间a,这些建筑空间中的家具构件进行依次渲染。进行下一个次序渲染时,上一个次序渲染的节点对应的构件渲染结果被删除。
47.接下来,s4-2申请初始化显存,通过贴图方式传递给显卡传递大批数据,先申请预定张数贴图,将三角网几何信息,实例矩阵,uv,材质,存入其中;
48.s4-3筛选视野内的构件,包括基于视锥筛选出请求与视锥相交空间内的实例信息和几何信息,进一步通过对实例按照投影面积排序,算出来投影面积较大的实例,将这些实例提交给显卡进行渲染,并且移动视角后重新上述步骤就实现了动态渲染超大bim模型的能力,或根据所选择的节点分布区域中所选节点对应的实例提交给显卡进行渲染;
49.s4-4渲染几何信息,修复渲染代码将贴图内的信息读取出来渲染。
50.实施例2
51.如图4所示,实现实施例1的bim动态渲染方法的系统,包括数据库服务器,数据发布服务器,调度渲染服务器,根据用户所申请的服务器类型,而数据库服务器进行相应的数据库构建、数据存储、维护、更新、调用的服务,数据发布服务器提供相应的3d模型、空间索引、实例信息、三角网几何数据的发布服务,调度渲染服务器提供设定视锥或同质图的服务,以进行组织空间搜索、申请初始化显存、筛选视野内的构件、渲染几何信息,更新显存,以及渲染几何信息的服务。
52.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
技术特征:
1.一种bim动态渲染方法,其特征在于,包括如下步骤:s1数据库的建立;s2读取rvt文件,把数据存储到数据库内,其中,读取程序是基于sdk提供的一个插件,能够识别出文件中的数据并存入s1建立的数据库中;s3数据发布服务,用于给渲染引擎提供数据支持,按需给渲染引擎提供指定实例及几何内容,并且具体提供以下接口:空间索引,用于提供空间树信息,用于获取模型的实例所在空间的位置;实例信息,用于提供实例信息查询,用于查询空间内的实例,三角网几何,用于提供三角面几何数据,用于实际渲染;s4基于s3发布的所述数据进行调度渲染。2.根据权利要求1所述的方法,其特征在于,s1中所述数据库的结构包括:mesh表,用于存储顶点和顶点索引信息,以将被渲染空间中的构建形成的三角网;instances表,用于存储实例矩阵信息,component表,用于存储构件信息,空间树信息表或者同质图,用于存储实例所在空间的信息;其中,所述mesh表内的数据构成完整的三角网几何信息,所述实例矩阵信息包含了几何位置矩阵和包围盒信息,并且每条数据关联mesh表的一条数据,形成一个完整几何实例,所述存储构件信息中表示的一个构件会包含至少一个几何实例,包括构件的属性信息,以及构件所包括的几何实例。3.根据权利要求2所述的方法,其特征在于,所述同质图以所述mesh表中的构件的顶点为节点,节点之间的三角网边作为同质图的边,表示构建之间的空间位置关系,具体地,地理区域每一处构件的mesh表中找到三角网的顶点作为节点,以同一间房间或街道上的构件作为最近邻节点,而不同房间或街道上的构件作为次近邻节点,以同一楼层的其他户或同一区域内其他街道的所述节点作为三级次近邻节点,以不同的楼层或不同的区域内其他街道的所述节点作为四级次近邻节点,以不同楼栋或不同的城镇街道的所述节点作为五级次近邻节点,以不同小区或不同的省份的所述节点作为六级次近邻节点,通过构件的不同级节点之间的连接形成同质图。4.根据权利要求2或3所述的方法,其特征在于,s4中的调度渲染包括如下步骤:s4-1从数据服务中获取到模型的空间信息,初始化到世界场景内,用于后续的空间搜索,所述世界场景包括使用遥感影像、lidar点云、遥感红外、倾斜摄影中至少一者形成的3d模型,其数据结构对于空间树信息表是一个大的二叉树,对于同质图来说属于一个不同构件的同质子图的集合,其中,通过视锥判断二叉树的各个节点是否与视锥相交,把与视锥相交的二叉树空间检索出来,请求与视锥相交空间内的几何实例信息和几何数据,通过同质图中选择的构件节点对应的component表中的属性信息,以及instances表中的几何实例,关联到三角网中所有的顶点以及空间位置信息;s4-2申请初始化显存,通过贴图方式传递给显卡传递大批数据,先申请预定张数贴图,将三角网几何信息,实例矩阵,uv,材质,存入其中;s4-3筛选视野内的构件,包括基于视锥筛选出请求与视锥相交空间内的实例信息和几何信息,进一步通过对实例按照投影面积排序,算出来投影面积较大的实例,将这些实例提交给显卡进行渲染,并且移动视角后重新上述步骤就实现了动态渲染超大bim模型的能力,
或根据所选择的节点分布区域中所选节点对应的实例提交给显卡进行渲染;s4-4渲染几何信息,修复渲染代码将贴图内的信息读取出来渲染。5.根据权利要求4所述的方法,其特征在于,选择所需要检索的构建节点所在模型中的分布区域,进行选择性的组织空间检索,获取相应选择的分布区域内所有选择的构件节点组成的同质子图。6.根据权利要求5所述的方法,其特征在于,制定所需要检索的构件节点的选择程序,按照预设的选择程序依次对不同构件进行渲染。7.根据权利要求5或6所述的方法,其特征在于,若将视锥移动,则移动后的视锥中不存在移动前的视锥中的顶点或节点所对应的构件渲染结果予以删除,以更新显存。8.一种实现如权利要求1-7中任一项所述bim动态渲染方法的系统,包括数据库服务器,数据发布服务器,调度渲染服务器,根据用户所申请的服务器类型,而数据库服务器进行相应的数据库构建、数据存储、维护、更新、调用的服务,数据发布服务器提供相应的3d模型、空间索引、实例信息、三角网几何数据的发布服务,调度渲染服务器提供设定视锥或同质图的服务,以进行组织空间搜索、申请初始化显存、筛选视野内的构件、渲染几何信息,更新显存,以及渲染几何信息的服务。9.根据权利要求1所述的方法,其特征在于,一种计算机可读非暂时性存储介质,其中存储有可由入权利要求8所述的bim动态渲染系统运行而实现入权利要求1-7中任一项所述bim动态渲染方法的计算机可读程序。
技术总结
本发明涉及一种BIM动态渲染方法及系统,该方法包括如下步骤:S1数据库的建立;S2读取rvt文件,把数据存储到数据库内,其中,读取程序是基于sdk提供的一个插件,能够识别出文件中的数据并存入S1建立的数据库中;S3数据发布服务,用于给渲染引擎提供数据支持,按需给渲染引擎提供指定实例及几何内容,并且具体提供以下接口:空间索引,用于提供空间树信息,用于获取模型的实例所在空间的位置;实例信息,用于提供实例信息查询,用于查询空间内的实例,三角网几何,用于提供三角面几何数据,用于实际渲染;S4基于S3发布的所述数据进行调度渲染。本发明的BIM动态渲染方法及系统提高了渲染效率,减轻了显卡和服务器的载荷。减轻了显卡和服务器的载荷。减轻了显卡和服务器的载荷。
技术研发人员:刘俊伟 丰红博
受保护的技术使用者:泰瑞数创科技(北京)股份有限公司
技术研发日:2023.05.16
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
