|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ s$ u: o, @ ?' P6 \3 |; O
3 g/ \( L. z( [/ R% WUG NX二次开发旋转特征代码分享
: \/ |# Q+ d3 ^ [: q6 ~
- E. T# i7 T" R9 R$ w( ^: C* U$ L如何使用NX二次开发进行旋转
! u$ B8 D- z, k1 g" j# {* Q8 M
0 Q% c; U5 @+ ~- v9 ?- B7 B- void lesson33_createRevolve::createRevolve(SkeTCh *sketch)
* K' G4 C( F! k - {% n+ d% ^1 d6 S2 O' M: O9 j: ]
- Features::Feature *nullFeatures_Feature(NULL);' `* ?. z. X) P5 D' m
* b" q$ S5 N3 M' O" J) l H3 m- Features::RevolveBuilder *revolveBuilder1;
& G! N% y, T+ H' w# y$ X - revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);7 {1 J& `1 B* `* O
- revolveBuilder1->SetTolerance(0.001);
7 s4 x9 ?% R1 Y+ m% t* v$ p7 H - Section *section1;9 r+ _" J2 r! \2 C, c9 g
- section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
: x+ w' l0 u% Y% g - revolveBuilder1->SetSection(section1);
/ p J9 ]; g' k - std::vector<Features::Feature *> features1(1);
! }: g* j. s6 c2 H% _5 u. ? - features1[0] = sketch->Feature();
$ {+ H! u2 `# c8 P: w5 o& X0 j$ G - CurveFeatureRule *curveFeatureRule1;
9 |! e# _ h4 s% B2 e7 N - curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
( Y) s. E$ A6 u2 L) e. M, F - std::vector<SelectionIntentRule *> rules1(1);
0 ~* G4 Q- t4 R4 K+ l - rules1[0] = curveFeatureRule1;, e" |- P# C- O
- NXObject *nullNXObject(NULL);# |. H# _, d8 |! I2 u3 u! k% }7 K
- Point3d helpPoint1(0, 0, 0);
0 e/ c. Y; l- H! V( x - section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);7 T9 P2 p# {6 v$ h ?
- revolveBuilder1->SetSection(section1);
, W, l, W, x! p - // get UI value4 U$ [1 b3 z. M1 ~: Z o0 M! I
- vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");! X# T9 x$ O! W* K$ ~3 @5 V
- Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);0 J h4 t5 }& z# I
- revolveBuilder1->SetAxis(axis1);
0 A1 e+ K/ H6 {# y - double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");" B- p4 ~, R7 O) H/ U. F; P
- double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");: c. p' @. S: J9 _6 R: T) E
- stringstream s_startValue,s_endValue;" O9 n! s5 t7 j
- s_startValue <<startValue;
4 l6 p" L- [8 E) S% q/ N - s_endValue <<endValue;: u1 Y+ H, f; B/ j$ H
- revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());
$ P3 c- X C: |) n: r9 P - revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
0 A/ U$ ]! T2 U( q# s% \4 P7 y - Features::Feature *feature1;+ z& q# Q' |/ s( f2 O. U
- feature1 = revolveBuilder1->CommitFeature();
9 i8 H( ^( `7 K7 E - revolveBuilder1->Destroy();2 D) H( D4 N0 I+ k
- section1->Destroy();" o; D6 D a: `+ l; c: k. Y: @
- }
复制代码
9 H" W4 I; u( ]' ]& x! _# r& [7 P7 m) \ G( e6 v
4 c9 @ D4 h5 T. I4 @7 V
|
|