|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征; f! L3 M4 k: l( G: A; p- A6 B
- @4 P4 M8 c# e: u
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
: T" `* F# s0 E7 J! G
. y7 P1 v4 z5 _' H& F" G' B3 h创建实体特征的方法
- ]: o. W0 Q4 F K凸台 CreatePad
: |" z x3 i3 X0 w槽 CreatePocket9 N5 Y8 `4 L5 z) @
旋转体 CreateRotate) C. L, e8 w, c: c) r5 \
孔 CreateHole
+ X0 m9 l1 v# y盒体 CreateShell0 [2 U; T- f& o, y
倒圆 CreateFillet
/ j: E2 P# o" z; G, f: h倒角 CreateChamfer3 O2 r9 }- b0 p1 {1 c. \
厚曲面 CreateThickness
! I+ A0 y- M2 n9 E
* Q' K" |4 g' u. q2 e$ U8 T& S3 Y x& j) H( ^/ |7 W
现举创建孔的例子如下:* B" a2 n5 i6 G: k! E- W
1.常用的创建孔的方法包括三种,依次如下。
- M6 E6 R2 ]# @8 d$ i& tpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,1 O" m( v' `& I/ t1 K3 D: _
const CATISpecObject_var ihDirection) = 0% X3 h( U% _2 F0 Y2 ]
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用/ D5 Q+ y8 h( j: g
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。5 `# |3 E" x3 y, R
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
1 @1 U% ^5 U+ F- x) y) aconst CATISpecObject_var ihSurface,0 f/ u( w+ V/ q1 ]2 S
const CATISpecObject_var ihDirection,
3 D0 Q6 M) F8 jconst int IsPointOnSurface) = 0
+ r9 M, j% e! {/ s参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection% n2 ^' {8 h& I4 q* W
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
- v" [- I2 x/ m) C8 J8 c果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。7 C2 X5 k V4 t- X
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
8 o6 m1 Z4 A; O2 e8 P+ hconst CATISpecObject_var ihSurface,1 D9 w. ^+ o/ o) ]
const CATISpecObject_var ihDirection,3 n8 s9 u7 s7 T6 A# R( h
const int IsPointOnSurface) = 0
' X6 s) {% L& h3 D( j参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection+ Q8 _) P2 g+ A3 n H7 g' T H" Z1 w% H, A
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为1 K, G4 [) }& m. A0 n! L
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。% ~5 P% l& p# s+ w2 e
2.设置孔的参数
; w2 V0 `% F; f: A( Y O& tCATISpecObject_var spHole = spPrtFactory-> CreateHole();. m. Z1 `8 N' G3 A
CATINewHole_var spNewHole= spHole;
& u) f# i3 }* g$ i0 c0 bspNewHole-> SetHoleType(1);//设置孔类型为简单孔
" p3 r5 x/ i$ d" g, P vspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
9 d$ ?& ~* y; l* p# EspNewHole->SetDiameter(5)//设置直径: k" i4 ?8 W4 k% I
spNewHole->SetLimit(1)//设置为盲孔, D, [& I4 i: F' e$ P% b
CATIHoleLimit_var spHoleLimit = spHole;
/ [! z i* t: X9 dspHoleLimit ->SetOffset(5);//设置孔的深度. L' Y( M+ _# f) O- ]: }: e# g
3.将孔添加在结构树中0 T8 r- A: `- y# Z
& O1 l: b: b, W. J8 BspHole ->Update();- D. ?# X2 [- X4 W* \' q7 a( z
CATIGSMProceduralView_var ispProcView = spHole;, c7 S) b; o Z) j7 m9 }
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
3 p/ m- B( v C# ^
* B6 l* e& A+ L/ j$ r# i |
|