|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" N8 n; L* f6 m, A! l
( f* O& _ x, k3 d; Y2 W8 a% I9 VUG NX二次开发旋转特征代码分享
5 q4 _( d: G9 M. V. z& x% n% Y/ n2 i! A, |4 j4 l
如何使用NX二次开发进行旋转
% o( N$ k" _, P
. Q5 K# n. \# X- void lesson33_createRevolve::createRevolve(SkeTCh *sketch); J- |3 }# {5 F/ Z8 _* O5 Q
- {
4 C z/ K. X5 z& [$ y4 L5 G6 g& v P - Features::Feature *nullFeatures_Feature(NULL);( h9 ~; h" t6 ~- h1 k9 j, p2 }
( F$ d5 p! x6 q/ J1 o# }- Features::RevolveBuilder *revolveBuilder1;/ u6 k' @" p m+ l+ D# q
- revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
2 [7 C# u0 p$ s1 c, m! g: o - revolveBuilder1->SetTolerance(0.001);
& ?* n1 `1 U- d& b7 h1 i - Section *section1;
5 e3 L" U H1 d5 X - section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
; f) L8 R/ M1 K7 u! i0 X' N - revolveBuilder1->SetSection(section1);- L9 y- n+ W5 ^( ]8 D
- std::vector<Features::Feature *> features1(1);8 H& X" g5 N! \/ u4 Q
- features1[0] = sketch->Feature();
7 a0 u: ~% {) Z; p - CurveFeatureRule *curveFeatureRule1;! u- B e6 A6 A5 o; D
- curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
$ N, s; x( h7 ?4 x; P6 k - std::vector<SelectionIntentRule *> rules1(1);
/ A `/ r Y! C3 ^- e - rules1[0] = curveFeatureRule1;3 _5 Y8 P8 n& R# o3 n* P$ w: w$ P
- NXObject *nullNXObject(NULL);
0 ]1 i1 i8 D6 w) {* u* j6 s - Point3d helpPoint1(0, 0, 0);# U, R/ W# w% E
- section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
4 v$ f6 E1 w" s# y. B/ G* b/ O - revolveBuilder1->SetSection(section1);
0 g3 I2 o2 Q: j3 X - // get UI value
6 G( G: q; k/ W4 H - vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");1 w$ B' G0 D# U$ i: e8 Q6 u
- Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);
* n0 ]: ~: U0 N8 q0 W - revolveBuilder1->SetAxis(axis1);
2 v9 R5 X& a! k/ W - double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");+ Y/ }2 K. S& v$ ^3 ^3 l
- double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");4 Q' B) C# g3 @* g1 v$ v8 @0 {
- stringstream s_startValue,s_endValue;
. M- P4 T3 {9 ^' K; v - s_startValue <<startValue;
3 D! E& `9 k; p9 h7 @1 | - s_endValue <<endValue;+ ~& n {9 I9 j, Q7 ^
- revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());1 z" ]8 E- o" y0 O4 m* o3 g
- revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());4 D6 i9 f. }9 `( Z2 P# x
- Features::Feature *feature1;
% r6 M5 ^6 U ~( q& A% K - feature1 = revolveBuilder1->CommitFeature();" I! ?4 x1 R& O- }" a: L" o
- revolveBuilder1->Destroy();
: K( ^- |! c* Z/ d1 n2 E+ Q - section1->Destroy();; c& C0 e% d9 O& O
- }
复制代码 + n0 N) s& t0 d. Z& C6 x9 q
7 b7 b- c' Z+ b# I
; }1 a, h1 N& r8 c
|
|