|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- z# t1 F* D, p; X: W( ^
$ z4 B x4 O# G9 k# V* B) O( }UG NX二次开发旋转特征代码分享
8 S, ?/ _% L8 T
* B; @) w; n4 W5 i3 y* X/ ^5 B如何使用NX二次开发进行旋转
9 I1 J/ A6 \' v. A
6 E' T4 a) ^9 S) q4 S7 R- void lesson33_createRevolve::createRevolve(SkeTCh *sketch): w& z- O+ E) ~! _0 L% D% J* e
- {
6 E8 R) u( `, G! C8 S - Features::Feature *nullFeatures_Feature(NULL);- d4 I) v2 _+ _5 L: s0 V
: Z$ r6 Q& Z0 ]7 i- Features::RevolveBuilder *revolveBuilder1;% J9 a5 `5 T: l& _( E
- revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
M: k' h6 `+ l' G) f - revolveBuilder1->SetTolerance(0.001);# ^1 h$ }& h) ^- S, k
- Section *section1;% q+ I/ K( Z1 |3 n7 v& Z7 X$ {& l( B
- section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
: N0 Q3 P- D- \4 P - revolveBuilder1->SetSection(section1);
9 U) m) j% Y# h6 N+ D+ j - std::vector<Features::Feature *> features1(1);
# H1 i8 v3 D3 Q - features1[0] = sketch->Feature();, V" F% ?+ V: W8 k
- CurveFeatureRule *curveFeatureRule1;
! w5 f7 c \; C( y+ N9 ~& n - curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);# P, I. v2 [ S0 q7 e8 u
- std::vector<SelectionIntentRule *> rules1(1);
+ a% p6 L) Q% a: \$ f/ k/ C k - rules1[0] = curveFeatureRule1;
' v; J( `; k* A8 _ - NXObject *nullNXObject(NULL);: O! o/ Z' O9 k' W; c
- Point3d helpPoint1(0, 0, 0);. x3 H1 m* f8 ^- K7 w l
- section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
8 Z) ^, Y5 j( w* J - revolveBuilder1->SetSection(section1);
2 w& ?# ` f( V; s! B/ x6 W - // get UI value4 R( s- k0 Z7 |
- vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");* o2 t! K$ k0 D6 F3 [5 E: t
- Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);6 Q' _/ k& m8 W# ~, j% R7 X9 f
- revolveBuilder1->SetAxis(axis1);
% i# }! a% Q w7 l - double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
5 j( y, Q5 O; L - double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
7 Q4 j |: [% O8 c/ y+ e, |, T - stringstream s_startValue,s_endValue;
; P8 L% K& r* Y" U - s_startValue <<startValue;
, \# E/ C. J. X; o3 g7 G/ P - s_endValue <<endValue;1 C* P; G v3 p* j
- revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());8 X4 y1 E1 I0 ~; z2 n* T, S
- revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());* w0 Q: ?. g, F
- Features::Feature *feature1;
6 r" `" u/ p. Q$ B& l - feature1 = revolveBuilder1->CommitFeature();
0 d) H1 X0 a8 z; | - revolveBuilder1->Destroy();
- Z/ Y7 [/ u6 j8 ?7 {7 F - section1->Destroy();0 w: f: e( \) Z8 l( K% E0 v
- }
复制代码
- n. j& X5 O' |+ v r9 P7 g/ Y8 B9 U3 b% D
9 L# \" [/ T4 O
|
|