|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
$ l$ [+ v; \& |1 h9 Z7 a) l. k3 W) o8 o* s" g
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
4 B* X' L' n5 h/ z2 l
. Y8 u5 k: l: A. A* O创建实体特征的方法
8 C$ A; m5 Q6 t- {0 Y凸台 CreatePad4 |; x$ t' [: J9 V
槽 CreatePocket
6 s* \: c' s8 {" R7 W旋转体 CreateRotate+ L& T C. V8 B2 n6 F2 c
孔 CreateHole3 e. ^; N9 H: b% r
盒体 CreateShell2 D' @+ b; d. G1 \
倒圆 CreateFillet
$ I0 X8 ?) u, H% Y( `5 p* h倒角 CreateChamfer. b& Y. b" }, U0 u
厚曲面 CreateThickness& k- A! M- ~- J. t$ Q
, u( |9 s( ^7 E: s r+ `6 I
3 p& d6 l* l! V; V
现举创建孔的例子如下:& [0 \% L# H/ p
1.常用的创建孔的方法包括三种,依次如下。) b1 b/ L/ f4 n( z4 r/ U
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,. Y1 Y$ _3 K- e3 a; _# D! R& u
const CATISpecObject_var ihDirection) = 0
- W9 t+ k; V; v) {" t& \8 ]) L9 y$ t参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
l& P3 O/ ?4 |. FCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。9 p) i: w- @4 @) g0 K: K
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint, n6 s+ \3 p! ?. t
const CATISpecObject_var ihSurface,
( k) W$ I7 c( K4 \2 Mconst CATISpecObject_var ihDirection,
4 L0 i; Z" y/ e$ M' F Sconst int IsPointOnSurface) = 0
2 l, u# B+ O2 a; a8 N7 g0 p- j4 K参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
0 x# z2 } {3 P指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
! h" K0 Q K) S2 F5 x) Q果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。. F1 I3 e. P3 v
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
1 a1 {2 p0 X+ w/ x; `const CATISpecObject_var ihSurface,! w3 ]4 x0 C) Y( r; N
const CATISpecObject_var ihDirection,4 |* C/ j* W% ~
const int IsPointOnSurface) = 0
7 A; o9 @+ M/ E# X U* i3 Z参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection! M% D# p& g. q# g
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
- Z& T* `0 S. g! u8 h0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。+ i6 |) M1 u# P5 E' L$ _
2.设置孔的参数. ^0 p% t9 _, ~- a, a
CATISpecObject_var spHole = spPrtFactory-> CreateHole();9 {7 T8 k$ [0 {8 L. H& h! O9 g- H6 V2 S* f
CATINewHole_var spNewHole= spHole;
$ H+ W' n+ y* mspNewHole-> SetHoleType(1);//设置孔类型为简单孔
: B0 U" H7 L7 h+ _' v3 J: cspNewHole->SetBottomType(1) ;//设置孔底面类型为平底% u4 r; C; n( `9 J; E2 a" c! V
spNewHole->SetDiameter(5)//设置直径
1 b& b7 I7 g/ m6 {. v3 WspNewHole->SetLimit(1)//设置为盲孔; W+ d; \4 T) i
CATIHoleLimit_var spHoleLimit = spHole;; L2 `' x/ V$ u
spHoleLimit ->SetOffset(5);//设置孔的深度
4 {1 E4 s+ Q8 _4 ]' F7 V+ n0 U/ P3.将孔添加在结构树中9 y+ o$ k, X& U1 u2 _
! K, E: Y3 |) _8 Y+ l2 ^spHole ->Update();
: Z4 U! S. `# k3 C; K( {CATIGSMProceduralView_var ispProcView = spHole;; Z, @0 r7 Z4 a+ k- O
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
# m! |, m. u3 `2 l0 H
3 S6 X' @2 a$ S9 W0 L' B& E& W1 d |
|