PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

请使用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
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch); J- |3 }# {5 F/ Z8 _* O5 Q
  2. {
    4 C  z/ K. X5 z& [$ y4 L5 G6 g& v  P
  3.          Features::Feature *nullFeatures_Feature(NULL);( h9 ~; h" t6 ~- h1 k9 j, p2 }

  4. ( F$ d5 p! x6 q/ J1 o# }
  5.     Features::RevolveBuilder *revolveBuilder1;/ u6 k' @" p  m+ l+ D# q
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
    2 [7 C# u0 p$ s1 c, m! g: o
  7.         revolveBuilder1->SetTolerance(0.001);
    & ?* n1 `1 U- d& b7 h1 i
  8.     Section *section1;
    5 e3 L" U  H1 d5 X
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
    ; f) L8 R/ M1 K7 u! i0 X' N
  10.     revolveBuilder1->SetSection(section1);- L9 y- n+ W5 ^( ]8 D
  11.     std::vector<Features::Feature *> features1(1);8 H& X" g5 N! \/ u4 Q
  12.         features1[0] = sketch->Feature();
    7 a0 u: ~% {) Z; p
  13.     CurveFeatureRule *curveFeatureRule1;! u- B  e6 A6 A5 o; D
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    $ N, s; x( h7 ?4 x; P6 k
  15.     std::vector<SelectionIntentRule *> rules1(1);
    / A  `/ r  Y! C3 ^- e
  16.     rules1[0] = curveFeatureRule1;3 _5 Y8 P8 n& R# o3 n* P$ w: w$ P
  17.     NXObject *nullNXObject(NULL);
    0 ]1 i1 i8 D6 w) {* u* j6 s
  18.     Point3d helpPoint1(0, 0, 0);# U, R/ W# w% E
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
    4 v$ f6 E1 w" s# y. B/ G* b/ O
  20.     revolveBuilder1->SetSection(section1);
    0 g3 I2 o2 Q: j3 X
  21.         // get UI value
    6 G( G: q; k/ W4 H
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");1 w$ B' G0 D# U$ i: e8 Q6 u
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);
    * n0 ]: ~: U0 N8 q0 W
  24.         revolveBuilder1->SetAxis(axis1);
    2 v9 R5 X& a! k/ W
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");+ Y/ }2 K. S& v$ ^3 ^3 l
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");4 Q' B) C# g3 @* g1 v$ v8 @0 {
  27.          stringstream s_startValue,s_endValue;
    . M- P4 T3 {9 ^' K; v
  28.          s_startValue <<startValue;
    3 D! E& `9 k; p9 h7 @1 |
  29.          s_endValue <<endValue;+ ~& n  {9 I9 j, Q7 ^
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());1 z" ]8 E- o" y0 O4 m* o3 g
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());4 D6 i9 f. }9 `( Z2 P# x
  32.     Features::Feature *feature1;
    % r6 M5 ^6 U  ~( q& A% K
  33.     feature1 = revolveBuilder1->CommitFeature();" I! ?4 x1 R& O- }" a: L" o
  34.         revolveBuilder1->Destroy();
    : K( ^- |! c* Z/ d1 n2 E+ Q
  35.         section1->Destroy();; c& C0 e% d9 O& O
  36. }
复制代码
+ n0 N) s& t0 d. Z& C6 x9 q
7 b7 b- c' Z+ b# I
; }1 a, h1 N& r8 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了