在上一篇文章中NX二次开发体收集器——只选择实体或片体(1)-CSDN博客存在以下的疑惑,通过查找资料https://www.cnblogs.com/hqsalanhuang/p/14179117.html中有一个bodys[i]->Tag()用来获得body
问题:
在1.2实现对收集器收集到的对象进行操作小节可以用通过获取片体和实体的TAG,对实体和片体进行染色,片体为绿色,实体为红色(ufnu染色),但目前为止NXopen进行染色部分还不会有会的兄弟欢迎下方评论)。
解决方案:
//设置颜色
NXOpen::DisplayModification *displayModification1;
displayModification1 = theSession->DisplayManager()->NewDisplayModification();
displayModification1->SetNewColor(186);
//将bodys放入到显示的数组中去
std::vector<NXOpen::DisplayableObject *> objects1;
for (int i = 0; i < (int)bodys.size(); i++)
{
Body *body3(dynamic_cast<Body *>(NXObjectManager::Get(bodys[i]->Tag())));
objects1.push_back(body3);
}
displayModification1->Apply(objects1);
delete displayModification1;
使用NXOpen运行结果和上一篇UFUN使用染色效果一样