|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
( l2 `2 K- M: A, B* Q& }
0 [# f, F2 d/ g3 o* G% V实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,( T; ~- v$ E6 [1 l
0 r" [6 }% R* L
创建实体特征的方法
/ M) w5 M( }% j# _8 L* G凸台 CreatePad
! K2 [. x* T# z9 k+ n; t9 ~槽 CreatePocket4 t& i$ |6 N! D1 q6 N
旋转体 CreateRotate
, ^; ^! ]6 B4 }0 Y8 q3 n孔 CreateHole
t9 i, W& c% f$ w. f) Y0 \盒体 CreateShell; o# f4 o$ ~0 s4 Q4 h
倒圆 CreateFillet
; V& E$ y* ?6 l# H6 q, T, J3 g倒角 CreateChamfer& {. q) n8 Q/ ~/ A0 `) |
厚曲面 CreateThickness; I3 W; D# e r. ^; f# G
6 [+ M% O9 K( `
; |- d, n2 ^! ]4 v现举创建孔的例子如下:$ v5 C; R1 s2 U n7 l: _
1.常用的创建孔的方法包括三种,依次如下。3 b: s! {9 l6 N4 ~ {- R s
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,7 l! e% B8 y" }. O/ e
const CATISpecObject_var ihDirection) = 06 Q( c( I# V' v5 W6 F
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用3 x+ r; H! r! s" x! |
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。; d" G. C# Z% c8 d2 q/ I R$ d
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,( G1 |) T# L- X3 M, {' X X
const CATISpecObject_var ihSurface,# m9 \) P; d+ r8 \ l& P" _) `
const CATISpecObject_var ihDirection, t! { U" _3 t$ O
const int IsPointOnSurface) = 0& Y" A" U: A: f. O7 p
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection; w! m9 _4 T. r. G: M1 i: I5 L
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如8 b# f1 }# M7 g- D" f, p6 T
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
' t2 j+ C# z2 m7 n Z; H$ Qpublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
! X# j S$ W% g) u' a( k" i- Xconst CATISpecObject_var ihSurface,
$ o. l& W: U: L; _8 U5 G2 n* mconst CATISpecObject_var ihDirection,$ H& \6 ~* `9 I6 _3 s
const int IsPointOnSurface) = 06 w" h* e3 O0 N7 R4 m# e6 X$ ^
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection$ f- v4 ?' g' f. D' s3 _% d/ l
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
) s8 `$ ~( l4 f* [' T) r+ l0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。9 J4 f7 D( t4 v% b$ r
2.设置孔的参数$ Z9 T) j: u) a& m# f/ e1 v
CATISpecObject_var spHole = spPrtFactory-> CreateHole();. \7 f! w9 q1 [# k5 }
CATINewHole_var spNewHole= spHole;. o6 m7 X& x7 q9 Y0 d7 Y7 K0 s
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
' y- Z# e9 w2 W- J) b) i/ mspNewHole->SetBottomType(1) ;//设置孔底面类型为平底/ S% W* H# v u* L
spNewHole->SetDiameter(5)//设置直径, e5 l$ B0 r! l: b
spNewHole->SetLimit(1)//设置为盲孔" B/ \2 o& q. X9 z/ h! H3 v
CATIHoleLimit_var spHoleLimit = spHole;
7 O' K* _& u# h) H/ B5 P5 `! pspHoleLimit ->SetOffset(5);//设置孔的深度
( l* L4 m. a) S# X! `9 o! A2 Q7 t1 L3.将孔添加在结构树中+ u L7 b8 |5 @. i# Q; q# d- t6 v0 \
* G2 k% ]8 q- G1 f9 Q) b+ E
spHole ->Update();0 N+ M2 t+ p7 I( Z
CATIGSMProceduralView_var ispProcView = spHole;1 F4 d: T5 k, _8 o5 a6 G3 P
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
. p9 r/ q% D# f' H: v! @& I& ?0 C4 b
|
|