PLM之家PLMHome-工业软件践行者

Catia二次开发源码分享:创建实体特征

  [复制链接]

2018-2-22 13:20:34 3164 0

admin 发表于 2018-2-22 13:20:34 |阅读模式

admin 楼主

2018-2-22 13:20:34

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
创建实体特征( \" s) r) H: b* H2 A4 C2 V

  E8 b$ x5 I6 H实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,
6 _, p1 _: J; Q! D/ ]' l( e0 k
" d" u1 N, r6 r# ?/ G0 n  }% j创建实体特征的方法5 X4 f$ ], G$ j  ?% f- j' L5 q/ X# O7 ]
凸台 CreatePad9 r, b3 P5 O! z. x: E
槽 CreatePocket5 t8 s( l3 N+ e6 u* ^7 m6 D. I5 w
旋转体 CreateRotate$ F- X" }. {, U
孔 CreateHole( H4 r) E- F9 D. g8 l
盒体 CreateShell
/ u3 ?1 B# {; _+ ?+ |倒圆 CreateFillet
  z& I$ |0 {; i  F倒角 CreateChamfer
( t' `* `1 w/ x" I$ l! G厚曲面 CreateThickness; e' b% i4 r$ p/ Y' i# L! r! I& m. ~- @

& |% @( M0 M' X. R, s$ K1 M5 e1 T: b+ `& v5 h' P6 U$ h0 h
现举创建孔的例子如下:& j2 o  j& \2 g
1.常用的创建孔的方法包括三种,依次如下。
0 U! Q1 E. X  u% V4 |5 ]public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,* I" H' i" d9 M4 ?; Y' Q+ m/ R% L
const CATISpecObject_var ihDirection) = 0! ~* q- u/ \0 D3 b; K
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
& p+ e3 I6 b6 ?% n; z; ?CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
0 O- @- h' O  e* t1 ?( n! F0 npublic virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
% t/ W- g. V& i5 A! Jconst CATISpecObject_var ihSurface,
7 R% }: f) K3 f. k* Zconst CATISpecObject_var ihDirection,& [- I7 R+ N) V! P) t0 t* J
const int IsPointOnSurface) = 04 b7 [# I: a$ r3 k- U7 R
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection2 D+ g5 O6 U; H, C/ |% t
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
* d5 r+ y- R+ u; ^. T, {( Q4 ~果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
. Z# t& R+ [! j3 F1 G  Mpublic virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
0 \( D( {: D% W, W# x! Cconst CATISpecObject_var ihSurface,
3 \3 t9 S8 _  Y) p  Kconst CATISpecObject_var ihDirection,
* V2 U8 N2 f; [6 m, n8 W7 V  {const int IsPointOnSurface) = 0
7 p& U8 z; P/ G0 o4 j4 ^参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
6 j+ S% r. U9 c+ E% E, x指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
9 a& ?4 R1 C0 R! v5 L* ]* I0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。: {6 Z% t" s6 H
2.设置孔的参数
' M& y. v. j6 A4 T) b7 L* eCATISpecObject_var spHole = spPrtFactory-> CreateHole();
, Q1 P7 A2 _' ]8 N5 z1 I+ ECATINewHole_var spNewHole= spHole;
2 }; D7 ^9 k% h7 OspNewHole-> SetHoleType(1);//设置孔类型为简单孔! x" b, H% ~0 A3 \/ G9 _! e- t
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
9 H5 |, B' {" |2 yspNewHole->SetDiameter(5)//设置直径' e) `9 e/ X' B3 W7 M  y
spNewHole->SetLimit(1)//设置为盲孔% T1 Q3 o9 E+ h6 C* z: R+ t$ g3 @
CATIHoleLimit_var spHoleLimit = spHole;
2 @  b' x: @* ]. yspHoleLimit ->SetOffset(5);//设置孔的深度
5 S1 |7 G% f2 O  z( W3.将孔添加在结构树中
; I9 _8 y; m0 x! a6 _) l5 \
1 ^  D1 X+ l$ F& h2 I. SspHole ->Update();
7 \6 W, k# a5 L$ b8 f: K; N# Z8 |CATIGSMProceduralView_var ispProcView = spHole;" M1 Y8 O* U4 y; }8 q# J
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}
3 F( {# n2 h# ]* D* B# k: z# a
9 ?5 u8 P* {1 U- q9 `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了