PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[资料分享] NX二次开发培训源码分享: 通过选择指定特征,修改特征...

[复制链接]

2015-1-9 09:20:48 2852 0

admin 发表于 2015-1-9 09:20:48 |阅读模式

admin 楼主

2015-1-9 09:20:48

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

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

x

+ q. C4 }) {$ V! Y$ g7 Z
  ^& i) w' O" J: X% W( }: T; a& F! j' w0 y# {1 I
创建一个选择feature的功能,当用户选择的是sphere的时候,让用户选择更改球的直径!; c' n  C5 @- o  a
' K( a' J5 ?- s' I4 X* W
Session *theSession = Session::GetSession();
2 M. P6 f3 g; L$ C        UI         *theUI = UI        ::GetUI();6 Y6 j4 D6 U( Y+ R2 `, `4 i2 P. u
        Part *workPart (theSession->Parts()->Work());: m% c! N, h* z% y4 @8 K0 p
- C. J& T" T; x
        // initialize the select
$ g  f( S) x/ r+ |6 O: ~        std::vector <Selection::MaskTriple> masks(1);
, I+ ^- n! \' L, O( R' e8 \        Selection::MaskTriple mask;5 ~: F% w4 a0 Z
        mask.Type=UF_feature_type;# [/ S$ z' l6 l/ J4 g6 v
        mask.Subtype =0;
6 r. `; E$ K7 A% Y$ y/ m/ X3 g        mask.SolidBodySubtype=0;$ _- ]4 N& F) t5 c
        masks.push_back(mask);  u9 t) o3 h% P
        //masks[0] = {{UF_feature_type,0,0}};
+ W3 ~+ ^$ e* K2 L        TaggedObject *object;
9 a. l! ?; P& [/ W2 V        std::stringstream ss;, t, R, W. l. C8 P4 G) u& o( A
        Point3d cursor;! \* B% X, R1 p0 N/ a0 x) C
        Selection::SelectionScope scope =  Selection::SelectionScopeUseDefault;
0 p. A8 r- f; M8 m        Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;, |- V' i& L/ Q
        Selection::Response res;" y* U/ J/ I1 ?6 z
        Features::Feature * getFeature = NULL;
5 h- l5 \$ n0 h3 i7 c! ?        res = theUI->SelectionManager()->SelectTaggedObject("select a feature:","feature select",scope,action,false,false,masks,&object,&cursor);
3 }( h: L, Q/ t' |' B2 s        if(res == Selection::ResponseObjectSelected || res == Selection::ResponseObjectSelectedByName)
% e. ~) V' W3 l6 O                {2 b' B+ A- s. }# R. l5 j
                        // get the information
' v; |0 }; V5 O! X4 E6 F                         getFeature = dynamic_cast<Features::Feature *>(object);+ N' }" b3 n3 ~) k7 `/ P
8 Y, n' l/ B! u  V/ |# k9 G8 L1 j
          theSession->ListingWindow()->WriteLine("the select feature type is : " +getFeature->FeatureType() + "\n");7 M6 t0 `+ i! v- g

6 _* G6 s# _/ ], P) r                 if (!strcmp(getFeature->FeatureType().GetUTF8Text(),"SPHERE"))
# ^. X3 {& b$ Q0 t3 \                 {
. ?1 x3 W! Z+ Q- v9 u                         Features::Sphere *getSphere = dynamic_cast<Features::Sphere *>(getFeature);8 d' {" `% B6 A) |7 H" r
                         std::vector<Expression *> exp =  getSphere->GetExpressions();! y' x" A6 ^( ^) w2 c* }) Y
                         ss << exp.size() <<endl;5 p! N5 Y1 ~! M0 s8 V
                         theSession->ListingWindow()->WriteLine("the expression number is : "  + ss.str() );: Q+ m. Q4 T# _/ @2 C' X
                         for(unsigned int i =0 ; i< exp.size();i++)
+ V  w7 [3 u" h+ ^  T                         {   . G+ x& ]% J- @7 G5 l8 _7 V; g
                                  theSession->ListingWindow()->WriteLine("The expressions are : " + exp[i]->Equation()+"\n");& @9 Q) [/ s9 B% S# J3 J5 C
                         }
9 W! k5 r9 z: ]3 D  J, O                         Session::UndoMarkId undomark = theSession->SetUndoMark(Session::MarkVisibilityVisible,"change the exp");
" l) v& i8 q+ q                         exp[0]->SetRightHandSide("400");
, T9 y4 R; k; v  e* M0 E' L                         theSession->UpdateManager()->DoUpdate(undomark);
5 ~7 V" `# T, G3 G: H! l- g  v/ W                         theSession->ListingWindow()->WriteLine("The expressions are : " + exp[0]->Equation()+"\n");. Q" Q; E" o8 B( z
                 }: i9 G; F5 q6 |
          }
9 p4 e# H/ J5 V' ~% t; }9 v4 h$ j/ A7 i7 y
! [4 I) p' y! W' [& a  W2 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二次开发专题模块培训报名开始啦

    我知道了