购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
//创建中心约束(2对2)
int ConstraintCreate_UGAPI_COM::ConstraintCreateAPI::Create_center22_contraint(tag_t objectTags[4], bool fixHits[4], Point3d helpPoint[4], tag_p_t constraintTag)
{
tag_t compTag = NULL_TAG;
logical isOcc = NULL_TAG;
*constraintTag = NULL_TAG;
Session *theSession = Session::GetSession();
Part *workPart(theSession->Parts()->Work());
Part *displayPart(theSession->Parts()->Display());
Positioning::ComponentPositioner *componentPositioner1;
componentPositioner1 = workPart->ComponentAssembly()->Positioner();
componentPositioner1->ClearNetwork();
componentPositioner1->BeginAssemblyConstraints();
bool allowInterpartPositioning1;
allowInterpartPositioning1 = theSession->Preferences()->Assemblies()->InterpartPositioning();
Positioning::Network *network1;
network1 = componentPositioner1->EstablishNetwork();
Positioning::ComponentNetwork *componentNetwork1(dynamic_cast<Positioning::ComponentNetwork *>(network1));
componentNetwork1->SetMoveObjectsState(true);
Assemblies::Component *nullAssemblies_Component(NULL);
componentNetwork1->SetDisplayComponent(nullAssemblies_Component);
componentNetwork1->SetNetworkArrangementsMode(Positioning::ComponentNetwork::ArrangementsModeExisting);
Positioning::Constraint *constraint1;
constraint1 = componentPositioner1->CreateConstraint();
Positioning::ComponentConstraint *componentConstraint1(dynamic_cast<Positioning::ComponentConstraint *>(constraint1));
componentConstraint1->SetConstraintType(Positioning::Constraint::TypeCenter22);

●●●请先
登陆 或
注册 后查看●●●
componentConstraint1->ReverseDirection();
componentNetwork1->Solve();
componentNetwork1->ResetDisplay();
componentNetwork1->ApplyToModel();
theSession->UpdateManager()->AddToDeleteList(componentNetwork1);
componentPositioner1->ClearNetwork();
componentPositioner1->DeleteNonPersistentConstraints();
Assemblies::Arrangement *nullAssemblies_Arrangement(NULL);
componentPositioner1->SetPrimaryArrangement(nullAssemblies_Arrangement);
componentPositioner1->EndAssemblyConstraints();
//获取约束标识符
*constraintTag = componentConstraint1->GetTag();
return (0);
}