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

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

[复制链接]

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

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

admin 楼主

2014-4-13 11:27:48

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

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

x
7 ]; E( F, U3 q, ]4 n

% c4 z! ?$ f2 l4 l+ @1 h+ LUG NX二次开发旋转特征代码分享
" ]" z4 m, y; W, l" c, ?0 j6 \4 |5 f* i. d8 g/ L% D3 u
如何使用NX二次开发进行旋转; |" Y* z4 v/ j% J. Q: T

/ F5 A% a3 f  p6 f8 Y
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)( X1 n  i& B1 R7 T. m% u
  2. {4 _' p" }: I7 ?) ?7 B+ g2 D  k9 h
  3.          Features::Feature *nullFeatures_Feature(NULL);$ C' R2 ^) m3 E

  4. 2 N/ L7 R- s: g2 e  ]
  5.     Features::RevolveBuilder *revolveBuilder1;
    9 Z' \( f( R) k# H# ^
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);+ ?2 ]  Q7 K& C  C/ J8 {; B
  7.         revolveBuilder1->SetTolerance(0.001);/ y' a7 h0 Q. V1 j1 s) ^6 T
  8.     Section *section1;& Z1 Z) D% M/ t- |1 i
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);
    ( E, Z' D9 B0 r/ \) Z5 S7 _/ y  v3 _
  10.     revolveBuilder1->SetSection(section1);$ _: r& s) @) I  m0 X$ l2 ~4 P
  11.     std::vector<Features::Feature *> features1(1);
    $ Z8 Y- @" P+ l1 ?% a1 ~/ F1 J7 p
  12.         features1[0] = sketch->Feature();
    * E# |3 M  e% W1 u  l' T% U
  13.     CurveFeatureRule *curveFeatureRule1;+ _2 c4 Q! _# t9 n0 L) u6 n8 N
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);, k. L$ o% S3 U8 @1 k9 a9 o) ~" v
  15.     std::vector<SelectionIntentRule *> rules1(1);5 f. s6 h9 m4 ~, `5 p' W0 J
  16.     rules1[0] = curveFeatureRule1;8 T5 y7 p; Z: n& m% z
  17.     NXObject *nullNXObject(NULL);
    ) t/ U9 G) I; ~# Y' ]( c
  18.     Point3d helpPoint1(0, 0, 0);
    ' f9 a' z* P7 l- y6 ^
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);/ H1 f. d" }5 q
  20.     revolveBuilder1->SetSection(section1);
    & q6 S, _, h  T/ D
  21.         // get UI value
    5 }  }7 ^* D& R, g9 e) n
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");9 T6 o6 W& i$ p- L" O9 i9 T; ^
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);
    $ x+ _+ z0 s' g6 b5 V# i
  24.         revolveBuilder1->SetAxis(axis1);) v6 r/ F+ {" t$ c2 {; i
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");
    8 }% J5 J* X6 {6 B$ z* F
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");$ l8 Q; _3 \% q) j8 `4 P. y
  27.          stringstream s_startValue,s_endValue;
    0 I& i2 J9 [0 h; |) a
  28.          s_startValue <<startValue;
    . b8 i+ |9 D. I2 U
  29.          s_endValue <<endValue;! D5 f: j) \7 i% V' j
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());( r4 |3 E- U# E! N) I
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());
    / p6 N% A3 ?/ x: `% E
  32.     Features::Feature *feature1;0 Y1 u2 F' a* Q( n
  33.     feature1 = revolveBuilder1->CommitFeature();
    " R9 F2 N6 T/ L
  34.         revolveBuilder1->Destroy();
    1 M* k& q+ b" d2 h
  35.         section1->Destroy();6 x2 S# P) [. X" {
  36. }
复制代码
: A) I5 s+ }) q1 r) T: x0 \

$ \5 w2 i% ^; a  M8 n6 I" x5 N8 G7 l  X9 [6 [6 l5 `& R7 D/ C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了