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

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

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

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

x
* g: y" v- i6 w7 |4 ?

1 P# p  i4 a% x9 I4 m6 LUG NX二次开发旋转特征代码分享
/ P( u  H8 B$ `) r6 j# @' C$ H7 }  d: G- C
如何使用NX二次开发进行旋转2 e: l  ^1 q/ V0 c  y3 p- F% D4 y  I3 F

3 U$ P( O; I$ ?
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch), m& B2 q1 y' [. F2 Q; k- f
  2. {
    9 W. w" N' w/ `! ]
  3.          Features::Feature *nullFeatures_Feature(NULL);# D/ D: E) X. T6 k4 \/ |4 ~4 ^

  4. * }' q, c, h! l- H/ M" J
  5.     Features::RevolveBuilder *revolveBuilder1;( [) h$ Q9 L5 U
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
    9 s; s2 L* d4 S5 V9 @
  7.         revolveBuilder1->SetTolerance(0.001);6 X8 b. P" E+ P6 @  L2 t
  8.     Section *section1;$ s# M3 d& c" j1 y) `8 N5 n& g- a2 O
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);6 I2 v& f7 P$ c- Q2 h3 w; f
  10.     revolveBuilder1->SetSection(section1);% ^% c- d+ z2 {+ c0 m6 ?
  11.     std::vector<Features::Feature *> features1(1);
    4 i/ P! L$ K4 `$ A' O6 \  b" {$ l
  12.         features1[0] = sketch->Feature();1 [1 t& W+ j# D. D/ R
  13.     CurveFeatureRule *curveFeatureRule1;
    4 ?$ E( \0 v) j5 q" Q
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    7 [; F: s9 k( P0 Q7 {7 @
  15.     std::vector<SelectionIntentRule *> rules1(1);; J/ d+ _, E# P7 y; d& f$ ?( ]
  16.     rules1[0] = curveFeatureRule1;( ?' r8 r8 f% p
  17.     NXObject *nullNXObject(NULL);
    + R6 W8 {* \- V; t% u3 \
  18.     Point3d helpPoint1(0, 0, 0);
    " t. }' s! X( O1 l, Y
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
    7 ?$ O; y+ j: w+ p9 {1 u4 R
  20.     revolveBuilder1->SetSection(section1);
    # \' N$ w; Q+ ^/ A7 J/ ^
  21.         // get UI value4 a  R. D% {- `' e  o
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    4 Q6 K! C0 Z7 |; m3 l- ~
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);2 R" b  E' b8 [% G' @
  24.         revolveBuilder1->SetAxis(axis1);7 y% F$ Y0 N; p, _1 M2 w2 F
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
    5 [$ W  B7 m' D
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
    # p0 G& L0 p/ C& n
  27.          stringstream s_startValue,s_endValue;
    " z# l3 P% P' ]/ K% H8 R& J3 ^
  28.          s_startValue <<startValue;" k$ z/ b( z5 ^& H+ o0 y" x, S
  29.          s_endValue <<endValue;
    0 ]; c. n6 C: b7 p) w( x* D) M
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());# o8 S1 d$ N3 o5 i% n3 h# N
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
    / R; b+ T& j8 n  P+ U
  32.     Features::Feature *feature1;4 b: {( U) z) v9 y; O
  33.     feature1 = revolveBuilder1->CommitFeature();
    4 O2 p9 o, B* Z4 m
  34.         revolveBuilder1->Destroy();
    0 i1 y2 ^: s  `6 F5 N
  35.         section1->Destroy();
    ; H) P# @- D3 e# k
  36. }
复制代码

2 d# b" {& B. s+ R$ u
" ]# u" M: Y9 A! _* n6 I$ }& c/ V
1 I* b: u3 u5 w7 Y  G# U; e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了