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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2014-4-13 11:27:48 | 显示全部楼层 |阅读模式

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

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

x

0 g1 o- g1 o& _4 }3 D5 Q
5 c+ f- g5 U7 T6 V; H# kUG NX二次开发旋转特征代码分享
! x$ h( j4 _& `7 k+ k- W8 C  D8 W9 j: Q: C
如何使用NX二次开发进行旋转
  n5 @: d# j! E& M. x- u+ L6 j3 M- y* Q1 N2 a& e$ f
  1. void lesson33_createRevolve::createRevolve(SkeTCh *sketch)
    4 b5 t* j6 k. }1 b
  2. {/ a# Z& K5 \1 H4 `' {1 @2 \
  3.          Features::Feature *nullFeatures_Feature(NULL);9 n. p: \. t8 t( X
  4. % R) E8 c/ V- `. v4 X, V/ s
  5.     Features::RevolveBuilder *revolveBuilder1;, R& ~( a2 B% g1 [
  6.     revolveBuilder1 = workPart->Features()->CreateRevolveBuilder(nullFeatures_Feature);
    8 X* U  F  I% y9 e% H" i
  7.         revolveBuilder1->SetTolerance(0.001);
    ) S8 e- r4 ^  O
  8.     Section *section1;
    - S$ N0 Q$ H) E- X
  9.     section1 = workPart->Sections()->CreateSection(0.00095, 0.001, 0.05);7 P6 y% h% }: z$ s, k; }
  10.     revolveBuilder1->SetSection(section1);
    & ?5 p, j- K+ @: Y; b# P* H
  11.     std::vector<Features::Feature *> features1(1);3 f  u! C" O7 X" l6 S
  12.         features1[0] = sketch->Feature();4 o" U7 X9 f+ s0 F
  13.     CurveFeatureRule *curveFeatureRule1;9 r- X! L9 `  H6 \# Q% \
  14.     curveFeatureRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeature(features1);0 g8 B; G, v, i1 J( ~) o2 W! l' v
  15.     std::vector<SelectionIntentRule *> rules1(1);
    ' b6 R- ^! r/ Y( C! d% @
  16.     rules1[0] = curveFeatureRule1;: P6 H0 i  k5 c# m% G4 j
  17.     NXObject *nullNXObject(NULL);
    # m2 k7 D1 x: j# o1 e! J  `
  18.     Point3d helpPoint1(0, 0, 0);2 S  D0 }+ _: [
  19.     section1->AddToSection(rules1, nullNXObject, nullNXObject, nullNXObject, helpPoint1, Section::ModeCreate, false);$ r7 G& z1 @/ c$ Y2 p0 ?
  20.     revolveBuilder1->SetSection(section1);
    ! ~; R+ m) ^, g! T
  21.         // get UI value& l/ C7 ^9 v9 H+ ^0 S# w9 s& Z8 u
  22.         vector<TaggedObject*> selectedObjects = this->axis0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
    ! C- k6 @1 o( h2 k: P
  23.         Axis *axis1 = dynamic_cast<Axis *>(selectedObjects[0]);6 t7 l1 Z; p/ `' k
  24.         revolveBuilder1->SetAxis(axis1);  D- B9 A7 `; S% Q! _6 g
  25.         double startValue = this->expStartAngle->GetProperties()->GetDouble("Value");; |8 k1 k, Q1 o7 A' v5 x! K2 C
  26.         double endValue = this->expStartAngle1->GetProperties()->GetDouble("Value");
    8 C0 {/ l- {3 |# u, n. ~1 @0 \# Z
  27.          stringstream s_startValue,s_endValue;+ \" c, N* Z. G3 E0 W: C# A
  28.          s_startValue <<startValue;
    6 n% U, _# ~( P! o- ?
  29.          s_endValue <<endValue;
    " [# v' `* Y8 n
  30.          revolveBuilder1->Limits()->StartExtend()->Value()->SetRightHandSide(s_startValue.str());
    1 \5 X& K1 I- Y8 ~; h
  31.          revolveBuilder1->Limits()->EndExtend()->Value()->SetRightHandSide(s_endValue.str());" Z3 g  H) i7 ^0 A
  32.     Features::Feature *feature1;9 N& D  ^/ o6 ?% {, B8 i2 O2 E: n  V
  33.     feature1 = revolveBuilder1->CommitFeature();$ [8 p+ @5 ?" G) s/ T
  34.         revolveBuilder1->Destroy();
    ' t' W$ H& [: C3 ~6 I# [
  35.         section1->Destroy();7 }% _" T7 f2 x$ D3 j$ ?- |3 a0 l
  36. }
复制代码
4 n% Y" f" L+ q
- P3 k5 y; c' C5 v0 S3 ~

  r0 [8 I& c2 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了