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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
2 c" h- F' \) t7 Q, c+ X9 A
& Q: L7 [/ t  V0 D# h" C; B

' e+ x9 ~0 A8 I例 1:获得零件中的所有几何体的代码如下。0 m5 U1 E: y' u( G3 ^0 e
CATIPartRequest *pIPartRequest =NULL ;
, D7 L. Z  g3 sHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );6 B# r. {! X, T/ v$ H/ n# Z( ]" D- s
if ( SUCCEEDED(rc) )/ y0 L* c4 b* D; n- S, ]! j$ y
{
6 u; v9 k% ~3 |3 F5 KCATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
0 k+ W* S0 C, Y' ~CATUnicodeString ViewContext ="MfDefault3DView" ;# }& Q5 m4 L5 N6 h% P9 h, H
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);/ R6 `  C- g& `% ^
}) O' _: y6 y2 w, O) ~* v
例2:获得零件中的所有有序几何图形集的代码如下。; O! O! g8 a* v  T% P: z
CATIDescendants_var spDescendantsOnPart = spPrtPart;8 B" _$ w/ D# C+ w$ {
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
3 H2 t! P' {9 K, k5 ZpiDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);  z$ Z' R$ Y8 R
例3:获得零件几何体的代码如下。0 ?1 k* b' C+ X  h+ c$ W; H
CATBaseUnknow_var spMainBody;//零件几何体
2 l. N( U! C& e: h0 T9 Q& a' ]pIPartRequest->GetMainBody(ViewContext,spMainBody);; [) b7 X8 p$ W5 w' x4 R$ K. x$ V9 `
例4:获得CATBody 的代码如下。4 a! v* u1 R% x/ R' T
CATIBodyRequest *pIBodyRequest= NULL;
0 I- j+ e1 i, C2 E) o9 `5 ]" Z% ~spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);+ b8 z: p- M( I9 T
CATLISTV(CATBaseUnknown_var) ListResult ;4 E4 g+ ^/ z) l) x
pIBodyRequest->GetResults("",ListResult);$ k8 ?- Z+ h# O  }: K0 A
CATIGeometricalElement * pIGeometricalElement = NULL ;
7 B( j" v& l: S0 l0 l! T4 Cfor (int i=1 ; i<= ListResult.Size(); i++)
5 y! h! u9 V3 K% I' L# V: j{
- v  Q9 E3 L+ E, Z6 B! TCATBaseUnknown_var spResult = ListResult;6 Z1 R4 E" m# [$ q: @
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );; @! B8 Z8 A) m7 |/ N6 B
CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
" C1 a1 s0 l; v* g" |, U! @: t}
: {; h- d, g9 I
; m6 K4 b' Z5 S) b/ _3 O; f2 d
. x' t5 y) o: ^: o

$ ~3 F0 m' m( H7 d0 T3 ~. U# Z5 ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了