|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
. z3 D5 E8 B6 i
1 O+ m C2 `8 w, |+ J2 |& [3 H- E实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,, w# {, E' V! x2 E3 ?% A# e
$ }! I8 a! @; }# ~创建实体特征的方法
3 K2 i/ A) B* O2 _& O凸台 CreatePad
! H! p( M- Q. J8 v# ?槽 CreatePocket9 ? O6 ~; e* z6 ]1 C3 Y. d8 N
旋转体 CreateRotate! ^2 W4 w+ A: L
孔 CreateHole! ^# ?% _4 o. P( ?# ~9 @
盒体 CreateShell
) V4 S1 e1 ?1 i$ ]倒圆 CreateFillet
, G# E3 K' [" h倒角 CreateChamfer) q$ n1 P) w( G( A
厚曲面 CreateThickness8 ^( n0 F8 B2 i# h3 t6 d
$ f8 Q5 Y4 g3 J X- E- s) Z3 U
' h9 X. Q$ b# ~# o) Y6 W1 B% |现举创建孔的例子如下:
; J0 y, Y5 h- L6 y1.常用的创建孔的方法包括三种,依次如下。
0 [* ]6 r; ?! {: E. x2 J2 Epublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,. w. c8 S( w; L& \9 R7 \) Y
const CATISpecObject_var ihDirection) = 0
! F/ [, w8 V; z' p) \: L参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
& e2 P9 \2 K! O, ?CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
* C) M! C5 _! W: o! C& b4 _, I0 _public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,/ T; X5 {, T8 `4 h
const CATISpecObject_var ihSurface,
/ m5 c( I% J0 o$ T$ u2 Oconst CATISpecObject_var ihDirection,! f5 O/ {' N6 n$ u* b2 ~" H6 k
const int IsPointOnSurface) = 0
4 ?+ J, Q6 W, S* p参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection0 H N" ~8 {+ }8 G* q
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
$ R. H: {+ y6 G0 n5 O- \果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。6 I" E2 s# S4 r# {9 Z
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,$ R, V( d5 \# }. p4 Z
const CATISpecObject_var ihSurface, v9 z/ T) g+ X+ q: j w
const CATISpecObject_var ihDirection,. {/ W# ]" ~& V( z6 x- t
const int IsPointOnSurface) = 01 R0 b, V$ U' g6 M# \4 m F6 g
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection! i5 P; w5 p) b! h0 f8 L2 b+ ~. @
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为3 s) ]6 q- ~- O/ A
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
' o% k, P4 f6 D$ B2 a( f1 a2.设置孔的参数
" q& z0 o; l8 QCATISpecObject_var spHole = spPrtFactory-> CreateHole();
9 u& ~1 Q6 l' v7 `3 XCATINewHole_var spNewHole= spHole;# G" Z- n/ {5 j$ B! n- p$ v
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
9 ~9 P: Z k7 s1 f1 u% XspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
7 h9 {6 t- T, E' p7 f6 ?) SspNewHole->SetDiameter(5)//设置直径
3 B) B: v& a% e: e2 t6 h' espNewHole->SetLimit(1)//设置为盲孔8 ?! I N- o; ?6 P% Z/ l
CATIHoleLimit_var spHoleLimit = spHole;
0 ?( r. Y' o" `spHoleLimit ->SetOffset(5);//设置孔的深度
. v! E: r6 _5 }/ m% T# o) f4 a3.将孔添加在结构树中
/ I' J) l3 S# e% n( G4 _4 q) [' [) B5 K8 L" ~. w
spHole ->Update();: z) m0 ^1 N" B/ l1 D
CATIGSMProceduralView_var ispProcView = spHole;
, y1 N. T6 s& p! }+ L* @7 gif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}: [5 \; d6 O8 d/ O6 K+ ~
9 _; `* n, f& z; S& Z J8 a |
|