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

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

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

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

x
7 \& s) ~  d$ j0 V6 i+ }

5 }3 e& o# ^3 {+ G0 w: zUG NX二次开发旋转特征代码分享! q6 t3 j; z8 U& T5 [7 v  l
5 {- O+ o9 I# ^2 Z! R& v
如何使用NX二次开发进行旋转
& {! d! K6 i! s  M) C- }2 x$ H$ X: f- E/ M3 C0 R
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)
    ' w' M* @. E9 h: q+ P+ e
  2. {" j# U, {3 `  i% w3 p
  3.          Features::Feature *nullFeatures_Feature(NULL);
    7 k8 y$ }3 I6 S  q& m, H
  4. ( L* m6 ?" P- c9 j& D' }7 x' X; Z
  5.     Features::RevolveBuilder *revolveBuilder1;
    6 l( V. B2 f( m# e( ^" j
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);7 ]( ?' |2 e- J0 ~$ @
  7.         revolveBuilder1->SetTolerance(0.001);
    0 e) s5 R( E% S7 I' W6 ?2 Y
  8.     Section *section1;6 _. U. s% u/ h, R) z9 O
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);9 V: l1 }( b. E8 x! L- Q  g0 N' p2 ?
  10.     revolveBuilder1->SetSection(section1);
    . f9 N+ T3 u' ~! P2 F5 k
  11.     std::vector<Features::Feature *> features1(1);
    ; z% B# c& i8 @" t; b1 o4 i9 ~
  12.         features1[0] = sketch->Feature();
    * w. y8 E5 C0 @
  13.     CurveFeatureRule *curveFeatureRule1;- P0 Q9 x# l% R! o6 Q& d6 Y
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);
    , p, X8 E9 n; L- a0 w/ w& Q( F
  15.     std::vector<SelectionIntentRule *> rules1(1);. b8 g; e" H& a1 o! O" A
  16.     rules1[0] = curveFeatureRule1;' e+ l7 R( n& y! k+ t3 x/ I
  17.     NXObject *nullNXObject(NULL);# N' ~5 o; _: L6 f! w! |, M
  18.     Point3d helpPoint1(0, 0, 0);
    9 W* L" E5 I& Q! \1 _6 [9 V7 |
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);
    , p& L' A5 @' `/ L" S4 [; C
  20.     revolveBuilder1->SetSection(section1);# ]2 W1 w! k: o8 E" Z) m+ w( x
  21.         // get UI value
    6 o* v) O7 i" R4 s
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    7 U9 g9 h# Z4 V
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);; d- I& R) {! P; f6 J' ], _+ ^
  24.         revolveBuilder1->SetAxis(axis1);: Z+ t1 z8 B, j# a5 H  g' N
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
    - Q8 W( V6 I( p& U- B$ X
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
    % q% H1 G1 Y4 Z$ ]. o) _
  27.          stringstream s_startValue,s_endValue;
    2 y0 T1 r; H6 K+ f0 u1 p  q
  28.          s_startValue <<startValue;
    * v% g! J- y2 T" K* V# l
  29.          s_endValue <<endValue;1 t1 M4 B5 _* g1 B1 K) T* x: u+ \2 ]) @
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());
    # W  f; C# A% E& Q; m0 ?
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());: X7 u/ [* ~* y* l
  32.     Features::Feature *feature1;
    ; t) |/ d+ c" l+ z
  33.     feature1 = revolveBuilder1->CommitFeature();' ~9 X! A0 Y( Y, S3 ^7 m/ e- H
  34.         revolveBuilder1->Destroy();
    8 _% j1 b5 J! z
  35.         section1->Destroy();
    , i  P" w/ X' I
  36. }
复制代码
! s+ y3 D. q5 }3 ]9 \- H

, Z4 t+ U4 H5 I$ y
& ?$ a" ~& y6 h+ b
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了