浏览器固定视角快速加载单一建筑三维模型的方法技术

技术编号:39809356 阅读:12 留言:0更新日期:2023-12-22 02:44
本发明专利技术涉及计算机技术领域,具体为浏览器固定视角快速加载单一建筑三维模型的方法,包括以下步骤:将

【技术实现步骤摘要】
浏览器固定视角快速加载单一建筑三维模型的方法


[0001]本专利技术涉及计算机
,具体为浏览器固定视角快速加载单一建筑三维模型的方法


技术介绍

[0002]随着互联网的发展,浏览器作为一个传统并且大家广为熟知的一个应用程序,在目前应用很普遍,浏览器本身作为一个应用程序,当浏览器尝试一次性加载大型模型时,用户体验通常会受到一系列问题的影响

[0003]由于大部分常规建筑模型的体积较大,导致一次性加载可能会占用大量系统资源,导致浏览器运行缓慢

卡顿甚至崩溃

这些问题使得用户无法流畅地与模型进行交互,影响体验和操作效率

鉴于此,我们提出浏览器固定视角快速加载单一建筑三维模型的方法


技术实现思路

[0004]本专利技术的目的在于提供浏览器固定视角快速加载单一建筑三维模型的方法,以解决上述
技术介绍
中提出的问题

[0005]为实现上述目的,本专利技术提供如下技术方案:
[0006]浏览器固定视角快速加载单一建筑三维模型的方法,包括以下方法:
[0007]将所述
Autodesk Revit 2019
设计的建筑模型文件导入到自研引擎轻量化转换程序中,需要获取模型有关的重要文件,此程序是由
C#
编写,主要是调用
Autodesk Revit 2019SDK

[0008]第一个是此模型对应的配置文件,配置文件中包含模型中心点信息,模型最高点信息,楼层视图中心点以及楼层和构件
ID
集的对应关系,这四种信息对于浏览器加载三维模型有重要作用,下面是信息提取方法:
[0009]模型中心点信息和最高点信息提取方法:
[0010]通过
SDK
获取
Revit
文件中对应三维视图的矩形包围盒,获取矩形包围盒的八个顶点坐标值信息,计算出边界框的最小和最大坐标,然后取两者之间的中点作为模型的中心点,并根据矩形包围盒顶面,取面的中心点作为模型的最高点;
[0011]楼层视图中心点和楼层及构件
ID
集的对应关系:
[0012]通过
SDK
获取
Revit
文件中所有的楼层视图,获取每个楼层视图的矩形包围盒以及对应的八个顶点坐标值信息,计算出边界框的最小和最大坐标,然后取两者之间的中点作为每个楼层视图的中心点,并获取模型标高将楼层视图排列,继续调用构件筛选器,将每一个楼层视图对应的构件信息筛选出来,并做成一对多的绑定关系;
[0013]第二个是导出多个三维
OBJ
模型文件集和一个材质
MTL
文件以及一个以
textures
命名的包含所有模型的中用到的贴图的文件夹,通过
SDK
中的自定义导出模型或图形数据的上下文,通过此上下文实现接口并在导出过程中获取所有导出元素和几何信息的回调通
2019SDK

[0027]第一个是此模型对应的配置文件,配置文件中包含模型中心点信息,模型最高点信息,楼层视图中心点以及楼层和构件
ID
集的对应关系,这四种信息对于浏览器加载三维模型有重要作用,下面是信息提取方法:
[0028]模型中心点信息和最高点信息提取方法:
[0029]通过
SDK
获取
Revit
文件中对应三维视图的矩形包围盒,获取矩形包围盒的八个顶点坐标值信息,计算出边界框的最小和最大坐标,然后取两者之间的中点作为模型的中心点,并根据矩形包围盒顶面,取面的中心点作为模型的最高点;
[0030]楼层视图中心点和楼层及构件
ID
集的对应关系:
[0031]通过
SDK
获取
Revit
文件中所有的楼层视图,获取每个楼层视图的矩形包围盒以及对应的八个顶点坐标值信息,计算出边界框的最小和最大坐标,然后取两者之间的中点作为每个楼层视图的中心点,并获取模型标高将楼层视图排列,继续调用构件筛选器,将每一个楼层视图对应的构件信息筛选出来,并做成一对多的绑定关系;
[0032]第二个是导出多个三维
OBJ
模型文件集和一个材质
MTL
文件以及一个以
textures
命名的包含所有模型的中用到的贴图的文件夹,通过
SDK
中的自定义导出模型或图形数据的上下文,通过此上下文实现接口并在导出过程中获取所有导出元素和几何信息的回调通知,并根据继承接口方法,获取
Revit
模型文件中所有构件信息,读取配置文件中的构件
ID
集和楼层的对应关系,利用多线程导出对应楼层视图数量的三维
OBJ
模型和一个材质
MTL
文件以及一个以
textures
命名的包含所有模型的中用到的贴图的文件夹;
[0033]浏览器加载三维模型的代码段是通过使用
JavaScript
编写,并且利用了
JavaScript 3D
图形库来实现;此部分包括以下步骤:
[0034]步骤一:创建
JavaScript
工程,并引入
JavaScript 3D
图形库
[0035]步骤二:将
Revit
文件通过程序导出的多个三维
OBJ
模型文件集和一个材质
MTL
文件以及一个以
textures
命名的贴图文件夹,放到浏览器加载的程序的根目录中;
[0036]步骤三:通过
JavaScript

XMLHttpRequest
对象来读取配置文件,并用
json.parse
来实现
json
数据解析,并获取到此模型最高点信息,并累加一定数值,并将此结果作为渲染后固定视角的位置;
[0037]步骤四:利用
JavaScript 3D
图形库提供的视角控制方法,将视角固定在顶视角位置,并通过
OBJ
模型加载方法和
MTL
加载方法,读取第一层楼层视图对应的
OBJ
模型,通过监听滑动鼠标滚轮控制视角位置,当相机监听位置,到达第一层楼层视图对应中心点位置后,加载第二层楼层视图对应
OBJ
模型,并依次进行,可迅速加载所有楼层的三维模型;以上步骤可在固定视角下快速完成整体建筑模型的加载,提供了更好的用户体验
。。
[0038]本实施例的浏览器固定视角快速加载单一建筑三维模型的方法,本专利目的在于提出了一个浏览器固定视角快速加载模型的方法,将由
Autodesk Revit 2019
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
浏览器固定视角快速加载单一建筑三维模型的方法,其特征在于,包括以下步骤:将所述
Autodesk Revit 2019
设计的建筑模型文件导入到自研引擎轻量化转换程序中,需要获取模型有关的重要文件,此程序是由
C#
编写,主要是调用
Autodesk Revit 2019SDK
;第一个是此模型对应的配置文件,配置文件中包含模型中心点信息,模型最高点信息,楼层视图中心点以及楼层和构件
ID
集的对应关系,这四种信息对于浏览器加载三维模型有重要作用,下面是信息提取方法:模型中心点信息和最高点信息提取方法:通过
SDK
获取
Revit
文件中对应三维视图的矩形包围盒,获取矩形包围盒的八个顶点坐标值信息,计算出边界框的最小和最大坐标,然后取两者之间的中点作为模型的中心点,并根据矩形包围盒顶面,取面的中心点作为模型的最高点;楼层视图中心点和楼层及构件
ID
集的对应关系:通过
SDK
获取
Revit
文件中所有的楼层视图,获取每个楼层视图的矩形包围盒以及对应的八个顶点坐标值信息,计算出边界框的最小和最大坐标,然后取两者之间的中点作为每个楼层视图的中心点,并获取模型标高将楼层视图排列,继续调用构件筛选器,将每一个楼层视图对应的构件信息筛选出来,并做成一对多的绑定关系;第二个是导出多个三维
OBJ
模型文件集和一个材质
MTL
文件以及一个以
textures
命名的包含所有模型的中用到的贴图的文件夹,通过
SDK
中的自定义导出模型或图形数据的上下文,通过此上下文实现接口并在导出过程中获取所有导出元素和几何信息的回调通知,并根据继承接口方法,获取
Revit
模型文件中所有构件信息,读取配置文...

【专利技术属性】
技术研发人员:王涵丁文婷崔琦王一男王聪马彪张翔
申请(专利权)人:沈阳慧筑云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1