ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:23.78KB ,
资源ID:6498524      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6498524.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CATIA二次开发CAA技术基础之零件设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CATIA二次开发CAA技术基础之零件设计.docx

1、CATIA二次开发CAA技术基础之零件设计第五章零件设计5.1零件设计环境图5.1零件设计环境零件设计环境中,MyPart1中包含参考平面(包括XY平面、YZ平面、ZX平面)、轴系、参数、几何图形集、有序几何图形集、零件几何体、几何体、集合中的几何体等节点.几何图形集是无序建模,一般全曲面建模就是他比较管用;有序几何图形集,他里面可以包含集合中的几何体,几何图形集,几何特征,但建模方式是有序的;几何体是直接插入零件环境下,他里面可以包含几何图形集,有序几何图形,几何特征,但建模方式是有序的;集合中的几何体在插入前会询问用户,他可以放在树的根目录下也可以放在有序几何图形集里面,还可以在插入的同时

2、把有序几何图形集里的特征集合到(集合中的几何体)里面。5.2零件设计接口介绍5.2。1操纵零件的一般步骤图5.2操纵零件的主要接口及步骤5.2。2获得CATIPrtPart参考代码如下:CATIPrtContainer_var spPrtContainer=spContainer;CATIPrtPart_varspPrtPart=spPrtContainerGetPart();5.2。3获得零件下所有节点方法一:利用CATIDescendants接口CATIDescendants_var spDescendantsOnPart=spPrtPart;CATListValCATISpecObjec

3、t_varspSpecObjects;piDescendantsOnPartGetAllChildren(CATISpecObject”,spSpecObjects);方法二:利用CATContainer中的ListMembersHere方法SEQUENCE(CATBaseUnknown_ptr)ListObj;longNbObj=piRootContainerListMembersHere(”CATISpecObject,ListObj);for(intj=0;jNbObj;j+)/注意从0开始注意:”CATISpecObject”表示将所有的节点列出,如果想要只列出某种元素,可以将该参数设

4、置为相应的接口,例如”CATPoint表示所有的点。5.2。4获得参考平面参考平面包括XY平面、YZ平面、ZX平面,参考代码如下:CATListValCATISpecObject_varspReferencePlanes;spReferencePlanes=spPrtPartGetReferencePlanes();注意:spReferencePlanes为包含三个元素的数组,数组元素依次为xy平面,yz平面和zx平面。如果要使用yz平面,则参考代码如下:CATISpecObject_var spyzPlane=spReferencePlanes2;5。2。5获得轴系参考代码如下:CATIMf

5、3DAxisSystemManager_varspAxisSystem=NULL_var;spPrtPart-QueryInterface(IID_CATIMf3DAxisSystemManager,(void)&spAxisSystem);/得到的所有轴系CATLISTV(CATIMf3DAxisSystem_var)oAxisSystemList;spAxisSystem-GetAxisSystems(oAxisSystemList);5.2.6获得参数方法一:利用CATIDescendants接口CATIDescendants_var spDescendantsOnPart=spPrtP

6、art;CATListValCATISpecObject_varspSpecObjects;piDescendantsOnPartGetAllChildren(”CATICkeParm”,spSpecObjects);方法二:利用CATIParmPublisher中接口CATIParmPublisher_var spParmPublisher=spPrtPart;CATListValCATISpecObject_varListFound;spParmPublisherGetAllChildren(”CATICkeParm”,ListFound);方法三:利用CATContainer中的List

7、MembersHere方法SEQUENCE(CATBaseUnknown_ptr)ListObj;longNbObj=spContainer-ListMembersHere(”CATICkeParm,ListObj);for(intj=0;jNbObj;j+)/注意从0开始CATIAlias_varspAlias=ListObjj;coutspAlias-GetAlias()GetSolidBodies(ViewContext,ListBodies);例2:获得零件中的所有有序几何图形集的代码如下。CATIDescendants_var spDescendantsOnPart=spPrtPar

8、t;CATListValCATISpecObject_varspSpecOGSs;/所有有序几何图形集piDescendantsOnPart-GetAllChildren(”CATIMmiOrderedGeometricalSet,spSpecOGSs);例3:获得零件几何体的代码如下.CATBaseUnknow_varspMainBody;/零件几何体pIPartRequestGetMainBody(ViewContext,spMainBody);例4:获得CATBody的代码如下.CATIBodyRequestpIBodyRequest=NULL;spMainBody-QueryInter

9、face(IID_CATIBodyRequest,(void*)pIBodyRequest);CATLISTV(CATBaseUnknown_var)ListResult;pIBodyRequest-GetResults(”,ListResult);CATIGeometricalElement*pIGeometricalElement=NULL;for(inti=1;i=ListResult。Size();i+)CATBaseUnknown_varspResult=ListResulti;spResult-QueryInterface(IID_CATIGeometricalElement,(v

10、oid)&pIGeometricalElement);CATBody_varspBodyResult=pIGeometricalElement-GetBodyResult();5.2.8创建轴系/首先初始化工厂CATIMf3DAxisSystemFactorypIMf3DAxisSystemFactoryOnFeatCont=spContainer;CATMathPointOrigin(150。0,。0,.0);CATMathVectorX(1。0,。0,.0);CATMathVectorY(0.0,1.0,.0);CATIMf3DAxisSystem_varNewAxisSystemStd;

11、/创建的轴系pIMf3DAxisSystemFactoryOnFeatCont-CreateAxisSystem(Origin,X,Y,NewAxisSystemStd);/对轴系的X、Y方向进行修改NewAxisSystemStdSetAxisDirection(CATAxisSystemXNumber,pVectorX);NewAxisSystemStd-SetAxisDirection(CATAxisSystemYNumber,pVectorY);5.2.9创建参数和公式1创建参数/初始化CATICkeParmFactory工厂CATICkeParmFactory_varspParmFa

12、ctory=spContainer;CATICkeParm_varspParam1=spParmFactoryCreateLength(Base”,0。1);CATICkeParm_varspParam2=spParmFactoryCreateLength(”Width”,0。15);/长度单位为米CATICkeParm_varspParam3=spParmFactory-CreateLength(Height,0.2);/创建长度参数/CATIParmPublisher与CATICkeFunctionFactory功能为将所有参数显示在结构树中CATIParmPublisher_var sp

13、ParmPublisher=NULL_var;CATICkeFunctionFactory_varspFuncFactory=CATCkeGlobalFunctions:GetFunctionFactory();spParmPublisher=spFuncFactory-GetCurrentSet(CATICkeFunctionFactory:Parameter,spPrtPart,CATCke::True);spParmPublisher.Append(spParam1);spParmPublisher.Append(spParam2);spParmPublisher.Append(spPa

14、ram3);2创建公式/创建参数列表CATCkeListOfParmpList;pList-Append(spParam1);pListAppend(spParam2);pListAppend(spParam3);/创建公式Height=Width+BaseCATICkeRelation_var spFormula1 = spParmFactory-CreateFormula(”Formula”,”,spParam3,pList,Width+Base,spParmPublisher,CATCke::True);spFuncFactoryAddToCurrentRelationSet(spFor

15、mula1,spParmPublisher);/修改参数进行测试spParam1Valuate(0.5);5。2.10创建几何图形集等节点/初始化CATIMechanicalRootFactory工厂CATIMechanicalRootFactory_varspMechanicalRootFactory=spContainer;/创建几何图形集virtualHRESULTCreateGeometricalSet(constCATUnicodeString&iUserName,constCATISpecObject_variDestination,CATISpecObject_var &oGeo

16、mSet,intiPosition=1)=0;函数说明如下表5。1所示:iDestination为零件节点iDestination为其他节点iPosition=1几何图形集位于零件最后几何图形集与iDestination在同一父节点下,且在iDestination节点后iPosition=0几何图形集位于零件最后几何图形集位于iDestination中的最后0iPosition=iDestination的大小几何图形集位于零件中iPosition+1处几何图形集位于iDestination中的iPosition+1处OtherwiseE_FAILE_FAIL目标方法凸台CreatePad槽Cr

17、eatePocket旋转体CreateRotate孔CreateHole盒体CreateShell倒圆CreateFillet倒角CreateChamfer厚曲面CreateThickness表5.2创建实体特征的方法表5.1函数说明/创建有序的几何图形集virtualHRESULTCreateOrderedGeometricalSet(constCATUnicodeStringiUserName,constCATISpecObject_var&iDestination,CATISpecObject_var oOrderedGeomSet,intiPosition=-1)=0;/创建几何体vi

18、rtualCATISpecObject_varCreatePRTTool(constCATUnicodeStringiUserName,constCATISpecObject_var&iDestination);virtualCATISpecObject_varCreatePRTTool(constCATUnicodeString&iUserName,constCATISpecObject_variDestinationintiPosition=-1);5。2.11创建实体特征实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体特征采用CATIPrtFactory工厂

19、中的方法,相应的方法如下表所示.现举创建孔的例子如下:1常用的创建孔的方法包括三种,依次如下。publicvirtualCATISpecObject_varCreateHole(constCATISpecObject_varihSurface,constCATISpecObject_var ihDirection)=0参数介绍:ihSurface指支持孔的平面或曲面;ihDirection指孔的特征方向,特征方向可用CATIGSMFactory中的CreateDirection创建,孔方向若为NULL_var,则按照曲面的法向创建孔。publicvirtualCATISpecObject_va

20、rCreateHole(constCATISpecObject_varihPoint,constCATISpecObject_var ihSurface,constCATISpecObject_var ihDirection,constintIsPointOnSurface)=0参数介绍:ihPoint指在支持面上的特征点;ihSurface指支持孔的平面或曲面;ihDirection指孔的特征方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface的值如果为0,说明ihPoint不在ihSurface上,若为0,则说明ihPoint在ihSurface上。p

21、ublicvirtualCATISpecObject_varCreateHole(constCATMathPointiMathPoint,constCATISpecObject_var ihSurface,constCATISpecObject_var ihDirection,constintIsPointOnSurface)=0参数介绍:iMathPoin指在支持面上的数学点;ihSurface指支持孔的平面或曲面;ihDirection指孔的方向,孔方向若为NULL_var,则按照曲面的法向创建孔;IsPointOnSurface的值如果为0,说明ihPoint不在ihSurface上,若

22、为0,则说明ihPoint在ihSurface上。2设置孔的参数CATISpecObject_varspHole=spPrtFactory-CreateHole();CATINewHole_varspNewHole=spHole;spNewHole-SetHoleType(1);/设置孔类型为简单孔spNewHoleSetBottomType(1);/设置孔底面类型为平底spNewHole-SetDiameter(5)/设置直径spNewHoleSetLimit(1)/设置为盲孔CATIHoleLimit_varspHoleLimit=spHole;spHoleLimitSetOffset(5

23、);/设置孔的深度3将孔添加在结构树中spHoleUpdate();CATIGSMProceduralView_varispProcView=spHole;if(NULL_var!=ispProcView)HResultrc=ispProcView-InsertInProceduralView();5.2。12创建零件设计表/初始化CATICkeParmFactory工厂CATICkeParmFactory_varspParmFactory=spContainer;/创建设计表的函数如下CATIDesignTable_varCreateDesignTable(constCATUnicodeSt

24、ring&iRelationName,constCATUnicodeString iComment,constCATUnicodeString& iFilePath,int orientation=1,intsheetWithoutFile=0);函数说明:iRelationName为设计表的名字,iComment为设计表的说明,iFilePath为创建表的路径。创建零件族的步骤如下:1。创建参数CATICkeParm_varspPp1=spFactCreateInteger(Column1,0);CATICkeParm_varspPp2=spFact-CreateReal(r,0。0);CA

25、TICkeParm_varspPp3=spFactCreateString(”s,”);CATICkeParm_varspPp4=spFact-CreateBoolean(”b,CATCke::True);CATICkeParm_varspPp5=spFact-CreateLength(l”,0);CATICkeParm_varspPp6=spFact-CreateAngle(a,0);2.将参数显示在结构树上CATIPrtContainer_varspPrtCont=spContainer;CATIParmPublisher_varspPubroot=spPrtContGetPart();C

26、ATICkeFunctionFactory_varfact=CATCkeGlobalFunctions:GetFunctionFactory();CATISpecObject_varspParameterSet=NULL_var;spParameterSet=fact-GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);CATIParmPublisher_varspParmPublisher=spParameterSet;spParmPublisherAppend(spPp1);spParmPublis

27、her-Append(spPp2);spParmPublisher-Append(spPp3);spParmPublisher-Append(spPp4);spParmPublisherAppend(spPp5);spParmPublisher-Append(spPp6);3。创建设计表CATIDesignTable_varspDesignTable=spFact-CreateDesignTable();4.将设计表显示在结构树上CATISpecObject_varspRelationSet=fact-GetCurrentSet(CATICkeFunctionFactory::Relation,spPubroot,CATCke:True);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1