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

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

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

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

x
' g( ~* D% x0 X1 _: ?

) C2 P# e6 {/ [$ R7 i2 X8 E* hUG NX二次开发旋转特征代码分享
; P* v$ {) n) B' c4 Z" {
- [, K) Z& c- Q/ \# h+ A如何使用NX二次开发进行旋转
( M- {+ J; o4 i4 W2 M
) w/ w$ o  m' q+ C4 F! f8 M. ]! z
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)
    * [9 ~1 B4 m  z; }* C0 ^
  2. {
    & y/ [  g9 d! }) z* u1 e  g
  3.          Features::Feature *nullFeatures_Feature(NULL);% _  m1 F; I( R5 m$ R5 J- |1 n

  4. * r' O: ]- g& b3 s
  5.     Features::RevolveBuilder *revolveBuilder1;) @9 z, V/ a# R, }
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);& m- g, l' L" N$ I. F2 w- X
  7.         revolveBuilder1->SetTolerance(0.001);
    ) X% P5 K7 z+ }) |$ q( m
  8.     Section *section1;
    $ i8 d8 G& U7 Z
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
    , g1 [$ U8 C/ i- y8 u
  10.     revolveBuilder1->SetSection(section1);
    8 _, Q5 I* `( T+ y  w
  11.     std::vector<Features::Feature *> features1(1);6 U' }( f  a, V' _3 ]# U
  12.         features1[0] = sketch->Feature();
    , t% B& O% @0 q
  13.     CurveFeatureRule *curveFeatureRule1;6 e! y7 x( P" H; `% w) G
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    ! ]! x7 d' ]; l3 ^6 O
  15.     std::vector<SelectionIntentRule *> rules1(1);+ |8 D  a" G% u9 S
  16.     rules1[0] = curveFeatureRule1;; X- B4 z8 Z' Y+ ~, A+ U
  17.     NXObject *nullNXObject(NULL);$ U$ S& q9 X8 c; O- o# Q; h. ~! }
  18.     Point3d helpPoint1(0, 0, 0);
    3 a* `  {9 w) m9 {+ J/ ^( S! k
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
    0 i- F) i1 P3 D2 |
  20.     revolveBuilder1->SetSection(section1);3 W$ W6 \5 I6 u5 I& p( ]2 H" R/ E
  21.         // get UI value, r; g  m$ I* f/ a
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    - w; d; v6 @6 o  N! g
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);* X& L- u2 T" g7 S* |
  24.         revolveBuilder1->SetAxis(axis1);
    * k0 _" p8 U% A7 t
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");( T( M! u, ]# v7 p. S( [* E% E& d
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
    2 v5 |/ B" i9 O& {: ?. L
  27.          stringstream s_startValue,s_endValue;1 N' @+ L/ d+ B( `
  28.          s_startValue <<startValue;
    # ?) e+ {6 B3 g' P
  29.          s_endValue <<endValue;+ O  ~* r! J' Y: M
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());7 S6 H5 t, x2 ^1 _' P. R- S
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
    1 V/ X; G( [- U) z2 z
  32.     Features::Feature *feature1;
    2 b6 I4 c( Z8 k
  33.     feature1 = revolveBuilder1->CommitFeature();* r0 a, J8 ]: f- L& f
  34.         revolveBuilder1->Destroy();
    ; T9 j0 [% }$ ^0 _- I$ ^
  35.         section1->Destroy();
    , M3 V/ W% \$ p1 J  B; @8 r4 @) ]
  36. }
复制代码

: a. O$ F% a; W5 h
2 y' F) _1 c* E* Q, u, C
$ p) v  I( \9 @$ [6 J, l4 W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了