|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
. l3 M+ ]/ @* L$ y7 c' R& e% l6 |2 n% J
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法, _/ ?$ s T4 s: x2 m
; Y' `+ r1 u$ b3 p
创建实体特征的方法" S- h% b6 p) z7 g9 Z
凸台 CreatePad: }, S; J$ @5 S* Q8 W4 @
槽 CreatePocket
1 {2 s' w! E. _; i* v5 ^: Q* |旋转体 CreateRotate
2 [; k/ S$ S. w- g, ^2 O孔 CreateHole
2 {% T$ z @7 U: j4 [; c' l+ y3 d盒体 CreateShell
0 D/ e/ r7 Q8 X" d* ]6 S8 M+ ]倒圆 CreateFillet5 [8 H; {4 q1 Z0 j! W
倒角 CreateChamfer# u2 P; f, f- }& ]9 W5 p2 X+ c. [! E
厚曲面 CreateThickness
; m# s" |+ G M/ V5 Y# ?$ M4 i4 e5 H- R" F& v% R+ ]/ `$ _
" h4 v2 n" m; ]% G, c0 Z现举创建孔的例子如下:6 Q1 m3 `) \" o1 H
1.常用的创建孔的方法包括三种,依次如下。. S$ p/ f; w% X. \+ v, b3 m1 D
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
- H }8 p5 P8 }' s$ p( E6 vconst CATISpecObject_var ihDirection) = 0
& Y+ Q' @2 d. B. T( m参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用, q$ W" }9 i: J* A* u
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
- o3 r5 M! ]4 |* ypublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,$ d/ t7 `4 s+ k
const CATISpecObject_var ihSurface,
2 H+ ^2 A) i" O/ h2 uconst CATISpecObject_var ihDirection,
- j7 y+ }( y# G+ V) Yconst int IsPointOnSurface) = 0, J# G% F- ~* t/ R
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection9 m& [2 e8 S$ U8 J5 b9 x/ m w
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
: P& X' }/ B* F3 [果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。0 \' o9 P: C: n1 {9 V7 {) t
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,3 u- Y% t! J. \5 ^
const CATISpecObject_var ihSurface,
s. T. E O. v# y, t# [const CATISpecObject_var ihDirection,
; i7 c% h& V6 W; n% }! ]0 aconst int IsPointOnSurface) = 09 t5 A% o5 p, y5 v0 [1 I# \. J: @8 _
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
# |1 }; v' K' X9 w! t9 {指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
1 U' K2 e( \+ V; F3 q5 [. v$ s( |0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。* T0 U% n( A# s% v3 T8 P& Q
2.设置孔的参数
' j+ @( A: o8 z! X2 |CATISpecObject_var spHole = spPrtFactory-> CreateHole();$ [. d5 z$ k, E7 ~. O6 J
CATINewHole_var spNewHole= spHole;* Y0 U: f: a9 \& |' _
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
( V/ \; _7 H8 U8 H! R6 h PspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
5 Y4 l5 ] B4 I6 U# c! V+ ospNewHole->SetDiameter(5)//设置直径
, @& x3 Y# Q* sspNewHole->SetLimit(1)//设置为盲孔
" \& P* X- i% j* v/ jCATIHoleLimit_var spHoleLimit = spHole;# P; z( I' n2 p
spHoleLimit ->SetOffset(5);//设置孔的深度
' G: M1 y1 X; Q8 R: a3.将孔添加在结构树中
2 v% R3 Y" T" m2 r! v# D4 n
* P# M" B6 z0 q# gspHole ->Update();
) f% q, d- O V0 X9 k" CCATIGSMProceduralView_var ispProcView = spHole;
0 e* n7 O# \; Y1 eif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
2 [! s2 O( _! B _' i
& R: F) g, g, K$ y0 Y% a# c/ _8 x |
|