UCS下如何创建物体的包围框
我们知道如果要创建物体的包围框采用函数 vla-GetBoundingBox函数,但这个函数创建的物体包围框永远是WCS的,也就是说无论你当前处于什么UCS状态,它得到的包围框总是跟WCS的X轴线,Y轴线,Z轴线平行的。 那么如何在UCS下创建物体的包围框呢?
当然不能仅仅是直接用getboundingBox得到的点变换到UCS就可以了,还需要一个步骤。 这个步骤是要首先把物体通过transformBy变换到WCS状态,然后得到这个时候的包围框,再把物体又变换回到UCS中, 同时还要把得到的这个包围框也变换到UCS中。好了,有什么不明白的请看下面的程序。另外有什么更好的办法不妨到这里讨论。
下面我提供了一个程序可以创建物体的包围框,(仅仅平面的,如果是立体的,可以稍加修改)。
使用方法,输入命令: test,然后选择物体,就得到了物体的UCS底下的包围框。
没有加出错处理,譬如某些东西可能处于锁定的图层或者不能被修改。 |