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

[求助] Move Object 中出现报错

  [复制链接]

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

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

eda 楼主

2014-6-27 14:52:48

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

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

x
                Session *theSession = Session::GetSession();: X# c2 G8 h$ ?* [  j* ~
                Part *workPart(theSession->arts()->Work());
3 U( z0 G  [$ W% z! b                Part *displayPart(theSession->arts()->Display());. E& r0 g+ D( u9 I3 Y
) U  g3 o8 m% ?/ G+ ^5 a1 u
                Features::MoveObject *nullFeatures_MoveObject(NULL);6 n5 ]7 l- a+ @& ?, ?& t& ?4 E" H
                Features::MoveObjectBuilder *moveObjectBuilder1;
) M/ f9 ^& F) H2 u5 D& X                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
& h7 T- k0 E) z* g7 U. t2 X) L! b2 R6 f6 U' W* W2 H# }' h
                NXString angleValueString;
$ X3 k9 R3 ^. I3 r                std::stringstream ssang;
& U9 h% ^; t  `5 C5 X                std::vector<NXOpen::Body*>bodies;
9 R  U/ S  V" f  u1 Z1 b/ J                NXOpen::Body *bodyList;
- F7 Z. m9 S1 M& v0 d                std::vector<NXOpen::Curve*>curves;
( [/ B3 e3 L) N. @3 [/ c8 n; [+ F                NXOpen::Curve *curveList;1 c6 r2 t! u. |6 a4 [0 l  D5 r
                std::vector<NXOpen:oint*>points;
8 B! B* T* A5 @7 X/ H) q2 o( U$ M3 n                NXOpen:oint *pointList;+ t- M% |9 D! [, A  ]' o, P

5 ?, ]& Q1 h1 O( t/ f- o0 k                //Get base point( ~4 M" G, K8 ^$ r1 R+ |
                BlockStyler:ropertyList *pointProperty = point0->GetProperties();
6 `5 w2 }: v* j! P# w' V% n' c                Point3d point= pointProperty->GetPoint("oint");
, e# Y- C% K) \$ z                delete pointProperty;8 `$ l$ j5 p, N% S9 K* E
                pointProperty = NULL;
* i' f! ?; Y9 N* s& H4 B! M1 h! n# K" p4 M; D
                //Get revolve Lie value
  G/ s. _$ ]/ `8 C) M4 n                BlockStyler:ropertyList *rValue = expression0->GetProperties();
- C( e) A* K4 {/ }  Q                double rangle = rValue->GetDouble("Value");
7 [  a9 Y; Q# z% t" F+ t3 V                delete rValue;
1 r: S+ ~1 J, r) W                rValue = NULL;) b; a- W: i1 K& W

% X+ a- d8 V  B" ?                //Get Rod section Objects- r& f# Q- O( R5 m
                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();" F" @, r# G% |+ r7 Q: G
                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");
, h( @; \6 c+ m+ X; e& o                delete bodyObjects;0 q; T. i, L3 o& y1 [
                bodyObjects = NULL;1 E, J/ n% u) J; _  B

7 S# J1 x- Y' W4 F                //convert TaggedObject to body & curve & point
4 M# l) K  K) G) `: Q3 H                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);% H! ]: O( u' e7 @5 f
                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
2 I2 k! y/ P3 g1 ^1 ^) Z                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);
# u: ^! q3 H& |8 t0 N+ Z; @2 c% |9 c! N# V6 s) e
# o  F9 P6 g5 ~# |6 h
                //convert values to string1 j+ B5 I& t% d1 K" ?+ R% E& r: O
                ssang<<rangle;% v3 O7 `: D4 L0 u& w# c' _8 J
                angleValueString = ssang.str();5 o3 Z5 p% l9 e7 O& D& c/ g

3 M% h0 e6 x, l8 G* G. K, f) I3 Y* a5 d. U2 h" t( X
                //create motion feature8 T# h1 x5 U, D  G) u& D
8 Y5 L6 N2 n% x% H3 T) Z
                Point3d origin1(0.0, 0.0, 0.0);
' N* K7 y  E- |! A                Vector3d vector1(-0.0, -1.0, -0.0);
9 H3 y: L8 y1 N' @0 x                Direction *direction1;( r  U" ]- J( Q( W# i1 o0 B
                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);
0 m5 i/ ~- H* |! ?9 B! M$ ^8 f4 m+ G% c. }7 c5 `; y
                Point *nullPoint(NULL);2 @1 I1 A3 T( u5 a5 d
                Axis *axis1;) |. @4 m+ V4 h5 U7 s1 q3 I
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);
" {) c7 W7 R; W  ]
2 {/ i3 c$ j# L1 g. [9 ^                Point *point1;
7 k4 m8 U" N1 L  q  a. Y                point1 = workPart->oints()->CreatePoint(point);
3 I# S, o- l- i% {. H
1 Y/ C4 E" X9 r                axis1->SetPoint(point1);  $ E" V$ n' t7 |3 y# M
                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);
3 Q% j: w0 @) K& N                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);4 d+ W4 |" r1 I; Q4 u8 Q
                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);
6 P5 `7 r1 _) C8 e  R7 ?                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);1 c: p7 n- [2 Z% u/ o
                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);6 r8 D  w7 t. @
                moveObjectBuilder1->Destroy();
9 o1 [* q: j. V# q0 m8 S2 j$ n8 g; Z
调试没有问题,执行的时候,总是后报错,还请指点一下:! U# t* c1 m1 g8 @5 E

* ]1 B5 g4 x% \- g/ Q$ t, k                               
登录/注册后可看大图

' C+ D. u0 [" p4 N( u& P7 R7 C1 k$ a  t+ S' ~0 `7 L
9 f: d, R: V9 [; t# |

& S# F- o+ t+ A4 d8 K4 o0 z- d
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:545 B( A1 h$ O2 T) C6 ]# m
NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态
0 r, J+ D! R& w  A. ?
没见你commit吧' K0 g: P; f- C1 [8 q& e
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二次开发专题模块培训报名开始啦

    我知道了