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

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

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

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

x
8 t: ^8 r6 u* r- h

. q. E7 U4 p0 C" V; u  JUG NX二次开发旋转特征代码分享7 M" j( Z& U' v9 e2 Z; ^; {
7 o0 i# V* i0 r8 Y
如何使用NX二次开发进行旋转
, G+ Z0 h6 k0 R) H8 \- y7 I7 c
; ]6 T8 G" M2 X3 k
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)
    9 ?9 j0 F7 L# L) I  V* W+ K
  2. {2 ~! p% o+ D. b4 M  U
  3.          Features::Feature *nullFeatures_Feature(NULL);
    8 G) h3 p; T# {

  4. 8 R& _3 i: u& U) Y2 m% h6 b! E
  5.     Features::RevolveBuilder *revolveBuilder1;$ O) G9 Y8 Z9 J7 S$ ]! f0 k/ `
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
    4 P+ q2 }+ \% g, Y
  7.         revolveBuilder1->SetTolerance(0.001);
    # B5 V. @2 y( j" u" d. h$ F
  8.     Section *section1;. I' G3 o1 Q1 \2 F4 j% X6 X6 t
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
    % Q' i8 R) _" l" y7 X( x: _$ ]  m$ r  ~; r
  10.     revolveBuilder1->SetSection(section1);* `/ ~$ k' K/ A1 S4 A& P
  11.     std::vector<Features::Feature *> features1(1);" z0 o5 |3 o8 q! e( z' P
  12.         features1[0] = sketch->Feature();
    4 E! s" e" T3 k+ J# p
  13.     CurveFeatureRule *curveFeatureRule1;/ R4 K/ H- O* I1 R5 \* q
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);+ u3 U9 e. Y; M3 m0 \3 j. n
  15.     std::vector<SelectionIntentRule *> rules1(1);6 j3 ^4 L$ k1 o. K4 N7 z4 b
  16.     rules1[0] = curveFeatureRule1;
    " [. Q4 i# f5 B8 p# g5 w9 n0 R* w9 s
  17.     NXObject *nullNXObject(NULL);) n1 u! T1 M4 f  W) _1 b! E
  18.     Point3d helpPoint1(0, 0, 0);
    & }: ^$ a: c, Y
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
    # r! @, T8 q. A! J
  20.     revolveBuilder1->SetSection(section1);4 V* J% n6 ~! a7 k5 Q
  21.         // get UI value) N: f$ K3 b8 F. _4 X2 |" Y4 H
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    ) t5 y) Q( V3 g- i8 N
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);+ o  q1 Y$ ?; {- |2 X8 P
  24.         revolveBuilder1->SetAxis(axis1);& A* H; A* C. O& S9 k; v
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");6 H7 ?, ?- M1 e7 `) ^
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
    / R* }4 x3 v0 J8 w
  27.          stringstream s_startValue,s_endValue;/ U8 ]! Q' D6 f
  28.          s_startValue <<startValue;, R9 ]8 l% \3 Z6 @, c
  29.          s_endValue <<endValue;# ]2 C' l" |: x# v4 r
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());& [- I. Y1 p4 }9 Q, g
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());. h2 S$ v2 c7 X6 v3 l
  32.     Features::Feature *feature1;
    . d: u! g4 V: g& ~
  33.     feature1 = revolveBuilder1->CommitFeature();1 `+ ?9 X  n( a: P, p  P+ _/ R
  34.         revolveBuilder1->Destroy();
    / b0 Q7 G( r6 n5 N
  35.         section1->Destroy();
    ' ?# F6 L( t5 x  m/ b7 d- i9 b
  36. }
复制代码

( w0 {8 f3 n8 l! J( F( {7 u$ V3 @& m/ F" U9 E

0 [& o3 L1 P* o- x8 B$ r4 t
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了