|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征& |9 X; Y& p2 _$ R+ S. y
9 B& R$ V% W& ^3 j1 }& S3 a" v实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,0 F' y/ }( {0 ~
1 m, j/ y; T. J2 D, j: C创建实体特征的方法1 M( }% f9 h3 t6 ~* }! h
凸台 CreatePad+ r! `- x. D1 P( _' K
槽 CreatePocket7 ~- a! ?1 `# U( D7 L
旋转体 CreateRotate
, Q7 r( X6 A' z; [4 n孔 CreateHole$ e. n4 q: ~$ R+ s
盒体 CreateShell
! P; Y% A8 F: s( ]4 }9 h2 I- p倒圆 CreateFillet
4 B" F* i- ?8 H( t倒角 CreateChamfer
6 ^2 F, ^: F* T0 d. R1 D厚曲面 CreateThickness
9 g: U: Z- z; d6 p5 |4 n4 Y& o# q' j. s. J% {. d5 D
" V! ]) W" T" J5 h9 E X \现举创建孔的例子如下:: L+ p; W8 F1 t, P0 g+ G
1.常用的创建孔的方法包括三种,依次如下。
+ _) }0 K. y& p1 H$ Y3 I- Vpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
" z; ~1 e \5 q. {6 b2 f/ fconst CATISpecObject_var ihDirection) = 0' {% j3 l, N, Y* l' R( \
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
3 @/ P- @( j. ~& j( C/ HCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。7 R# V3 @3 }/ ]$ F& C, U8 j
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
0 y+ j: T5 Y5 ?+ a, q. tconst CATISpecObject_var ihSurface,
8 ^# C1 G' J+ N# O4 U* ]const CATISpecObject_var ihDirection,
: T# i8 [& o' x: xconst int IsPointOnSurface) = 0
4 D2 t% l8 ]0 a9 i+ I$ {参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection: I0 j) F' \, _/ N7 G, M3 q
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如7 K# C: Q g# {: N7 o) Z
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
9 t" z7 }: P! [* ^. n) }0 Tpublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,) j* A# b5 x# [* r7 B8 r
const CATISpecObject_var ihSurface,4 e$ n$ j: U; p: r
const CATISpecObject_var ihDirection,& T" A( T9 w H+ r. d. E' F- }. U
const int IsPointOnSurface) = 0! N, f/ H: _& L" R% [* A: D( m+ q
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
9 L2 \8 h) Y2 ?指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
3 D9 L C1 _* r2 N# h9 z" s, F4 X3 x0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
# Q7 Y/ H4 O) E5 _) u7 F9 \2.设置孔的参数
+ u/ p# Z# t! v& P6 l" lCATISpecObject_var spHole = spPrtFactory-> CreateHole();
% M' x! o. E& g9 @. R7 Z2 I+ ^' @CATINewHole_var spNewHole= spHole;
6 K, { H t/ VspNewHole-> SetHoleType(1);//设置孔类型为简单孔
5 l& l- G- ]. ~$ v/ M. i+ SspNewHole->SetBottomType(1) ;//设置孔底面类型为平底' j! O) K, f; s0 A x
spNewHole->SetDiameter(5)//设置直径
6 B. r- D, U' Z8 v: [' pspNewHole->SetLimit(1)//设置为盲孔& i1 p$ Q2 D. e& A
CATIHoleLimit_var spHoleLimit = spHole;
v$ [" q& {1 R* F0 @spHoleLimit ->SetOffset(5);//设置孔的深度- N9 b) C/ L/ Z* t( A
3.将孔添加在结构树中
8 L0 I, U r3 o% F& p( b
' X% [; Z: f; G* D% KspHole ->Update();
' d- k# M: o' ECATIGSMProceduralView_var ispProcView = spHole;
5 u8 |, P& Y$ q0 ^2 fif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}' S, S! t5 z, V' I5 b
2 N. S3 l* _( a2 D' } |
|