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-国产软件践行者

[二次开发源码] UG NX二次开发源码分享: 报告所有的表达式信息

[复制链接]

2016-3-4 13:45:00 3416 0

admin 发表于 2016-3-4 13:45:00 |阅读模式

admin 楼主

2016-3-4 13:45:00

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

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

x
UG NX二次开发源码分享: 报告所有的表达式信息
! |! G6 L$ }1 H+ z9 E, x% W* p( x: v8 }. w2 c$ N0 `

  N$ u) b6 z: q0 m! Q+ J' q7 ?$ p% B
; {$ W+ R+ X: M3 M. svoid MyClass::do_it()& ^4 S& ~% m: c9 a( e! J$ j
{1 c" A; V4 C! K) r5 F+ e
    std::stringstream out;. x8 X- Z5 v7 M* l
    ExpressionCollection *expcol = workPart->Expressions();
. H$ I4 D8 K$ a( U, s. \* T    for (ExpressionCollection::iterator it = expcol->begin();9 H& P& n" f0 U
        it != expcol->end();2 c1 O1 |+ t8 e6 ]+ ^4 F: u& O8 n
        it++)
' y; ?5 ]' M) F( x    {
0 p. t4 s3 y: e  c& J/ I2 I        Expression *expr = *it;- Q  Q! \: D) J+ y3 j& [& P! e- {. {7 |
        out.str(""); out.clear();
" ^. @5 g4 n' `/ D$ U8 p5 k  i: _        out << "\nExpression: " << expr->Tag() << std::endl;
7 F1 c6 I1 @5 d8 W$ ~1 y0 }        out << "Name: " << expr->Name().GetText() << std::endl;3 v+ E6 s/ `# Z/ ]  C) N
        out << "Type: " << expr->Type().GetText() << std::endl;
2 Z+ ~/ p9 ~$ a! |$ v) ?" ~        out << "Description: " << expr->Description().GetText() << std::endl;
# t) S. N% O" U# a( n# T# Z8 f4 K& w        out << "Equation: " << expr->Equation().GetText() << std::endl;
% j' Q* f# s. A
& R+ B1 d# d7 n6 F        std::string strType(expr->Type().GetText());
5 P; Y0 I  k8 c( R4 a9 \" w+ \) c( ?2 v
        if ( strType.compare("Number") == 0 )& `; Q8 H4 E/ ^6 T% b, O/ l
        {
- Y. K" l  V. B, s( a- J            out << "Units: " << expr->Units()->Name().GetText() << std::endl;
2 o, r1 j( v; I) j' Y8 ?0 J            out << "Number Value: " << expr->Value() << std::endl;2 p) k/ J) m1 h8 Q! x
        }
- a( M% x( ^3 M$ {, b6 Q4 n        else if ( strType.compare("Boolean") == 0 )
# q  c* U, w0 Z9 Y! T2 m% a" ^            out << "Boolean Value: " << expr->BooleanValue() << std::endl;7 t# G8 A, `! @
        else if ( strType.compare("Integer") == 0 )2 ~* J: l& [1 ~/ y; C/ P5 p4 a* w
            out << "Integer Value: " << expr->IntegerValue() << std::endl;4 \  Q, _. _3 t  R( L9 Q' w9 S
        else if ( strType.compare("String") == 0 )
/ T; I, c. u, R9 ^            out << "String Value: " << expr->StringValue().GetText() << std::endl;% |+ u8 y, b3 p  Y# J9 x
        else if ( strType.compare("Point") == 0 )+ Y" N, C3 G0 v. K' a" _
            out << "Point Value: " << expr->PointValue().X << "," << expr->PointValue().Y << "," << expr->PointValue().Z << std::endl;6 `7 K3 E8 b0 B' x% I. l+ P
        else if ( strType.compare("Vector") == 0 )) B: K- A! ?! Y9 c, d. L
            out << "Vector Value: " << expr->VectorValue().X << "," << expr->VectorValue().Y << "," << expr->VectorValue().Z << std::endl;# B0 t' w; _% a
        else if( strType.compare("List") == 0 )
6 N8 n8 Y0 c) Q7 H' x            out << "List Value: " << expr->RightHandSide().GetText() << std::endl;
0 e. F$ g1 l  F/ N6 }0 i4 |- r1 ?# W$ Y
        std::string strRHS(expr->RightHandSide().GetText());
' A; M# k) M7 K5 J. L; H4 x        std::string::size_type nPos = strRHS.find("//");) m0 z5 b  R6 Z9 t1 K
        if( nPos != std::string::npos )5 W+ T) u) P8 n! _8 a
        {
' \9 `- }" D. }1 u, b7 S! i& c            std::string strComment = strRHS.substr(nPos+2);6 N! V/ {+ I) s/ W2 M( e" G* Y7 S
            out << "Comment: " << strComment << std::endl;5 i% Z0 p8 P" e% M5 I( N
        }8 B5 K1 m% O% d! Y

3 n, ]9 B: ]1 Y8 f        if(expr->IsInterpartExpression()); m8 s1 U" W" L  B
        {
+ A- [1 |! X% E            NXString sPartName("");& J1 w$ f* u! j' V" O( H( h
            NXString sExprName("");6 C6 ?1 o) X: j' b& w  I
            expr->GetInterpartExpressionNames(&sPartName, &sExprName);
/ \6 ]# m7 g" S0 t! a            out << "IPE partName: " << sPartName.GetText() << std::endl;
4 @; _' l' Z4 E            out << "IPE exprName: " << sExprName.GetText() << std::endl;! _4 x3 |: K4 I7 X9 L* v$ c
        }
! t" g0 Q9 G# A: V9 j- L" m4 `7 i) {6 Y4 l! @9 d/ D1 }
        print(out.str().c_str());
; E# q$ m( Y; G4 d0 @& D+ G% P+ j) ]    }, B4 ~& J: {1 F
    ' Z6 E/ p6 E; r" m3 l6 B& ]. p& f
}
+ y: [" g/ M3 {/ n3 C- p) J& v( I5 ?( M  g% |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了