|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征* I: l7 z% m5 a! @6 V6 {8 Z
' e2 x0 L8 V/ p7 C+ I$ ^* j2 S实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,: L8 v$ C# `" |- z- {
: a. n# |9 P3 D6 x5 _创建实体特征的方法$ R" \- ]* R( B
凸台 CreatePad5 C1 w4 J. j' o. p. @
槽 CreatePocket
8 @' {" N% b( }0 v- K( ?旋转体 CreateRotate
7 S6 L% Y% x6 N- u- x: n孔 CreateHole( C# }! [0 O- q5 ~* g* ~8 g
盒体 CreateShell4 A9 h6 J0 p% \
倒圆 CreateFillet
: ]' I8 I$ q. g倒角 CreateChamfer
9 A' O; I3 J' N) O9 N% u厚曲面 CreateThickness
+ A* a0 s5 |. x' ~% z. x/ t
" A, z: t( C4 V. ]" ]+ N; N1 K8 z; M7 k6 Z
现举创建孔的例子如下:
% D3 Q8 N) g1 Y3 M3 m, F5 E9 M1.常用的创建孔的方法包括三种,依次如下。
, D+ n! n( i6 S6 S2 r% Upublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
4 G2 }- k+ O( g X4 ^const CATISpecObject_var ihDirection) = 0
2 X8 U8 J( }. ^: @+ H6 l. K% p参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
$ u; l2 u7 n4 {) e5 \ P$ C* aCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。2 X: ~3 c* H1 m# P( U. j6 U/ p
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,* z2 e+ A$ |, i, E/ g
const CATISpecObject_var ihSurface,
( A) h; f1 u$ e; @const CATISpecObject_var ihDirection,
8 J' }( P' j% |const int IsPointOnSurface) = 0
1 @5 d! F# W1 U3 i; W) W+ m参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
' \% \0 z7 ]2 g* ~" W. T. A指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
1 v( E, q* y% d7 [. Y* k果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
e0 {* q8 O* v+ k7 }/ ]public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,5 X+ D8 M& ?' w$ h, H A, }; u6 b
const CATISpecObject_var ihSurface,; Z+ x# e A/ z* X. {
const CATISpecObject_var ihDirection,
( W+ h8 W: u8 t9 ^8 L4 t& W: I- g0 T `const int IsPointOnSurface) = 0
: R x9 X& J' g0 Z. | }参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
4 k* I2 Z- J: c* |/ K指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
$ y& z1 J5 b' B! i0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。. a9 A9 q0 L8 w; R# u
2.设置孔的参数
6 Y, |8 i' e9 pCATISpecObject_var spHole = spPrtFactory-> CreateHole();7 n5 h/ }# f; X3 F$ i. z
CATINewHole_var spNewHole= spHole;: y- ~$ c$ I7 X" O
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
A+ s) p9 K, k7 M/ y" v- yspNewHole->SetBottomType(1) ;//设置孔底面类型为平底4 o6 a* p/ \9 t
spNewHole->SetDiameter(5)//设置直径: w7 F( u2 F. R$ W
spNewHole->SetLimit(1)//设置为盲孔
6 Y3 X# Y; d/ Y! Z$ [CATIHoleLimit_var spHoleLimit = spHole;
' }2 A9 U9 e" d% t( MspHoleLimit ->SetOffset(5);//设置孔的深度
- W4 a2 _1 }! H7 Z( e! i. v5 L3.将孔添加在结构树中
% D" l7 U/ R9 z Q
O9 ^/ C' J3 I7 ?( \3 YspHole ->Update();
/ }5 W6 q% w! ~2 P, [: _CATIGSMProceduralView_var ispProcView = spHole;! @6 p7 v4 l! u4 O; ?
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
! D3 s- j' G9 J7 x
( d1 u/ W9 f& S" q1 y; O |
|