PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2018-2-22 13:14:09 | 显示全部楼层 |阅读模式

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

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

x
获得几何图形集等节点
' Q5 E2 T# R8 w% K& C7 d  Z4 {- r! a9 @! X& P5 A" O

4 @( D; Z; J' p5 k) `$ S' n/ ?例 1:获得零件中的所有几何体的代码如下。
9 c9 k7 g& G. l* q0 K3 F$ SCATIPartRequest *pIPartRequest =NULL ;
7 r$ ^  O3 D! @& O5 i$ d8 r- ]) yHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );9 p) t8 T6 b2 ]: L0 H
if ( SUCCEEDED(rc) )( O* \9 f, N! n; A" Y7 K
{
2 f$ @6 y* ]' Z9 d2 ]CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
8 D/ o; M8 W4 D$ F- s. c6 wCATUnicodeString ViewContext ="MfDefault3DView" ;
) o  C8 H0 ]; y5 o  x+ Nrc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
" }5 J# b7 E+ Q; S9 i+ \}
" \7 ?8 Y4 f# y4 [7 @7 d0 q例2:获得零件中的所有有序几何图形集的代码如下。
" I* G# |5 m8 G! lCATIDescendants_var spDescendantsOnPart = spPrtPart;" Y! {- @3 R4 Z
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集- [1 l1 g' t0 b) A+ w4 u
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
# `5 }' J* u6 \2 P( z% W例3:获得零件几何体的代码如下。5 n* N& q" J2 D& i/ O
CATBaseUnknow_var spMainBody;//零件几何体/ ?) i. t0 b7 _  {
pIPartRequest->GetMainBody(ViewContext,spMainBody);$ K! a, @4 P# ^- O# u$ M
例4:获得CATBody 的代码如下。
6 L9 D; p, p0 w1 _/ [! l8 O5 mCATIBodyRequest *pIBodyRequest= NULL;0 O# C9 ?+ c6 j
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);" X' I$ _9 W4 K. _6 D
CATLISTV(CATBaseUnknown_var) ListResult ;& j# W# e" L! z8 L% u4 G- V
pIBodyRequest->GetResults("",ListResult);
6 h" K, Q4 w, U8 B! o; G$ }' GCATIGeometricalElement * pIGeometricalElement = NULL ;' n4 }+ t$ _6 Y" g3 k* v
for (int i=1 ; i<= ListResult.Size(); i++)# s6 B: _. \- m3 A
{1 q7 H8 f, K4 U5 J9 C: p* p3 s( R3 y5 V
CATBaseUnknown_var spResult = ListResult;
6 Z1 x5 b  r- o9 FspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );" Z$ R6 X4 F' I: `( q
CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
+ w# I/ X5 z  [) v}
" a1 z* c# F( K, \& e/ L. j2 _: a0 y- W# p7 r/ L

/ i. @1 N3 {! h) c6 h$ Y

% R* D3 m5 `: l# U" ?3 c9 F! ?9 Y: b
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了