|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征0 Z6 g9 ? D9 F0 f* _
: m1 O$ ?' @% R% P7 p2 X8 `
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,/ h1 P7 @5 A! y0 M* k; M4 C; ?
8 ^* A2 w: ~) ]+ y
创建实体特征的方法
# O6 J- v9 t, @, Q4 B凸台 CreatePad
* `# J! }5 E* q& I8 f槽 CreatePocket
; [' j6 ]9 M8 Y+ ?6 s8 z: j" t旋转体 CreateRotate" H% p8 `2 U' h7 Q% w) v& s
孔 CreateHole
" V0 K3 T8 N" r+ c+ h盒体 CreateShell
* p1 j- \0 ^& x& _ }倒圆 CreateFillet" a. }2 F2 V8 {" A: f
倒角 CreateChamfer
8 ?& T) C6 X9 ]& j厚曲面 CreateThickness. n! w0 B @. J# O* w
4 V4 u2 y4 k$ V( S: w0 I8 Q
' V Z' s* v3 P$ Y5 p7 z现举创建孔的例子如下:
! k: _5 {3 u" a2 n) J1.常用的创建孔的方法包括三种,依次如下。
7 h- @6 o5 H) b3 R4 ^( opublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
4 G- @$ @ B( _& Y: ?. y0 tconst CATISpecObject_var ihDirection) = 0
2 G2 E, q z6 b+ H( F4 T参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
+ S/ y0 ?: N0 X" _ q7 y, SCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
/ l7 X2 K; A! T7 |, G3 D6 Jpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
' I! D6 f8 ^) y1 Sconst CATISpecObject_var ihSurface,8 u6 A4 F! @& e. v& |( J
const CATISpecObject_var ihDirection,, s# A3 {( K0 K; [: s) C. e
const int IsPointOnSurface) = 09 x8 X3 D: B# |; Z
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection3 _4 x1 C+ R' G0 X z
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
3 _5 R+ G u4 P! n果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。6 r" c8 ?* I x7 {) k/ T1 u- g( X; C" D
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint," R0 R/ O! l* ^/ n- {6 @
const CATISpecObject_var ihSurface,
: p7 v5 f4 I/ n) k; P8 Econst CATISpecObject_var ihDirection,
9 V6 `/ x6 g A8 ~const int IsPointOnSurface) = 0
/ _, q$ K; S1 L8 d: h3 x' |* Q参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection+ j ?+ z) R' ^! q6 a6 q0 S
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
+ N5 g2 d8 k4 p0 I+ F0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
, n- i: q2 X$ C. Q+ P ]2.设置孔的参数
- W/ m, k4 n- V1 Y) ~0 qCATISpecObject_var spHole = spPrtFactory-> CreateHole();
; `7 i7 y2 [7 P" w$ L/ v1 B4 } ~CATINewHole_var spNewHole= spHole;
- h; `' {( V$ p5 q NspNewHole-> SetHoleType(1);//设置孔类型为简单孔. `* t- {1 A+ U% s* R% ^) S
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底: y4 n; R- F; ]9 u' h7 X9 {( V5 L
spNewHole->SetDiameter(5)//设置直径
$ ]5 c/ F( a( I9 r5 rspNewHole->SetLimit(1)//设置为盲孔9 y" |: u+ {* z* L5 z/ C! Q4 q
CATIHoleLimit_var spHoleLimit = spHole;4 U/ k" u/ `" i
spHoleLimit ->SetOffset(5);//设置孔的深度
9 n* F& U0 G# T9 l$ {6 U2 K3.将孔添加在结构树中5 f1 y8 e7 W9 m7 L; R# e
) {4 ~8 U" T) B" XspHole ->Update();
- O k# T) O# o/ K; WCATIGSMProceduralView_var ispProcView = spHole;% l8 h6 o& D$ G5 f8 |3 y" ^+ V
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
8 h, P: L! F/ d' h8 b! g! d5 n0 i% g& j* Y" k8 P
|
|