|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征, A% g2 f+ m- N+ e* T
; i! ^% _8 Y: e+ {7 F+ C0 }" _
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法, k6 c! |- C$ ?; y- A( r
" D" W! a0 y5 D$ Z* L3 n6 w0 h创建实体特征的方法( _1 h" r8 ]6 s8 t
凸台 CreatePad) @3 O; B1 a; S
槽 CreatePocket5 y$ I6 ]! V! D3 m
旋转体 CreateRotate
1 j7 Z# ]: q4 g5 o2 S) K3 ?孔 CreateHole
& A5 i+ W1 A- W$ [盒体 CreateShell
2 [% F" b! l' N# Q倒圆 CreateFillet1 K( D* B6 h7 U- t- P2 t# P8 u$ k' o' w
倒角 CreateChamfer
( q9 `5 H+ x( {6 s3 k, s3 f厚曲面 CreateThickness0 ~5 h, s- D) x9 @6 G/ d9 `
3 ?) w8 J# U5 }4 r
# c' R6 \/ I( t5 q4 F- d现举创建孔的例子如下:
! F+ T0 P: t, x% X' f. x( u1.常用的创建孔的方法包括三种,依次如下。. w5 I) G1 \ `
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,$ u r1 A( c+ |) I! U
const CATISpecObject_var ihDirection) = 0
# o( j$ Y7 V7 r/ z参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用# r1 j$ A* I4 a# R4 H8 Y8 ^, U5 p- g
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。7 E" h0 q7 {3 y$ G3 o
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
0 F, [5 Q; M1 [( E' ^0 z6 V J% r! H- ^const CATISpecObject_var ihSurface,& c; z& C% E% ^% I, M+ j
const CATISpecObject_var ihDirection,
0 Q5 v1 T* j: Fconst int IsPointOnSurface) = 0
( F$ G/ y( _/ ?参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
7 x; M9 b6 L+ O1 y指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如5 y) O9 p' D9 o' L
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。" P+ y" C! d# Z0 X5 i( H5 Q8 {
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
6 ~- T; T; I# ~/ i# r) k1 Qconst CATISpecObject_var ihSurface,& W3 K, Z. h7 N2 y
const CATISpecObject_var ihDirection,
8 o0 w) _4 Z: O2 U0 oconst int IsPointOnSurface) = 0
F) x. H3 ]* T: O1 |' b参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
c, e8 T6 _% ?5 {8 j4 l' [3 m, z" B8 G指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为& J0 `, X% y1 O$ U) f9 Y% d
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。& ?7 E* b( I0 j; h! }
2.设置孔的参数# p# r0 L: Q! e. M$ g6 ^
CATISpecObject_var spHole = spPrtFactory-> CreateHole();" {3 y1 m3 e0 Q* C3 ]3 u
CATINewHole_var spNewHole= spHole;" y5 Z( Q v2 d# F9 F* y' H6 |
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
) p" Q, M" k7 KspNewHole->SetBottomType(1) ;//设置孔底面类型为平底 g) k( W3 y" |" g! u0 ?; e0 v
spNewHole->SetDiameter(5)//设置直径
1 Y' L p) O( ~spNewHole->SetLimit(1)//设置为盲孔9 a, T+ z' k1 i, _( L/ w. y7 O F' ?6 J
CATIHoleLimit_var spHoleLimit = spHole;: f6 `9 D8 m% E
spHoleLimit ->SetOffset(5);//设置孔的深度
" @) X1 l, d0 {& K3.将孔添加在结构树中6 l- h- i7 U5 S; Z- z% p7 ^! s
( V4 H: a& p8 G
spHole ->Update();
& d- J7 _) L5 PCATIGSMProceduralView_var ispProcView = spHole;1 t9 @1 z3 r# I" h
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}* S8 ^/ d0 M% ?( j5 O1 s' Y/ r7 _2 n
( P) s8 y4 l! N0 S- G C |
|