|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
# \2 g- i- i* V4 }/ u( C
: D4 n4 B+ D: D' J2 k; Q5 x0 c实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
6 t, e$ M* o6 B
. W l: S6 ]% G; A创建实体特征的方法
5 `: H# N/ z/ E, R, L3 L ]/ V, A# E凸台 CreatePad- R% `. z5 L5 \
槽 CreatePocket
g0 E/ m9 L; Y7 s$ q0 w- e旋转体 CreateRotate2 A1 p+ r A0 P: y/ J7 `) {
孔 CreateHole
( a8 Y; p- }4 F- L4 m; y9 q# [盒体 CreateShell
. j! @" D: L: A倒圆 CreateFillet x# N( P$ W2 U/ I3 o1 I8 Z
倒角 CreateChamfer* q) x- F! }9 ?) z% X
厚曲面 CreateThickness
% d/ X2 a, z4 k$ c& s, ^2 a2 E
. `& @. j( U. b% u, U# f
+ |9 h4 P% J7 L% B6 W现举创建孔的例子如下:; y% c2 S8 G; a2 P, ^% G
1.常用的创建孔的方法包括三种,依次如下。
( U8 P! B6 a- Lpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
+ Q6 i- F0 r. U) U0 x$ ^const CATISpecObject_var ihDirection) = 0
- Q4 {# I1 [) G0 p9 @% {: o参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
4 g. G+ D/ g3 y/ tCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。 y2 g: p' a* {% n2 V1 `- k% l6 u
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,' K( s1 G! t# P3 H p$ f( {
const CATISpecObject_var ihSurface,& [- V. K7 M1 e6 W) z! t
const CATISpecObject_var ihDirection,
1 X; a- u# h* s/ R: [const int IsPointOnSurface) = 0& S$ J% p0 C) U$ S
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection6 `2 ? t+ C% y4 [0 J( ?
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
; O: y. a2 ^1 U: C7 M& c6 M果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
$ _( d8 ]) p. e3 ppublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,9 ?8 N( L( y- r8 C
const CATISpecObject_var ihSurface,2 c# x2 \5 c( x
const CATISpecObject_var ihDirection, @1 w/ @0 c) u2 G; R
const int IsPointOnSurface) = 0
+ K9 K3 a! X1 a9 }4 J9 ]* S# y7 @参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection0 g7 M+ C! p4 ?4 m* ?) B k
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
0 y# H( B. }# }$ {; H1 S, g0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。( W" n9 Z, {$ e# ~
2.设置孔的参数
' B8 Y7 p' y6 @' }& ICATISpecObject_var spHole = spPrtFactory-> CreateHole();
6 H# [7 t# l1 y& m) @( q5 \: sCATINewHole_var spNewHole= spHole;
& Z3 N; }: C! l; a7 Z9 H+ IspNewHole-> SetHoleType(1);//设置孔类型为简单孔1 y8 M; T, }( `7 E9 d- C x
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
" M6 S! _0 j. Z1 j, p: wspNewHole->SetDiameter(5)//设置直径
$ c t* N) S. V9 DspNewHole->SetLimit(1)//设置为盲孔: M+ r9 E. q- f) |9 Z
CATIHoleLimit_var spHoleLimit = spHole; ? ]# c. A% U. T, ]3 H# Z6 F( K! R
spHoleLimit ->SetOffset(5);//设置孔的深度
9 O' f% J0 ]% r1 F5 ?5 o% e3.将孔添加在结构树中
* a8 N# h0 w6 {: R( O( T
! } F7 n& G2 V0 S) O1 E% N& DspHole ->Update();& y+ q& x" F" ^2 |) j0 q
CATIGSMProceduralView_var ispProcView = spHole;
7 a- p& P& [. u( j; X# b" z: c7 @if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
- d' q$ s- r, @1 |& M1 ^8 K W1 D8 v9 s/ x {
|
|