PLM之家PLMHome-工业软件与AI结合践行者

[求助] Move Object 中出现报错

  [复制链接]

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

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

eda 楼主

2014-6-27 14:52:48

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

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

x
                Session *theSession = Session::GetSession();$ M2 p7 P9 o7 T7 m$ }+ b; d% X& U
                Part *workPart(theSession->arts()->Work());
7 Q- e. N" N8 k. ~                Part *displayPart(theSession->arts()->Display());
2 V* d- ?8 T" T4 i9 |+ E5 }- R: D3 @( R& h
                Features::MoveObject *nullFeatures_MoveObject(NULL);$ G# n& i9 X- d2 d' B9 q9 W
                Features::MoveObjectBuilder *moveObjectBuilder1;
: s6 S. f; [) r  t* ^5 P                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);- K5 B  l" I2 @! }5 c1 x, P

9 Y& T1 m% ^# ~9 a% f8 ~                NXString angleValueString;
# x$ e- I: J4 c3 q                std::stringstream ssang;
, T0 z& B. V9 B/ c$ C$ Y                std::vector<NXOpen::Body*>bodies;1 n8 ?: C' B- ^; R
                NXOpen::Body *bodyList;9 z( |( l* I1 r1 X3 t$ C6 k2 i- v
                std::vector<NXOpen::Curve*>curves;  i* X, S4 U* k* L
                NXOpen::Curve *curveList;$ a2 U# j) }% T
                std::vector<NXOpen:oint*>points;- ~4 ~+ i+ }' K, e+ a
                NXOpen:oint *pointList;
; K2 @* ~  H- i7 k4 y5 c5 I
; ^2 d$ I% q# X' A  h7 P                //Get base point
% J3 \8 l/ ~$ Z+ F6 q+ i* N                BlockStyler:ropertyList *pointProperty = point0->GetProperties();" {" o8 ?  f! q
                Point3d point= pointProperty->GetPoint("oint");5 l" l  x, M' b( E. A
                delete pointProperty;- j# W0 h& b" i# R  a
                pointProperty = NULL;
; \" V5 j( M$ b5 @. L" I) E
$ n3 z, z6 Q1 c5 h3 \                //Get revolve Lie value$ `# a& U$ Z% M& ?1 z' l
                BlockStyler:ropertyList *rValue = expression0->GetProperties();7 A2 r) a1 X" w
                double rangle = rValue->GetDouble("Value");  O2 e3 g) N* t" s
                delete rValue;2 l+ I7 d/ j, n, `  A$ i) y7 ?# u
                rValue = NULL;
$ K: D' M! O, L; V( B7 x# v" _0 H" Q1 }% N6 R" F
                //Get Rod section Objects  |0 p. R& m& g: z% T
                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();0 C5 Y( |! G9 d, U& b2 p
                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");
, G6 {7 |& Z" t* J! Z5 u                delete bodyObjects;
7 ]/ @7 z, H/ Q# U                bodyObjects = NULL;
) q+ }* k1 h# i, R
$ K; d6 s+ f. F( |7 ~                //convert TaggedObject to body & curve & point
4 q* p' X9 l9 P3 K; Z                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);( D* }! n' s( g2 d8 m2 g' t% p+ S
                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
2 _1 `' w4 v: A5 T                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);
1 B5 U3 E% B7 {1 n' ^* {' ^3 x/ z4 E6 s/ S
6 {" b4 y7 G) w  x' L
                //convert values to string
# v3 D- h$ H1 _1 T7 h: H7 I# X" Z                ssang<<rangle;6 `# n, s. s7 g- [; C, t
                angleValueString = ssang.str();# {9 Z4 v* X+ `# ?% P/ j

  K" b) z+ a( c5 r' l, N" c9 ~6 b$ B7 G+ V/ \
                //create motion feature
' O& L, r& H. B
8 `1 g* V7 v% ?: ]7 Z5 l7 R                Point3d origin1(0.0, 0.0, 0.0);
+ j% R" {# e& D. d# V( q$ K                Vector3d vector1(-0.0, -1.0, -0.0);
$ j6 T- O! Z  b                Direction *direction1;
$ s" t! x1 G1 }6 I                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);
3 g0 K& A, T0 h- U3 u  V6 Q% e
5 V) s7 ?$ y% _' }2 X; M8 H6 o                Point *nullPoint(NULL);
. K: N. }& C/ F' j) [$ o                Axis *axis1;0 o; H, Z# X- t$ p! _7 }
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);. W/ g7 J# y2 i5 R# i& E3 A

* m: b0 v1 `/ A. Z; s                Point *point1;
7 {" I6 z, N8 g( \* V, o+ k+ i                point1 = workPart->oints()->CreatePoint(point);
) ^9 T% k* F# J5 Y  j% [3 _
1 g5 R; y1 F$ `' L9 _0 q% _- _                axis1->SetPoint(point1);  
4 Q9 J* ~( D) Z5 S# @$ B% i& k                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);
5 q% o2 G3 X. y- J" r2 o) a, C                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);
* g& W- A/ W7 _' ]' C7 e/ L                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);% ?8 x5 l' k. z1 j) C( b
                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);
; `, Z; E4 ^! G& s* {9 Y; r                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);) H) B/ X9 ?+ ^" K) {, W
                moveObjectBuilder1->Destroy();
- }% I! R+ b  Q% j. z  F$ a# u! G. o# S
调试没有问题,执行的时候,总是后报错,还请指点一下:
3 L# O, j7 l  ^$ x+ r

' X) ^* y9 K$ H6 y# e                               
登录/注册后可看大图
( Y* Q2 c, Y4 r

! E7 v4 v8 Y, {2 n4 t! r3 s8 T8 [. Z' e' N7 Z

3 H; I  s; J  B1 S
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( F0 w, n/ O9 K' a: P
NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态
5 m9 C! b7 S, F" u) C) Z6 W: E3 q
没见你commit吧
- ]" S1 Z  z7 b; D6 m& J* G, }! }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二次开发专题模块培训报名开始啦

    我知道了