|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
; F' G9 U( _5 S# o5 t$ F; f1 N) l& I: p Y9 R, a
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,# \: k [; ^9 |$ v* k- k2 D X+ ]. p
- F* `! R2 X* ^创建实体特征的方法
1 I" K" h& z. \1 {凸台 CreatePad
. c- W4 K; d. W槽 CreatePocket2 I/ X: \9 w8 ?& C* {& q
旋转体 CreateRotate8 x& [7 m" u- }- V$ F J7 j
孔 CreateHole! g: S3 i9 z0 B# E6 o: a, O& ^; o
盒体 CreateShell6 n1 u/ o& J m; A1 z
倒圆 CreateFillet
3 H6 _/ v' w( r# p/ ^倒角 CreateChamfer5 a; J0 a& C" H5 S' X6 u
厚曲面 CreateThickness
5 `& A7 s {6 J! G; A* y& B+ g
4 z1 Y. E* E! F" I# h' H! @ Z. y' `5 ~1 r, H; ]6 L
现举创建孔的例子如下:
* i S. C/ j2 J1.常用的创建孔的方法包括三种,依次如下。/ o" e; c& |* Q. h# a
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,! q2 w* a- _9 ~2 S5 O
const CATISpecObject_var ihDirection) = 0$ t# E1 P8 L- l; m7 z
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
1 l8 J6 t& f) v5 I+ i9 h2 \9 o7 ^1 c- QCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
c, G" x) `, v7 P' D' `, vpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,1 q8 v% M( Q: y5 l# T
const CATISpecObject_var ihSurface,3 }; B/ m0 I! n; V y
const CATISpecObject_var ihDirection,
% k" b9 ~- ~ I5 E. W" o8 U, x) tconst int IsPointOnSurface) = 0; s3 q; ]1 O: j2 n
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection0 \! m8 |$ @! h1 P; H: }
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
5 U+ H6 {: X. p! Q% D) P1 b- \% y+ g果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。8 E( x* @. U0 F& H# p3 ^2 {
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,! g! m) b4 f3 e9 o
const CATISpecObject_var ihSurface,2 J6 K/ Z( B8 L( \( d6 j# E
const CATISpecObject_var ihDirection, \0 P7 ]7 O5 V: L t( m' V
const int IsPointOnSurface) = 0# W- @) i3 [ s/ h( S
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
7 y) O8 G* p, x; B0 u0 T指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
! O y$ x8 P: \2 V& Y; V0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
: A0 X& g3 V* R- g) p* y7 ~2.设置孔的参数1 Q6 I" ?( u+ |; f
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
" |' p! i* X7 h+ u& @7 D! i) }CATINewHole_var spNewHole= spHole;' M8 ~# h5 x: C& V. K- t/ Z/ G
spNewHole-> SetHoleType(1);//设置孔类型为简单孔4 x c; R+ s0 B, I5 O
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底6 N9 ^/ W' h8 j7 _$ c
spNewHole->SetDiameter(5)//设置直径* k6 \- \8 a0 h# P2 J5 F
spNewHole->SetLimit(1)//设置为盲孔! V" U' W# G+ l d2 {
CATIHoleLimit_var spHoleLimit = spHole;2 ]/ o6 ]1 y: M
spHoleLimit ->SetOffset(5);//设置孔的深度
" p$ x. j+ l) t+ t! B3.将孔添加在结构树中2 z( x, u5 t) F* F k
" k" e% s" D% f3 l9 B; z2 V# D5 R
spHole ->Update();
& X$ D( u2 k2 v5 U; L7 BCATIGSMProceduralView_var ispProcView = spHole;
[2 c+ L# V) K6 `6 }if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
3 v8 K8 n" y# G6 [* Z' F: S ]6 O) U3 j/ m; ]0 D
|
|