一种Revit项目文件的加密方法、解密方法、装置及设备与流程

文档序号:33734158发布日期:2023-04-06 05:44阅读:536来源:国知局
一种Revit项目文件的加密方法、解密方法、装置及设备与流程

本发明属于bim,具体涉及一种revit项目文件的加密方法、解密方法、装置及设备。


背景技术:

1、在建筑工程建设过程中,bim应用的价值逐渐得到了业主、设计、施工和监理等各参与方的一致认可。越来越多的建筑工程项目开始引入bim技术,对bim模型的要求也越来越严格。同时,业内开始对bim模型的数据安全问题非常关注,尤其是涉密的工程项目。

2、autodesk revit是业内应用最广泛的bim软件之一,有大量的工程项目使用,但其现有技术对于模型的数据安全保护非常不足。revit项目文件缺少对模型数据的保护,在流通过程中存在被篡改、盗用族信息和信息泄露的风险。

3、对此,revit项目文件一般通过导出为ifc、nwd和nwf等文件格式,再利用其他软件以供使用者进行浏览,从而实现对模型数据的保护。但这种方式会丢失大量信息,且不可恢复,难于推广应用。


技术实现思路

1、为了克服上述技术缺陷,本发明提供了一种revit项目文件的加密方法、解密方法、装置及设备,能够对revit项目文件内的构件进行加密处理,防止构件被修改和族被盗用,而且能够解密恢复文件。

2、为了解决上述问题,本发明按以下技术方案予以实现的:

3、一种revit项目文件的加密方法,包括如下步骤:

4、获取用户输入的加密设置规则;

5、复制当前revit项目文件,获得复制的revit项目文件的document和实体元素集;

6、根据加密设置规则和实体元素集,将实体元素转换为directshape模型;

7、将revit项目文件转换为文件流filestream,并保存在扩展存储内;

8、利用saveas保存document,获得加密后的revit项目文件。

9、进一步的,加密设置规则包括加密选项;

10、加密选项包括模型详细程度、加密方式、加密密码、保存目录和清理可载入族复选框;

11、模型详细程度包括精细、中等和精略;

12、加密方式包括不可恢复和模型可恢复。

13、进一步的,步骤复制当前revit项目文件,获得复制的revit项目文件的document和实体元素集中,包括如下步骤:

14、利用file.copy复制当前revit项目文件;

15、利用opendocumentfile打开复制的revit项目文件,获得复制文件的document;

16、根据复制文件的document,利用view3d.createisometric创建默认视图;

17、根据默认视图,利用filteredelementcollector过滤获得默认视图中的所有实体元素;

18、遍历所有实体元素,排除不符合的类型,组成实体元素集;不符合类型包括importinstance、revitlinkinstance、familysymbol、view和hub的一种或多种。

19、进一步的,步骤根据加密设置规则和实体元素集,将元素转换为directshape模型中,包括如下步骤:

20、根据加密设置规则,获得加密的模型详细程度;

21、根据模型详细程度,遍历实体元素集,获得各元素的数据集;数据集包括element、geometryobject集合;geometryobject集合包括mesh和solid类型;

22、根据各元素的数据集,利用directshape.createelement创建directshape模型;directshape模型的类型和几何形状与原模型完全相同,而且不能修改;

23、利用doc.delete删除各元素。

24、进一步的,步骤将revit项目文件转换为文件流filestream,并保存在扩展存储内中,包括如下步骤:

25、读取revit项目文件为文件流filestream;

26、根据文件流filestream,按字节分段转换为string类型,组成string数据组;

27、遍历string数据组,利用des算法进行加密,获得加密后的数据组;

28、将加密后的数据组保存在document的projectlocation数据中。

29、与现有技术相比,本发明具有以下有益效果:

30、本发明公开了一种revit项目文件的加密方法,通过获取用户输入的加密设置规则,将revit项目文件的实体元素转换为directshape模型,同时将原revit项目文件转换为文件流filestream,并将文件流filestream保存在扩展存储中,对revit项目文件进行加密处理,防止构件被修改和族被盗用,有效提高revit项目文件的数据安全性,保护bim模型成果。

31、本发明还公开了一种revit项目文件的解密方法,对上述任一项所述的加密方法进行解密,包括如下步骤:

32、获取用户输入的解密设置规则;

33、根据加密后的revit项目文件,利用getentity获得document的扩展数据;

34、根据扩展数据,利用des算法进行解密,获得string数据组;

35、将string数据组进行拼接,获得文件流filestream;

36、将文件流filestream保存为revit项目文件;revit项目文件与加密前的项目文件相同。

37、进一步的,解密设置规则包括解密选项,解密选项包括解密密码。

38、本发明还公开了一种revit项目文件的加密装置,包括;

39、获取模块,用于获取用户输入的加密设置规则;

40、复制模块,用于复制当前revit项目文件,获得复制的revit项目文件的document和实体元素集;

41、转换模块,用于根据设置规则和实体元素集,将元素转换为directshape模型;将revit项目文件转换为文件流filestream,并保存在扩展存储内;

42、加密模块,用于利用saveas保存document,获得加密后的revit项目文件;

43、本发明还公开了一种revit项目文件的解密装置,包括:

44、获取模块,用于获取用户输入的解密设置规则;

45、解密模块,用于根据加密后的revit项目文件,对revit项目文件进行解密。

46、本发明还公开了一种计算机设备,包括:

47、处理器;

48、用于存储所述处理器可执行指令的存储器;

49、其中,所述处理器被配置为执行所述指令,实现上述任一项所述的加密方法或上述任一项所述的解密方法,或实现上述任一项所述的加密方法和上述任一项所述的解密方法。



技术特征:

1.一种revit项目文件的加密方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的加密方法,其特征在于,加密设置规则包括加密选项;

3.根据权利要求1所述的加密方法,其特征在于,步骤复制当前revit项目文件,获得复制的revit项目文件的document和实体元素集中,包括如下步骤:

4.根据权利要求1所述的加密方法,其特征在于,步骤根据加密设置规则和实体元素集,将元素转换为directshape模型中,包括如下步骤:

5.根据权利要求1所述的加密方法,其特征在于,步骤将revit项目文件转换为文件流filestream,并保存在扩展存储内中,包括如下步骤:

6.一种revit项目文件的解密方法,对权利要求1-5中任一项所述的加密方法进行解密,其特征在于,包括如下步骤:

7.根据权利要求6所述的解密方法,其特征在于,解密设置规则包括解密选项,解密选项包括解密密码。

8.一种revit项目文件的加密装置,其特征在于,包括;

9.一种revit项目文件的解密装置,其特征在于,包括:

10.一种计算机设备,其特征在于,包括:


技术总结
本发明公开了一种Revit项目文件的加密方法、解密方法、装置及设备,所述加密方法包括如下步骤:获取用户输入的设置规则;复制当前Revit项目文件,获得复制的Revit项目文件的Document和实体元素集;根据设置规则和实体元素集,将实体元素转换为DirectShape模型;将Revit项目文件转换为文件流FileStream,并保存在扩展存储内;利用SaveAs保存Document,获得加密后的Revit项目文件。本发明通过获取用户输入的设置规则,将Revit项目文件的实体元素转换为DirectShape模型,同时将原Revit项目文件转换为文件流FileStream,并将文件流FileStream保存在扩展存储中;除对文件进行加密外,用户还可以对加密文件进行解密,有效提高Revit项目文件的数据安全性,保护BIM模型成果。

技术研发人员:罗远峰,庄凯宏,廖捷,黄传祥,杨涛
受保护的技术使用者:广州优比建筑咨询有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1