Revit 中的碰撞检测的一个坑
和 Revit 躲猫猫有时会变成一件有意思的事。
这是一个比较隐蔽的坑,当然也可以理解为 feature。如下:
TIP
当族中的实体(空心剪切不算)的可见性被设置为中等或精细时,检测碰撞时会被忽略。换句话说,只有在粗略显示精度下可见的实体才会参与碰撞检测。
这个 feature 坑人的地方在于,如果没有设置实际上需要参与碰撞的实体为粗略可见,就会导致碰撞检测失效。我自己的一个防火卷帘族,就因为这个原因,没有检查出来卷帘盒与梁冲突。
但从运行效率的方面来说,如果一个实体是粗略不可见的,说明它可能没那么重要,which means 即使它和其他构件发生碰撞,也无伤大雅。一种值得提及情形是,当族中含有复杂形状的构件时,可以将其设置为粗略不可见,然后用一个规则的体块,比如 cube 或者 sphere(的组合),来代替其在粗略精度下的形态。这样即使需要运行碰撞检测,也无需去对那个精确但形态复杂的体块进行碰撞检测,这样就提高了运行效率。这就是我说它是一个 feature 的原因。有空的话我会做一个测试,看看两种情况下碰撞检测的运行时间有多大差别。