CATIA二次开发(CAA)技术基础之零件设计(2)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




