|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
6 {! ?5 R; r1 N) R$ r1 H2 |0 W9 {0 n" o* r+ j5 X
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
& E, w4 d2 d! o6 R! Q$ F
P7 n. D" [) d2 Q% |( y创建实体特征的方法* T8 R& l1 h4 {8 o
凸台 CreatePad
4 D/ Y7 s9 D8 q. P; _& R# f8 n3 u# S槽 CreatePocket
$ h4 R, v# g4 {/ [7 c旋转体 CreateRotate
9 u5 e& x9 m6 z/ W孔 CreateHole
9 }* M8 k! m" ]" Q' S盒体 CreateShell
! I; `6 o5 ^/ M* f L" e倒圆 CreateFillet
7 S' E- F. d6 K1 v$ M倒角 CreateChamfer
; W+ l0 U* ^9 A厚曲面 CreateThickness8 ^9 h; P: O! V
' \* i/ W+ H, J6 f% z
! ?* _0 u1 c i% d
现举创建孔的例子如下:. _( ~9 L* i. Q' S
1.常用的创建孔的方法包括三种,依次如下。( v1 P/ L5 l, L# v
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface, e' S# Z1 }( `( e# h/ l, B+ Y
const CATISpecObject_var ihDirection) = 0
/ }# `3 T3 Y! L5 a, W参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
O3 {0 r" I# Y! iCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
! }" d1 n# [# j, X/ b3 S( kpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,, q* e7 S2 r8 U9 }! K; X9 L
const CATISpecObject_var ihSurface,
# O: k+ \: Y* Q! k7 f6 j9 ?6 z- ?const CATISpecObject_var ihDirection,
. s% W% ]- P$ ?8 z0 v7 E. q/ Bconst int IsPointOnSurface) = 0
( J, f# r7 n! j参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
# e- U; L: z6 e8 s5 E, W# [, e, y. U指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如. e! R' x8 x- K' l; |4 o
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
& K7 y; J# O$ s$ {3 U- y2 Ypublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,/ W1 Y0 o* P" _. W
const CATISpecObject_var ihSurface,' F5 S, }/ f- y& k: g( |7 {) k5 k
const CATISpecObject_var ihDirection,* B7 [ e; F1 o7 N! v) j
const int IsPointOnSurface) = 0
" @- p q- u. \1 W0 X参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
4 j9 R+ ~- n, m2 @指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为/ l" ~; a! V9 `' ?: {
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
2 x+ W F/ C, W; K" Z: S2.设置孔的参数
4 j K# y# r5 }0 G- }0 bCATISpecObject_var spHole = spPrtFactory-> CreateHole();
& q2 v* X' Q6 H9 D( u9 G8 l, \CATINewHole_var spNewHole= spHole;# O$ L! D, }: \0 z/ E
spNewHole-> SetHoleType(1);//设置孔类型为简单孔! U5 V4 v+ }% _) a) c; ~& ]
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
0 \0 V# h: ]& C) u2 O/ c+ Y/ GspNewHole->SetDiameter(5)//设置直径4 L1 {" } h6 @* W8 i
spNewHole->SetLimit(1)//设置为盲孔3 |0 |7 h C' z! _0 x, M
CATIHoleLimit_var spHoleLimit = spHole;0 t6 J: b% ~ |: o1 _! Z( s+ h* V
spHoleLimit ->SetOffset(5);//设置孔的深度% v" [+ _9 T) t0 h
3.将孔添加在结构树中6 o& l9 |6 b4 O( J/ d$ l
! H& N8 x3 B' e& ~& { p, }9 n0 ?& rspHole ->Update();
5 `! H! r* l4 `4 v1 L8 E# v# U; tCATIGSMProceduralView_var ispProcView = spHole;0 R2 `/ Z% b4 p/ M9 c. P, v" p
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}* N- c' X7 t8 H9 e$ D
& j! z9 ?+ v" g& c4 H |
|