PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

admin 发表于 2014-4-13 11:27:48 |阅读模式

admin 楼主

2014-4-13 11:27:48

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

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

x

0 b- q; ]2 s/ G+ [6 T" P& l; F7 x$ n' Y9 O
UG NX二次开发旋转特征代码分享: v$ h2 y- T9 ^( P
2 w! d# S* Z9 `
如何使用NX二次开发进行旋转6 F7 q3 c# [2 T9 }/ P7 N* `
- O- T5 a1 w5 z0 Q9 y. [. ^
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)7 A$ P$ G2 ~* i" @
  2. {& A9 f- c% V5 C/ O
  3.          Features::Feature *nullFeatures_Feature(NULL);) ?1 j' N# C6 Q& R  n9 h

  4.   G2 k0 c  c( M
  5.     Features::RevolveBuilder *revolveBuilder1;1 f$ W' T2 G5 L, E& Z1 u
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);0 i% X/ m7 l  I  y: c
  7.         revolveBuilder1->SetTolerance(0.001);3 {7 O2 e/ z  f; c8 ]
  8.     Section *section1;( y2 F! F( Q* D% _2 ~# }
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
    2 k0 x6 n5 Q5 N8 h) t" W9 Q6 L( b  f8 Y: b  ~
  10.     revolveBuilder1->SetSection(section1);
    " x6 A3 l9 J5 r
  11.     std::vector<Features::Feature *> features1(1);$ H4 ]+ t: M) X1 G0 P, l" ]
  12.         features1[0] = sketch->Feature();0 @4 v5 [9 A% \1 d  L; `7 V% z3 K
  13.     CurveFeatureRule *curveFeatureRule1;5 Z3 R- y8 {3 A$ D5 r. I0 F3 l/ ^
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    % b  w; R( d6 g8 ~/ f0 s2 E
  15.     std::vector<SelectionIntentRule *> rules1(1);
      m; E+ J) p% `9 `' B  A
  16.     rules1[0] = curveFeatureRule1;
    / l! @8 M6 F) [4 ^' q6 v, u
  17.     NXObject *nullNXObject(NULL);  w! ^5 A, f7 }1 |
  18.     Point3d helpPoint1(0, 0, 0);
    1 s' S( p  n1 Q3 D, D
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);1 i# F2 m8 X3 u2 G! z9 T4 z0 ?3 z
  20.     revolveBuilder1->SetSection(section1);, {8 w% ?9 v) \5 r' E
  21.         // get UI value$ ?; c; d+ j* Y
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    6 Y% X( z) C/ i7 V# H' |
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);
    , t1 c- D& K7 P, j' [
  24.         revolveBuilder1->SetAxis(axis1);+ M0 G# {5 r. A4 f8 h2 M
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
    # {; p$ A% p' q% K4 f+ i
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
    7 I2 _) q2 t5 N+ b* P0 w9 r5 S* A
  27.          stringstream s_startValue,s_endValue;
    ! Z/ Y7 ]8 o& ]: o) H# R
  28.          s_startValue <<startValue;9 X; }# x. @5 ?1 M, i! A' O# q4 }, j
  29.          s_endValue <<endValue;3 S# ?7 J2 z1 o; ]: `9 j8 u2 v
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());: e9 ~2 X. u2 }7 G) |/ O! x; c
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());# n4 u  H( X# b0 j/ S
  32.     Features::Feature *feature1;
    / U% f& I& z8 X
  33.     feature1 = revolveBuilder1->CommitFeature();( d$ G' ~. T$ D. u) b
  34.         revolveBuilder1->Destroy();4 v3 h& ?1 b- O, u' `. a; |$ x. M
  35.         section1->Destroy();
    ) i1 B; {8 s" t- W; Q7 g
  36. }
复制代码
4 W. Z: \6 S  ^! u* J
9 `* A! F- J; E5 R7 t% v

+ ^, i5 U; ^, N/ [* A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了