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

[求助] Move Object 中出现报错

  [复制链接]

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

3

主题

22

回帖

367

积分

中级会员

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

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

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

x
                Session *theSession = Session::GetSession();% _% Z( {1 b' ^2 b/ a. ?* Z. v
                Part *workPart(theSession->arts()->Work());# B% H! {! V# s, h
                Part *displayPart(theSession->arts()->Display());! p+ H6 A; @1 l( @, y
7 J6 H7 ^( S- }5 `: o! J
                Features::MoveObject *nullFeatures_MoveObject(NULL);
+ M( d0 J4 [  x1 n                Features::MoveObjectBuilder *moveObjectBuilder1;/ R/ W7 n# O) l* P/ J" d( a3 n0 B
                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);2 R5 E: ]" _! }! |+ R. H( c: ?) H

: C, `5 r' S4 o                NXString angleValueString;
$ Y( Q$ \$ `: H6 U# u7 a9 I3 Q( q6 x                std::stringstream ssang;  V3 V9 q" X  D# D) d
                std::vector<NXOpen::Body*>bodies;
, x) g$ `5 S* j$ g                NXOpen::Body *bodyList;% D3 K2 T4 r( l5 {  u/ j
                std::vector<NXOpen::Curve*>curves;2 i/ B) a- l3 g, y
                NXOpen::Curve *curveList;# L6 @8 q: }% n6 S4 k: q1 i
                std::vector<NXOpen:oint*>points;+ f& w0 u$ N; ]( W9 Q! N
                NXOpen:oint *pointList;% t4 `+ t  o, b' X! U  m
* n2 {( t4 Q/ ^. B; u4 n5 d
                //Get base point
' _: K( a  X% p                BlockStyler:ropertyList *pointProperty = point0->GetProperties();
1 M, v2 T& {; b! }; ?0 x                Point3d point= pointProperty->GetPoint("oint");" s8 P1 }  J# K# [( `4 R
                delete pointProperty;
9 U3 k/ M' K9 F3 _: E                pointProperty = NULL;  A6 K# U0 J7 \; @1 {

# w0 O- B$ }( C, L- K                //Get revolve Lie value# H: X/ a/ @% V$ R# b! d
                BlockStyler:ropertyList *rValue = expression0->GetProperties();/ v+ ^9 F$ b5 o' i/ o: I+ A
                double rangle = rValue->GetDouble("Value");
- M; B3 F$ s# @  j. `" X                delete rValue;/ U4 {1 D, ^2 k2 Y- V1 u% K' |9 ?
                rValue = NULL;; b" f8 [" s8 l4 ~1 J: ^0 {- S

- _* _  p3 m% l% u# {: J. M                //Get Rod section Objects
1 \3 F4 a% A$ H                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();
$ L. `2 S% F) t  ]: n                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");/ h) F9 z' h8 v. f* ~6 R
                delete bodyObjects;6 D" H. J3 u$ l! a5 X3 ^3 z
                bodyObjects = NULL;/ H" P4 b) H$ m* K

. Q; ?; K5 p4 |1 E6 G                //convert TaggedObject to body & curve & point1 `1 \% H9 f4 i
                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);
$ m2 |( J! o0 ~; [$ t; A* v                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
) E/ z& I; Y- X7 J  J: s                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);
$ m5 f8 u. B$ G4 W, Z
/ V- ^" b2 P7 L2 [
) d/ Z! y! d9 f5 S% n% n! Q6 V                //convert values to string
# V* f! a* c, M, l                ssang<<rangle;! F0 z0 Y0 b9 f
                angleValueString = ssang.str();" z3 C! N4 b8 K; O
1 }* g) a" N6 a/ e

; Y1 J, c* N  ?1 X                //create motion feature
" m, u1 k4 y- V: t$ Z1 Q6 S" A. Y) v" @* G
0 t$ D' J. H, L" t: n                Point3d origin1(0.0, 0.0, 0.0);0 b: u9 f& ~2 F7 W* M% r6 J& F* Y
                Vector3d vector1(-0.0, -1.0, -0.0);% j, X4 f- S! U/ r
                Direction *direction1;
& ^$ k4 _$ a! s: E                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);
" p: O, I& ^' ^' ?  G8 j0 ]
$ c! ^+ h6 U8 d2 @                Point *nullPoint(NULL);0 H; @& x: D+ v7 Y, G
                Axis *axis1;3 t, H3 ^1 Q, W2 h- _$ F
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);
% l3 Y" C" Q2 n; g( w+ k9 ^
( t4 [, @+ L& k2 N9 F! x" `7 ~                Point *point1;; ^8 p* L5 n+ f& v  G) Z7 w
                point1 = workPart->oints()->CreatePoint(point);
6 }5 n. k5 P3 C. }, \
9 O2 k6 R% y# \$ f, @" W                axis1->SetPoint(point1);  
2 g+ c2 u% J: N                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);
- j4 n. C$ M! X: S                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);
3 M) o% N9 L4 K9 L! Y( V6 p                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);
( E$ P5 H/ I: v( E5 G% W5 Z& s/ V                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);7 t4 t7 O- [: g) Y
                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);1 D/ T4 x% g2 k2 M2 i7 w
                moveObjectBuilder1->Destroy();
- I5 b7 y5 D  @  @. Z: W8 h. t- P* y$ V' Q2 A3 Z9 ^3 T& y
调试没有问题,执行的时候,总是后报错,还请指点一下:
* y! i3 j& K; ~" O( {" d% D* k! O
8 ?  e& q$ ?: N7 M2 [) E
                               
登录/注册后可看大图

1 E4 [6 K* |9 E$ A; L8 y
7 _, N5 C1 a) g  O8 E5 F6 `" S$ Y
7 W* K- h- M0 F3 \) L$ r( p
aaa.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复2

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
回复 支持 反对

使用道具 举报

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
QQ
发表于 2014-6-30 09:59:52 | 显示全部楼层
eda 发表于 2014-6-27 08:54% k: N# \, ]4 Q6 G( G; J0 K: v
NX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态
. y$ E! Z0 s$ a- K( n( c: G. S- `
没见你commit吧
$ ~! g) {" t9 ^7 W- [! P( k, k8 n- rmoveObjectBuilder
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了