基于Obj23dtiles的模型转换器创建方法与流程

文档序号:35710528发布日期:2023-10-12 11:19阅读:17来源:国知局
本发明属于三维平台数据处理,特别涉及一种基于obj23dtiles的模型转换器创建方法。
背景技术
::1、三维软件在工程项目管理中极大地提高了管理的效率,应用较为广泛,但是现有的三维软件。三维软件所用的javascript是基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端web开发的脚本语言,常用来给html网页添加动态功能,比如响应用户的各种操作。2、目前,obj23dtiles是javascript语言实现的3d模型转换插件,但是通常在改写前其存在不能按照指定的结构处理数据,不能直接查询单个元素的要素信息,如最小坐标值、最大坐标值、要素名称等问题,使其应用受限。技术实现思路1、为了解决上述现有技术,本发明提供了一种基于obj23dtiles的模型转换器创建方法,其能够能够按照自定义的结构进行分组数据转换,可以从其他平台导出公用格式obj,满足自定义结构,使要素提取更为便捷。2、本发明所采用的技术手段是:3、一种基于obj23dtiles的模型转换器创建方法,其包括以下步骤:4、1)基于revit平台定义变量,变量包括最小坐标集合minpoint、最大坐标集合maxpoint、矩阵transform、子节点集合children以及要素集合batchtable;5、2)获取指定路径下所有的b3dm文件,遍历b3dm文件中的所有数据;6、3)获取每一个b3dm文件对应的要素表,提取要素表中所有的要素数据,加入要素集合batchtable中;所述要素数据包括最小坐标值、最大坐标值以及要素名称;7、4)从要素表中提取当前要素表的最小坐标值加入最小坐标集合minpoint中,提取当前要素表的最大坐标值加入最大坐标集合maxpoint;8、5)利用当前要素表的最小坐标值和最大坐标值构造当前要素表的包围盒并确定当前要素的包围盒的几何误差;9、6)利用当前要素的包围盒和几何误差,在当前b3dm文件的相对路径下结合三维瓦片数据集的文件规范构建子节点,将子节点加入子节点集合children中;10、7)利用最小坐标集合minpoint和最大坐标集合maxpoint计算根节点的最大坐标值和最小坐标值;11、8)参照步骤5),利用根节点的最大坐标值和最小坐标值构造根节点的包围盒并确定根节点的包围盒的几何误差;12、9)利用根节点的包围盒、根节点的包围盒的几何误差以及子节点集合children、矩阵transform,并结合三维瓦片数据集的文件规范构建三维瓦片数据集tileset;将三维瓦片数据集tileset保存为tileset.json格式文件,完成模型转换器的创建。13、进一步限定,所述步骤5)中构造当前要素表的包围盒的方法为:14、5.1)将当前要素表中的最大坐标集合maxpoint和最小坐标集合minpoint在revit中的坐标值转换为cesium中的坐标值,得到当前要素表对应的包围盒的最小坐标值min和包围盒的最大坐标值max;15、5.2)利用当前要素表对应的包围盒的最小坐标值min和包围盒的最大坐标值max确定出包围盒的中心点center以及包围盒的长dx,宽dy和高dz;16、5.3)按照下述矩阵构造出包围盒box:17、[center.x,center.y,center.z,dx/2,18、0,0,0,dy/2,19、0,0,0,dz/2]。20、进一步限定,所述当前要素表的包围盒的几何误差的确定方法为:21、5.4)将当前要素表的包围盒等效为外接的包围球;22、5.5)根据当前要素表的包围盒的最大坐标值varmax、最小坐标值var min以及包围盒的中心点center确定出包围球的直径var diameter和包围球的中心点var center;23、5.6)利用包围球的直径计算出包围球的体积varvolume;24、5.7)利用下式确定出包围盒的几何误差e:25、26、与现有技术相比,本发明的有益效果是:27、1)本发明通过提取要素表,构建要素表的包围盒和几何误差,建立子节点,之后再构建根节点的包围盒和几何误差,并结合三维瓦片数据集的文件规范构建三维瓦片数据集tileset,进而构建出模型转换器,通过构造包围盒提高运算效率,能够按照自定义的结构进行分组数据转换,可以从其他平台导出公用格式obj,满足自定义结构;28、2)本发明能直接按照自定义结构整合分组后的数据转换,并提取分组后的每个元素的要素信息,整合为batchtable.json,在3d平台中直接查询到指定要素,能够实现要素快速提取,并且有利于后续完成更多的业务逻辑。技术特征:1.一种基于obj23dtiles的模型转换器创建方法,其特征在于,包括以下步骤:2.根据权利要求1所述的基于obj23dtiles的模型转换器创建方法,其特征在于,所述步骤5)中构造当前要素表的包围盒的方法为:3.根据权利要求2所述的基于obj23dtiles的模型转换器创建方法,其特征在于,所述当前要素表的包围盒的几何误差的确定方法为:技术总结本发明涉及一种基于Obj23dtiles的模型转换器创建方法,基于Revit平台定义变量,遍历b3dm文件中所有数据,提取要素表中所有的要素数据,分别构建当前要素的包围盒和根节点的包围盒,并计算其对应几何误差,利用根节点的包围盒、根节点的包围盒的几何误差以及子节点集合children以及矩阵transform,并结合三维瓦片数据集的文件规范构建三维瓦片数据集tileset;将三维瓦片数据集tileset保存为tileset.json格式文件,完成模型转换器的创建;本发明通过构造包围盒提高运算效率,能够按照自定义的结构进行分组数据转换,可以从其他平台导出公用格式obj,满足自定义结构。技术研发人员:杨森,魏超,杨艳,王佳,杨康,杨志民,裴鑫泽,王波丽受保护的技术使用者:陕西心像信息科技有限公司技术研发日:技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1