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

[求助] Move Object 中出现报错

  [复制链接]

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

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

eda 楼主

2014-6-27 14:52:48

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

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

x
                Session *theSession = Session::GetSession();
! @) C4 _1 p6 _9 Y1 @# V4 M                Part *workPart(theSession->arts()->Work());) ^+ V4 U& E0 n1 F
                Part *displayPart(theSession->arts()->Display());
* J9 V3 B3 K- u4 v. \
1 k9 o3 v+ C# s  X% X9 O                Features::MoveObject *nullFeatures_MoveObject(NULL);7 Q1 h1 N  I% S- f" E+ S2 U
                Features::MoveObjectBuilder *moveObjectBuilder1;+ x6 w, R* i3 o
                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
2 i2 r2 v- f# P, p4 Y: Q/ B# n! V7 S8 t
                NXString angleValueString;
% L$ {# r7 p) d# ~! O& a                std::stringstream ssang;1 L+ l& S) d' z9 t4 ^( c& H' F) S% L
                std::vector<NXOpen::Body*>bodies;: ~# p7 u5 k$ `% F0 [* p; V
                NXOpen::Body *bodyList;/ E6 p" ^+ Z' O" u/ ]; t, U6 }
                std::vector<NXOpen::Curve*>curves;) Q2 ^( ~, h6 {$ @* W; v
                NXOpen::Curve *curveList;7 j' C8 ?4 E/ G
                std::vector<NXOpen:oint*>points;  k# H! j1 a  V% ?* w8 Z$ G) X
                NXOpen:oint *pointList;3 A, Y8 B( t% w3 a! _2 L

+ p& Z. e( c8 s4 E. v" Q                //Get base point; e8 E" }6 I7 h% s3 J
                BlockStyler:ropertyList *pointProperty = point0->GetProperties();
* g) J& U: @( H: ^  G5 r, N                Point3d point= pointProperty->GetPoint("oint");6 B; W; O! g: @8 H  D2 V- L
                delete pointProperty;+ A3 [' j% q* ~7 v7 {9 ?3 R  D) r# c
                pointProperty = NULL;+ p& e+ M7 }7 r; V* i& C! L$ h* o$ B
  G, h% E* N$ S' o/ e. H
                //Get revolve Lie value
2 n) D8 f2 A+ T                BlockStyler:ropertyList *rValue = expression0->GetProperties();7 v' \. F' V% s* ]- g2 q' c
                double rangle = rValue->GetDouble("Value");7 T! _% I9 \. @# Y( Y, J2 ?
                delete rValue;
, M; ]* M1 M# G/ [/ L8 U! n                rValue = NULL;
+ d' t: y& m: d% t- _( `6 q5 ]  a' v: j5 X4 P  G# q* D
                //Get Rod section Objects0 i/ w, E$ i" ]' Z; N% P. @
                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();# r  \6 M7 W0 u& u' k' b
                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");( M7 A' h) o) ?- M" j! s3 B7 r
                delete bodyObjects;
' q+ F. \2 Y' x5 S: v6 d/ j                bodyObjects = NULL;
2 M2 U9 ?; s; Y8 I1 O6 J8 w: Y% c9 h/ i1 ?6 d0 v" q
                //convert TaggedObject to body & curve & point
) G* p" f, [# z% F                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);
& T4 c" }2 C8 j+ K                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
' M1 H& V+ |0 e; p* f5 h                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);( F- ?' B: _, Z8 l% T

# h6 s5 K! D+ q- ]5 @% p
% E% p* c5 G& K& w                //convert values to string4 ^" u7 A/ N+ w& r
                ssang<<rangle;
% c1 w  V9 W  h6 L                angleValueString = ssang.str();% }5 I4 f8 Q% O0 d
& f  i, q$ X+ i" l

3 I5 ]4 p$ S) |: `                //create motion feature
7 d1 |" B9 W/ C3 u
7 B2 O6 y7 B5 m9 x, U1 D                Point3d origin1(0.0, 0.0, 0.0);
% P7 z1 y0 h% k$ L9 Z                Vector3d vector1(-0.0, -1.0, -0.0);& p# \# e/ d0 @# w7 T. E! R0 m0 Q
                Direction *direction1;
7 m% d( i) _. Y2 W) s$ V                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);
0 Q7 L$ w6 Q1 x8 m; |# c/ N9 ?
) l/ k! E; J5 ]% i( x& t9 G                Point *nullPoint(NULL);2 Y" U- Z0 q4 u# ^$ N
                Axis *axis1;: t0 O; @7 [+ b9 w& I( V
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);; Q$ e0 ^& h0 C' q$ ^. o4 f
: {- @) L$ E4 |! R+ T! d
                Point *point1;: h2 i9 N" f1 U8 b& M6 X
                point1 = workPart->oints()->CreatePoint(point);
9 B+ _1 x" f$ k# B. X" z( l1 |9 O! Y- {5 D* s, ^7 `8 S. P
                axis1->SetPoint(point1);    C8 i( A) W# ?! L- [
                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);
: p/ V  x3 R, O8 T& W. p) E                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);! E9 ~2 G9 N# [: |" R* e
                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);
* K; X* O$ T4 x7 T0 w                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);* z, f" \0 E8 I4 a! M
                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);
; m3 ^' O& i- ^5 a4 x2 L                moveObjectBuilder1->Destroy();
5 e1 w3 _( t* U7 ^
5 ~5 f! ?& w% @( I. \$ B$ v调试没有问题,执行的时候,总是后报错,还请指点一下:
0 p4 }, u& o# h7 ^
! m. P9 b( E# _- V6 o2 A5 i
                               
登录/注册后可看大图
5 U9 k; F, |4 q' m9 e

: I6 ~6 D+ @6 u- M+ e) J; W8 _, |
: O- c* G2 o2 D: F, _$ t- C) n
  N0 y9 c" ~: `# `" E
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:54* [" O; o9 S# `# R+ @7 p
NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态

: l( k" M( D- Y4 K- o0 H7 _没见你commit吧  f& z0 t( }/ O7 I. S
moveObjectBuilder
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了