|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
& |$ j" o: s+ ?# }* d8 s
) b% Z( O8 o9 @7 M/ b1 B- w实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
" h8 `7 e2 n9 ^) O
6 E9 D$ Q. c |创建实体特征的方法
' o7 E2 |) V$ [5 s! } b凸台 CreatePad
' r+ ] q" d, f! E$ X/ v5 d$ h% I3 r# i槽 CreatePocket
" n1 x7 J3 G3 Q, w" _+ U5 X" d旋转体 CreateRotate
9 L( W( ?" P9 t8 V7 a孔 CreateHole3 q) \$ [; }7 v/ s
盒体 CreateShell Z5 [0 l0 T* O9 h5 o1 W5 S
倒圆 CreateFillet6 a7 l: q; A. {) t5 S8 A2 p
倒角 CreateChamfer
3 @ k0 k( m2 X: b厚曲面 CreateThickness
8 Z3 q/ j$ K0 l6 w* i5 J( _& L4 h3 j; o2 \( w5 u# E! H, w
* ?0 M) R# x E2 F$ M3 }9 g. x! L! D
现举创建孔的例子如下:5 v5 d N, v9 R1 V% M" n, Y( t& q: |
1.常用的创建孔的方法包括三种,依次如下。0 C& @& Z3 Y6 \+ P
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
6 l8 j# Y2 w: S/ B; o- L( L3 o& {const CATISpecObject_var ihDirection) = 08 K7 D h1 F( F5 b' O# l9 R0 i. ^& M3 C
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
! q1 |( s1 c# n# ~* ]; }8 eCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。% n Q3 u, E/ [0 ^
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
! d) J% ~5 M# ~const CATISpecObject_var ihSurface,
6 A# T: ]2 p8 vconst CATISpecObject_var ihDirection,
, c( ]3 K0 T( k! @& d5 A r" D. s/ Oconst int IsPointOnSurface) = 0
- Q, E2 G3 d; ?, g1 k参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection/ w$ [! }1 i! S. g3 K
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
5 R2 T* G, C' E2 S4 r6 T( ]$ @1 V% W+ t果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
' J/ L! x, V( Q& X& C# I( H, Zpublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,5 N" q6 y- `6 q4 C( c
const CATISpecObject_var ihSurface,
, t; j$ k j% W9 ^const CATISpecObject_var ihDirection,
2 \1 a" a- ?8 c3 U2 ]# s2 Iconst int IsPointOnSurface) = 0
' ^3 @# G) ^; O! Q. U2 e参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
3 t5 n2 _ R* s5 z" V; Z指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为8 F, S0 a, [. u2 ~1 y
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。0 N N j! h1 Q3 q$ a) h" w9 R6 y" D
2.设置孔的参数6 B- K( M# h6 U, A" t" o
CATISpecObject_var spHole = spPrtFactory-> CreateHole();2 X9 M3 G( r4 n2 Y% a2 ]# _4 N
CATINewHole_var spNewHole= spHole;( a8 G5 X. |7 o$ ?- k3 K
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
) F& d7 Y6 K; m1 YspNewHole->SetBottomType(1) ;//设置孔底面类型为平底! T( E7 s0 J2 o& P
spNewHole->SetDiameter(5)//设置直径' j$ N0 H6 Y" P3 l) {1 E
spNewHole->SetLimit(1)//设置为盲孔
. y. m- i4 p) F' w3 M: u OCATIHoleLimit_var spHoleLimit = spHole;/ z8 H1 Y+ n# ?
spHoleLimit ->SetOffset(5);//设置孔的深度' \: ]8 }) ?* a: j+ ~5 l5 y
3.将孔添加在结构树中
9 L+ ~; R- v: ?1 R# E( i
9 |) [9 o' G. N' _$ XspHole ->Update();- B) E4 `1 I6 a- u9 w( I5 H
CATIGSMProceduralView_var ispProcView = spHole;
# N; z) z. n8 a3 `1 dif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}+ J X( H( g" s. T1 A& ]
5 C% _0 \4 K% E+ J& Y7 ? |
|