|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征( D. E9 j9 w% f3 f" I
+ [9 V1 Z I3 O8 g实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
( l/ D0 L+ A7 J4 p* _ p# ^+ F# n. q/ O" m! m
创建实体特征的方法# L: q$ `4 `7 R/ M0 v
凸台 CreatePad# X/ U! N6 z3 Z( B. D
槽 CreatePocket
$ V/ r' m0 b) M/ \& w# S' \ k r: }7 K旋转体 CreateRotate
) G4 I% m& r2 h2 S# D孔 CreateHole
" x3 `1 o' o$ u' a% S9 }盒体 CreateShell, W; g! A, s- h: D8 s1 l
倒圆 CreateFillet
. ]/ d8 d! a4 i! {6 H3 u倒角 CreateChamfer
4 C3 ]( z; |; u6 c: }. g厚曲面 CreateThickness1 Z; j' U2 T" j) _5 p: q
8 W" b9 T$ K z; O ?
' |/ W$ Z. v9 S现举创建孔的例子如下:
0 U! {5 r& `1 m. d1.常用的创建孔的方法包括三种,依次如下。
, A& @7 G+ j, ~5 A( N. Q5 R7 `public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,/ w. ]. _4 ?' U) {6 Q, Q3 R
const CATISpecObject_var ihDirection) = 0: u' t9 H8 e7 A4 m Q8 V
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用8 l8 C d5 ?) r
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。* K7 k! g3 W- {' e1 ]7 v
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
4 T& B y7 i% |: t# _/ {8 P' vconst CATISpecObject_var ihSurface,
: L% W" |/ Z" uconst CATISpecObject_var ihDirection,
% o/ o# o* G# x* S k6 C' G* V3 p0 k, uconst int IsPointOnSurface) = 0
3 a+ T* s* m% v5 [) g参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
" p6 f) j! ]/ l8 L指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
7 v7 }% F P( t2 @果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。: T8 K- n1 i, Q3 p3 p& l
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,3 D. j+ O% @: ^9 H
const CATISpecObject_var ihSurface,7 }; Y: J1 @' L
const CATISpecObject_var ihDirection,
! o: I2 Z% d, d( u& E e# g1 O/ T; p5 Rconst int IsPointOnSurface) = 0
) X# a M! [* S参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection5 s% e" w7 x3 y
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为1 u( g+ I- K" _7 H) G% V; L: x9 H& M
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。( q6 Z1 q+ L$ a( i" T& [
2.设置孔的参数 V4 U% i# t0 n9 z$ f
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
* k7 K- P9 p" _2 n! QCATINewHole_var spNewHole= spHole;
- a8 c% v" G0 c3 bspNewHole-> SetHoleType(1);//设置孔类型为简单孔
' s4 z$ o, ^8 K+ W) RspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
* B5 ?. t: M( a$ n- ]spNewHole->SetDiameter(5)//设置直径
* ~4 ]: R/ `7 j) D z3 q; _2 SspNewHole->SetLimit(1)//设置为盲孔
: D6 l( I/ B' G, @, H5 nCATIHoleLimit_var spHoleLimit = spHole;
. q/ _7 t P. G" K" l z9 ~spHoleLimit ->SetOffset(5);//设置孔的深度
; c$ f' L& e4 `+ ?# f3.将孔添加在结构树中
5 q; ?" H1 f' a/ d! W( V1 u
) i/ k9 Z2 ^( [spHole ->Update();
# I3 M! o5 \ k( \% vCATIGSMProceduralView_var ispProcView = spHole;6 k2 g% o: g {5 m. R4 L7 d
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}* I! k' U5 \* v: k. U
8 U9 y9 f1 S: ^2 M8 t
|
|