|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征. Y1 x- [/ D+ u8 U# u$ @
# U9 p1 n6 M- t- c实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,+ O; q" s) J- z- g
) U& Z" O8 Y( ] A a: i创建实体特征的方法$ `( K }5 |* ? r
凸台 CreatePad
; ?0 b, b9 s& I! t槽 CreatePocket+ ?9 E; k- U3 t
旋转体 CreateRotate
2 z* V+ h. F5 K2 X孔 CreateHole8 W- ~& l6 _9 K: i1 U2 D
盒体 CreateShell
' h6 @/ m }4 C4 ^: d+ ?倒圆 CreateFillet
6 \' \0 a) Z7 F' @4 \倒角 CreateChamfer
/ q6 k* d0 P& c. g厚曲面 CreateThickness
b/ @4 F9 m: ]+ z7 e. w R
( U0 E% w: V$ F. }. |# l
) l" l7 r; l$ N0 N7 Y; h现举创建孔的例子如下:
( U" v7 ~% v! n/ g, U1.常用的创建孔的方法包括三种,依次如下。0 |9 h! T8 x1 J0 E7 J
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
$ m8 f. z2 u+ [3 V9 y+ K/ v5 ]const CATISpecObject_var ihDirection) = 09 s/ `8 A, V/ {1 ~( e: P2 v
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
7 X5 r0 Z7 `1 Q0 d6 ?+ RCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。: b. G- C! }, S9 D/ X
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
& ^- O0 k7 O, R8 V; G( ?! Kconst CATISpecObject_var ihSurface,8 [) c1 l2 N0 z& I+ O% P5 g' r* W- T; }
const CATISpecObject_var ihDirection,
3 T- h: i7 ]; V" ?% [5 Cconst int IsPointOnSurface) = 0+ b! Y1 A' n7 h3 H- J4 Q0 h
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
9 d3 v p, k) ^0 [指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
1 ~2 a$ L/ z* ~; ^/ v9 V3 S( L+ n果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。# n. [4 g- d, Q7 y
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
8 {3 G: a0 d2 t) R6 z* s$ q- R6 Zconst CATISpecObject_var ihSurface,
/ N% ?9 V. U$ }/ w/ J) _: Yconst CATISpecObject_var ihDirection,$ ^8 T& {; Y( l1 [
const int IsPointOnSurface) = 0( k$ [6 f k: k* q( O& i; E
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
, P, t6 q& ]' h$ c7 b指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
+ J! x9 w; a$ x- ]& p0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
0 W5 V. f6 g, \" a5 G. N8 d2.设置孔的参数
& p( Y" m$ I9 Q" m3 @+ G# YCATISpecObject_var spHole = spPrtFactory-> CreateHole();
+ K) K( Y' g' O4 e% KCATINewHole_var spNewHole= spHole;
8 l" C* h4 q# y) o. L3 ^spNewHole-> SetHoleType(1);//设置孔类型为简单孔
. [: K6 p( F3 W. XspNewHole->SetBottomType(1) ;//设置孔底面类型为平底; x. S! P! L# `' M7 V) W
spNewHole->SetDiameter(5)//设置直径
$ ]6 f, `1 f9 ~9 PspNewHole->SetLimit(1)//设置为盲孔
+ D" A4 c* a0 ^* B) n2 }CATIHoleLimit_var spHoleLimit = spHole;
9 {2 K8 a* A. R7 s5 a2 c3 hspHoleLimit ->SetOffset(5);//设置孔的深度
$ d$ @. E/ S, w3.将孔添加在结构树中7 o) l- d9 Q' m9 ?' A: G
: A# F3 R2 }) `) |; |/ r
spHole ->Update();. e% V; P8 f' N5 n0 Q! u
CATIGSMProceduralView_var ispProcView = spHole;
% U+ s9 _1 a8 ?5 A" X2 Pif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
8 K2 p) v! a5 x! c( B% H9 ?" W
5 i- d# ~% O- l: G; e4 S |
|