显示元素包围盒


【包围盒的概念】

在三维绘图系统(其实二维绘图系统也有此概念)中存在着一个包围盒(Bounding Box)的概念。就是用一个最小立方体(或球体)来围住我们的几何对象。最常用的包围盒有两种:①AABB(Axis-Aligned Bounding Box):即沿着坐标轴方向的包围盒;②OBB(Oriented Bounding Box):带有朝向的包围盒,此种包围盒能最紧凑地包围住几何对象。用一个最简单的二维图示如下:

MicroStation中仅支持AABB类型的包围盒。有些软件能同时支持这两种包围盒。

【包围盒的用途】

在执行三维碰撞检测时,我们可以先比较两个元素的包围盒是否相交(这种判断能非常快速),如果不相交,那这两个元素肯定不会发生碰撞。只有在包围盒相交的情况下再进入复杂的几何求交算法(该算法非常耗时)。这样就能大大加快碰撞检测的速度。这是包围盒的一个主要用途。MicroStation中的每个元素都保存有一个Range(范围)属性,它就是表达的该元素的AABB。

还有一种情况是,当我们执行了Fit View功能后,元素不能正确地充满视图。此时就要去检查每个元素的Range,看是否其Range数据出了问题(往往是编程中创建cell后忘记调用了一个设置范围的函数,从而导致cell的范围不正确)。

【显示和关闭包围盒】

在MicroStation的键入命令栏输入Set Range并回车,然后更新一下视图( ),则所有元素就显示出了其包围盒。如下图所示:

再次执行Set Range命令并更新视图就能取消包围盒的显示。