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

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

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

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

x
+ s$ u: o, @  ?' P6 \3 |; O

3 g/ \( L. z( [/ R% WUG NX二次开发旋转特征代码分享
: \/ |# Q+ d3 ^  [: q6 ~
- E. T# i7 T" R9 R$ w( ^: C* U$ L如何使用NX二次开发进行旋转
! u$ B8 D- z, k1 g" j# {* Q8 M
0 Q% c; U5 @+ ~- v9 ?- B7 B
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)
    * K' G4 C( F! k
  2. {% n+ d% ^1 d6 S2 O' M: O9 j: ]
  3.          Features::Feature *nullFeatures_Feature(NULL);' `* ?. z. X) P5 D' m

  4. * b" q$ S5 N3 M' O" J) l  H3 m
  5.     Features::RevolveBuilder *revolveBuilder1;
    & G! N% y, T+ H' w# y$ X
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);7 {1 J& `1 B* `* O
  7.         revolveBuilder1->SetTolerance(0.001);
    7 s4 x9 ?% R1 Y+ m% t* v$ p7 H
  8.     Section *section1;9 r+ _" J2 r! \2 C, c9 g
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
    : x+ w' l0 u% Y% g
  10.     revolveBuilder1->SetSection(section1);
    / p  J9 ]; g' k
  11.     std::vector<Features::Feature *> features1(1);
    ! }: g* j. s6 c2 H% _5 u. ?
  12.         features1[0] = sketch->Feature();
    $ {+ H! u2 `# c8 P: w5 o& X0 j$ G
  13.     CurveFeatureRule *curveFeatureRule1;
    9 |! e# _  h4 s% B2 e7 N
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    ( Y) s. E$ A6 u2 L) e. M, F
  15.     std::vector<SelectionIntentRule *> rules1(1);
    0 ~* G4 Q- t4 R4 K+ l
  16.     rules1[0] = curveFeatureRule1;, e" |- P# C- O
  17.     NXObject *nullNXObject(NULL);# |. H# _, d8 |! I2 u3 u! k% }7 K
  18.     Point3d helpPoint1(0, 0, 0);
    0 e/ c. Y; l- H! V( x
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);7 T9 P2 p# {6 v$ h  ?
  20.     revolveBuilder1->SetSection(section1);
    , W, l, W, x! p
  21.         // get UI value4 U$ [1 b3 z. M1 ~: Z  o0 M! I
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");! X# T9 x$ O! W* K$ ~3 @5 V
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);0 J  h4 t5 }& z# I
  24.         revolveBuilder1->SetAxis(axis1);
    0 A1 e+ K/ H6 {# y
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");" B- p4 ~, R7 O) H/ U. F; P
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");: c. p' @. S: J9 _6 R: T) E
  27.          stringstream s_startValue,s_endValue;" O9 n! s5 t7 j
  28.          s_startValue <<startValue;
    4 l6 p" L- [8 E) S% q/ N
  29.          s_endValue <<endValue;: u1 Y+ H, f; B/ j$ H
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());
    $ P3 c- X  C: |) n: r9 P
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
    0 A/ U$ ]! T2 U( q# s% \4 P7 y
  32.     Features::Feature *feature1;+ z& q# Q' |/ s( f2 O. U
  33.     feature1 = revolveBuilder1->CommitFeature();
    9 i8 H( ^( `7 K7 E
  34.         revolveBuilder1->Destroy();2 D) H( D4 N0 I+ k
  35.         section1->Destroy();" o; D6 D  a: `+ l; c: k. Y: @
  36. }
复制代码

9 H" W4 I; u( ]' ]& x! _# r& [7 P7 m) \  G( e6 v
4 c9 @  D4 h5 T. I4 @7 V
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了