|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【PLM之家NX二次开发自动装配项目】1.6 创建固定约束
, }5 {' n2 ^% K3 J& Y* U装配约束的创建过程,如何创建一个对象的约束为固定约束!$ n1 \" W- q: x6 {! A4 Z
, E5 A. W/ f1 O% c, O8 q: |% i2 B$ G) H. V/ e
7 Q! e! i+ k6 ?- D& W// 创建固定约束/ K: i$ R' Q# C: x6 R
3 A3 e" U* b3 W$ R. g" X/ z
% [( e: ^' B, S! E+ f6 O7 O2 l Positioning::ComponentPositioner *componentPositioner1;
! B1 v7 q) z" z2 I% I5 x, z componentPositioner1 = workPart->ComponentAssembly()->Positioner();
5 ]; m2 i/ n1 ~4 o4 [' B1 U% V4 G componentPositioner1->ClearNetwork();
1 {# J6 J. T% e/ u" _ componentPositioner1->BeginAssemblyConstraints(); W1 H( P: Z( c6 p5 _6 v( e
Positioning::Network *network1;
% V+ Q- B. o' T$ ?# i% J# D network1 = componentPositioner1->EstablishNetwork();% {0 X( k* C. F2 W# c
Positioning::ComponentNetwork *componentNetwork1(dynamic_cast<Positioning::ComponentNetwork *>(network1));
! F# b4 _# l0 a* z7 |8 m componentNetwork1->SetMoveObjectsState(true);
" @7 `* v+ I' J# ~ E8 S3 ] Assemblies::Component *nullAssemblies_Component(NULL);4 ^% ?. B* [1 q
componentNetwork1->SetDisplayComponent(nullAssemblies_Component);
! u; I% m! i, ~/ \# t5 j componentNetwork1->SetNetworkArrangementsMode(Positioning::ComponentNetwork::ArrangementsModeExisting);
|. I% m$ F5 b" O8 @ Positioning::Constraint *constraint1;
# ?8 G& r# j* _: J constraint1 = componentPositioner1->CreateConstraint(true);
8 ]- _8 [# s4 d3 v1 C Positioning::ComponenTConstraint *componentConstraint1(dynamic_cast<Positioning::ComponentConstraint *>(constraint1));1 k; l4 N7 I% h& z
componentConstraint1->SetConstraintType(Positioning::Constraint::TypeFix);% l1 @& ~0 T0 F$ v& w' I8 d
Positioning::ConstraintReference *constraintReference1;
* p' {) C p7 d0 M constraintReference1 = componentConstraint1->CreateConstraintReference(component1, component1, false, false, false);
2 `$ J) z' o3 f5 j Point3d helpPoint1(0, 0, 0);
# V: s0 P- j* g' P* j, p, `4 U constraintReference1->SetHelpPoint(helpPoint1);
' @0 O2 p" w' x; J. ?: ^/ {& x) | componentNetwork1->Solve();
W: `4 m; U. B componentPositioner1->ClearNetwork();
) j$ P: N( p9 R componentPositioner1->DeleteNonPersistentConstraints();' I8 B/ d3 s$ s5 a$ {+ u, j7 d, Y
Assemblies::Arrangement *nullAssemblies_Arrangement(NULL);
+ R. a; v: b5 }+ {' t componentPositioner1->SetPrimaryArrangement(nullAssemblies_Arrangement);
% k# U$ n( w$ f* z. T, T( V* B3 L componentPositioner1->EndAssemblyConstraints();. w. m' J) E2 b% S2 L2 C# q8 t* l
% N! K K/ }" V |
|