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

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

[复制链接]

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

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

yuleihz 楼主

2016-4-16 21:52:39

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

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

x
Features::MoveObject *nullFeatures_MoveObject(NULL);6 k7 h/ I, s! V( ~1 T
std::vector<NXObject *> GroupObjects;//3 ]  d$ l: h$ S& g% W; [, b7 T3 Z
Objects= partImporter1->GeTCommittedObjects();//插入part到当前零件3 |" r, X; f( y+ A# H9 X
移动特征时提示找不到实体对象:
3 p  `( H# W! q' ^/ L+ S1 I2 H    Features::MoveObjectBuilder *moveObjectBuilder1;. t) f3 |* j+ W8 J" P4 O
  moveObjectBuilder1 = workPart->BaseFeatures()->CreateMoveObjectBuilder(nullFeatures_MoveObject);
& v7 X. i. c  U+ abool added1;8 s6 r' W. o1 ]9 v
      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();: Z; J8 G1 B7 K) V
                        Part *workPart(theSession->arts()->Work());
; X, D5 N. B  L4 D- |4 f" ]                        Part *displayPart(theSession->arts()->Display());
8 M8 Q4 T+ v1 V+ B6 I) k                        // ----------------------------------------------: W$ J- `* a# [+ T) m
                        //   Menu: File->Import->art...2 S0 I' ]6 D1 K8 |3 g# t$ o5 [0 z
                        // ----------------------------------------------! P8 B; j1 A& h1 L8 ^" B
                       
. P; ]6 Z" R, \7 C. x- A. j
. y; X* b- `' a; s  [" [& U" C                        PartImporter *partImporter1;! ~; X& ~6 f! a7 v( Z$ z
                        partImporter1 = workPart->ImportManager()->CreatePartImporter();
; X( L. A4 k& M9 H& X- v
4 l& Q% r2 [- d* Z, X                        partImporter1->SetFileName("F:\\_model10.prt");
# u* x. H4 l! {+ P! Q! w7 O! b% R" X, n2 t( j0 K+ @) x4 p1 |
                        partImporter1->SetScale(1.0);# k  S" Q$ q* i. e, r* j. O

: T' o3 {# b* I4 u9 n6 `) c5 s                        partImporter1->SetCreateNamedGroup(true);* ~8 f) D0 C5 u9 h
! m8 o; A5 T/ {) I* E, O+ Y
                        partImporter1->SetImportViews(false);& p0 |  r& K9 ?' o* H' g

7 R- h2 d- U/ _& _% [. {0 s# b3 I                        partImporter1->SetImportCamObjects(false);2 M# H) j4 s9 @( B, H
- Z. y0 F/ h- |8 n* ^- Y, ~3 T
                        partImporter1->SetLayerOption(PartImporter:ayerOptionTypeWork);/ y: P2 S" {1 Y# t1 R+ e

) g* ]* u/ _& h/ F% B                        partImporter1->SetDestinationCoordinateSystemSpecification(PartImporter:estinationCoordinateSystemSpecificationTypeWork);
. @# @' {5 ?2 I) M' Z  C9 f3 d: ^  c
                        Matrix3x3 element1;
, s. i3 H* _, H+ I                        element1.Xx = 1.0;
: Y& P% [) B$ u% n                        element1.Xy = 0.0;
4 F5 z1 K) k! U; Z                        element1.Xz = 0.0;
+ J/ Y2 z# j+ Q                        element1.Yx = 0.0;8 y! b7 ^$ V% U& `& r! @- P
                        element1.Yy = 1.0;1 D" T  H, m& N4 E5 v1 O' I3 \" n
                        element1.Yz = 0.0;
" Z! }8 o* G. Z3 o* k, O                        element1.Zx = 0.0;+ F) c2 h; x* Q5 [
                        element1.Zy = 0.0;1 ~" |+ o  a. u: \3 |6 f' h4 G. Q
                        element1.Zz = 1.0;8 N1 M% g$ K6 V1 {* K* l5 D% a' {
                        NXMatrix *nXMatrix1;
" m/ t5 H) B: m3 s( q$ ?                        nXMatrix1 = workPart->NXMatrices()->Create(element1);
6 a, ]4 x& G# q5 E9 {" j, }8 Y3 \. g1 v8 D
                        partImporter1->SetDestinationCoordinateSystem(nXMatrix1);
) D5 N% R4 S8 X7 Y' T" Q- [2 u1 P& b! r4 e3 _5 d
                        Point3d destinationPoint1(0.0, 0.0, 0.0);
1 q* d. l3 x6 Q: o* W% i7 C3 a                        partImporter1->SetDestinationPoint(destinationPoint1);! ?$ j+ ^( F# K1 l- o
2 c+ y" a3 Z8 L" |

; s8 A( q2 r. X, E4 G$ n$ `                        NXObject *nXObject1;
+ R7 N" M' b& X                        nXObject1 = partImporter1->Commit();
5 ^! L' a- G- D  L1 A# N9 w                        std::vector< NXOpen::NXObject * >  GetCommittedObjects;
+ o( r6 W4 U7 q  {' J                        GetCommittedObjects=partImporter1->GetCommittedObjects();
! k. w/ j9 Q- k6 {. U$ g, K! u: j                        partImporter1->Destroy();5 D7 z1 b) X( S, }
9 X8 V9 {/ J7 w! w9 C; s

+ l4 t* c/ l' k) Q) Q
' C+ w! |% W; E                        // set the color; ~5 }" T' Q" W& w
                        NXOpen:isplayModification *displayObject;$ Y3 h3 q0 O+ C( a, ~% \
                                displayObject = theSession->DisplayManager()->NewDisplayModification();8 o, X: h2 M3 h- I) |
                                displayObject->SetApplyToAllFaces(true);
% I/ [% P$ R, @+ V- v                        displayObject->SetNewColor(200);
% f* F; Z8 o" f0 I* m& x9 n" N$ @                        std::vector <DisplayableObject *> ImporterObjects;3 x3 Q5 \5 @) Q7 l5 e* s

  U* x3 N5 Q8 p4 Q$ B9 E% F
" l; x) E# y% L                        NXOpen:istingWindow  *lw = theSession->ListingWindow();
; J2 B* D% K( t9 ^                        stringstream ss;
* R( k* \9 i4 O% e9 l6 [/ k+ H# C7 p                        lw->Open();
* z2 c3 s. t- J) H                                ss.clear();
6 `/ H- b6 X0 H& l$ y3 _2 ~! v                        ss.str("");8 w. {! T* ^/ a4 u0 ]0 j! P# O
                                ss<<"插入的对象有几个:"<< GetCommittedObjects.size()<<endl;
% K7 r$ i7 Q0 N3 `5 o                        lw->WriteLine(ss.str());
( ?' Q" N; m& P+ D( q( F. O& o, H; b2 i7 r                                for(unsigned int i = 0 ; i < GetCommittedObjects.size();i++); J& C) b7 l" c' e
                                {" H# F# r3 T3 A: \4 y" {7 Y, x0 g; n. h
                                        ImporterObjects.push_back( dynamic_cast<DisplayableObject *>(GetCommittedObjects[i]));  z) ?$ a& a5 ~3 s( c
                                }- D# ]. u  E5 h, D  f" D
                                        displayObject->Apply(ImporterObjects);( f- i) Q0 c/ J0 Z4 S
                               
7 m9 t6 f/ ]" U% p- b                                        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二次开发专题模块培训报名开始啦

    我知道了