|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征) N1 A3 C/ `- v0 a# G% D
6 [6 \+ e$ P- f6 g5 S6 x' c4 i& Q9 O实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
( x2 Z- o7 o) w1 X9 O
0 l3 ]- i: K" {) I" |创建实体特征的方法5 ^( H- ?. {; t" N" A* l' {
凸台 CreatePad
3 e( p; T# w+ `# `槽 CreatePocket
5 }; P4 o* X5 W! S# R旋转体 CreateRotate+ ]6 }( R! T& V0 R; k
孔 CreateHole; x% s/ Y/ V& a0 z+ D
盒体 CreateShell
' w; U2 J p+ G, d) u; o0 X2 T4 e倒圆 CreateFillet4 k3 ]9 L5 c* I$ D* W
倒角 CreateChamfer
5 u6 \- T) s' N% }3 c0 }0 ~9 A厚曲面 CreateThickness/ \* p: I0 @3 j. O6 q+ X
8 T* p3 H+ E R7 Z, R& h6 K; ^3 ^6 U. V
现举创建孔的例子如下:
7 M1 ]. w4 Z4 n1.常用的创建孔的方法包括三种,依次如下。
+ K$ a8 A' q- j) ~" ~% R) L$ Lpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,( D6 v- F, I3 I0 |1 `! r: V1 L
const CATISpecObject_var ihDirection) = 0, e+ y# i$ m k" U# y# F- g* Q
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用- C r3 P& P6 ?' ?2 N
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
p6 ` z! {, j/ wpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,& k6 C2 B% y: q' h* ^
const CATISpecObject_var ihSurface,
2 k( t& \8 |3 b8 h- }% Z1 }const CATISpecObject_var ihDirection,
+ X; ]! E4 c. e0 x9 a- i9 Econst int IsPointOnSurface) = 0! a9 O' r) [* H6 D: i3 S' e: F
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
9 S6 w- ?: o2 f6 r5 C( A% z指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
7 x- q. b8 m1 X2 g' {( A/ x2 K果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。. H U# y9 g9 a. I
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,) T$ _+ d, Z) k6 _
const CATISpecObject_var ihSurface," p0 A8 p) f9 Z* `9 R
const CATISpecObject_var ihDirection,
8 r' m! I, m7 |9 Cconst int IsPointOnSurface) = 0
8 g+ R4 C. l4 {, q& ~8 _参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
$ _4 v1 [7 A8 X+ b% |5 W* D+ z1 d指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
+ C( V- w$ x. z% V. f0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
- k; V6 T* M7 R( N2.设置孔的参数
/ @2 M+ E% ?. L0 p' fCATISpecObject_var spHole = spPrtFactory-> CreateHole();
! z+ v; V* f1 w9 V8 I* {. T. f& MCATINewHole_var spNewHole= spHole;
( H: ]% v t( O( YspNewHole-> SetHoleType(1);//设置孔类型为简单孔
3 k0 B2 ~- }) o( D* J3 n: sspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
- Q+ Y1 o7 F" s, hspNewHole->SetDiameter(5)//设置直径3 Y* R$ u3 h8 N
spNewHole->SetLimit(1)//设置为盲孔
' G& E2 d2 }1 V0 l$ L$ LCATIHoleLimit_var spHoleLimit = spHole;: y4 c( t7 r \$ e5 w. M1 G+ L
spHoleLimit ->SetOffset(5);//设置孔的深度4 J# j3 H T& D, \( F
3.将孔添加在结构树中, p, Y& Z; a' o
4 ~6 N" w0 }* `' `) n; h
spHole ->Update();: S' s: E8 ^) p% x _2 m' L
CATIGSMProceduralView_var ispProcView = spHole;2 K5 `9 n( O, g
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
$ D) r7 R: d: v# u4 @. W" x: l, T. w7 W
|
|