查看: 4486|回复: 2

[求助] Move Object 中出现报错

  [复制链接]

3

主题

22

回帖

367

积分

中级会员

积分
367
发表于 2014-6-27 14:52:48 | 显示全部楼层 |阅读模式

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

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

×
                Session *theSession = Session::GetSession();
$ [  M+ Y4 m$ D: j8 Z5 R1 O5 e* T                Part *workPart(theSession->arts()->Work());
3 Z1 V. o8 v; ]) L" q; x                Part *displayPart(theSession->arts()->Display());) o( C( a+ [- Q% {
* Q. k: a  s9 B- R! m
                Features::MoveObject *nullFeatures_MoveObject(NULL);
" o$ }1 k$ W: U! W& E, L+ C                Features::MoveObjectBuilder *moveObjectBuilder1;
' p: m- R2 w2 h2 e6 s& S, Y                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);0 J, K, f- r* h6 v/ l

3 J4 Y! v% ]0 t                NXString angleValueString;
! P" w' P: K6 C$ f! G6 C  t                std::stringstream ssang;& y- k4 |9 |2 f: K- x1 T9 d- p
                std::vector<NXOpen::Body*>bodies;; g! Q( d2 I& D8 f) U, U4 }; ]
                NXOpen::Body *bodyList;5 B- l2 }/ Z- i% n% r9 c6 e
                std::vector<NXOpen::Curve*>curves;+ s1 b) W, P0 B
                NXOpen::Curve *curveList;
! M, C" s$ J$ s- d" p. ?: L$ f                std::vector<NXOpen:oint*>points;/ X0 F# z! a6 A% @# e
                NXOpen:oint *pointList;
$ \4 t, d; G" k: k) W5 v$ N6 a8 p
) [' g0 o% t& e7 j                //Get base point! B( C1 a  v* y6 @0 u
                BlockStyler:ropertyList *pointProperty = point0->GetProperties();: w9 t, W6 Z$ b
                Point3d point= pointProperty->GetPoint("oint");
/ O/ ?$ a3 k( l3 J5 j                delete pointProperty;1 \9 v& m, A' p! p8 o0 ^; ~
                pointProperty = NULL;
( m& R2 A7 g  e3 S" f0 a7 H* e6 Y3 P$ F: O, l- i" o3 {
                //Get revolve Lie value
: `/ \0 m% ?- X                BlockStyler:ropertyList *rValue = expression0->GetProperties();
. V/ @8 z0 V9 b+ g. g) j5 }                double rangle = rValue->GetDouble("Value");
* |4 f  h) r5 N, w4 `! }                delete rValue;
* z8 W/ _& |! u3 P2 ~                rValue = NULL;8 l' o% l8 h* R
' `7 N; q# a+ |$ }2 `$ S
                //Get Rod section Objects
: \3 A  y0 N* Z' F                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();/ O9 C$ f$ F, T" ~3 u
                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");' |: h& l. H5 J' B9 `, U
                delete bodyObjects;
8 V; I( E8 o6 |5 U. b/ y                bodyObjects = NULL;+ d+ c& P2 j0 }

  ~* Q0 j2 B" ^: F0 ~% m2 {0 ~" K) `                //convert TaggedObject to body & curve & point# K; F: g9 B$ n0 ?6 ~0 |+ n
                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);
5 e+ i1 T* v! u. p7 Q                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
2 j! x1 G8 Q! U                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);+ b( L+ Z, [$ `4 B. e- O4 R
, L2 b4 i* q0 a  W1 ?+ j1 Y  n, u

$ E- {! X. O$ Y/ }9 C                //convert values to string) `. E+ b( z# Q' c) q" `
                ssang<<rangle;
1 l. t) e! f& k/ W# x9 o' l* x                angleValueString = ssang.str();( C  h% J! m: Z9 v  `: X

! ?- p6 ~) ^) d; S, x" w/ c. Q" h  w" H3 i
                //create motion feature  z9 R. V+ _/ L$ ^6 ^# d

9 [6 x; }  K/ w3 G6 o6 Q                Point3d origin1(0.0, 0.0, 0.0);
$ D- u' k6 A$ F+ o$ H                Vector3d vector1(-0.0, -1.0, -0.0);
- ~7 P7 ^9 {! V6 q1 k                Direction *direction1;
, C  }& B1 N' H# w+ W                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);* f4 c% r( p- A
  o% i# ^" o& \! r$ n
                Point *nullPoint(NULL);
9 G7 B& P& \* X6 N- c7 Y                Axis *axis1;9 }* |, n7 R, O
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);' H+ C6 S; y+ `( ^- Y4 o  }* c$ O- y
' m2 h2 V: c# P3 ~, N
                Point *point1;5 ?, y( W5 D* J  E4 [
                point1 = workPart->oints()->CreatePoint(point);
( l2 ?4 ?# K& u- l5 `. L
) G6 O5 m! ^# z* V                axis1->SetPoint(point1);  ; f4 \. L, J) ~! b
                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);( L; t9 g/ h, L8 F1 p' q
                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);: @( V/ b" Q, F: l: o
                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);
3 q8 M8 Z, G+ V3 b                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);
$ d! J$ P$ G' W% u0 r, Q6 E% K3 u                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);
# [) A3 H" _# u. @' R                moveObjectBuilder1->Destroy();
. g* M5 |/ Z" x7 Y1 z
7 ]2 m0 v! g9 i4 N( B调试没有问题,执行的时候,总是后报错,还请指点一下:3 p3 R" t) [( R% t, g4 Y+ W
- r1 \" b' z6 R1 k5 p
                               
登录/注册后可看大图
( X; Q6 s' G+ ~' d0 z3 }

$ F% E4 ?; @6 O( X% k1 F
6 P- X% M  Y/ l; B* G5 y. x4 t5 ^5 A- G, S& W4 [. }
aaa.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

3

主题

22

回帖

367

积分

中级会员

积分
367
 楼主| 发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

3

回帖

46

积分

管理员

积分
46
发表于 2014-6-30 09:59:52 | 显示全部楼层
eda 发表于 2014-6-27 08:54
% w! y/ R* v* Y- |NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态
8 B# w" v3 K3 Z& {8 _4 x  C
没见你commit吧0 b7 ]. ^5 w" i8 I. L( m
moveObjectBuilder
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部