PLM之家PLMHome-工业软件与AI结合践行者

Catia二次开发源码分享:获得几何图形集等节点

  [复制链接]

2018-2-22 13:14:09 2854 0

admin 发表于 2018-2-22 13:14:09 |阅读模式

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点9 h1 r1 j: ?& b# `$ V. M7 q
  p, }$ X9 P+ \% t$ G4 [8 |7 [

" K4 ]1 i# g! c# _, w例 1:获得零件中的所有几何体的代码如下。  {2 Z4 a. i  u/ b4 ~! M
CATIPartRequest *pIPartRequest =NULL ;# |' }* C+ t; v+ U8 l
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
) E' x. d/ x2 e) n' o7 fif ( SUCCEEDED(rc) )
" _! |, q4 b  L8 f{' t) U$ v4 z# I3 N. ]. s
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体% C6 n5 w/ w, e0 M0 E8 e% b7 [
CATUnicodeString ViewContext ="MfDefault3DView" ;. E( H3 \* v, w
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);: e& X! @4 E. k& n% }
}0 O3 L# e/ g2 Q* C, w6 P4 P$ ~
例2:获得零件中的所有有序几何图形集的代码如下。
+ l3 U1 m  I- f( E& a( KCATIDescendants_var spDescendantsOnPart = spPrtPart;9 k; a3 L  ~+ F& \9 |0 P& h  k' S
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
6 x* Y. d$ \- ?/ J% u' ^& ^1 `piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
8 D" P, Z# t3 _- ]1 B: P: K! b2 ~9 Y例3:获得零件几何体的代码如下。7 Y4 `7 o1 M8 _: _3 ]& Z
CATBaseUnknow_var spMainBody;//零件几何体
# s- n$ Y8 i9 \/ e# spIPartRequest->GetMainBody(ViewContext,spMainBody);
5 t: B8 R9 b7 k9 \9 p+ Q) C" }  e例4:获得CATBody 的代码如下。
& B  m2 F* u# {CATIBodyRequest *pIBodyRequest= NULL;  T( _* C9 o  v/ L; K8 |
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
4 U' c# K/ e! k3 hCATLISTV(CATBaseUnknown_var) ListResult ;
! W+ ^5 V/ d' \3 o% Y: U3 XpIBodyRequest->GetResults("",ListResult);
, y+ p, }* C! m" Q2 M9 lCATIGeometricalElement * pIGeometricalElement = NULL ;5 ?9 ~% G8 w+ e$ Q" k
for (int i=1 ; i<= ListResult.Size(); i++)
- \5 p1 d0 T; C* g6 i{0 v2 z/ J" `' u. ^1 _
CATBaseUnknown_var spResult = ListResult;" ]% [- P7 p# w8 D, v" c& b
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
$ o$ b7 c* j4 a5 A4 S( D5 y6 mCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();6 U$ J, q9 S5 g+ y9 e; ^
}4 x$ j: R( `' @( L1 D. g. x% _" O. j
2 A2 A  Z7 V# Q6 J- b8 t! i
7 J; d: Y; j1 Q. O0 S
, c# E( v  y7 l. k: b3 L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了