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

[求助] partImporter插入part到当前零件时,如何获得插入的所有实体

[复制链接]

2016-4-17 21:14:42 2842 3

yuleihz 发表于 2016-4-16 21:52:39 |阅读模式

yuleihz 楼主

2016-4-16 21:52:39

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

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

x
Features::MoveObject *nullFeatures_MoveObject(NULL);: s: s5 y+ u; s. f- \
std::vector<NXObject *> GroupObjects;//
4 R, L# f% r3 s, b5 A: O Objects= partImporter1->GeTCommittedObjects();//插入part到当前零件1 i2 P* a; r$ `. u
移动特征时提示找不到实体对象:) E: a& E3 R: v2 V
    Features::MoveObjectBuilder *moveObjectBuilder1;$ s  Y. a) J0 T/ d
  moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
6 G4 ]& ~( Y' f' U: ]0 [bool added1;
! `' a3 |' j6 n# S      added1 = moveObjectBuilder1->ObjectToMoveObject()->Add(Objects);
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复3

yuleihz 发表于 2016-4-16 23:32:05

yuleihz 沙发

2016-4-16 23:32:05

Session *theSession = Session::GetSession();2 e3 j' z9 H9 F9 @- W
                        Part *workPart(theSession->arts()->Work());2 L1 r4 _8 {4 D8 ]. @$ F+ @
                        Part *displayPart(theSession->arts()->Display());
7 f/ I: s+ q) p+ Y* V) l) T% H                        // ----------------------------------------------
* p) [. @3 P/ J( L7 ]- S                        //   Menu: File->Import->art...
$ E7 d4 B, |2 F! a- g                        // ----------------------------------------------
+ {. G- i+ u, y' N- O                       
, _/ l. a$ ~5 d( |) \* t$ ?9 ]; T. u
                        PartImporter *partImporter1;
6 z. n# w# {6 V8 C: @: {6 P2 @                        partImporter1 = workPart->ImportManager()->CreatePartImporter();
& g, t2 Z7 y+ ?
# b& t) C+ D2 ?3 ]9 l& {- q" k- A7 L                        partImporter1->SetFileName("F:\\_model10.prt");1 P( p+ m0 v2 Q; I& S
( }7 b' j4 M9 }) ~. V( i
                        partImporter1->SetScale(1.0);) i1 P9 R% n0 ~4 ^$ q7 U% d

+ }; {& C/ I9 A2 s: _* R) j4 q0 _3 R                        partImporter1->SetCreateNamedGroup(true);* e6 }( P. q- A
4 G3 l7 i5 l1 O
                        partImporter1->SetImportViews(false);
1 ]& s0 j" H& R
/ m( C5 u; |( L! M; X5 @                        partImporter1->SetImportCamObjects(false);' v' d) Y3 ]/ i9 }- n
3 }7 t) B1 x, z) v7 U
                        partImporter1->SetLayerOption(PartImporter:ayerOptionTypeWork);4 q" l$ a, i; Q2 ~! b! @( d/ ]8 ]
5 E% a+ L$ ?: |. o7 h6 Z
                        partImporter1->SetDestinationCoordinateSystemSpecification(PartImporter:estinationCoordinateSystemSpecificationTypeWork);7 ~* d4 b. S, e8 J9 {* @
0 q3 W9 s8 o( M/ W7 B
                        Matrix3x3 element1;: P6 E4 u4 U6 Z, T, N( l
                        element1.Xx = 1.0;
$ u8 _+ c" o$ u) j                        element1.Xy = 0.0;
* G& g  }' J3 W9 e6 u                        element1.Xz = 0.0;
! q0 r: ^; R5 e+ h  S! Z! Q* ?                        element1.Yx = 0.0;
1 v0 V. M0 y- @. {2 R                        element1.Yy = 1.0;- s! G& {* W4 j# x( j
                        element1.Yz = 0.0;
0 Z# L" f6 ?$ O: q                        element1.Zx = 0.0;
: A; Y9 ~3 v2 U3 d1 }7 l                        element1.Zy = 0.0;
- N1 @; M# H) _, M2 f                        element1.Zz = 1.0;
& R1 S4 s2 z! Y% }( J8 I- E                        NXMatrix *nXMatrix1;2 V+ \  p/ z' Q/ \( V* B; D( e
                        nXMatrix1 = workPart->NXMatrices()->Create(element1);# L* p2 i% R6 j- B% j; z/ t
1 {8 G& Z* f% p
                        partImporter1->SetDestinationCoordinateSystem(nXMatrix1);) @7 v2 E8 g+ [5 b5 L' u* j

" q8 Z$ A/ k9 W3 s4 K                        Point3d destinationPoint1(0.0, 0.0, 0.0);
, ~9 U5 }% Q' G( f4 H6 b                        partImporter1->SetDestinationPoint(destinationPoint1);
- F* {" h5 x8 @0 {' Y. J
, ^. W( b7 ]  l2 l2 W% W4 p
  J8 V, x' X$ W; x: a. d                        NXObject *nXObject1;
7 q2 r! C* a1 K9 P3 A+ T! D                        nXObject1 = partImporter1->Commit();& J5 C4 o6 m& ]+ N
                        std::vector< NXOpen::NXObject * >  GetCommittedObjects;  h" S, S# C& a; K; g
                        GetCommittedObjects=partImporter1->GetCommittedObjects();
7 d& y$ D9 \3 _4 V4 e4 r                        partImporter1->Destroy();
4 v  {" X! ]; _9 [, y  H8 F" f6 t
8 [  S  ^- Y9 |. M& s2 X
" r' U: L- I& \2 e7 e& [
2 u6 W. V$ Y, K7 E! {2 ^3 M3 C' A                        // set the color
, X) n$ L& T/ u# K. \( X) T                        NXOpen:isplayModification *displayObject;$ Z6 P* I6 o6 |  [3 r6 m
                                displayObject = theSession->DisplayManager()->NewDisplayModification();& _, d1 A" \$ V( M) V/ C9 q
                                displayObject->SetApplyToAllFaces(true);$ i( W( t" [0 L) Q
                        displayObject->SetNewColor(200);
" F! j- P* ?9 a4 h5 h; n5 F( X. B                        std::vector <DisplayableObject *> ImporterObjects;; K* Z4 T; Y, X' z+ b

( R1 K& f' y" z% q9 I" A
, @7 I. o7 l* x0 A$ K, w                        NXOpen:istingWindow  *lw = theSession->ListingWindow();/ E. p) k  b; q7 C# L, K
                        stringstream ss;5 w3 l/ ]8 K5 f! X$ }
                        lw->Open();1 @  f! f8 }3 T/ }4 |1 a
                                ss.clear();
1 u+ \* q% P4 h4 w! P" M                        ss.str("");) m( z& y1 l+ j7 @* o
                                ss<<"插入的对象有几个:"<< GetCommittedObjects.size()<<endl;
6 B' _& j- {# Z7 m7 v                        lw->WriteLine(ss.str());
: X$ z0 l7 O1 o; r                                for(unsigned int i = 0 ; i < GetCommittedObjects.size();i++)9 w. v& L! G, o- _$ l) O/ x
                                {% U' q7 U: K6 |4 C( m8 r+ X
                                        ImporterObjects.push_back( dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));; Z, \- A/ z' V2 Q" L( K
                                }
& f2 s- g8 J6 b, n* b                                        displayObject->Apply(ImporterObjects);! B6 C7 J8 V/ v6 D5 [
                               
2 t/ @. H; t4 ?                                        delete displayObject;
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

yuleihz 发表于 2016-4-16 23:33:34

yuleihz 板凳

2016-4-16 23:33:34

附上出错截图,求plm大师出手
22.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

yuleihz 发表于 2016-4-17 21:14:42

yuleihz 地板

2016-4-17 21:14:42

没有大神知道吗?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了