PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

[求助] Move Object 中出现报错

  [复制链接]

2014-6-30 09:59:52 3991 2

eda 发表于 2014-6-27 14:52:48 |阅读模式

eda 楼主

2014-6-27 14:52:48

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

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

x
                Session *theSession = Session::GetSession();5 J  D# R* n7 @' T6 R
                Part *workPart(theSession->arts()->Work());9 p9 o# ~6 ?( j9 u9 `" ]3 m5 ]. _
                Part *displayPart(theSession->arts()->Display());2 s- J- ^3 a5 x2 U: Y' i$ I

0 d2 J" C, @; ^* x, g- ?/ d                Features::MoveObject *nullFeatures_MoveObject(NULL);
4 }( k# I, v( ^* y# U                Features::MoveObjectBuilder *moveObjectBuilder1;$ u1 I0 C; P! Y( A- o; t
                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);6 e8 k- \( X1 ]7 Y# k0 k5 U, X% Z$ k2 ?

+ L% m# |" h; D) y6 x1 Q4 c+ F$ r                NXString angleValueString;2 j/ E5 P, [4 x
                std::stringstream ssang;& a! q% @2 k) P: }) t
                std::vector<NXOpen::Body*>bodies;
% [9 |+ i; j$ t3 d9 I! ^                NXOpen::Body *bodyList;  i+ B0 o( X( x9 Y
                std::vector<NXOpen::Curve*>curves;
6 l) C' c- i$ T# {" Q; C: w. D: G0 o                NXOpen::Curve *curveList;
4 E1 F1 h; H% s5 y7 @                std::vector<NXOpen:oint*>points;
; u, f* _" B* x* i                NXOpen:oint *pointList;
  I8 `- ^7 V" t: x2 m+ X5 G; D3 R( v: J5 B; l$ R
                //Get base point
& c" h9 J3 X! @6 z% B7 c  v8 j                BlockStyler:ropertyList *pointProperty = point0->GetProperties();
6 C  Z, ~; h; a7 c8 [% q' o) x                Point3d point= pointProperty->GetPoint("oint");/ {; t3 m5 O8 e( M# S4 ~$ |9 [
                delete pointProperty;
) P( x  Q5 k0 H8 @  O                pointProperty = NULL;
% ~: Z7 r$ J6 k, _5 n! x, Q" O) C1 q+ |% _1 H
                //Get revolve Lie value: \3 A# c6 y' M1 E
                BlockStyler:ropertyList *rValue = expression0->GetProperties();
2 _: V" q; g! U7 }* t% Z  T                double rangle = rValue->GetDouble("Value");
6 V9 x7 ]0 O$ N+ A8 f                delete rValue;
5 P2 q- e  U9 y$ i0 L                rValue = NULL;
. r/ R4 U+ ^8 y! j
* e& X: f3 Z* L6 X4 n                //Get Rod section Objects% ?% o8 p7 }/ ]' J
                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();
! X4 p! E' `  O2 |7 I( b5 H( V# {                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");7 j0 ?, E. q: ^3 y$ d  H% W6 V
                delete bodyObjects;
5 x9 v! C! Q5 S* _2 G: ^5 r$ l                bodyObjects = NULL;
4 T  ?& n7 X: L; m3 O) Q6 `+ R; I: y, N' ^5 ]- H8 H' H- R
                //convert TaggedObject to body & curve & point/ d' ~- w+ t* y! Q9 S
                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);
( b& ^2 A# D% `; `( W1 O. Q                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
( n' g3 p% R# u7 x/ |( B8 w                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);" t. z+ u, U+ J2 ]9 Y- m% f) U' l2 H5 C2 r

" J! ?* a# P, q1 Z# M6 j- N4 P4 S" B# w! L" Z4 R$ n7 M
                //convert values to string
- J0 c8 f1 o. U$ u8 M% B! a- _9 O* t                ssang<<rangle;
) v; ^5 l0 ?( N  D                angleValueString = ssang.str();) s7 B+ G+ A% `2 [
1 k% I/ o; Y  u9 r
$ T% c, |* ^" |! S3 d4 B+ G
                //create motion feature
! s# w) G' F  ~8 m7 u$ {9 O3 T/ h- n# l! b6 ^; F9 U3 T3 C
                Point3d origin1(0.0, 0.0, 0.0);
5 S# A, b0 q' y5 T/ C' y                Vector3d vector1(-0.0, -1.0, -0.0);
/ N4 M2 M: g8 D, G  a+ c                Direction *direction1;# P% k. }  o* G: D; U- m* J
                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);  J$ ?$ B8 t, p) Y6 N* v

9 B8 r8 x; r$ N4 }; v                Point *nullPoint(NULL);
* h9 b) a" T  k. m7 r& e* t                Axis *axis1;4 @. p  J- ]' Z8 J3 g
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);
- ?1 R) l! }0 w
0 d; e4 l# Q' S4 A  x; f4 b                Point *point1;4 v/ Z' p6 L! ~- _
                point1 = workPart->oints()->CreatePoint(point);0 [; K* ]% g. _' ^. _0 V4 ~
/ D6 n5 q: O& ^6 N
                axis1->SetPoint(point1);  + Y$ j7 m9 ]+ [  S  i- x( {
                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);' ~5 l6 g6 ~, [- O4 L$ U* E
                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);" y: N* k2 T+ d- c) L# J
                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);
- G# g- }  D; G  g! s                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);
, I( x0 @2 G! U+ F                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);
3 j9 _$ o9 L' ], Z: r                moveObjectBuilder1->Destroy();
7 B( j) h' T( W" V* a9 v5 T" N. T( r$ Z  U6 S" P! G' n
调试没有问题,执行的时候,总是后报错,还请指点一下:0 i1 o4 T! w! ~6 b: {

; g6 X: R% O- F9 q  u                               
登录/注册后可看大图
9 {1 q! n8 z/ k* Z4 Q: K" J( e

+ z. X( j/ F7 n9 |9 E# W2 O( \" i! E+ s. H. K2 L- \
1 e% [/ `# b( \+ P2 H
aaa.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复2

eda 发表于 2014-6-27 16:54:23

eda 沙发

2014-6-27 16:54:23

NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2014-6-30 09:59:52

admin 板凳

2014-6-30 09:59:52

eda 发表于 2014-6-27 08:543 S! E2 o) y5 ~% e" O6 Z; n& I% F7 _* S
NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态

9 V, M' S! F) K7 n, Z. h没见你commit吧( ^; g' {/ I0 `# [: Y1 ?
moveObjectBuilder
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了