|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征1 E+ H2 ^( Y* a' e. T! b' }& J1 i
; m# Y8 o5 H7 ]$ ]实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
5 _, J7 p; r9 h
& W+ y$ T% L, n9 a创建实体特征的方法
& K+ E1 o. R& x! I6 H7 o) L凸台 CreatePad+ L, s" W d2 X" ?
槽 CreatePocket1 K9 [: @, |9 u- d* c; Q. [
旋转体 CreateRotate
4 n7 R* U6 D. }9 g$ A1 P孔 CreateHole. x' L. C7 `. b- ]; a# y) F
盒体 CreateShell3 F# X& j+ y+ v2 O' t/ V; c2 c, f
倒圆 CreateFillet
; k6 U! K1 r, g: v: |6 Q% s倒角 CreateChamfer
5 |! U: s! B. A8 G' K+ O厚曲面 CreateThickness
7 ]) S8 I4 ^3 t6 y O" N* l9 F7 H( ]7 I
& X1 G' y6 ^& l9 f
现举创建孔的例子如下:; t6 {% [' R3 |/ B
1.常用的创建孔的方法包括三种,依次如下。0 j. Y* L5 C+ {5 q6 M% `
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
) h( d' k2 a, Wconst CATISpecObject_var ihDirection) = 05 ~4 c, o U) D' d* {# b
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
0 D4 ^4 M1 s) Q" qCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
# G) ^- r& C( j& z; Hpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,6 ~" T# p" O5 p4 g) D9 S
const CATISpecObject_var ihSurface,
h2 q$ a o4 q2 H# i) P9 {( dconst CATISpecObject_var ihDirection,
; p4 l/ V1 Z9 A" R l5 \0 uconst int IsPointOnSurface) = 0; E# U/ I4 I3 y: H* T
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection7 y; D2 d- f: n& A
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
0 H9 c" y- h! U- F4 h/ M/ a果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。4 J7 \8 j: ?) n* s2 r; D; q
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
+ M s3 ?( ?* n! Zconst CATISpecObject_var ihSurface,
# {6 N- a8 d- R6 n; o. p7 Aconst CATISpecObject_var ihDirection,
% {) c' b8 y0 v0 C% K8 Nconst int IsPointOnSurface) = 0
1 [: F# h) s! g参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection% Z' g( f) B$ n- u3 x0 J& ~- m
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为; i% a x# G U# t
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
$ |7 g* i) r- Z: L- H: x- F2.设置孔的参数
. n* N2 j7 T* {" g$ p$ F2 HCATISpecObject_var spHole = spPrtFactory-> CreateHole();
3 D2 e ^7 u& M" X! U6 h9 A& hCATINewHole_var spNewHole= spHole;
5 a' O% p8 m, v/ B" JspNewHole-> SetHoleType(1);//设置孔类型为简单孔
0 N, ?/ l5 |! u0 MspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
3 u5 U+ s6 `; }! b; I& k; IspNewHole->SetDiameter(5)//设置直径2 V4 X! p' |3 y# I5 j" o
spNewHole->SetLimit(1)//设置为盲孔
1 h4 ~0 ]7 h1 t) S, M7 x# R' c6 d+ sCATIHoleLimit_var spHoleLimit = spHole;( w5 O# g4 j5 b+ d% R9 m4 p
spHoleLimit ->SetOffset(5);//设置孔的深度3 w R5 A- d* d6 f$ b- _/ S
3.将孔添加在结构树中
7 f$ c p7 g: P0 y' w4 m$ |
6 D9 F; d3 @" y" B; d. `: NspHole ->Update();% a, \: v! A s8 Y) u0 @. O8 v
CATIGSMProceduralView_var ispProcView = spHole;" f) U1 y) r& q. _+ m
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
" L3 t$ W) h0 w. V& ^# N2 |; _* I2 c7 ~* T" Y/ M! X
|
|