|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
y8 ?, K3 I2 {$ ], }+ u0 N% c
5 W/ ^, a& ?$ u# I# F; x/ E
UG NX二次开发旋转特征代码分享
" C; ^! g9 ?* W: Z9 W% P! G A) B
1 c( ?6 v' Q7 d$ z s1 E( q/ X如何使用NX二次开发进行旋转3 {$ ~6 H( S7 K' a+ _
; w9 c/ A) r( D% ^2 ^) c5 r" Z
- void lesson33_createRevolve::createRevolve(SkeTCh *sketch)4 d% x* a) L$ R0 {0 o; |8 z
- {
1 q6 S% \/ I+ J1 q1 u - Features::Feature *nullFeatures_Feature(NULL);
5 Q4 J! P2 J, E2 z - - h% ~% u4 }8 h: U6 S
- Features::RevolveBuilder *revolveBuilder1;: z5 M5 k7 e) B3 C, d. s
- revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
2 X0 @) L8 v8 n2 |0 h - revolveBuilder1->SetTolerance(0.001);
; g% }) w# {" ~% H: G - Section *section1;
! z" W! L# L* @4 W; {6 v - section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
8 V2 L: k+ q) @: g - revolveBuilder1->SetSection(section1);
# [9 d* F+ x( Z* Z - std::vector<Features::Feature *> features1(1);
5 L' W- R/ j2 q! P/ @( G5 r - features1[0] = sketch->Feature();6 m0 y8 k. m* g( ~
- CurveFeatureRule *curveFeatureRule1;
* D. z' M/ ~% E8 N9 i' M! x - curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);2 M6 z( B. G; f" J9 i* B( R
- std::vector<SelectionIntentRule *> rules1(1);' F: z' S5 q- L, m h6 { ?9 A4 S2 \
- rules1[0] = curveFeatureRule1;5 O' U+ k( L- k! I9 x
- NXObject *nullNXObject(NULL);0 S! N* r. O5 [. e, Q; g* V' A
- Point3d helpPoint1(0, 0, 0);$ p w& Q8 i* @6 k; `) g
- section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);* i% ~3 T; y8 `7 C/ d7 T( \5 U
- revolveBuilder1->SetSection(section1);# x2 x0 I, x6 Q2 T- L8 ^( Q A
- // get UI value
. R/ H) P$ Y& Q7 P" I R- K6 ^8 \ - vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
1 |) [0 k1 w8 J: s - Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);' V/ [ G" Y3 p" W# }' X
- revolveBuilder1->SetAxis(axis1);
0 a% a( f0 p+ K+ C H - double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");! e2 Y' Z7 L {- Q
- double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");: Y$ |. q4 F9 l
- stringstream s_startValue,s_endValue;
6 y# C. u, w: @+ Q! o, K - s_startValue <<startValue;7 Q6 { l: S y h9 b' W# ^
- s_endValue <<endValue;! O% h! w4 ~ y/ U% w( J
- revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());
2 r; o2 S8 x6 n, O8 q& g - revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
1 ~8 Y( O' q, D2 x& n - Features::Feature *feature1;3 `$ ^' _9 e1 E4 n: s% ~, |
- feature1 = revolveBuilder1->CommitFeature();) j# O- g8 v/ e; G$ J* a }
- revolveBuilder1->Destroy();$ w0 \# v; H* m2 I# _' g# r; J+ U; u+ u; @
- section1->Destroy();, T/ `4 W' n3 [
- }
复制代码
+ E2 I3 D3 x* o) h6 o8 z
) P& D, B" c# j ^) ~, z A& x& V* c8 Y& R+ c; T$ x
|
|