|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
创建实体特征
/ \2 K4 f2 f* k0 V* ?% }' c6 O4 ?) C* f- N D
实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
3 \, \) G8 _3 j) \
' O) K9 T3 n$ `8 _% c ~" @, a创建实体特征的方法
4 L2 J# L A- z% V1 ?! ?凸台 CreatePad
, {0 w5 u. r: i7 h5 a/ c槽 CreatePocket- z7 T% B+ K: k. Z& h
旋转体 CreateRotate
' i$ ^. x- l6 l- ]9 q& S孔 CreateHole* N9 z) q! H# J$ R" G% f
盒体 CreateShell
, _2 i+ b" z7 H* ~! C倒圆 CreateFillet, o" p+ v N. M+ H H9 J+ |
倒角 CreateChamfer; K2 l, h& A4 \: O% j% ^, _7 h3 a
厚曲面 CreateThickness
% `6 S" {! ]! z- l4 k f0 F4 E1 S' K8 y! k U
' k6 l8 a6 Y8 e
现举创建孔的例子如下:
6 z0 W) ]0 A3 Q6 ]3 v4 F4 r8 Q9 D1.常用的创建孔的方法包括三种,依次如下。0 b$ O) {9 P" X1 Z$ P
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,8 k/ b3 H6 F# e, z. Z4 |
const CATISpecObject_var ihDirection) = 07 |$ P' a% y0 A7 D8 P& U. @
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
3 s! N+ L* s" W5 i! ~* N* HCATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
; i7 P5 m9 L$ zpublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,' }0 ]5 x6 y2 H. ?: y4 y
const CATISpecObject_var ihSurface,
" |) }# n5 D% H' ~9 q) @const CATISpecObject_var ihDirection,
/ h3 N0 ~- w/ N, \1 W0 o& gconst int IsPointOnSurface) = 0
' f) B1 ]8 H- S% t; \% o参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection/ M: C/ o- _$ x3 r
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
2 }/ T; k2 L$ k果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
q w7 S! _9 U8 @public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,3 c1 s- ]* c, g6 U4 u6 m
const CATISpecObject_var ihSurface,2 o6 l8 h7 h4 w @% n
const CATISpecObject_var ihDirection,) `/ g; T6 N: S1 b. c% O' v: X( Q
const int IsPointOnSurface) = 06 T- U1 c+ g0 b- ~' r l
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection. B% `2 ?6 k7 C: M2 @
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
; [- o8 a8 q* [& C. A+ L0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
. {8 k& {1 e- R: |2.设置孔的参数
7 E, K0 _6 A S' ^- {CATISpecObject_var spHole = spPrtFactory-> CreateHole();
+ @: R! {- a, |9 T2 n k3 Y( fCATINewHole_var spNewHole= spHole;
1 J8 G1 [( \& j- k! ]& f3 X& G4 HspNewHole-> SetHoleType(1);//设置孔类型为简单孔
3 `! a6 e+ B2 K2 e' Z6 rspNewHole->SetBottomType(1) ;//设置孔底面类型为平底
+ r8 l _6 S7 W/ D; ]% vspNewHole->SetDiameter(5)//设置直径9 t- y6 ]: m% f. Q3 }. }
spNewHole->SetLimit(1)//设置为盲孔5 o" w4 U w; s; W- O
CATIHoleLimit_var spHoleLimit = spHole;% W I5 f* S( R* d7 Z
spHoleLimit ->SetOffset(5);//设置孔的深度
" G; X! L' `8 J/ M4 K7 X3.将孔添加在结构树中
+ x+ q, U7 l8 U: o2 u- q$ ?
; _% h, @" f8 s1 K$ lspHole ->Update();. ` m$ B" s) M6 U( o
CATIGSMProceduralView_var ispProcView = spHole;
' R. `3 P" }0 H; Q& B' f1 I# _if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}2 K1 T( n5 H2 Y) C/ ^- ?1 E
& I9 ^/ Q* S2 ~9 Z |
|