|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
5 \/ O9 X0 v. j* r; e( w
2 w, v, f7 F% `$ l) |# d实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,; A/ G& L2 M1 Q5 F$ V$ S' v: f
) y+ B+ a+ y' [8 i* u创建实体特征的方法" w$ H+ E+ `. ? X
凸台 CreatePad
6 c9 k6 S4 T) K. Z槽 CreatePocket' }, c4 s1 y# T+ k; s5 k# y
旋转体 CreateRotate
8 Y- ~7 |9 e' ^# R5 G* B6 X1 ~孔 CreateHole
' C' j+ G2 Y" l: d' n. \( l' p3 C2 o盒体 CreateShell
" j) R$ N! m7 ] P/ }! D! J倒圆 CreateFillet( a* J% y+ {) l4 P+ ~$ W
倒角 CreateChamfer2 G7 r; n& F% u/ A9 g( H& U
厚曲面 CreateThickness
6 m3 H5 m& h6 z8 [+ k
: i7 I+ k2 E/ \* i& u. J+ @- p, o; z( v3 i; t; x
现举创建孔的例子如下:# h3 I* z: ~6 Y$ U9 k# ?
1.常用的创建孔的方法包括三种,依次如下。- c. P0 n9 F$ X7 V6 R
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,& D! Z. E8 U0 @3 x% I+ ?1 |
const CATISpecObject_var ihDirection) = 09 \0 J$ X3 w# r4 u* ^7 M
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
4 m! l$ c. h8 q9 h! Y( lCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
2 V1 a; D; X& A' D! @* Qpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
& A& ~9 o9 y( A8 m. r9 W7 I8 Y9 c) Nconst CATISpecObject_var ihSurface,, W, _2 Y4 h$ E' v5 C" k. y% i, L+ z. `
const CATISpecObject_var ihDirection,
6 c% N" j7 H# `5 R5 a4 I. a& Jconst int IsPointOnSurface) = 0; A! r5 Z& U9 |
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection0 m1 B7 W8 B- D _1 C
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
5 A# S; B F- a& C) V$ y; f e果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。& Y* o8 i3 B0 N E/ E$ r* D
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,1 j4 Z' B% E" w
const CATISpecObject_var ihSurface," T3 R! H# ~5 G6 |
const CATISpecObject_var ihDirection,' ~- a# h/ r: V4 L0 U
const int IsPointOnSurface) = 0" r& t* U+ }! O7 k& [4 V; P+ C; R
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection& I# G* d3 y8 b; p; c
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为0 r1 L$ `/ K! Z% T$ Z
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
1 G) P T$ P* N9 L- {, b) l2.设置孔的参数/ s! O2 @& ?$ s, D# U
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
% p$ _! `% Z6 GCATINewHole_var spNewHole= spHole;
; x, i) m/ u# a+ x1 X5 ^5 J" HspNewHole-> SetHoleType(1);//设置孔类型为简单孔
/ A$ s9 ~$ t) t* b) a, ^7 R* D, fspNewHole->SetBottomType(1) ;//设置孔底面类型为平底, S2 k$ k% c/ U
spNewHole->SetDiameter(5)//设置直径
3 v+ [, f2 \* S' D9 R6 W. SspNewHole->SetLimit(1)//设置为盲孔 r. M: j# {7 F
CATIHoleLimit_var spHoleLimit = spHole;8 V |# u5 Y( P$ h8 c& n
spHoleLimit ->SetOffset(5);//设置孔的深度
f' M4 R0 J% }; k4 i3.将孔添加在结构树中
7 d" |* q: P: P5 h8 c6 s0 J' _" M' n7 l- ^$ E. _5 X
spHole ->Update();3 B; @$ o8 ]2 H- L# K% ?
CATIGSMProceduralView_var ispProcView = spHole;$ |- ?' Q1 j+ @( g6 L
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
* B2 e+ H/ c9 f
8 [) @, U. T# x5 v! Q |
|