|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
4 n0 p# F" I5 b4 C$ h. C. G: Q5 F$ F
) ?! c9 H* H% T8 g0 M- }& m实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
: {7 V% ~7 e( e- v# r8 p- U: h( D* ]5 f9 n: w4 H) _) ^& }
创建实体特征的方法7 s. ~- r+ T: `' [# a) i0 e
凸台 CreatePad
: ?1 k3 o6 ]: K- B6 V* X槽 CreatePocket& ]$ U# R1 j) G, V+ _) ?
旋转体 CreateRotate
3 R1 {/ j4 F6 g0 D孔 CreateHole
* H+ R" Q& R& s% S0 ~ \# {盒体 CreateShell
# k" E+ c# e. ^/ |1 a倒圆 CreateFillet
# {+ v( q1 d8 Z, b" a9 v8 A倒角 CreateChamfer2 [$ G$ {1 X8 s
厚曲面 CreateThickness
! G3 c: B: Y0 a; A. ~) W9 Z/ a/ w/ g" c
( x0 r3 ]7 @' s. z' E( X现举创建孔的例子如下:
! h5 t8 x) k, R( l1.常用的创建孔的方法包括三种,依次如下。
4 v: b5 X) @4 lpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
% {; P) D' _5 Vconst CATISpecObject_var ihDirection) = 05 ~$ ?- t1 ^0 R, S2 w
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用 v0 @$ f6 |, P9 w/ b: p
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
, i/ G1 Q. O; P/ U! K" ]) fpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
1 g/ ?3 F$ i7 s" D0 @& l+ Oconst CATISpecObject_var ihSurface,
3 f4 S& f. d- z, ^5 ^# s! Kconst CATISpecObject_var ihDirection,
; t+ I; v2 o5 c0 F1 z$ y, `3 Wconst int IsPointOnSurface) = 0( A5 s. z" `3 w% j$ x- a
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection/ W7 B0 ?. ], N; u: p, O$ L
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如7 p& p0 x/ [+ L( b; X
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。( s( a! L. i3 e2 U) B) _! k
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
. K0 a5 B' Q( i9 l* iconst CATISpecObject_var ihSurface,
V4 k& R) R: Z: y$ b8 w* O$ x; Uconst CATISpecObject_var ihDirection,
& _+ ]7 [6 s- u* ]9 H* o3 Mconst int IsPointOnSurface) = 0
6 M3 B- b( u- ^参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
S' g% y' Q, ]1 c指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为2 J% j3 J% r6 O1 x5 n
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。; c2 w; Z% T2 D5 {1 J: r
2.设置孔的参数
6 Q1 N; ^, d8 `* ]CATISpecObject_var spHole = spPrtFactory-> CreateHole();
* H$ Y! q; ^, ^( Y: pCATINewHole_var spNewHole= spHole;7 G& K& `% D0 m
spNewHole-> SetHoleType(1);//设置孔类型为简单孔$ Z j/ d. f* o
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
7 _) l# @, \, k8 f6 _" O. qspNewHole->SetDiameter(5)//设置直径( I3 y: m; i) R& a! q) e: O
spNewHole->SetLimit(1)//设置为盲孔
, m2 S; v( s2 ^0 W! e$ r8 nCATIHoleLimit_var spHoleLimit = spHole;6 j* h0 S7 I9 ]. v$ K% u
spHoleLimit ->SetOffset(5);//设置孔的深度2 x' H7 m; B0 Q" _4 |& h
3.将孔添加在结构树中
- y( A u& ~6 C7 i( P4 v& n; f3 g7 b& D" p _
spHole ->Update();
# r" e9 x# D0 T# ]8 i N, TCATIGSMProceduralView_var ispProcView = spHole;
5 k# `/ N! D6 U7 Oif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
; A. G, k! `* L" }. m
! t8 H. e# A# @; z' ? |
|