PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

[求助] Move Object 中出现报错

  [复制链接]

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

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

eda 楼主

2014-6-27 14:52:48

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

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

x
                Session *theSession = Session::GetSession();$ p# v$ m! Q* }
                Part *workPart(theSession->arts()->Work());
- [" k# k, }! b) F% P6 X                Part *displayPart(theSession->arts()->Display());
+ j4 [6 B' _8 e& q5 L* c' T6 T' a% J; D9 r
                Features::MoveObject *nullFeatures_MoveObject(NULL);2 j6 T% f; @; C4 p: p; ]5 p
                Features::MoveObjectBuilder *moveObjectBuilder1;0 o2 q: J9 {2 @' X- ?* G8 H) e# |
                moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
  M+ w, g* Y: q9 B; ~& Z5 G- G5 X
                NXString angleValueString;
. Y8 ?; s; y3 V6 ?                std::stringstream ssang;* Q2 l& w, r1 M- i
                std::vector<NXOpen::Body*>bodies;2 F/ }% [% b9 ^  p
                NXOpen::Body *bodyList;6 ]7 K2 n9 E$ k' G
                std::vector<NXOpen::Curve*>curves;& i' k- M* R8 h, [: ]
                NXOpen::Curve *curveList;
2 D) k4 d; t; s: @                std::vector<NXOpen:oint*>points;; i' V& ^) Z1 f* x: }3 k. B" [
                NXOpen:oint *pointList;
8 G/ S* b# z" @, ]) ?" \- }" m0 [# o  V) F8 N  B
                //Get base point1 `* {! l# C: |
                BlockStyler:ropertyList *pointProperty = point0->GetProperties();
% f2 G) |6 b- D                Point3d point= pointProperty->GetPoint("oint");/ Y* P7 k1 @: ]- `& ?. f
                delete pointProperty;
3 [; n0 M" I. l8 N) m8 q                pointProperty = NULL;, g" C8 S" l7 Z) e+ t
- z7 U7 j7 ]; U3 h7 Z
                //Get revolve Lie value" z& B5 k1 j: y
                BlockStyler:ropertyList *rValue = expression0->GetProperties();
: L( P+ |& u) M5 g                double rangle = rValue->GetDouble("Value");
, c. s. s: H  h9 X  e+ i% J! ?2 f                delete rValue;
+ [" d+ H! E( x9 @$ ?7 \                rValue = NULL;& s8 Q* p' P6 A) `0 e9 R

! R3 b) [" y! O9 k$ ^- V1 E                //Get Rod section Objects& Y, C: N  A$ ~/ b
                BlockStyler:ropertyList *bodyObjects = selection0->GetProperties();
$ m. S: d! b* _7 i2 {3 r                vector <NXOpen::TaggedObject*>taggedObjects = bodyObjects->GetTaggedObjectVector("SelectedObjects");
2 P& d# x1 s" ^7 m                delete bodyObjects;. ~& d' g$ l+ r! W4 L, s" b
                bodyObjects = NULL;! n1 q& i/ B" G; f# ?
3 B3 Q! k; \+ S# O+ k- M! l  I
                //convert TaggedObject to body & curve & point
. N+ D! }( ?8 O5 r! a* x1 A                bodyList = dynamic_cast<NXOpen::Body*>(taggedObjects[0]);
( F0 \5 q& A* `( p. ~3 o                curveList = dynamic_cast<NXOpen::Curve*>(taggedObjects[0]);
5 w* `# _- d, y# R* X                pointList = dynamic_cast<NXOpen:oint*>(taggedObjects[0]);
7 ^8 I! N5 P1 d! N* I0 @% [% j
: _2 N% Q( W" w0 f
% H0 L4 ]$ }  ?; _" ]+ S4 o                //convert values to string
7 C" O# R) C/ A                ssang<<rangle;
& @; Z$ J6 b+ O9 y1 ^7 I) |7 r                angleValueString = ssang.str();
, n* ~: w/ x" R  _$ I; [# t
+ u( }+ r# O0 R/ ^6 w0 B* ?( R7 `1 m
                //create motion feature
& i! M$ K) O5 v0 ?+ R: F' I
$ s" q$ e+ x3 c                Point3d origin1(0.0, 0.0, 0.0);& x. ~' x1 z5 O! S
                Vector3d vector1(-0.0, -1.0, -0.0);; ?- `& i- i3 S8 d- L9 U4 ?
                Direction *direction1;2 M( W# H4 J- |0 K: S  a
                direction1 = workPart->Directions()->CreateDirection(origin1, vector1, SmartObject::UpdateOptionWithinModeling);$ P: f0 w. K# f

& l. N) D7 h: |2 E9 w6 U( B                Point *nullPoint(NULL);/ t$ b& s6 V& h# ~" {/ _  l  C9 B
                Axis *axis1;, s( o2 Y* F  c5 W% T* w
                axis1 = workPart->Axes()->CreateAxis(nullPoint, direction1, SmartObject::UpdateOptionWithinModeling);1 Q) j' N2 i6 D1 N/ `: Z

7 t2 x5 h" U6 U( g2 V& P                Point *point1;. }3 X8 J4 @) k* _( h" Q& k
                point1 = workPart->oints()->CreatePoint(point);! G! T: v8 E" u/ V& x9 U9 E2 Y
  k, D; H7 r* J$ X7 t* Y2 N4 c1 q
                axis1->SetPoint(point1);  
0 k" s4 @0 G6 I1 r1 r$ V0 M                moveObjectBuilder1->TransformMotion()->SetAngularAxis(axis1);% I$ f% c7 y/ l; ^
                moveObjectBuilder1->ObjectToMoveObject()->Add(bodyList);
/ g1 B8 D! N( Q  R                moveObjectBuilder1->ObjectToMoveObject()->Add(curveList);8 P" j2 X7 P5 m* w8 A, C7 j
                moveObjectBuilder1->ObjectToMoveObject()->Add(pointList);, i3 x; E4 ~% u" }- Q
                moveObjectBuilder1->TransformMotion()->Angle()->SetRightHandSide(angleValueString);
  U. W, {( \+ A0 |% P' G                moveObjectBuilder1->Destroy();
* \4 I% i- Y" x3 K, M( m) R* U
& F0 p6 q# F2 |# e5 R. C( A调试没有问题,执行的时候,总是后报错,还请指点一下:
* w- Z( m/ k# }9 V! z

4 T' t* B0 z7 j% ^                               
登录/注册后可看大图

0 c$ _1 w& E0 M5 w3 x2 a7 W
1 b; B6 V/ R! J6 I1 r
# c' G7 J! ?) S5 B7 L1 v  X; g
3 |5 @. z/ x* l- l/ U: j9 c
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
1 `9 [; D8 a* G! K, b$ M9 TNX9中运行没问题,NX8.5中,可预视移动,仍会报错,按完报错确认,又回复原始状态

' d, R4 P8 V. B! W4 X# K* F& z没见你commit吧
) q. |" p( }$ |9 v# r  t4 QmoveObjectBuilder
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了