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

上传人:b****5 文档编号:19512289 上传时间:2023-01-07 格式:DOCX 页数:18 大小:23.78KB
下载 相关 举报
CATIA二次开发CAA技术基础之零件设计Word下载.docx_第1页
第1页 / 共18页
CATIA二次开发CAA技术基础之零件设计Word下载.docx_第2页
第2页 / 共18页
CATIA二次开发CAA技术基础之零件设计Word下载.docx_第3页
第3页 / 共18页
CATIA二次开发CAA技术基础之零件设计Word下载.docx_第4页
第4页 / 共18页
CATIA二次开发CAA技术基础之零件设计Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

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

《CATIA二次开发CAA技术基础之零件设计Word下载.docx》由会员分享,可在线阅读,更多相关《CATIA二次开发CAA技术基础之零件设计Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

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

方法

SEQUENCE(CATBaseUnknown_ptr) 

ListObj;

long 

NbObj 

piRootContainer—〉ListMembersHere(”CATISpecObject"

,ListObj);

for(int 

j=0;

j〈NbObj;

j++)//注意从 

开始

{}

注意:

”CATISpecObject”表示将所有的节点列出,如果想要只列出某种元素,可以将该

参数设置为相应的接口,例如”CATPoint"

表示所有的点。

获得参考平面

参考平面包括 

平面,参考代码如下:

spReferencePlanes;

spReferencePlanes 

spPrtPart—>

GetReferencePlanes();

注意:

为包含三个元素的数组,数组元素依次为 

xy 

平面, 

yz 

平面和 

zx 

面。

如果要使用 

平面,则参考代码如下:

CATISpecObject_varspyzPlane 

spReferencePlanes[2];

5。

2。

获得轴系

CATIMf3DAxisSystemManager_var 

spAxisSystem 

NULL_var;

spPrtPart->

QueryInterface(IID_ 

CATIMf3DAxisSystemManager,(void**)&

spAxisSystem);

//得到的所有轴系

CATLISTV(CATIMf3DAxisSystem_var) 

oAxisSystemList;

->

GetAxisSystems(oAxisSystemList);

5.2.6 

获得参数

spPrtPart;

spSpecObjects;

piDescendantsOnPart—〉GetAllChildren(”CATICkeParm”, 

CATIParmPublisher 

中接口

CATIParmPublisher_varspParmPublisher 

ListFound;

spParmPublisher—〉GetAllChildren(”CATICkeParm”,ListFound);

方法三:

ListObj;

spContainer 

ListMembersHere(”CATICkeParm"

{

CATIAlias_var 

spAlias 

ListObj[j];

cout<

<

spAlias-〉GetAlias()〈<

endl;

//输出参数的名字

5.2.7 

获得几何图形集等节点

该节主要介绍获得几何图形集、有序几何图形集、零件几何体、几何体、集合中的几何体

等节点的方法,主要方法流程图如图 

5.3 

所示。

获得CATIPrtPart

获得CATIPartRequest

GetAllBodies

GetSurfBodies

几何图形集有序几何图形集

GetSolidBodies

GetMainBody

零件几何体 

集合中的几何体

几何体

CATIMmiNonOrderedGeometricalSet

CATIMmiOrderedGeometricalSet

CATIGSMTool

CATIMechanicalTool

获得CATIBodyRequest

CATBody

流程图

例 

1:

获得零件中的所有几何体的代码如下。

CATIPartRequest 

*pIPartRequest 

=NULL 

;

HRESULT 

rc 

spPart-〉QueryInterface(IID_CATIPartRequest,

(void**)&

pIPartRequest 

);

if 

( 

SUCCEEDED(rc) 

CATLISTV(CATBaseUnknow_var) 

ListBodies;

//所有几何体

CATUnicodeString 

ViewContext 

=”MfDefault3DView"

pIPartRequest->

GetSolidBodies(ViewContext,ListBodies);

2:

获得零件中的所有有序几何图形集的代码如下。

spSpecOGSs;

//所有有序几何图形集

piDescendantsOnPart->

GetAllChildren(”CATIMmiOrderedGeometricalSet"

, 

spSpecOGSs);

3:

获得零件几何体的代码如下.

CATBaseUnknow_var 

spMainBody;

//零件几何体

pIPartRequest—>

GetMainBody(ViewContext,spMainBody);

4:

CATBody 

的代码如下.

CATIBodyRequest 

*pIBodyRequest= 

NULL;

spMainBody 

-〉QueryInterface(IID_CATIBodyRequest,(void**) 

&pIBodyRequest);

CATLISTV(CATBaseUnknown_var) 

ListResult 

pIBodyRequest->

GetResults(””,ListResult);

CATIGeometricalElement 

pIGeometricalElement 

NULL 

for 

(int 

i=1 

i〈= 

ListResult。

Size();

i++)

CATBaseUnknown_var 

spResult 

ListResult[i];

spResult->

QueryInterface(IID_CATIGeometricalElement 

(void**) 

&

CATBody_var 

spBodyResult 

pIGeometricalElement->

GetBodyResult();

}

5.2.8 

创建轴系

//首先初始化工厂

CATIMf3DAxisSystemFactory 

* 

pIMf3DAxisSystemFactoryOnFeatCont 

CATMathPoint 

Origin 

(150。

0,。

0,.0);

CATMathVector 

(1。

0,。

0,.0);

(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("

Base”,0。

1);

spParam2 

spParmFactory—〉CreateLength(”Width”,0。

15);

//长度单位为米

spParam3 

spParmFactory-〉CreateLength("

Height"

0.2);

//创建长度参数

// 

与 

CATICkeFunctionFactory 

功能为将所有参数显示在结构树中

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);

(spParam3);

//创建公式 

Height 

Width 

Base

CATICkeRelation_varspFormula1=spParmFactory-〉CreateFormula(”Formula”,””,"

"

spParam3, 

pList, 

Width+Base"

 

spParmPublisher, 

CATCke:

True);

spFuncFactory—>

AddToCurrentRelationSet(spFormula1, 

spParmPublisher);

//修改参数进行测试

spParam1—>

Valuate(0.5);

2.10 

创建几何图形集等节点

CATIMechanicalRootFactory 

CATIMechanicalRootFactory_var 

spMechanicalRootFactory 

//创建几何图形集

virtual 

CreateGeometricalSet(const 

CATUnicodeString&

iUserName,

const 

CATISpecObject_var& 

iDestination,

CATISpecObject_var&

oGeomSet,

int 

iPosition=—1 

) 

函数说明如下表 

所示:

iDestination 

为零件节点

为其他节点

iPosition 

—1

几何图形集位于零件最后

几何图形集与 

在同一父节点

下,且在 

节点后

几何图形集位于 

中的最后

〈 

〈= 

的大小

几何图形集位于零件中

+1 

中的

Otherwise

E_FAIL

目标

凸台

CreatePad

CreatePocket

旋转体

CreateRotate

CreateHole

盒体

CreateShell

倒圆

CreateFillet

倒角

CreateChamfer

厚曲面

CreateThickness

表 

创建实体特征的方法

函数说明

//创建有序的几何图形集

CreateOrderedGeometricalSet 

(const 

CATUnicodeString& 

CATISpecObject_var&

iDestination,

CATISpecObject_var& 

oOrderedGeomSet,

iPosition=-1 

//创建几何体

CATISpecObject_var 

CreatePRTTool( 

iDestination) 

iDestination

iPosition=-1) 

2.11 

创建实体特征

实体特征主要包括凸台、槽、旋转体、孔、盒体、倒圆、倒角和厚曲面等特征,创建实体

特征采用 

CATIPrtFactory 

工厂中的方法,相应的方法如下表所示.

现举创建孔的例子如下:

1.常用的创建孔的方法包括三种,依次如下。

public 

CreateHole( 

ihSurface,

CATISpecObject_varihDirection) 

参数介绍:

ihSurface 

指支持孔的平面或曲面;

ihDirection 

指孔的特征方向,特征方向可用

CATIGSMFactory 

CreateDirection 

创建,孔方向若为 

NULL_var,则按照曲面的法向创建孔。

ihPoint,

CATISpecObject_varihSurface,

CATISpecObject_varihDirection,

IsPointOnSurface) 

ihPoint 

指在支持面上的特征点;

指支持孔的平面或曲面;

ihDirection

指孔的特征方向,孔方向若为 

NULL_var,则按照曲面的法向创建孔;

IsPointOnSurface 

的值如

果为 

0,说明 

不在 

上,若为 

0,则说明 

在 

上。

iMathPoint,

iMathPoin 

指在支持面上的数学点;

指孔的方向,孔方向若为 

NULL_var,则按照曲面的法向创建孔;

的值如果为

0,则说明 

2.设置孔的参数

spHole 

spPrtFactory->

CreateHole();

CATINewHole_var 

spNewHole= 

spHole;

spNewHole-〉 

SetHoleType

(1);

//设置孔类型为简单孔

spNewHole—〉SetBottomType

(1) 

//设置孔底面类型为平底

spNewHole->

SetDiameter(5)//设置直径

spNewHole—>

SetLimit

(1)//设置为盲孔

CATIHoleLimit_var 

spHoleLimit 

—〉SetOffset(5);

//设置孔的深度

3.将孔添加在结构树中

—〉Update();

CATIGSMProceduralView_var 

ispProcView 

spHole;

(NULL_var 

{HResult 

-〉InsertInProceduralView();

12 

创建零件设计表

//创建设计表的函数如下

CATIDesignTable_var 

CreateDesignTable( 

iRelationName,

CATUnicodeString&iComment,

iFilePath,

intorientation 

1,

sheetWithoutFile 

);

函数说明:

iRelationName 

为设计表的名字,iComment 

为设计表的说明,iFilePath 

为创建

表的路径。

创建零件族的步骤如下:

1。

创建参数

spPp1 

spFact—〉CreateInteger 

("

Column1"

,0);

spPp2 

spFact-〉CreateReal 

r"

0。

0);

spPp3 

spFact—〉CreateString 

(”s"

””);

spPp4 

spFact->

CreateBoolean 

(”b"

,CATCke:

:

spPp5 

CreateLength 

l”,0);

spPp6 

CreateAngle 

a"

,0);

2.将参数显示在结构树上

CATIPrtContainer_var 

spPrtCont 

CATIParmPublisher_var 

spPubroot 

spPrtCont—〉GetPart();

fact 

CATCkeGlobalFunctions:

spParameterSet 

NULL_var;

spParameterSet=

fact-〉GetCurrentSet(CATICkeFunctionFactory:

Parameter,spPubroot,CATCke:

spParmPublisher 

spParameterSet;

spParmPublisher—>

Append(spPp1);

spParmPublisher-〉Append(spPp2);

spParmPublisher-〉Append(spPp3);

spParmPublisher-〉Append(spPp4);

spParmPublisher—〉Append(spPp5);

spParmPublisher-〉Append(spPp6);

3。

创建设计表

spDesignTable 

spFact-〉CreateDesignTable();

4.将设计表显示在结构树上

spRelationSet 

GetCurrentSet(

CATICkeFunctionFactory:

Relation,spPubroot,CATCke:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

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

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