ShunNai Zhao

iTwin针对Revit文件的转换总结。

--来源于对Revit相关问题的处理

【背景】

Revit文件RVT是将“内容”和“环境”(族)放在一起,这种机制与Dgn文件处理不同。各有利弊。由于Revit无法实现多文件工作空间的独立管理。在日常实践中,经常采用“中心文件”的方式,将一个大文件分拆为不同的WorkSet来进行协同工作。

由于不同的WorkSet都会建立大量的标准库(族),这些族又是基于Revit的基类(Revit的基类不可扩展)。所以,如果一个企业没有对Revit的族做统一规划的话,这个中心文件机构非常复杂。因为Revit会不断的寻求类之间的”智能关联“。

在实践中,如果新建一个Revit文件,参考这个中心文件,然后合并到当前文件时(Blind file),同样会造成卡死,或者死机。这说明,连Revit都不能这么用

所以,如果用户提交的是一个“中心文件”,某种意义上,这个文件不是“生产”状态的文件,中心文件可以理解为Revit工作模式下的一个“Hub”用户协作各个WorkSet。

如果使用Revit Connector直接处理这个中心文件,Connector就会读取构件后,然后在一个“庞大的”“族库”里读取信息。造成时间过程,如果原本的族库还有问题,可能就会卡死在某个地方。造成转换时间过长或者崩溃。

【措施】

针对上述内容,在对Revit数据处理时,建议如下:

  1. 提交每个WorkSet的数据,而非将多有数据合并在一起的“中心文件”。
  2. 每个WorkSet清理掉无关的View和视图。
  3. 对数据进行压缩,清除掉一些无用的对象。如果清理完毕后,感觉文件大小没有变化,可以另存一下。另存等于全新建立一下组件。
  4. 在Revit Connector里设置参数是否转换相应的视图。 iTwin的数据需求来源于后期的业务应用。Revit或者是Dgn设计状态的数据是为了满足设计协作。两者需求会不同(这不是技术问题,而是业务需求问题)。所以,对数据过滤,决定那些数据流向iTwin数据平台是必要的工作环节。

【处理】

如果我们收到的就是客户的中心文件,无法得到原来的WorkSet子文件怎么办?采用如下方式可以解决。

  1. 分拆中心文件,可以复制几份,然后分专业、区域等过滤,各自删除无关内容。
  2. 每个子文件分拆完毕后,压缩无用的内容,这个时候一般会清理掉成百上千的对象(族,内容,标准。。。)
  3. 子文件如果感觉容量没有变化,这时另存就会更彻底(我也没有理解,为何压缩后仍然无法彻底去除,另存就可以。我认为另存就是重新生成了对象,保存的内容也就是新对象所使用的)
  4. 另一种方式是新建文件,将每个子文件参考,合并,删除参考。

通过以上方式就可以解决Revit大文件的问题,同时,这些也是处理Revit文件的原则。

分成4部分的“学术环.rvt”文件,转换时间为1-2个小时。

results matching ""

    No results matching ""