【背景】:
我们可以通过MSCE-U16以及之前的版本从DGN发布iModel2.0格式的文件(*.imodel或*.bim)。从MSCE-U17开始必须通过iTwin Sychronizer或iTwin Snapshot发布iModel2.0格式的文件了。
【问题】:
最近遇到一个情况就是一个DGN文件只有1.7M,但发布成BIM后文件增大到1.4G。
【原因】:
后来通过分析发现造成此现象的原因是该DGN中使用了大量缩放比例不一致(non-uniform scale)的共享单元。更为隐蔽的一个原因是,顶级共享单元的比例是一致的,都是1:1:1,但该共享单元的定义中又引用了另外一个共享单元,这个子级共享单元的缩放比例不一致。如下图所示:
由于BIM格式的文件底层是基于SQLite数据库的,在数据库中比较难以实现数据的共享。目前仅考虑了缩放比例一致的共享单元数据的共享,对于这种特殊情况目前没有考虑。
【措施】:
变通方法就是,放弃使用这类比例不一致的单元引用,如果确实需要这种几何的单元,最好重新定义一个比例一致的单元后再共享。比如,对当前的共享单元Drop成普通几何后再定义成一个新单元来共享。