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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
! L( Q& n/ D! d: _% W, w  I, N; ^
$ t( q- F0 d( y4 ]2 D

/ z4 K0 ?6 ~3 X' ?) f例 1:获得零件中的所有几何体的代码如下。
$ E* Q2 u7 L  [6 ZCATIPartRequest *pIPartRequest =NULL ;
' e# o9 U, y9 S% }& K$ {" uHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
8 S* Q7 Z( V/ c7 n) C4 vif ( SUCCEEDED(rc) )
7 L2 T6 I$ M9 ?{
  J/ d; E6 \" [+ M) o6 v& |. eCATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
" H; K2 F* J( A+ GCATUnicodeString ViewContext ="MfDefault3DView" ;
1 s5 r% W& w9 T4 S5 Orc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
$ g( B+ S4 s! Z) p) a}- M  D' Z3 [" n( {
例2:获得零件中的所有有序几何图形集的代码如下。8 j0 g% I3 r# k8 c
CATIDescendants_var spDescendantsOnPart = spPrtPart;: l& p+ N$ a, K8 K8 h, e
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集9 G& ?/ O1 M% M: _
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
4 H3 w4 {- a0 [9 M/ k4 z* U0 Z6 s4 f例3:获得零件几何体的代码如下。! q! Z  U0 }, {$ A
CATBaseUnknow_var spMainBody;//零件几何体
- ]+ \, l& a) B( E! S1 e9 _pIPartRequest->GetMainBody(ViewContext,spMainBody);
0 g/ @% f- k2 n# `3 X+ f/ _例4:获得CATBody 的代码如下。
  O/ R0 R$ u3 i/ U1 S% ^1 F9 WCATIBodyRequest *pIBodyRequest= NULL;: r% y* x/ `) w# `' X4 f0 S. |
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
; C. ~1 ?1 \, qCATLISTV(CATBaseUnknown_var) ListResult ;% s. w  C* N4 y
pIBodyRequest->GetResults("",ListResult);
6 K. A' v# Z$ a  ?* Z9 u0 w* WCATIGeometricalElement * pIGeometricalElement = NULL ;
$ m5 t: f. f, c" k. Sfor (int i=1 ; i<= ListResult.Size(); i++)
. u5 w7 H  b# y- P2 M: A5 v{
4 w* C% x  }; x" X  Y2 @* K# }CATBaseUnknown_var spResult = ListResult;2 F+ J5 z7 X0 W& S+ u5 A. h. m
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );2 \: Z$ i+ K) B6 |1 _
CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();- b# i8 t8 p+ F" t" ?
}
8 v' @* D4 Y# M& z0 f, C
4 x. Q& U3 Y! l4 Z0 o  O1 t. J- X! P
' @7 S; Q; s, R* u- Q$ ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了