|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征+ J# x. V! Q: o3 |, g# z, j
% g# ~0 T+ o) W/ j
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
9 T! U# k8 F$ X8 ]* ~" |6 V4 M8 W! w( t; k
创建实体特征的方法/ Z/ w, o2 d5 M
凸台 CreatePad/ E/ @8 `# F+ Q( K' B$ s
槽 CreatePocket0 x9 ] M' I. \( Z. j4 o1 d
旋转体 CreateRotate
# T8 g7 T5 D- ]5 a! n& N孔 CreateHole: |" n+ K! e1 W
盒体 CreateShell
+ r8 c# W: k( s) X" r倒圆 CreateFillet
9 a& O4 B$ q, z倒角 CreateChamfer4 u5 z+ p) _' b0 j* r5 C- }" d
厚曲面 CreateThickness. @& V: A5 B" N- D& w
! a! D! t$ k9 H: s' c6 X$ V; Q: [( g/ z% |) {& l$ d
现举创建孔的例子如下:
' Z. Q7 E" u5 I2 u8 L3 Q1.常用的创建孔的方法包括三种,依次如下。
, v `5 ]- s# A! i! |public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
) r2 {, i2 F9 u( p$ K5 E1 q' Zconst CATISpecObject_var ihDirection) = 0
6 O1 H9 N* [- I" t& `参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
) o# p, K( t- J5 KCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
7 M8 v# I* {; P# Wpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,) q! D7 E8 ^) A9 K0 D9 t
const CATISpecObject_var ihSurface,) s% A0 N3 R0 a' D
const CATISpecObject_var ihDirection,' O# }. ~7 O0 `- }2 i' e2 L
const int IsPointOnSurface) = 0
" }& V$ N- N9 m" v0 Z& u参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection+ I& V P: B2 Z0 C
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
) @1 _; C! X4 ~7 I6 e果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。6 Q+ C4 O% D, m8 }. u
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,, Q2 [/ }$ d) b) E7 `" J$ M
const CATISpecObject_var ihSurface,+ j: R K% K% z" Y/ _% G6 Y
const CATISpecObject_var ihDirection,
" X1 D; d$ {! rconst int IsPointOnSurface) = 0
3 g, ]+ h# g4 Z" R# u* C' I J: W参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection' Q+ t/ Z! Q- y9 {* |/ j7 q
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为, T6 Y I' m, V8 E8 S9 ^# L
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
2 A& T/ H2 h* E5 f- X0 j0 K2.设置孔的参数 W3 q/ b4 f Q
CATISpecObject_var spHole = spPrtFactory-> CreateHole();/ D4 n7 C" Y# T. C l; S2 v* x
CATINewHole_var spNewHole= spHole;! v/ ?$ X F0 f& Y9 y$ v( B6 L: \
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
% r. D* Z* z, E/ `spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
# S1 M- N! z% `% m5 XspNewHole->SetDiameter(5)//设置直径
' `7 V1 o! v$ lspNewHole->SetLimit(1)//设置为盲孔
) J. b/ k4 H7 @, }1 s3 cCATIHoleLimit_var spHoleLimit = spHole;+ ~' [. L. [- V
spHoleLimit ->SetOffset(5);//设置孔的深度6 U4 f9 [. k# N8 T0 E8 [
3.将孔添加在结构树中
/ C/ O) \8 N. u( f, B1 U& Z: V" e( R G* V4 @
spHole ->Update();
1 v; \0 t+ L6 Y; R; d1 C0 D6 bCATIGSMProceduralView_var ispProcView = spHole;6 M- [7 W9 r, }5 \0 x2 W
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}6 B; \; z% g( G- D9 G0 ]
) D- L' I" c4 m' Q
|
|