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

[求助] Move Object 中出现报错

  [复制链接]

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

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

eda 楼主

2014-6-27 14:52:48

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

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

x
                Session *theSession = Session::GetSession();# h! O. p! W9 h5 O# H- W
                Part *workPart(theSession->arts()->Work());
- v1 u( ?: H1 a2 \                Part *displayPart(theSession->arts()->Display());
5 E9 U6 V3 K3 u4 D2 [8 l
: E2 a+ e2 X4 m+ s1 p                Features::MoveObject *nullFeatures_MoveObject(NULL);
. |! @8 @9 {, l, T' J3 H                Features::MoveObjectBuilder *moveObjectBuilder1;
: H$ o' N3 u' D- S                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
3 @  F4 J2 N+ A- z, w1 F" `# ~$ l
9 }8 u6 C1 o/ t: M& @% Y  T3 e                NXString angleValueString;, e- _" T( f$ o3 W6 d. E
                std::stringstream ssang;* E$ @, \( ?3 S+ g. R
                std::vector<NXOpen::Body*>bodies;0 y- F9 s% p% |! c9 Q8 v
                NXOpen::Body *bodyList;
- r; K- W  C/ @! w# o. ~                std::vector<NXOpen::Curve*>curves;4 f2 I7 C- z+ U
                NXOpen::Curve *curveList;: `! t. C' Y- m. ~# L" ]
                std::vector<NXOpen:oint*>points;, k; O- B# S( i# G! V
                NXOpen:oint *pointList;, Z- }& i1 d2 a6 `
) K4 N% P8 L7 P5 N% O2 T6 A. d
                //Get base point
! R7 K; H; \* u% i. O                BlockStyler:ropertyList *pointProperty = point0->GetProperties();( m, {7 |: K+ E0 S" h. u
                Point3d point= pointProperty->GetPoint("oint");3 c+ x  q1 A8 ^* J% }0 J
                delete pointProperty;
% Y6 I/ [6 m5 `% s# b! }6 Z8 g                pointProperty = NULL;- s$ J8 D3 j/ z; B! V' o9 c, @
$ P+ Y5 a( @2 x, s6 v9 d  a; x
                //Get revolve Lie value8 ?$ N1 y5 s$ X1 H7 k/ ?" K
                BlockStyler:ropertyList *rValue = expression0->GetProperties();
( m. A% ~& X, Z                double rangle = rValue->GetDouble("Value");5 G, d5 l" J. ~$ r8 l  l
                delete rValue;) p# y: ?- O7 C/ X- {" j1 T/ ~' s
                rValue = NULL;* }5 e$ ]% V3 B$ u

/ J9 g. {& F" T" p$ |& b9 Y3 T" B: [                //Get Rod section Objects
; p- a8 K* o% P" W                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();
9 ?/ I3 K2 t: `                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");
7 |: d, J' T2 D7 z& ~! T                delete bodyObjects;7 f$ _; U; `& v. L8 `' i* h8 |
                bodyObjects = NULL;
* `6 {3 q  e+ f$ l" h( z3 k5 f) o2 s1 q& L
                //convert TaggedObject to body & curve & point
9 w' D1 J" i* J  ?2 A4 B                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);
) T4 c9 a- {4 }/ P* I                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);; N1 A) l1 c4 r$ B9 u
                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);" ?( U/ s" y: ?2 ~

+ E# C4 L7 ~- R0 B% t( K3 Z* f7 ~) f6 O/ X) b0 y
                //convert values to string
- k# j8 ~" H2 [0 u! V& l) Q2 A! s                ssang<<rangle;
& R8 a8 i3 `+ P+ y! z' Q                angleValueString = ssang.str();5 }/ Q  h* a" S' w* ~

& R6 N4 O5 Q# s4 L! J
$ {- z7 h$ u9 @$ \3 O                //create motion feature
4 N( ]$ F9 c  C% t. Z/ [9 t& O: l
                Point3d origin1(0.0, 0.0, 0.0);
+ D* F1 {3 O0 f! [0 E- ~                Vector3d vector1(-0.0, -1.0, -0.0);% H1 g& q9 }0 e
                Direction *direction1;
! ~' z; Q; @6 n. j3 ?                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);# Q. E' i+ L/ i

3 n1 |! b' _: T" o) X9 ^                Point *nullPoint(NULL);
, X, |. H5 J& m" S6 ?2 S                Axis *axis1;
4 r7 k4 k3 T5 }& ]6 M                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);2 g6 n& o8 Z! Y% d/ G

5 N9 A0 S+ p9 c" [  S6 T                Point *point1;
9 R7 K. Q* {0 k' E" ]2 s                point1 = workPart->oints()->CreatePoint(point);& q" g9 E1 q9 }! n  N* S& r

0 R' ~9 s! |2 L, T; A- i3 ]                axis1->SetPoint(point1);  
; c" Q- h& Y- k6 J7 v% X  _                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);
# o% V5 y! w7 I0 ]8 ?6 B3 w. E                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);) I4 B2 u6 s9 Y9 e
                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);
: `$ J8 J% o1 B. t0 g0 _7 B" _                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);) {) O7 N7 p# a( E
                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);
( c, Q4 Z. J! m1 `; F9 S0 d                moveObjectBuilder1->Destroy();
- C# E7 B0 W, f2 g3 r( k  W$ P
5 q7 U. q9 ^3 [  \调试没有问题,执行的时候,总是后报错,还请指点一下:, O0 S4 w/ M  F: P9 B4 ^* p3 x
7 r$ I" B& J% J3 j4 e+ ?0 A3 c
                               
登录/注册后可看大图

* a, \5 `4 \0 E1 b" u4 v* u+ N) \/ d/ \" {# w5 l0 Z  g5 u4 @0 h

" E: B  I. Y8 x' O3 c5 ~
2 _' ^& Y* t. g4 N) [! [
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
- W  d3 U) H4 p; e, kNX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态

' K9 \- }" ]+ `8 |没见你commit吧
8 K- T1 [  c! L/ V# zmoveObjectBuilder
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了