|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征 c2 A H* S+ z2 X
4 h- M( g) B5 t: ~3 x: @实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,# v, _9 A. ^8 J3 D
9 Z" F* a4 X$ w6 Q4 O/ s8 e0 }8 z- ~
创建实体特征的方法
8 X/ `: w1 t5 h凸台 CreatePad+ t1 W2 e& ^+ B6 O% I. w! J) K
槽 CreatePocket
5 T; I( R T1 U, _旋转体 CreateRotate
+ ] x! t. N) U3 F. q4 B% {孔 CreateHole
7 W$ V9 h4 K$ s7 d# q/ S盒体 CreateShell& }- o/ @) o! \# V( | }" _
倒圆 CreateFillet: e& @" O( m. x- W
倒角 CreateChamfer
/ q+ r) Y% v! h# n0 |0 \+ N% y厚曲面 CreateThickness
/ E% ~$ O% Z# C4 A I' ?6 |0 E; f
& }, J6 A2 f+ u' A6 }9 ^% E
2 l8 w1 T, c/ r现举创建孔的例子如下:
2 @2 L3 E8 t2 ^# @+ j( j( @9 T) {+ s1.常用的创建孔的方法包括三种,依次如下。
) c# E/ n3 y! f7 y; I- p# {1 {public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,0 e$ A. `/ m4 Z* k. y
const CATISpecObject_var ihDirection) = 0
) N1 [" X! Z) B3 w' [% B参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用% Y0 o$ V: `/ Y# u6 S
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
7 |0 Y* T2 M7 { S9 o" F9 a! apublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,- y( n# p9 j& D" v& Q
const CATISpecObject_var ihSurface, K- l/ T5 f2 ^& T0 r
const CATISpecObject_var ihDirection,6 j4 s8 p3 L7 M) S3 `
const int IsPointOnSurface) = 0
& M- K# f; R4 u& o# n参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection' a+ b2 `. `1 e5 k& p
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
! @3 {% O! N- p Q- G果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
, e& P; b5 s/ c/ v3 j1 ppublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,- S, S: Q8 [( G/ L9 W8 S
const CATISpecObject_var ihSurface,. n/ p( C) X N9 z; y3 s- D- b6 Z
const CATISpecObject_var ihDirection,
: ~7 j3 W# H; F; {7 [const int IsPointOnSurface) = 0
+ Q$ t" f; A+ x. Y7 t0 X: J参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
6 ]1 _# |! V8 k# `6 x1 A) K指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
! K: w7 y- Y* _) U5 s0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
' M. i7 c3 K0 e7 s ~( s/ U ^2.设置孔的参数
1 q! p" n8 c$ }CATISpecObject_var spHole = spPrtFactory-> CreateHole();
% r8 b+ `1 \- K+ ?1 L( j& G/ L5 s; MCATINewHole_var spNewHole= spHole;
* |9 P. n) {2 _1 G; O" h/ B' PspNewHole-> SetHoleType(1);//设置孔类型为简单孔/ v6 \3 I' f/ s _8 L2 y4 q
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底- x" J% c7 e5 H* A9 ?# ^/ c1 k& @
spNewHole->SetDiameter(5)//设置直径$ y$ _. b) f" r; ~% \5 \
spNewHole->SetLimit(1)//设置为盲孔1 t5 |$ i A; d2 w1 b. o
CATIHoleLimit_var spHoleLimit = spHole;6 u; Q- g5 U9 r! u' I
spHoleLimit ->SetOffset(5);//设置孔的深度9 w+ g- v! L+ q3 R9 z
3.将孔添加在结构树中& v1 ~/ q8 P5 m# F W c4 D7 t& {: m+ Y
) v: v, f) ?5 }+ c% y; {; IspHole ->Update();- R' K) f! } l3 P
CATIGSMProceduralView_var ispProcView = spHole;( [; B3 i! g0 u! E; B1 g0 r
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}/ `8 T3 N8 C4 |9 K* y M2 p# x& g& @' e& \
O+ ^8 R) \: S* k; q h6 G |
|