购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
//获得每个Component相关对应的约束,获得数据保存到map中,tag_t为组件的TAG,vector为组件对应的约束TAG
void GetComCorresConstraints(map<tag_t, vector<tag_t>>& pComConstraints )
{
vector<Positioning::DisplayedConstraint* > displayedallConstraints = GetDisplayedallConstraints(); //显示部件的显示约束
for(int a=0; a<displayedallConstraints.size(); a++)
{
Positioning::Constraint* iConstraint = displayedallConstraints[a]->GetConstraint();
vector < NXOpen::Positioning::ConstraintReference * > iConstraintReference = iConstraint->GetReferences(); //获得约束参考
for(int b=0; b<iConstraintReference.size(); b++)
{
NXOpen::NXObject * pMovableObject = NULL;
pMovableObject = iConstraintReference[b]->GetMovableObject();
if(pMovableObject != NULL)
{
map<tag_t, vector<tag_t>>::iterator iter = pComConstraints.find(pMovableObject->Tag());
if(iter == pComConstraints.end())
{

●●●请先
登陆 或
注册 后查看●●●
}
else
{
if (iter->second.end() == std::find(iter->second.begin(), iter->second.end(), iConstraint->Tag()))
{
iter->second.push_back(iConstraint->Tag());
}
}
}
}
}
}