|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 [2 [$ J2 b6 W4 J& ~
9 c# n" S4 |& R3 n
UG NX二次开发旋转特征代码分享# V" @# T4 Q) T1 `, I
& q' y/ S$ z) I- f% Q w. h如何使用NX二次开发进行旋转
& p7 h" r4 G" X h; f9 X5 A* N [$ c L
- void lesson33_createRevolve::createRevolve(SkeTCh *sketch), C7 u* j6 O4 A
- { i0 m% N9 V4 t, E) |6 b4 d
- Features::Feature *nullFeatures_Feature(NULL);% v) q$ n' X8 o& f/ V
' k/ m0 A% \+ d( f7 J! |- Features::RevolveBuilder *revolveBuilder1;
, t1 f7 q2 S$ V( q - revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);- V! Q9 e1 x# p1 _
- revolveBuilder1->SetTolerance(0.001);
5 f: D; i: y# h) G2 [6 o - Section *section1;
& ^7 o) G' b. G/ i/ L3 c; `1 b' p - section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
; _& E. @/ c& C - revolveBuilder1->SetSection(section1);
* |( L. }. ?" G* Y+ i) a - std::vector<Features::Feature *> features1(1);( k( i2 ~8 T% F' S5 z8 n
- features1[0] = sketch->Feature();7 h8 @2 R6 S' E- Q) M
- CurveFeatureRule *curveFeatureRule1;
3 p9 [0 k, l/ F4 ]$ i - curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);' g* h$ K0 y5 q0 N) m3 X1 l
- std::vector<SelectionIntentRule *> rules1(1);
% V- r$ Z* W& S) c - rules1[0] = curveFeatureRule1;6 ~1 Z. V/ l' B" p& H1 f
- NXObject *nullNXObject(NULL);7 i0 p. B# C9 v/ ` H
- Point3d helpPoint1(0, 0, 0);
$ g3 U& j7 N. T* G" ?, r - section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);4 P6 t( b) V8 c4 N# k0 o+ k
- revolveBuilder1->SetSection(section1);1 y; i) J% J6 @ O2 G
- // get UI value+ q c( k [5 S5 E
- vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
$ y$ _6 u. R/ d( ? - Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);
! K$ u! B" [- W# F' L - revolveBuilder1->SetAxis(axis1);/ G/ V7 L% D) @0 k" n* `
- double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
& @$ e- R) G# }. o, {) C - double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");7 L8 X1 o- L7 M, Y
- stringstream s_startValue,s_endValue;
* s5 c! T" U- i, y1 d - s_startValue <<startValue;' _8 V9 x+ U ]& }# p) R6 Q. @! L
- s_endValue <<endValue;
) D" l* s7 N+ b" P. o( r/ P - revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());! `( k% W5 i- w5 Q( u6 _ I) I
- revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());' f3 k1 _" g9 B, Q1 R9 d
- Features::Feature *feature1;' t- D$ U3 m; c8 Q: n! `) R
- feature1 = revolveBuilder1->CommitFeature();
+ t* Z3 y6 Z+ Z - revolveBuilder1->Destroy();- r+ C8 g8 ]4 Q4 c
- section1->Destroy();
6 L& u' J8 w3 `" f: |$ i. u - }
复制代码
7 N% P9 L" v6 g- ]: {
8 @% |0 E4 K3 l% M5 E5 m% f! u: X$ v- A3 D. c( [/ x
|
|