|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
: Q3 b% R) ` n$ r1 N6 Z
( [7 I! V# O9 Y4 g! n$ ~$ ~实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
5 C( b# o2 N4 v8 A. O. W+ V; F/ X$ G9 {7 c [" o- v7 L6 _3 V- k9 z
创建实体特征的方法) H1 o- m( i1 o. h1 P' T
凸台 CreatePad
! U6 C- g+ Z* o l6 w! c槽 CreatePocket
. f j# Z* s/ f; d/ |* P旋转体 CreateRotate
1 N7 ]) u7 m7 T孔 CreateHole
1 x# j4 G+ O- r; y盒体 CreateShell
5 v& m" X' O6 ?, m' ]6 J9 f倒圆 CreateFillet) g- P/ ?6 N( a0 I. J$ }% U0 L' O
倒角 CreateChamfer; E. a6 D, e1 H7 p3 P
厚曲面 CreateThickness, s5 ~$ D' g: {
3 i3 y) X; I* \% D" ?& m
, `# W8 \6 i7 a现举创建孔的例子如下:, R0 y' d8 H! Y a4 h: T6 L
1.常用的创建孔的方法包括三种,依次如下。
; Z8 f' f) X, gpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
; o2 Y; R/ P- _$ g7 A; ?5 [6 G0 Wconst CATISpecObject_var ihDirection) = 00 Q' y' \7 Q% ]
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用9 V# L& V# C u0 f
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
* R- U4 n0 m( Zpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
8 j; Y9 K3 H B' Z1 l5 uconst CATISpecObject_var ihSurface,. t- [$ Q# v1 u3 [, Z
const CATISpecObject_var ihDirection,: y- V% I# X) s; Z3 E" m
const int IsPointOnSurface) = 0
4 Z2 x) A# j! ]参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
. \* {. j$ C, V1 D+ \) F8 v指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
; m. F2 r a! A% P1 @, f2 I6 o果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。4 I/ m1 Z4 k+ w; \* P0 }
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,! v# w/ D6 N& z4 P- V5 J. u
const CATISpecObject_var ihSurface,- k& ]" H! t) I& U% ~
const CATISpecObject_var ihDirection,: n5 I2 p8 @( r2 C% u5 a
const int IsPointOnSurface) = 09 \5 N' ~% m$ L7 A, t1 k* ~& o
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
! j) A* `9 y) ^! j; [, l# c$ n指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
0 V$ y" R# q& ?* q X! r0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
* M; t, O* K6 b4 `& o2.设置孔的参数5 x# C: ?- f- K+ x
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
. e4 j) @9 `( ^, _9 }9 aCATINewHole_var spNewHole= spHole;
5 s) a- W4 F a7 t; PspNewHole-> SetHoleType(1);//设置孔类型为简单孔( f8 L8 W* C0 x% c% h6 x
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
: W* Y3 s# B5 u6 c4 FspNewHole->SetDiameter(5)//设置直径
}* S" \3 K; z$ q( U3 UspNewHole->SetLimit(1)//设置为盲孔+ N; v$ H7 P4 `% n8 R |
CATIHoleLimit_var spHoleLimit = spHole;
* i' d& T J# y1 fspHoleLimit ->SetOffset(5);//设置孔的深度0 c% K( S$ u1 b( G4 b3 z$ k
3.将孔添加在结构树中
m0 }( b2 K7 _5 o- }( M& Z( B3 f. @/ ?; k0 O) w: L& x. J
spHole ->Update();
- O! e& c. J6 H; h" u( {CATIGSMProceduralView_var ispProcView = spHole;
; K4 J) O. U/ Sif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
}0 \/ I/ ^$ @ Z& P5 k3 x6 J* w
+ `) E9 d- w( u1 h" z0 [( k* } |
|