PLM之家PLMHome-工业软件践行者

[二次开发源码] UG NX二次开发旋转特征代码分享

[复制链接]

2014-4-13 11:27:48 3259 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2014-4-13 11:27:48 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
( [$ P: d1 w$ X: R
6 A! G$ U" l# R, `+ E! U
UG NX二次开发旋转特征代码分享
" r3 w2 R. Z1 `1 V& f$ c" F+ U
+ V: ?& T$ Q0 E8 {6 u如何使用NX二次开发进行旋转
1 V3 K* I% E+ p. l; q9 [8 D
6 u# [2 R8 ]* H8 w5 a
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)* N; j& ]7 f# P( C0 d
  2. {! }$ a1 _, Q3 ]5 }
  3.          Features::Feature *nullFeatures_Feature(NULL);( v6 V5 f; C9 N1 _: n1 y
  4. + t8 h$ P* P# T* y
  5.     Features::RevolveBuilder *revolveBuilder1;4 r8 [/ n5 o- D
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);5 O6 c2 r+ V. n5 o% K
  7.         revolveBuilder1->SetTolerance(0.001);9 d6 E8 S7 C" W2 I8 V" b
  8.     Section *section1;
    # |5 n8 V# N5 ~4 p( w
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);9 }1 _1 s+ n8 D" H
  10.     revolveBuilder1->SetSection(section1);
    " y$ u. b/ y/ j, L
  11.     std::vector<Features::Feature *> features1(1);
    8 b8 i, k6 X  ~- L( m
  12.         features1[0] = sketch->Feature();1 K; B8 l* a" s8 ~0 R, N# L9 T
  13.     CurveFeatureRule *curveFeatureRule1;
    9 K1 U6 O" |, z* s8 |0 T4 f6 v
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    6 E% n2 ^5 r7 B1 M
  15.     std::vector<SelectionIntentRule *> rules1(1);! C7 c1 o0 x9 D6 N2 w
  16.     rules1[0] = curveFeatureRule1;) I, a1 J8 g; ]2 _: ]) y
  17.     NXObject *nullNXObject(NULL);
    7 Q( p$ o+ K9 Z5 n5 z
  18.     Point3d helpPoint1(0, 0, 0);- l/ j: y6 W4 O$ @7 N# y/ p( P
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);) a4 D  o7 F" a, d5 c2 {# E' \  l% S
  20.     revolveBuilder1->SetSection(section1);2 R& _; {3 a8 u; H' c
  21.         // get UI value
    - V0 I$ d0 E5 \* Q: X6 r6 p
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    5 l  @, B# Y1 n% b
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);& c5 d3 o8 X( V- L# D
  24.         revolveBuilder1->SetAxis(axis1);' ~& I  Y4 r9 J% T* V
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
    1 x% \9 r, N: R- s, r
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
      |% M! U; [9 p2 g4 Z4 H4 g2 F. _
  27.          stringstream s_startValue,s_endValue;
    # _1 V0 S& Z. D. z* g- s& d
  28.          s_startValue <<startValue;7 N! E7 ~: ~# J/ K1 \
  29.          s_endValue <<endValue;
    % x( S) A! N+ A2 o, i+ D# Y8 o/ Y) l
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());, O- N" n2 Y  f) `2 \, H* e/ z
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
    8 K6 O7 d5 ~( f; x
  32.     Features::Feature *feature1;
    4 D; [0 [% g8 w6 o6 u
  33.     feature1 = revolveBuilder1->CommitFeature();; T: R  `# V/ d# A" L
  34.         revolveBuilder1->Destroy();
    $ R2 M2 p: O2 `/ K
  35.         section1->Destroy();, S8 M1 I* ?- A9 T/ Y( E
  36. }
复制代码

! Q8 G0 `# B& l  F4 D1 C# Y6 ]; B
; e; x, Y% [9 E. Q# b
; x  u8 X$ k5 }0 ~, {- ^$ O
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了