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

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

[复制链接]

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

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

yuleihz 楼主

2016-4-16 21:52:39

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

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

x
Features::MoveObject *nullFeatures_MoveObject(NULL);. j& Y, a" I+ K# s3 f, M
std::vector<NXObject *> GroupObjects;//& W7 ?& _8 w' l
Objects= partImporter1->GeTCommittedObjects();//插入part到当前零件4 @% v9 k+ S! c! s& f
移动特征时提示找不到实体对象:
- z# D; }- ]& Z* b    Features::MoveObjectBuilder *moveObjectBuilder1;
. `# i5 _) V2 g& ~9 e  moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
+ x3 M2 M4 I) L5 Obool added1;7 @% l' M5 u1 \, n
      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();0 B0 o/ l1 R9 f! ~  o0 b  P
                        Part *workPart(theSession->arts()->Work());
, c8 U2 q4 a$ B                        Part *displayPart(theSession->arts()->Display());/ G: o6 k# b) r% z4 L( D6 d) j4 q6 b8 T
                        // ----------------------------------------------! b/ |" q8 J' @5 l6 G, s
                        //   Menu: File->Import->art...
4 j4 [1 H7 P4 C                        // ----------------------------------------------1 \( v+ G8 c$ h& a- N& _8 A
                       
  S/ }2 V! ]9 T1 t6 W& G) I- e) E& J' V# n2 U9 W/ E. p
                        PartImporter *partImporter1;* `! G8 Y! w- ~% g2 z. [* G
                        partImporter1 = workPart->ImportManager()->CreatePartImporter();& U4 G) b- t+ L- i# o8 d

, A4 N, U6 i7 {) f" G8 g7 ?/ ?' S                        partImporter1->SetFileName("F:\\_model10.prt");
1 ]! z$ C" X& a  c$ Y3 o* |* k! r0 _4 @4 I
                        partImporter1->SetScale(1.0);$ {: ~9 c9 M1 s9 m' T9 @0 g& |" O

+ X( {* t5 W: x$ H: g1 q8 ^6 f# E                        partImporter1->SetCreateNamedGroup(true);( g% a8 |, O* t; c. y" E, _

% ?6 r. v! q" _6 R                        partImporter1->SetImportViews(false);4 L* x1 S, Y. r% Q! C2 }! b/ }, p5 |

2 ]. ?& T, {% Y( {7 N  D                        partImporter1->SetImportCamObjects(false);
9 h3 K: U' C/ d, }
4 U3 T  N( v9 I5 z                        partImporter1->SetLayerOption(PartImporter:ayerOptionTypeWork);
6 N+ K" c3 s$ `% M
" t4 F4 g( D7 B                        partImporter1->SetDestinationCoordinateSystemSpecification(PartImporter:estinationCoordinateSystemSpecificationTypeWork);6 r) i" d1 x5 \& [2 ^/ {' B# h

: v3 c3 g  n) ~1 S6 e                        Matrix3x3 element1;7 y8 H# Q% S( j! K( Q2 l( r! A% {2 o: \' }
                        element1.Xx = 1.0;/ M+ |6 r! z4 J/ l# E3 W$ [% |& h
                        element1.Xy = 0.0;& j# N, B9 p) K/ w5 b
                        element1.Xz = 0.0;5 w: N9 [1 p$ U; M7 K7 t; U
                        element1.Yx = 0.0;
( j! w9 O- N& e: }% Y                        element1.Yy = 1.0;1 _7 k, B7 f+ I5 y& V" |
                        element1.Yz = 0.0;
7 m% Q* _% s. I5 P) {6 T) e                        element1.Zx = 0.0;' R  t4 w6 J" V$ s, k$ q
                        element1.Zy = 0.0;5 r7 f! c- B# g( a  R
                        element1.Zz = 1.0;# E% B) h/ C# Y) F
                        NXMatrix *nXMatrix1;
; o1 k7 M, \. \- W                        nXMatrix1 = workPart->NXMatrices()->Create(element1);
  m8 {: l- y3 R* c0 N
# Z! h5 x+ }  T4 U4 D                        partImporter1->SetDestinationCoordinateSystem(nXMatrix1);
- e# N; H" S" I2 c  a3 ]! j, _; @* v/ D. G
                        Point3d destinationPoint1(0.0, 0.0, 0.0);" @) \6 i5 Z. n0 M* M) g4 c: Z1 g  ?
                        partImporter1->SetDestinationPoint(destinationPoint1);- Y" T0 B1 y3 ~0 s1 M  |2 L+ |
* ]' i: }( j  L2 _4 e
; a2 Z- Y+ n: K% Z6 Y' w. U
                        NXObject *nXObject1;
  A% Q5 X/ D3 S# I4 `                        nXObject1 = partImporter1->Commit();; t/ R& n1 |" p0 B( }- q; M
                        std::vector< NXOpen::NXObject * >  GetCommittedObjects;3 Z0 @8 J5 ^( u5 q/ a3 `1 p  i' \
                        GetCommittedObjects=partImporter1->GetCommittedObjects();8 {  {4 `1 d9 M0 a4 o  l
                        partImporter1->Destroy();
/ o9 o, e. E. n3 X; ^6 f, P
  G- w9 f& R" O; j3 {, b" L  ?, d! Z6 s# ]" i
2 p" y2 z  C* L3 u8 {
                        // set the color; d/ v4 M: k% A$ ?6 _9 a  V
                        NXOpen:isplayModification *displayObject;2 }& ]8 U- c  q" q+ O$ n
                                displayObject = theSession->DisplayManager()->NewDisplayModification();
/ X0 V7 s6 u6 ^, P' U, m                                displayObject->SetApplyToAllFaces(true);5 G' _% U( t" H. V$ B
                        displayObject->SetNewColor(200);2 |1 B3 w' |( B0 n* \3 Z  V4 L( T
                        std::vector <DisplayableObject *> ImporterObjects;4 {9 k0 k, B1 i2 J8 u0 p5 ^6 r

4 `6 R  o" z$ j0 b8 E1 ^0 b
+ z1 v; n) [& o8 B                        NXOpen:istingWindow  *lw = theSession->ListingWindow();! i0 `  o" U+ h4 Z9 G
                        stringstream ss;
3 H% D+ X. K  ?/ V* x0 t3 U                        lw->Open();
6 Q6 c/ D% R) l- _9 |( N                                ss.clear();
3 r# D4 r# w' H: `' h8 c6 \                        ss.str("");
6 B7 D# K: U8 u' B9 m                                ss<<"插入的对象有几个:"<< GetCommittedObjects.size()<<endl;3 x/ Y$ a% R- J% c* z
                        lw->WriteLine(ss.str());
9 w! K2 c' W8 [+ d" J                                for(unsigned int i = 0 ; i < GetCommittedObjects.size();i++)# b9 k$ ~: B) {4 t6 p
                                {
2 s, I# P3 F1 E% r6 Z5 G                                        ImporterObjects.push_back( dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));0 t3 Y: F2 Z3 e- J2 e
                                }
+ ^- m8 c, A7 J: |: T7 i. J# x3 \6 b                                        displayObject->Apply(ImporterObjects);# _, h, e; g9 x. e4 a' ~
                                / X; l1 v% h" I- [, P$ O
                                        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二次开发专题模块培训报名开始啦

    我知道了