一种三维建筑模型文件转换方法和系统与流程

文档序号:15696292发布日期:2018-10-19 19:05阅读:232来源:国知局
一种三维建筑模型文件转换方法和系统与流程

本发明涉及文件处理领域,特别是涉及一种三维建筑模型文件转换方法和系统。



背景技术:

rvt是autodesk公司出品的3d建模工具revit使用的文件格式。reivt广泛应用于工程设计建设施工、机械制造等产业,是较为通用的3d工业设计软件。作为一个单机版设计软件,revit在多方多价值链业务协同场景下无法满足模型文件的一致性快速访问和快速共享需求。网络传输和页面浏览共享成为一种必然选择。rvt文件属于三维建筑模型文件,要实现3d模型文件的快速访问,需要同时解决一下几个问题:第一,三维建筑模型文件无法通过网页直接浏览查看;第二,随着项目的复杂性增加,三维建筑模型文件大小多在100mb以上,模型文件网络传输效率降低;第三,三维建筑模型文件的数据(包括属性、纹理、材质等等)会因为压缩而失真和缺失。

现有的解决方式包括使用工具进行人工转换,通过3dmax等第三方工具保证模型的材质等数据不丢失。然后转成网页浏览器以及android和苹果ios系统三个平台能基于webgl识别的模型格式。这个过程的方案多是手工处理,无法满足大量模型文件的处理。



技术实现要素:

本发明的目的是提供一种三维建筑模型文件转换方法和系统,提高了大量三维建筑模型文件转换的效率,进而实现了大量模型文件的处理。

为实现上述目的,本发明提供了如下方案:

一种三维建筑模型文件转换方法,所述方法包括:

获取三维建筑模型文件;

将所述三维建筑模型文件划分为多个待转换子文件;

采用多线程对多个所述待转换子文件同时进行tjmd模型并行转换,得到相应的多个tjmd模型转换文件;

根据每个所述tjmd模型转换文件转换,得到相应的unityassetbundles模型文件;

对每个所述unityassetbundles模型文件进行打包,获得与unityassetbundles对应的模型转换数据包;

将每个所述模型数据包存入存储服务器和数据库。

可选的,所述三维建筑模型文件转换方法是在云端进行的。

可选的,所述根据每个所述待转换请求将所述三维建筑模型文件进行转换,得到多个tjmd模型转换文件,具体包括:

根据每个所述待转换请求采用不同的r2tj转换器对各所述三维建筑模型文件进行并行转换,得到多个第一转换文件;

采用不同的tj2u转换器对各所述第一转换文件进行并行转换,得到多个第二转换文件;

采用不同的su2tj转换器对各所述每个第二转换文件进行并行转换,得到多个tjmd模型转换文件。

可选的,所述根据每个所述tjmd模型转换文件转换,得到相应的unityassetbundles模型文件,具体包括:

采用不同的9d转换器对各所述tjmd模型转换文件进行并行转换,得到多个第三转换文件;

将每个所述第三转换文件进行解析,得到相应的unityassetbundles模型文件。

可选的,所述方法还包括:

获取所述三维建筑模型文件的元数据;

存储所述元数据。

为实现上述目的,本发明还提供了如下方案:

一种三维建筑模型文件转换系统,所述系统包括:

三维建筑模型文件获取模块,用于获取三维建筑模型文件;

待转换子文件确定模块,用于将所述三维建筑模型文件划分为多个待转换子文件;

第一转换模块,用于采用多线程对多个所述待转换子文件同时进行tjmd模型并行转换,得到相应的多个tjmd模型转换文件;

第二转换模块,用于根据每个所述tjmd模型转换文件转换,得到相应的unityassetbundles模型文件;

打包模块,用于对每个所述unityassetbundles模型文件进行打包,获得与unityassetbundles对应的模型转换数据包;

存储模块,用于将每个所述模型数据包存入存储服务器和数据库。

可选的,所述第一转换模块,具体包括:

第一转换文件获取单元,用于根据每个所述待转换请求采用不同的r2tj转换器对各所述三维建筑模型文件进行并行转换,得到多个第一转换文件;

第二转换文件获取单元,用于采用不同的tj2u转换器对各所述第一转换文件进行并行转换,得到多个第二转换文件;

模型转换文件获取单元,用于采用不同的su2tj转换器对各所述每个第二转换文件进行并行转换,得到多个tjmd模型转换文件。

可选的,所述第二转换模块,具体包括:

第三转换文件获取单元,用于采用不同的9d转换器对各所述tjmd模型转换文件进行并行转换,得到多个第三转换文件;

模型文件获取单元,用于将每个所述第三转换文件进行解析,得到相应的unityassetbundles模型文件。

可选的,所述系统还包括:

元数据获取模块,用于获取所述三维建筑模型文件的元数据;

存储模块,用于存储所述元数据。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供一种三维建筑模型文件转换方法,通过获取三维建筑模型文件;将所述三维建筑模型文件划分为多个待转换子文件;采用多线程对多个所述待转换子文件同时进行tjmd模型转换,得到相应的多个tjmd模型转换文件;根据每个所述tjmd模型转换文件转换,得到相应的unityassetbundles模型文件;对每个所述unityassetbundles模型文件进行打包,获得与unityassetbundles对应的模型转换数据包;将每个所述模型数据包存入存储服务器和数据库。显然,上述方法通过分布式多线程的转换架构保证转换过程的可靠性和大数据处理能力,采用消息队列的方式和分布式部署方法,提升了整体转换可靠性和大量三维建筑模型文件转换的效率,进而实现了大量模型文件的处理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例三维建筑模型文件转换方法流程图;

图2为本发明实施例三维建筑模型文件转换系统结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例三维建筑模型文件转换方法流程图。如图1所示,一种三维建筑模型文件转换方法,所述方法包括:

步骤101:获取三维建筑模型文件,具体的,从云端获取三维建筑模型文件;

步骤102:将所述三维建筑模型文件划分为多个待转换子文件;

步骤103:采用多线程对多个所述待转换子文件同时进行tjmd模型转换,得到相应的多个tjmd模型转换文件,具体包括:

根据每个所述待转换请求采用不同的r2tj转换器对各所述三维建筑模型文件进行并行转换,得到多个第一转换文件;

采用不同的tj2u转换器对各所述第一转换文件进行并行转换,得到多个第二转换文件;

采用不同的su2tj转换器对各所述每个第二转换文件进行并行转换,得到多个tjmd模型转换文件。

步骤104:根据每个所述tjmd模型转换文件转换,得到相应的unityassetbundles模型文件,具体包括:

采用不同的9d转换器对各所述tjmd模型转换文件进行并行转换,得到多个第三转换文件;

将每个所述第三转换文件进行解析,得到相应的unityassetbundles模型文件;

步骤105:对每个所述unityassetbundles模型文件进行打包,获得与unityassetbundles对应的模型转换数据包;

步骤106:将每个所述模型数据包存入存储服务器和数据库。

所述方法还包括:

获取所述三维建筑模型文件的元数据;

存储所述元数据。

本发明通过分布式多线程的转换架构保证转换过程的可靠性和大数据处理能力,采用消息队列的方式和分布式部署方法,提升了整体转换可靠性和大量三维建筑模型文件转换的效率,进而实现了大量模型文件的处理。

本发明主要创新在于结合了多线程分布式架构和多种自动化系统转换方法,解决了自动化系统的高可靠性和高性能要求。具体包括:

第一,自动化转换的架构独特性和创新性:包括自动转换控制器、三维建筑模型文件转换为tjmd文件格式的r2tj转换器、tjmd文件转换为unityassetbundles文件的tj2u转换器、文件打包控制器;采用自动化控制系统的原理搭建三维建筑模型文件转换引擎,提升的文件转换的效率和准确性。

第二,分布式的转换架构保证转换过程的可靠性和大数据处理能力:采用mq消息队列的方式和各类控制器的分布式部署架构,当一个转换器宕机后,监控管理服务管理其他转换器能继续工作,提升整体转换引擎的可靠性和大量三维建筑模型文件转换的效率和性能,利用多线程异步的分布式架构原理,扩展三维建筑模型文件转换引擎架构的控制器规模,提升的整体引擎的可靠性和转换性能。

图2为本发明实施例三维建筑模型文件转换系统结构图。如图2所示,一种三维建筑模型文件转换系统,所述系统包括:

三维建筑模型文件获取模块201,用于获取三维建筑模型文件;

待转换子文件确定模块202,用于将所述三维建筑模型文件划分为多个待转换子文件;

第一转换模块203,用于采用多线程对多个所述待转换子文件同时进行tjmd模型转换,得到相应的多个tjmd模型转换文件;

第二转换模块204,用于根据每个所述tjmd模型转换文件转换,得到相应的unityassetbundles模型文件;

打包模块205,用于对每个所述unityassetbundles模型文件进行打包,获得与unityassetbundles对应的模型转换数据包;

存储模块206,用于将每个所述模型数据包存入存储服务器和数据库。

所述三维建筑模型文件获取模块201,用于从云端获取三维建筑模型文件。

所述第一转换模块203,具体包括:

第一转换文件获取单元,用于根据每个所述待转换请求采用不同的r2tj转换器对各所述三维建筑模型文件进行并行转换,得到多个第一转换文件;

第二转换文件获取单元,用于采用不同的tj2u转换器对各所述第一转换文件进行并行转换,得到多个第二转换文件;

模型转换文件获取单元,用于采用不同的su2tj转换器对各所述每个第二转换文件进行并行转换,得到多个tjmd模型转换文件。

所述第二转换模块204,具体包括:

第三转换文件获取单元,用于采用不同的9d转换器对各所述tjmd模型转换文件进行并行转换,得到多个第三转换文件;

模型文件获取单元,用于将每个所述第三转换文件进行解析,得到相应的unityassetbundles模型文件。

所述系统还包括:

元数据获取模块,用于获取所述三维建筑模型文件的元数据;

存储模块,用于存储所述元数据。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1