System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及ar应用,尤其涉及一种基于bentley软件建模的ar应用方法与系统。
技术介绍
1、近年来,随着基础设施领域的数字化需求不断演进,bentley作为bim(buildinginformation modeling)核心建模软件供应商承担了重要的角色,其产品广泛应用于道路、桥梁、铁路、水务、电力等基础设施的设计、建造和运营。然而,dgn作为bentley软件特有的输出格式,无法直接被ar应用所读取并加载,造成了数据孤岛问题。
2、现有技术中处理上述问题主要分为三种,第一种是对bentley软件进行二次开发来实现数据转换,这种方式一方面需要bentley软件的授权,另一方面需要跟随bentley软件版本更新而持续迭代,投入成本较高;第二种是通过bentley软件的导出功能将模型转换为通用模型格式,一般为ifc,再解析ifc来获取模型数据,但这种方式下存在贴图丢失问题;第三种是采购第三方sdk直接对dgn格式做解析,这种方式成本较高。
技术实现思路
1、为了解决上述问题,本专利技术提出了一种基于bentley软件建模的ar应用方法与系统,以一种低成本且无损的方式解决bentley模型数据的传递问题,从而实现在ar应用内的加载和展示。本专利技术具体提供如下技术方案:
2、一种基于bentley软件建模的ar应用方法,该方法包括以下步骤:
3、步骤1:打开bentley view应用程序,使用所述bentley view打开dgn文件,将所
4、步骤2:利用imodel.js构建模型解析程序,以node.js作为开发环境,typescript为开发语言,通过npm安装imodel.js的方法库;
5、所述解析的过程具体包括如下步骤:
6、步骤2.1:通过snapshotdb类的openfile函数获取模型数据库的快照;
7、步骤2.2:通过所述步骤2.1中所述快照中的withpreparedstatement函数遍历所述模型数据库中的所有物理对象;
8、步骤2.3:通过所述步骤2.1中所述快照中exportgraphics函数获取所述物理对象的几何和材质信息,其中每个所述物理对象包含一个或多个exportgraphicsinfo,每个所述exportgraphicsinfo中包含一个网格的几何信息和材质信息,其中所述几何信息包括顶点、法线、索引列表、纹理坐标信息;所述材质信息包含颜色、贴图以及渲染方式信息;
9、步骤2.4:通过所述步骤2.1中所述快照中elements属性的getaspects函数获取物理对象的属性信息,其中每个所述物理对象包含一个或多个elementaspect,每个所述elementaspect代表一个属性集合,通过foreachproperty遍历每个属性,从而获取完整的属性信息;
10、步骤3:将所述解析的结果输出为gltf文件,并在ar应用中加载。
11、可选地,所述gltf文件的格式定义中包含九个核心部分,所述核心部分具体包括scene、node、mesh、accessor、buffer view、buffer、material、texture、image。
12、可选地,所述核心部分间的相互关系具体包括:
13、所述步骤2.2中所述的物理对象对应所述gltf文件中的所述node;
14、所述步骤2.3中所述的网格对应所述gltf文件中的所述mesh,所述网格的所述几何信息以二进制的形式存储于所述gltf文件的所述buffer中,并通过所述buffer view和所述accessor实现精确匹配,而所述网格的所述材质信息的对象对应所述gltf文件中的所述material,材质中的贴图信息对应所述gltf文件中的所述texture,图像数据同样以二进制的形式存储于所述gltf文件的所述buffer中,并在所述gltf文件的所述image中实现关联。
15、可选地,在所述步骤2.2中,使用ecsql语句遍历所述模型数据库中的物理对象,所述ecsql语句为select ecinstanceid from bis.spatialindex。
16、可选地,所述ar应用还支持obj、fbx格式文件输出。
17、可选地,所述ar应用的加载过程包括以下步骤:
18、步骤4.1:在所述ar应用中初始化gltf加载器,配置加载器的参数以支持异步加载;
19、步骤4.2:调用所述加载器的load函数,传入所述gltf文件的路径,开始加载模型数据;
20、步骤4.3:在加载完成后,使用ar框架将模型渲染到现实世界中,具体包括设置模型的位置、旋转和缩放;所述ar框架为arcore。
21、可选地,所述ar应用支持实时交互,具体包括以下步骤:
22、步骤5.1:在所述ar应用中设置触摸事件监听器,检测用户的触摸操作;
23、步骤5.2:根据所述用户的触摸位置,统计与ar场景中模型的交互,所述交互具体包括选中、拖动、缩放操作;
24、步骤5.3:在模型上应用用户的交互操作,并实时更新模型的状态;
25、所述更新模型还包括对所述模型数据的版本控制,具体包括:
26、步骤5.3.1:在每次模型数据更新时,生成新的版本号,并记录更新日志;
27、步骤5.3.2:提供用户界面以便用户查看和选择不同版本的模型数据;
28、步骤5.3.3:在所述ar应用中加载选定版本的gltf文件进行展示。
29、可选地,所述步骤3还包括对所述ar应用的性能进行优化,具体包括以下步骤:
30、步骤6.1:在模型加载过程中,使用lod技术,根据用户的视角和距离动态调整模型的细节级别;
31、步骤6.2:实现模型的剔除机制,避免渲染用户视野之外的模型部分,以提高渲染效率;
32、步骤6.3:使用gpu加速技术,使用instancing技术减少绘制调用次数来优化模型的渲染过程。
33、可选地,所述方法应用于道路、桥梁、电力基础设施的设计和建造场景。
34、本专利技术还提供一种基于bentley软件建模的ar应用系统,所述系统包括:
35、bentley view模块,用于打开dgn文件并将其发布为imodel文件;
36、模型解析模块,基于imodel.js构建,采用node.js作为开发环境,typescript作为开发语言,通过npm安装imodel.js的方法库,该模块包括:
37、快照获取单元,通过snapshotdb类的openfile函数获取模型数据库的快照;
38、物理对象遍历单元,通过所述快照中的withpreparedstatement函数遍历模型数本文档来自技高网...
【技术保护点】
1.一种基于Bentley软件建模的AR应用方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述GLTF文件的格式定义中包含九个核心部分,所述核心部分具体包括scene、node、mesh、accessor、buffer view、buffer、material、texture、image。
3.根据权利要求2所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述核心部分间的相互关系具体包括:
4.根据权利要求1所述的一种基于Bentley软件建模的AR应用方法,其特征在于,在所述步骤2.2中,使用ECSQL语句遍历所述模型数据库中的物理对象,所述ECSQL语句为SELECTECInstanceId FROM bis.SpatialIndex。
5.根据权利要求1所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述AR应用还支持OBJ、FBX格式文件输出。
6.根据权利要求1所述的一种基于Bentley软件建模的AR应
7.根据权利要求6所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述AR应用支持实时交互,具体包括以下步骤:
8.根据权利要求1所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述步骤3还包括对所述AR应用的性能进行优化,具体包括以下步骤:
9.根据权利要求1所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述方法应用于道路、桥梁、电力基础设施的设计和建造场景。
10.一种基于Bentley软件建模的AR应用系统,用于实现权利要求1-9中任一项所述的一种基于Bentley软件建模的AR应用方法,其特征在于,所述系统包括:
...【技术特征摘要】
1.一种基于bentley软件建模的ar应用方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的一种基于bentley软件建模的ar应用方法,其特征在于,所述gltf文件的格式定义中包含九个核心部分,所述核心部分具体包括scene、node、mesh、accessor、buffer view、buffer、material、texture、image。
3.根据权利要求2所述的一种基于bentley软件建模的ar应用方法,其特征在于,所述核心部分间的相互关系具体包括:
4.根据权利要求1所述的一种基于bentley软件建模的ar应用方法,其特征在于,在所述步骤2.2中,使用ecsql语句遍历所述模型数据库中的物理对象,所述ecsql语句为selectecinstanceid from bis.spatialindex。
5.根据权利要求1所述的一种基于bentley软...
【专利技术属性】
技术研发人员:罗锋,曹炳勇,刘超,蒋童,
申请(专利权)人:以见科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。