admin 发表于 2018-2-22 13:20:34

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

创建实体特征

实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory 工厂中的方法,

创建实体特征的方法
凸台 CreatePad
槽 CreatePocket
旋转体 CreateRotate
孔 CreateHole
盒体 CreateShell
倒圆 CreateFillet
倒角 CreateChamfer
厚曲面 CreateThickness


现举创建孔的例子如下:
1.常用的创建孔的方法包括三种,依次如下。
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihSurface,
const CATISpecObject_var ihDirection) = 0
参数介绍:ihSurface 指支持孔的平面或曲面;ihDirection 指孔的特征方向,特征方向可用
CATIGSMFactory 中的CreateDirection 创建,孔方向若为NULL_var,则按照曲面的法向创建孔。
public virtual CATISpecObject_var CreateHole( const CATISpecObject_var ihPoint,
const CATISpecObject_var ihSurface,
const CATISpecObject_var ihDirection,
const int IsPointOnSurface) = 0
参数介绍:ihPoint 指在支持面上的特征点;ihSurface 指支持孔的平面或曲面;ihDirection
指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如
果为0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
public virtual CATISpecObject_var CreateHole( const CATMathPoint iMathPoint,
const CATISpecObject_var ihSurface,
const CATISpecObject_var ihDirection,
const int IsPointOnSurface) = 0
参数介绍:iMathPoin 指在支持面上的数学点;ihSurface 指支持孔的平面或曲面;ihDirection
指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface 的值如果为
0,说明ihPoint 不在ihSurface 上,若为0,则说明ihPoint 在ihSurface 上。
2.设置孔的参数
CATISpecObject_var spHole = spPrtFactory-> CreateHole();
CATINewHole_var spNewHole= spHole;
spNewHole-> SetHoleType(1);//设置孔类型为简单孔
spNewHole->SetBottomType(1) ;//设置孔底面类型为平底
spNewHole->SetDiameter(5)//设置直径
spNewHole->SetLimit(1)//设置为盲孔
CATIHoleLimit_var spHoleLimit = spHole;
spHoleLimit ->SetOffset(5);//设置孔的深度
3.将孔添加在结构树中

spHole ->Update();
CATIGSMProceduralView_var ispProcView = spHole;
if (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}

页: [1]
查看完整版本: Catia二次开发源码分享:创建实体特征