教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

CATIA二次开发(CAA)技术基础之零件设计(2)

来源:网络收集 时间:2026-08-09
导读: pIPartRequest->GetMainBody(ViewContext,spMainBody); 例 4:获得 CATBody 的代码如下。 CATIBodyRequest *pIBodyRequest= NULL; spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) CATLISTV(CATBaseUnkn

pIPartRequest->GetMainBody(ViewContext,spMainBody); 例 4:获得 CATBody 的代码如下。 CATIBodyRequest *pIBodyRequest= NULL;

spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest); CATLISTV(CATBaseUnknown_var) ListResult ; pIBodyRequest->GetResults(\

CATIGeometricalElement * pIGeometricalElement = NULL ; for (int i=1 ; i<= ListResult.Size(); i++) {

CATBaseUnknown_var spResult = ListResult[i];

spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement ); CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult(); }

5.2.8 创建轴系

//首先初始化工厂

CATIMf3DAxisSystemFactory * pIMf3DAxisSystemFactoryOnFeatCont = spContainer; CATMathPoint Origin (150.0,.0,.0); CATMathVector X (1.0,.0,.0); CATMathVector Y (0.0,1.0,.0);

CATIMf3DAxisSystem_var NewAxisSystemStd;//创建的轴系

pIMf3DAxisSystemFactoryOnFeatCont->CreateAxisSystem(Origin,X,Y,NewAxisSystemStd); //对轴系的 X、Y 方向进行修改

NewAxisSystemStd->SetAxisDirection(CATAxisSystemXNumber, pVectorX); NewAxisSystemStd->SetAxisDirection(CATAxisSystemYNumber, pVectorY);

5.2.9 创建参数和公式

1.创建参数

//初始化 CATICkeParmFactory 工厂

CATICkeParmFactory_var spParmFactory = spContainer;

CATICkeParm_var spParam1 = spParmFactory->CreateLength(\

CATICkeParm_var spParam2 = spParmFactory->CreateLength(\长度单位为米 CATICkeParm_var spParam3 = spParmFactory->CreateLength(\创建长度参数

// CATIParmPublisher 与 CATICkeFunctionFactory 功能为将所有参数显示在结构树中 CATIParmPublisher_var

spParmPublisher = NULL_var;

CATICkeFunctionFactory_var spFuncFactory =CATCkeGlobalFunctions::GetFunctionFactory(); spParmPublisher=

spFuncFactory->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPrtPart,CATCke::True); spParmPublisher.Append(spParam1); spParmPublisher.Append(spParam2); spParmPublisher.Append(spParam3); 2.创建公式 //创建参数列表

CATCkeListOfParm pList; pList->Append (spParam1); pList->Append (spParam2); pList->Append (spParam3); //创建公式 Height = Width + Base CATICkeRelation_var

spFormula1

=

spParmFactory->CreateFormula(\

spParam3, pList, \ spParmPublisher, CATCke::True);

spFuncFactory->AddToCurrentRelationSet(spFormula1, spParmPublisher); //修改参数进行测试 spParam1->Valuate(0.5);

5.2.10 创建几何图形集等节点

//初始化 CATIMechanicalRootFactory 工厂

CATIMechanicalRootFactory_var spMechanicalRootFactory = spContainer; //创建几何图形集

virtual HRESULT CreateGeometricalSet(const CATUnicodeString& iUserName,

const CATISpecObject_var& iDestination, CATISpecObject_var int iPosition=-1 ) = 0 ;

函数说明如下表 5.1 所示:

& oGeomSet,

表 5.1 函数说明 iDestination 为零件节点 几何图形集位于零件最后 iPosition = -1 几何图形集位于零件最后 iPosition = 0 几何图形集位于零件中 0 < iPosition <= iDestination 的大小 iPosition +1 处 E_FAIL Otherwise //创建有序的几何图形集

iDestination 为其他节点 几何图形集与 iDestination 在同一父节点 下,且在 iDestination 节点后 几何图形集位于 iDestination 中的最后 几何图形集位于 iDestination 中的 iPosition +1 处 E_FAIL virtual HRESULT CreateOrderedGeometricalSet (const CATUnicodeString& iUserName,

const CATISpecObject_var& iDestination, CATISpecObject_var int iPosition=-1 ) = 0 ;

//创建几何体

virtual CATISpecObject_var CreatePRTTool( const CATUnicodeString& iUserName,

const CATISpecObject_var& iDestination) ;

virtual CATISpecObject_var CreatePRTTool( const CATUnicodeString& iUserName,

const CATISpecObject_var& iDestination int iPosition=-1) ;

& oOrderedGeomSet,

5.2.11 创建实体特征

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

表 5.2 创建实体特征的方法 目标 凸台 槽 旋转体 孔 盒体 倒圆 倒角 厚曲面 方法 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 const CATISpecObject_var

ihSurface, 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 const CATISpecObject_var

ihSurface, 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.将孔添加在结构树中 …… 此处隐藏:798字,全部文档内容请下载后查看。喜欢就下载吧 ……

CATIA二次开发(CAA)技术基础之零件设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/519884.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)