|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
) r, X' |5 u! c1 N7 [- I# L7 n% S2 e8 }$ }7 T
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,* F; J$ |; l& X5 {
) v1 {5 C6 Q9 }" U. c! o: T创建实体特征的方法# ~' W$ R; M+ [! k' q1 O7 C
凸台 CreatePad
* n6 |4 q( L9 a槽 CreatePocket
; \4 ?1 W( t; [0 D% a; j旋转体 CreateRotate* Z! z/ K2 T# T
孔 CreateHole
" f) r( P' E/ ^( j7 Z( c盒体 CreateShell: G: r1 s* r O; |
倒圆 CreateFillet
2 z1 Z* \* ?4 x" L3 D- h倒角 CreateChamfer; s0 o4 r3 ~- C+ l
厚曲面 CreateThickness
/ v- }$ y: l0 Z0 H3 n! `/ o
* H8 o6 ^% @& f) X( r; X7 q3 Q) v. V) V2 A( l% X
现举创建孔的例子如下:! d. `- L; A6 d
1.常用的创建孔的方法包括三种,依次如下。* }" K# v9 x+ M9 y7 ~0 @
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
- o: `3 F7 G9 d8 ^" ` I' i7 wconst CATISpecObject_var ihDirection) = 02 ~6 K$ H% \3 J( Z
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用5 H7 q% O' J7 y: W h/ ?& l
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
" F4 y. a9 ^' I! S9 g: y6 f4 ]9 upublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,) U6 i6 e, ~, u( A! M
const CATISpecObject_var ihSurface,
# }: J# v O1 @! R5 H) |; cconst CATISpecObject_var ihDirection,& {5 a* o0 E$ f( c( v# q2 j. F
const int IsPointOnSurface) = 0 N/ ], _" {6 ~; v! q5 N! E2 x
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection7 R8 Z9 n1 S5 Z5 X
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如3 T1 F6 M$ E/ L- }
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
: p0 L2 s. u) L# _, M. mpublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,4 S+ C" f! ?8 \# @
const CATISpecObject_var ihSurface,9 {& \; c0 r9 k+ v8 q9 L: T
const CATISpecObject_var ihDirection,1 z6 R: C/ ^" z! h1 j5 R O
const int IsPointOnSurface) = 0/ ~; r& c) u* E' y7 l P: y
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection3 A6 j/ K" y; y5 Z/ H8 Y9 T, {: H$ K$ Z
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
- y# o6 A8 y( i4 q! _0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
3 g- v) [5 ~8 _2.设置孔的参数
0 r' x$ k' ?9 J. |' l* yCATISpecObject_var spHole = spPrtFactory-> CreateHole();( ]. ?1 R7 j( b/ L: x4 ^, p8 |
CATINewHole_var spNewHole= spHole;
- K. E+ T; v* ]; r- }) v2 xspNewHole-> SetHoleType(1);//设置孔类型为简单孔
% V! `8 {- X( e' KspNewHole->SetBottomType(1) ;//设置孔底面类型为平底* G$ A6 Y. R- _9 q
spNewHole->SetDiameter(5)//设置直径1 g( W# ~4 e; p/ Q( @' C9 v. _: k& ~
spNewHole->SetLimit(1)//设置为盲孔
) I7 r ?4 {9 r7 I0 oCATIHoleLimit_var spHoleLimit = spHole;" R! O- s$ m& l; H, l' @
spHoleLimit ->SetOffset(5);//设置孔的深度
, Y# A8 T5 Z( d" b% f3.将孔添加在结构树中% ?( ?$ Z1 R" V6 v1 t
1 h2 v; ~# ^$ e+ p4 O. z( I5 e
spHole ->Update();+ x; t1 @+ q# s
CATIGSMProceduralView_var ispProcView = spHole;* D/ [7 i$ {; ?6 N+ ~
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}6 M7 _" J/ ]. a/ X3 c8 o1 f
' P4 ~6 Y3 ?: T |
|