|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征7 n4 V3 ]' }8 {( |
" o7 X q- g. U4 V
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
0 S6 K& Y' P! d& C* W% }, ?( G+ P5 \2 [1 i
创建实体特征的方法
' ~6 u$ A! W& v* d \6 i凸台 CreatePad
; g' W4 l! |$ a" c3 r! j7 n2 C# q5 `槽 CreatePocket* O" F1 B) M- c& q6 T' M
旋转体 CreateRotate7 |+ x9 j+ f% L# x8 F7 B$ Q
孔 CreateHole9 o6 S# }1 ^; r2 o1 h
盒体 CreateShell! c! s$ K4 b! J) M8 p* @
倒圆 CreateFillet
/ H9 x* H" f' n/ u6 d& R倒角 CreateChamfer
4 z" U6 J( i% L& {3 \厚曲面 CreateThickness
2 [: h$ D+ n- x$ X" j8 r( U1 b
! D" h0 t$ b A. ]+ R1 d$ ?3 B' l& D' R# z
现举创建孔的例子如下:
( h" U* v( j9 `0 l' a( l1 ~1.常用的创建孔的方法包括三种,依次如下。$ L( ]9 [% h5 x4 q+ ]2 ]
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
+ x1 G# n" m: q+ a( e$ Tconst CATISpecObject_var ihDirection) = 0
/ Y. |1 n$ N8 W! E. A参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
$ C5 u9 G" k/ P# BCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
4 w6 d/ D0 p1 ?8 Ipublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,% @2 C3 n$ y: S' }9 S# L
const CATISpecObject_var ihSurface,
) @' p) Q+ u# q* o+ K* q) aconst CATISpecObject_var ihDirection,
6 O" D: x3 P! ]( O& Z& n% w- o, Qconst int IsPointOnSurface) = 0
3 @( v! i! ]2 u1 Y4 M: g参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection% Z/ t6 h1 B7 D/ @
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
@( w: Y+ u" B1 K) Y, Z果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
?+ D p7 Y' t1 ~' h! Y9 l( Ypublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
: {1 w2 A* S; n1 pconst CATISpecObject_var ihSurface,
4 J* h. ~, x$ fconst CATISpecObject_var ihDirection,) ~+ x! ?. o1 Q" f( q# k
const int IsPointOnSurface) = 0
( f( {& _4 `" S3 @3 M C参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
8 u6 e; m' U* _$ I( d* d指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为& i l6 M O& r7 I; v( b& I, X
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。; u3 [# Z2 Z+ Q+ D% H/ e1 e& r
2.设置孔的参数
+ t2 j, \' k3 `# \+ d6 ]8 ECATISpecObject_var spHole = spPrtFactory-> CreateHole();9 S6 j( o, f. \% Z. P% j
CATINewHole_var spNewHole= spHole;4 s) ^& c9 K" {4 }7 V! R3 j) m
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
* a8 Z5 O5 Q. E! u! p4 wspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
* R I" a: |" k) P" gspNewHole->SetDiameter(5)//设置直径' y, c- w+ Q4 y# J
spNewHole->SetLimit(1)//设置为盲孔
4 o( K. \3 h1 C# h( J- o: xCATIHoleLimit_var spHoleLimit = spHole;/ ~' x5 ]: y: O: ?/ p) e9 t
spHoleLimit ->SetOffset(5);//设置孔的深度
: y. V0 X. E& y( \3 a0 Y" a0 g+ u3.将孔添加在结构树中
) W1 m" h) j9 Q2 l+ c& \
. W. h7 {* i# i: M" D6 C3 u( }, _spHole ->Update();* f9 D- C/ w5 [9 H7 y! u2 @
CATIGSMProceduralView_var ispProcView = spHole;
1 K2 u; l+ k" H+ u% [! yif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();} W% W% ~. n' t/ c! x) [
g% l5 W" N' I6 z* [2 z |
|