|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
# Z8 a8 n8 t# Y7 R9 q8 i! [$ Q8 q
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,, h# B3 U: s2 Z
3 V# V5 z1 j) s( @! o+ O& ~' d
创建实体特征的方法
; r0 O! R9 V1 g凸台 CreatePad+ R) A# V3 s1 L, Z( W, [
槽 CreatePocket
3 y8 E, s) {; ?6 T4 @0 ]旋转体 CreateRotate
$ o, X: c% R) f v7 ?孔 CreateHole/ m& `; Y9 \; }
盒体 CreateShell
% f0 p( c9 c8 S5 I5 o$ _倒圆 CreateFillet# h* s: O3 z7 G# N9 [" x6 f. x Y
倒角 CreateChamfer
/ M; E; ^ L; t* J9 a: c厚曲面 CreateThickness
+ F% E/ x0 a$ U0 _+ p: f1 Y Y' J! [/ E6 ~9 N, ^
$ U( k# x9 v5 `8 a5 E' X! `现举创建孔的例子如下:
* w/ s% `) ?/ d; e2 X: B1 N1.常用的创建孔的方法包括三种,依次如下。1 @5 l q4 Q/ n
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
x5 @$ H' U/ Y: v4 q9 Q& `. h+ uconst CATISpecObject_var ihDirection) = 0
2 q+ ?; f t4 B5 Q* q( u5 a. f$ n( B参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
2 J" a( k j) C& ~3 b) bCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。" K# A, g9 \: X N3 X/ Q& {
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,, q0 t6 n7 z; n: r4 L; m
const CATISpecObject_var ihSurface,
3 F, n ^7 z5 c. K' xconst CATISpecObject_var ihDirection,
4 e8 I/ y) r( c+ G* @2 ]/ R* aconst int IsPointOnSurface) = 0
7 Z1 \7 \! }5 C* U- K3 Z/ g参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
! g& X; K, y9 D# X& H指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如! b1 w( I# W6 F6 d9 @5 k7 ?
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。* e+ z1 X' X9 ~
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
0 c7 E0 N- C+ B. W+ ?const CATISpecObject_var ihSurface,
( i1 v2 C2 b8 p7 e+ S$ P ]const CATISpecObject_var ihDirection,: D+ @* I2 A! R0 x! h$ K
const int IsPointOnSurface) = 0
% k. L- ^& K1 p( j& V( ^参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
, K! F: Z3 p" s指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
$ Q3 q3 G \$ C4 Y0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。: Y1 ?7 j2 G$ H& @5 f3 ^
2.设置孔的参数% _+ d1 i) B9 S4 l. y
CATISpecObject_var spHole = spPrtFactory-> CreateHole();3 `' V# {! C5 V0 `% }/ I" @
CATINewHole_var spNewHole= spHole;
4 g& @" u( w$ f/ mspNewHole-> SetHoleType(1);//设置孔类型为简单孔
5 [/ [, t" J8 L/ MspNewHole->SetBottomType(1) ;//设置孔底面类型为平底! j2 B; M5 O7 x1 R
spNewHole->SetDiameter(5)//设置直径8 V0 E5 B( r1 d7 w0 P. j
spNewHole->SetLimit(1)//设置为盲孔* `- D; P) J2 @2 ?& H& Y
CATIHoleLimit_var spHoleLimit = spHole;
' m0 ?* f6 r) p9 n7 t NspHoleLimit ->SetOffset(5);//设置孔的深度
9 D& S4 V- D" q5 N6 E# c& P3.将孔添加在结构树中2 u& f( E$ s$ n
( j* c6 c7 C( xspHole ->Update();
! W4 N6 j+ _$ S6 J; ]) _CATIGSMProceduralView_var ispProcView = spHole;
1 [) s7 s- k( q8 H; ^) l: j! Pif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}) O6 l) n+ Z- C: ~: v8 S
. o; E( N3 f& ^8 ^* }( p |
|