|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
6 z3 l0 [! Q1 n" }; \, [( x% q0 j1 N" n2 x7 e
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,0 G9 I: E$ h0 X8 a+ c1 W
/ R+ w7 F- V) t8 }# {
创建实体特征的方法4 _; C! F0 |: J L" B% f) B
凸台 CreatePad
$ O" p& r) @, W. z" T0 _槽 CreatePocket# A* B( Y. J9 M: D( t) T
旋转体 CreateRotate
$ l- {1 \) Y; u" G孔 CreateHole
) F* E8 o6 }8 T# Z# L盒体 CreateShell
6 ?( g4 D" O% i( R倒圆 CreateFillet+ {6 R6 C2 _+ W7 D0 [3 [; |( a
倒角 CreateChamfer- {; v- {2 R6 r* X
厚曲面 CreateThickness r( j$ Q3 Y1 ?6 t- ~! A5 j3 M3 g o2 m
1 q' }. R% `- x, @- c7 Q, H7 k/ G# I* H2 W: z
现举创建孔的例子如下:# G7 s1 ~" ~4 P7 N+ u, M
1.常用的创建孔的方法包括三种,依次如下。! Y8 P8 F, R' h2 ?- h1 _" z
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
, H. J8 N4 j% }" h6 y$ Qconst CATISpecObject_var ihDirection) = 0
V; P9 k2 \& J' q参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
# j9 b3 N# m# B% t, C- PCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
b$ v) {6 \' F7 ~public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
$ m* r @3 x7 V ]+ z+ E; Y3 Dconst CATISpecObject_var ihSurface,9 B$ c x( c! J, ~& }2 S
const CATISpecObject_var ihDirection,4 x) R: _1 T! R1 L; T
const int IsPointOnSurface) = 0
( \' z7 L- j9 j, K, v& B+ v1 N参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection2 l6 y. j' D) S! X d- t# R1 `
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如$ `, S2 l) b( i' w# p
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
, ^7 r1 k, T+ W. B1 H* wpublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,5 Q' d+ D, K! X j3 j; @1 I) y
const CATISpecObject_var ihSurface,
3 N7 M1 v3 s1 `. Xconst CATISpecObject_var ihDirection,4 H% n4 X: \2 ^& U) @* A: e0 W
const int IsPointOnSurface) = 07 c3 `) F+ F4 j/ f7 N% n
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection) A5 K! d( O4 O7 G3 W) s
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
9 T% ]; K. ^, Z) U' v" J0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
6 m1 d8 k: h) x Y2.设置孔的参数
( P. f' i! {% f6 }1 PCATISpecObject_var spHole = spPrtFactory-> CreateHole();4 N; X" Y- e0 ~/ T4 u( S
CATINewHole_var spNewHole= spHole;9 ?: _" E0 A4 q. D4 a' t' }/ g p
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
9 M3 L, i, ^3 u3 g _+ l1 _! VspNewHole->SetBottomType(1) ;//设置孔底面类型为平底* X9 Q( j4 U+ i3 L! c, t
spNewHole->SetDiameter(5)//设置直径/ [ i# ]) O- \: q& b
spNewHole->SetLimit(1)//设置为盲孔
- w6 `3 s ~" |. f; lCATIHoleLimit_var spHoleLimit = spHole;
0 k, ^4 h" K5 g: x" HspHoleLimit ->SetOffset(5);//设置孔的深度
& B8 h" x; }& |! X0 n& G3.将孔添加在结构树中
: k- M( F. Q# J7 c. S
* ~5 K: t I8 F1 @+ {spHole ->Update();
, ?# Z& k* v4 W, C! iCATIGSMProceduralView_var ispProcView = spHole;
2 i3 O9 ]/ L5 j1 sif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
" |# ?, S0 g! ^. Z" `' n. l1 V+ u6 B8 V9 T3 l) a" F; ~( [6 b: [
|
|