|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 q# e4 Q# c* w5 S. X) s% \" [% W7 M- void skeTChTest::extrude(Sketch *sketch)
8 h [8 M4 l: H9 H' ]) v2 p - {
' z6 y9 U; O+ t% u7 s - Features::Feature *null_feature(NULL);
% l7 E) i1 B1 r. c! h. q - Features::ExtrudeBuilder *extrudeBuilder = workPart->Features()->CreateExtrudeBuilder(null_feature);' J; @' { M; P7 M
- NXOpen::Section *section = workPart->Sections()->CreateSection();
3 ^4 O+ m- J- v - extrudeBuilder->SetSection(section);8 C1 x% h9 r5 u7 e+ q/ i6 Q! h. o
- ' O+ K9 K8 b& @" n" s+ a
- vector<Features::Feature * > featureRule(1);1 s0 k3 {1 ]9 C7 a" r% b* `. k
- featureRule[0] = sketch->Feature();6 Q& K! ?6 p1 w: X
- CurveFeatureRule *curveFeatureRule = workPart->ScRuleFactory()->CreateRuleCurveFeature(featureRule);
3 Q6 E& z W! c5 M/ T& p - std::vector <SelectionIntentRule *> rule(1);; Y: N% S, v0 v( A, `
- rule[0] = curveFeatureRule;
# \% h! _3 g+ p, I7 k - NXOpen::NXObject *nullObject(NULL);* w) v/ _0 E. V, b- Z
- section->AddToSection(rule,nullObject,nullObject,nullObject,Point3d(0,0,0),Section::ModeCreate,false); ^+ \4 b D$ _& }9 o
- - A9 e# @5 K8 q) W- a4 s
- extrudeBuilder->Limits()->StartExtend()->SetValue("0");
5 U2 r$ [( @7 M% C - extrudeBuilder->Limits()->EndExtend()->SetValue("100");
" n* n9 o4 L0 V. M7 T - Direction *direction = workPart->Directions()->CreateDirection(sketch,SenseForward,SmartObject::UpdateOptionWithinModeling);2 j8 i' S% u0 Z+ b
- extrudeBuilder->SetDirection(direction);
: |* c4 _; R( }. c" u( D; T - ' y7 F- N) J& b( ~8 X
- extrudeBuilder->CommitFeature();
& j$ ^4 `8 H) z+ l2 q3 v. i: J! D+ S - extrudeBuilder->Destroy();
8 w" i- w# }& z/ O- `# \ - 9 F. Y* b' Q' W& @/ F/ J7 \
- }
复制代码 # {) L! z2 O, i7 y
% W. R0 f+ b; e m这是一个拉伸草图特征的二次开发源码,仅供参考
8 Q, _# s* V, C) V
0 Z/ H1 g3 [. z. F4 |* u Q! _. c
/ c4 U0 R7 n- {: d
" S% B: B! `3 D S) u$ O
6 X v3 V! z/ m0 R |
|