|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
6 f9 V1 a. D- C" N5 R* ]/ \
1 P+ O' Y( u, n' B8 a3 i实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
( R7 _2 V. T( a+ f' o# I$ N7 d3 p8 k5 {
创建实体特征的方法
" f" b- X# q4 M. V凸台 CreatePad1 H& X' Z* ]7 U" P
槽 CreatePocket
& \" y/ C- W! X旋转体 CreateRotate
" d! d) ~) h9 C% n: Z孔 CreateHole+ W# J5 w) O: v+ @* ]3 V
盒体 CreateShell. _! s1 k. u# c, B& ]
倒圆 CreateFillet
7 X1 H8 V8 e8 }9 s& h& V倒角 CreateChamfer# h; A; \" n# M0 T
厚曲面 CreateThickness
: l( ~' H, a! Q$ P/ f6 \2 k) t2 B7 ]5 Z. I6 B4 s1 N2 B
. I6 n" p3 j. C现举创建孔的例子如下:
% p: j. u3 V! w8 ` c- N+ u1.常用的创建孔的方法包括三种,依次如下。
, T; d' Z: A: T& xpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,) @) J* x2 Y/ h# y
const CATISpecObject_var ihDirection) = 0- K1 l2 f% @" k" Y+ I
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用" S0 h) T1 E7 k) d+ J& d
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
2 F1 C/ Q8 b1 l# Rpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,4 _- B7 a! T" o
const CATISpecObject_var ihSurface,
7 ~+ f& ?5 s% Q; ~$ g1 Tconst CATISpecObject_var ihDirection,
; J3 `& X o4 I2 J; \const int IsPointOnSurface) = 0& z# G; P j6 \- s
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
/ b0 v+ n; ]& O/ f4 i指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
, H4 I, V% i0 C9 l: S% k( T6 r3 C果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。2 e2 Y2 ?& L$ u# Z6 L
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
( W' R L" ?6 k% X/ B D! V$ B" \const CATISpecObject_var ihSurface,# A- {4 z2 K# x, p9 j( ^
const CATISpecObject_var ihDirection,% ^9 x4 t$ C" b9 [ ?3 H/ w3 l+ ]
const int IsPointOnSurface) = 0
, M* K% A0 ?% Y2 y参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection/ E. W* T% \1 S# R0 A: Z
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
( z7 P$ b7 g! ?& r9 I6 T# F0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
; b, q! N& @- G7 B' S2.设置孔的参数$ X3 t1 E. U0 c& Y! D4 J
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
9 V6 H+ @! K$ K- p/ l" a; e1 a5 QCATINewHole_var spNewHole= spHole;
* ?8 w1 N8 g% O3 ]spNewHole-> SetHoleType(1);//设置孔类型为简单孔
" I k: }, K$ ~. aspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
% }, L w( j% ^1 Q: k2 dspNewHole->SetDiameter(5)//设置直径
4 ?/ |+ Y# d2 _% J( @9 ~0 P' N C( dspNewHole->SetLimit(1)//设置为盲孔
1 K+ d0 _: x" ?8 C, g' UCATIHoleLimit_var spHoleLimit = spHole;
% x9 ^$ J/ F8 V* T8 M/ I4 K! JspHoleLimit ->SetOffset(5);//设置孔的深度
* z# L" b8 i* z+ |3.将孔添加在结构树中/ }& S( y: }: U3 s
# L) h) H9 a4 N$ n5 L: p) q' VspHole ->Update();5 h+ @& @4 H" W/ E: Q" A s
CATIGSMProceduralView_var ispProcView = spHole;' h- T/ d( @ Y1 r) C3 \
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
2 m: U) q! |7 r2 U% C9 r, o% s# e: w5 H& p. ^& @
|
|