返回 BIM 与 IFC 博客
IFC 文件过大是每天都会碰到的麻烦:大到发不了邮件,打开缓慢,还容易让浏览器端查看器崩溃。好消息是,IFC 文件中充满冗余,因此大幅缩减是做得到的。问题在于,有些方法无损且安全,另一些则会丢掉接收方需要的数据,所以尝试的先后顺序很重要。
- 90% — 可实现的缩减幅度
- 6× — IFC4 与 IFC2x3 几何对比
- 0 数据损失 — 使用 ifcZIP 压缩
- 500 MB — 查看器的常见上限
先从安全的做起:无损方法
1. ifcZIP(零数据损失)
ifcZIP 就是一个只包含一个 IFC 文件的标准 ZIP 压缩包。它不会改变模型的任何内容,每个实体、属性和 GUID 都完整保留,而且支持 IFC 的工具可以直接打开它。由于 IFC 是冗长的文本格式,压缩率往往非常可观。传输文件时,这始终应该是第一步。
2. 导出为 IFC4 而不是 IFC2x3
IFC4 用网格化几何(IfcPolygonalFaceSet)来表达复杂几何,而不是 IFC2x3 中更笨重的 B-rep(边界表示)。对于细节丰富的建筑模型,同一个模型在 IFC4 中可以小好几倍;只要接收方的工具支持 IFC4,这就是白得的缩减。参见本博客的 IFC2x3 与 IFC4 对比。
再做裁剪:减少导出内容
最大的安全缩减,来自不导出接收方不需要的内容。这在本质上是有意为之的有损操作(你是在刻意限定模型范围),所以要依据 BIM 执行计划(BEP)或该专业的模型要求来做,而不是随意删减。
- 按专业分别导出,而不是导出一个庞大的整合文件。机电(MEP)协调员很少需要你的家具。
- 去掉超出所需 LOD 的细节,比如你为了自己出图而建模的固定装置、紧固件和精细的细木工构造。
- 只导出规定的属性集;每个构件上都挂着庞大的自定义 Pset,积少成多。
- 排除二维注释、常规模型和仅供导入的参考几何。
几何优化
如果文件仍然很大,还可以优化几何本身:对重复构件去重,让成千上万个相同的螺栓或栏杆柱引用同一个网格;并简化细分过度的曲面。有些工具会自动完成这一步。关键在于,它改变的是几何表达方式,而不是模型数据,所以事后要重新验证。
瘦身之后要验证
无论删掉了什么,都要确认瘦身后的文件依然可靠:打开它,检查空间层级是否完好、所需属性是否齐全,以及 Health Score(健康评分)是否仍在要求的水平。减小体积,绝不能降低可交付性。
检查瘦身后的模型是否依然健康
打开缩减后的 IFC,在发出之前确认层级、属性和 Health Score 都在裁剪后完好无损。
IFC2x3 · 2.4 MB
打开交互式 IFC 查看器
如果目标只是查看一个巨大的模型,而不是交付一个更小的模型,那么文件大小可能并不是真正的问题。查看器端的解决办法,请参阅大型 IFC 文件为什么会让浏览器崩溃。
如何减小 IFC 文件大小(而不破坏模型)