|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征: i4 a4 p0 ]' K2 Y3 Y. \
7 ~: d8 _" N, c- q3 M/ S5 W
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
5 |# C3 K. S! L1 \+ }* Y
- O' V1 F5 H6 w! i0 Q' T& V创建实体特征的方法* C. ~2 ]; {, m9 H0 E0 T8 Y6 n' @
凸台 CreatePad+ j' k7 B1 ]( \2 s0 b
槽 CreatePocket
# S `5 u- X' D3 ^. m- L旋转体 CreateRotate5 ]" ]/ l w2 a* B
孔 CreateHole
& r% I. \' [2 I2 F* x; }% ?: g盒体 CreateShell) V* [3 j1 i' f* G* L5 v* i" @
倒圆 CreateFillet
, e2 Z/ ?6 w6 K倒角 CreateChamfer
/ X" M, A: k1 L3 v* m9 V8 y. k厚曲面 CreateThickness
* M+ `, @- {. ~; _! b! L3 I0 N6 w; C% d4 ^' B' P1 S- R
2 E4 ^. [! x! [+ v$ Q& p
现举创建孔的例子如下:5 o( H& @/ ~) L$ B8 F# u% i# r
1.常用的创建孔的方法包括三种,依次如下。
5 ~( F) u6 K9 |; c7 o% E6 @8 Y. _public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
! g6 t6 }6 G0 N8 ~* Bconst CATISpecObject_var ihDirection) = 0# ^; u7 }0 g' S. W# u- y3 ^
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用9 r+ F t4 s. {8 J
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。) p9 d4 n' D/ o( g4 O* p3 x
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,( e- Q. E2 C1 y. A, a: ` a4 X8 ~, ]
const CATISpecObject_var ihSurface,* N4 P3 Q6 q3 E
const CATISpecObject_var ihDirection,
( ]/ V# O, l( V* Y5 K) k2 Y2 Y0 sconst int IsPointOnSurface) = 0
; r0 X0 S& }/ u$ X1 g1 j- O5 b参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection( I! ~& A; n2 O: r Z; D8 {
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
/ A6 K8 Z" h5 Y( p, @果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
; H6 }1 |' K) U) M4 C$ opublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
" ~: \( b+ p; D% ?$ @const CATISpecObject_var ihSurface,
0 e, J; V F0 E; ]const CATISpecObject_var ihDirection, h- A3 I3 H+ |
const int IsPointOnSurface) = 0
% P$ u7 d% I5 e9 @9 z1 y参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
% G6 q. } t7 j2 d9 p. B指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为) \4 m; H2 B' ~
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。3 w! c5 z+ [$ d
2.设置孔的参数% }/ z% `, @- Y( P
CATISpecObject_var spHole = spPrtFactory-> CreateHole();4 \3 B: C3 q- z* Q& N
CATINewHole_var spNewHole= spHole;$ l% z* @9 J8 o" @5 Q+ X
spNewHole-> SetHoleType(1);//设置孔类型为简单孔0 Y2 r' f5 t) t; ^+ Y
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
( x' [* O1 H/ D. ?6 f" B* FspNewHole->SetDiameter(5)//设置直径
3 u9 `3 H9 X Z6 w9 u- _; }spNewHole->SetLimit(1)//设置为盲孔1 k+ p g2 h6 S2 s: |3 }; ?
CATIHoleLimit_var spHoleLimit = spHole;
2 R8 P3 C L; r: ^" ]0 E' S0 hspHoleLimit ->SetOffset(5);//设置孔的深度* H4 s/ ]' P8 l; d% D
3.将孔添加在结构树中0 k1 g/ F N* W$ M/ Q$ s# N
2 U9 D5 a* |9 ^! f3 e; HspHole ->Update();
, I1 R i2 c8 D. o* K8 e7 DCATIGSMProceduralView_var ispProcView = spHole;4 q2 o5 M* r) A ?$ ]6 s: Y( m, }
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}2 v4 s, v G& a5 Q
+ w: s( G! A5 F% P, X
|
|