在做某些项目时,经常需要获取某一对象的周围的对象,比如获取距离一个实体最近的实体,如果简单数模,遍历当前视图的实体逐一测量,获取最小值即为所求。但对于复杂数模,比如汽车前舱数模,包含发动机,那么这种方法就不适合了,速度会很慢。
在新版UG中(本文使用的是NX1872),提供了3DBOX选择工具,可以快速选择一个对象盒子内的所有对象,还可以根据类型设定范围,工具如下:

但录制操作的时候,发现并不能录制,翻阅NXopen和ufun文档并未发现有相关使用的类。但在libugui.dll导出函数中,发现有名字相近的类名,经过测试,完全可以实现这个功能,在Blcok UI中即使存在选择控件,依然可以使用。
类名如下:Class UGS::SEL::BoxSelectBuilder,有兴趣的可以试试。
类成员函数如下:
void UGS::SEL::BoxSelectBuilder::AskBoxLength(double * const)
void UGS::SEL::BoxSelectBuilder::AskCenterPosition(struct UGS::Math::Point3 *)
int UGS::SEL::BoxSelectBuilder::AskClientScope(void)
bool UGS::SEL::BoxSelectBuilder::AskHandlesPosition(struct UGS::Math::Point3 * const,struct UGS::Math::Vector3 * const)
int UGS::SEL::BoxSelectBuilderClassId
bool UGS::SEL::BoxSelectBuilder::CalculateBoxSize(void)
bool UGS::SEL::BoxSelectBuilder:
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删