|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征% ~% @7 q5 Q% Q% V" d' O: G
" c3 U9 h9 a7 d0 s5 r实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,- X+ A; J9 F( `3 C8 z8 ]+ B7 \
, ^ c! X4 j- d4 M. F* k; y创建实体特征的方法8 r7 x3 T7 V# d Z. M
凸台 CreatePad
/ F/ A' G9 d7 h% t& _槽 CreatePocket* o5 `# A- y; W& C7 G, _# C9 U
旋转体 CreateRotate
. }, @( e9 q c$ H$ {6 e# }孔 CreateHole
7 q0 N7 }! i0 r) _( p盒体 CreateShell7 R& S, a9 ~/ `/ v
倒圆 CreateFillet
2 k4 Q5 @; @; e' V$ e+ R; X. X倒角 CreateChamfer; c' C8 n( `5 B4 U4 ]" Q6 {- E7 k8 {
厚曲面 CreateThickness/ J( z* S' |9 o$ ?
3 o$ y+ B) C) T
" ^/ t) Z6 i' {5 ~+ e0 y现举创建孔的例子如下:
( i4 g" A$ S4 z F9 _- h: _1.常用的创建孔的方法包括三种,依次如下。# o& K( ~. O( z4 O- ^& G1 A
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
# @; [* C `! C# l+ m$ T1 Zconst CATISpecObject_var ihDirection) = 04 S/ {' A3 q5 W( G0 b& \
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用( A2 b- c' r) i5 z' b2 P8 V
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。2 V: J! a0 y- y: J x
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,$ C6 ^7 Z+ _8 X% R/ w
const CATISpecObject_var ihSurface,, ~9 @$ _, n7 Q# C7 r: F" ^
const CATISpecObject_var ihDirection,$ G7 k- y* c7 C
const int IsPointOnSurface) = 0. C3 F* y+ o5 |9 r3 I9 ?) m8 T
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection* I& J: j/ S* U! W$ a
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
) C2 }" }$ B( b8 ^$ c8 N% [0 Q果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。7 ]& `) j2 _6 e6 }* O# x& K
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,$ C x5 T: Z; ~9 o
const CATISpecObject_var ihSurface,% `; D# P4 o0 U
const CATISpecObject_var ihDirection,
$ V: C# l* {, N# p* zconst int IsPointOnSurface) = 0( E6 y8 ~9 J: t: ?/ f c1 z( P
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
$ e1 X* w& Z- O4 h! Y) F8 I指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
6 P) i4 l! j* A6 Q0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。9 M$ [( J. w+ ?) p9 d
2.设置孔的参数! u* P9 J H. [: z
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
- P& l8 \! N4 o" Q! N; r BCATINewHole_var spNewHole= spHole;! z$ _, z, t8 {1 ]6 d2 D x. p
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
/ p7 F2 a! ~- C" Y% @6 bspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
* r0 k% ~, o e D; ^6 q" HspNewHole->SetDiameter(5)//设置直径
& `! A4 j( v4 N) }$ Z2 P# dspNewHole->SetLimit(1)//设置为盲孔
% k3 S- \- S. O* @ Z: L* z2 wCATIHoleLimit_var spHoleLimit = spHole;# `6 h/ W: Q1 L/ i( N/ q/ p; I
spHoleLimit ->SetOffset(5);//设置孔的深度
, s8 E& p8 R5 u' G3.将孔添加在结构树中# l9 Q1 T6 L1 }$ T1 q" a: x1 |
7 j1 ~2 G' Z0 B& Z0 D
spHole ->Update();
: Q; ?3 J0 @; F$ ]5 \CATIGSMProceduralView_var ispProcView = spHole;5 L+ N& F4 K4 H
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
9 a) `) h7 n# D* p h6 n
3 ~; _/ n3 f: Y7 X# l |
|