|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
0 N0 {2 S- {) s% r' n, e3 r. i6 K' }& a: J
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,6 M; M! c) w, A# A2 R
9 Y' J: G1 u1 m& H' H7 o, v& |9 a创建实体特征的方法
/ R% V+ B d8 o# @0 O! k+ R凸台 CreatePad/ X9 K9 T6 p. j- i) [
槽 CreatePocket) k* c j& } d
旋转体 CreateRotate7 k- `: R6 N; F
孔 CreateHole
i7 r6 E4 w5 T; y; d& ?盒体 CreateShell
8 f7 C B1 } E( W1 b倒圆 CreateFillet
- q6 Y ?; @# G: M+ l倒角 CreateChamfer2 V7 [1 J# R! Z6 O% m6 l% F. H
厚曲面 CreateThickness# N+ O) W* M+ G$ J ]
1 E8 }* Z+ d: |
. o0 c2 X- ?4 E& M- x: D8 }! {现举创建孔的例子如下:8 n& L X! t0 F- ~4 A) I! Y9 D( `
1.常用的创建孔的方法包括三种,依次如下。: k0 A0 G6 o# z- N6 s
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,( z% u+ D; \8 F: S; g
const CATISpecObject_var ihDirection) = 0
) k5 U- J8 l0 E参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
" E, K0 _) Q: G2 D [CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
9 j5 p" g. e" h0 Spublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,3 R% R: ~5 ~% S# n# [6 l
const CATISpecObject_var ihSurface,
6 ?9 e5 v4 ]: r7 lconst CATISpecObject_var ihDirection,
! D2 f' U# w0 `+ uconst int IsPointOnSurface) = 0
9 T. z# X1 k+ j参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection- |: h ^. l$ P7 u
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
( @$ Q! `2 W! m果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
# v8 a& T; ?/ `public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
4 V. ]3 ?, x+ g! Z* S8 u* b" Pconst CATISpecObject_var ihSurface,
2 _ V8 B& \( Vconst CATISpecObject_var ihDirection,
3 Y% A4 w3 u" ]5 U) w; ~1 j! z* I' rconst int IsPointOnSurface) = 0
: v* a$ d% r) ]2 l$ v参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection6 _2 M5 g6 h" T% b4 E$ Q
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为, q9 j1 g! }! _7 U3 \$ w+ h
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
U4 M5 D, W$ Q% D6 n$ ]2.设置孔的参数
* {9 C8 n1 H6 T* D& ]CATISpecObject_var spHole = spPrtFactory-> CreateHole();
' c9 Z) z; A" xCATINewHole_var spNewHole= spHole;, C& I: {" ?( e! O' c
spNewHole-> SetHoleType(1);//设置孔类型为简单孔" ^2 s8 Q( p+ T6 u
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
. ^7 c1 c0 G2 v( {6 OspNewHole->SetDiameter(5)//设置直径" t+ p2 d* A- m$ i: F# b& W
spNewHole->SetLimit(1)//设置为盲孔
& `/ ^1 b8 L$ B" uCATIHoleLimit_var spHoleLimit = spHole;1 b ^. q- h* [/ e+ U
spHoleLimit ->SetOffset(5);//设置孔的深度
1 N6 f2 X7 Y, M$ ?5 i3.将孔添加在结构树中
+ E0 ^( \) C. u# p+ H8 u& ^% f7 j' Z7 L- E1 Y6 ~' e
spHole ->Update();9 X4 \; x7 l! V4 H6 G9 \" _* W6 L
CATIGSMProceduralView_var ispProcView = spHole;
1 R0 p, S9 k$ o. G8 Hif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
/ P$ v. e) V4 x( x/ n6 M+ M+ ~' Y6 q. ?) ]
|
|