UF删除实体或者部件事例属性UF_ATTR_delete_all

void SEModifyAttX::delAtt() //删除实体或者部件事例属性
{
try
{
//获取UI界面的属性

//获取选择对象TAG
PropertyList *blockxuanzhePros = bodySelect0->GetProperties();
std::vector<NXOpen::TaggedObject*> theblockxuanzhe = blockxuanzhePros->GetTaggedObjectVector("SelectedObjects");
delete blockxuanzhePros;
blockxuanzhePros = NULL;

UF_initialize();

for (int i = 0; i < theblockxuanzhe.size(); i++)
{
tag_t bodyTAG = theblockxuanzhe[i]->Tag();

if (UF_ASSEM_is_occurrence(bodyTAG))//判断是否为部件事例标识(occurrence)
{

UF_ATTR_delete_all(bodyTAG, UF_ATTR_any); //删除部件事例标识
bodyTAG = UF_ASSEM_ask_prototype_of_occ(bodyTAG); //覆写TAG
UF_ATTR_delete_all(bodyTAG, UF_ATTR_any); //删除对象事例标识

}
else
{
UF_ATTR_delete_all(bodyTAG, UF_ATTR_any); //删除对象事例标识

}

}

UF_MODL_update();

theDialog->PerformApply();

UF_terminate();
}
catch (exception& ex)
{
//---- Enter your exception handling code here -----
SEModifyAttX::theUI->NXMessageBox()->Show("删除实体或者部件事例属性", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}

posted @   firetuo  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示