




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——CATIACAA二次开发详细教程(5)添加一个点CATIACAA二次开发详细教程
CATIACAA二次开发详细教程(5)添加一个点
在创立任何几何对象之前,必需在激活的函数命令中添加以下代码,:CATFrmEditor*pEditor=CATFrmEditor::GetCurrentEditor();if(pEditor==NULL){
printf(\}
CATDocument*pDoc=pEditor->GetDocument();CATIContainerOfDocument_varspConODocs=pDoc;CATIContainer*pSpecContainer=NULL;
HRESULThr=spConODocs->GetSpecContainer(pSpecContainer);if(spConODocs==NULL_var){
printf(\}
以上代码的主要功能是获取editor,thedocumentandthecontainer。CATIGSMFactory_varspGSMFactory=NULL_var;CATIPrtFactory_varspPrtFactory=NULL_var;CATICkeParmFactory_varspParmFactory=NULL_var;spGSMFactory=pSpecContainer;spPrtFactory=pSpecContainer;spParmFactory=pSpecContainer;
以上代码设置工厂,在这基础上你才可以造型,GSMFactory用于创立底层的几何对象譬如点、线等。PrtFactory包含创立孔特征、拉伸特征实体等函数。ParmFactory包含设定参数的函数。
在以上的基础上可以创立点了,步骤如下:(1)创立一个三维数组(x,y,z)定义点坐标。doubleCoords[3];Coords[0]=0;Coords[1]=0;Coords[2]=0;
(2)创立一个CATIGSMPoint并将其转换为CATISpecObject
CATIGSMPoint_varspPoint1=spGSMFactory->CreatePoint(Coords);//Createsapoint
30
CATIACAA二次开发详细教程
CATISpecObject_varspSpecPoint1=spPoint1;//CaststhepointasaCATISpecObject
(3)为了在CATIA显示你创立的点,必需将其添加到视图中。spSpecPoint1->Update();
CATIGSMProceduralView_varspPntObj=spSpecPoint1;spPntObj->InsertInProceduralView();所有的源代码如下://.
//
CATStatusChangeRCMyCommand::Activate(CATCommand*iFromClient,CATNotification*iEvtDat)
{
CATFrmEditor*pEditor=CATFrmEditor::GetCurrentEditor();
if(pEditor==NULL){
printf(\r\
}
CATDocument*pDoc=pEditor->GetDocument();CATIContainerOfDocument_varspConODocs=pDoc;CATIContainer*pSpecContainer=NULL;
HRESULThr=spConODocs->GetSpecContainer(pSpecContainer);
if(spConODocs==NULL_var){
printf(\ofdocuments\
}
CATIGSMFactory_varspGSMFactory=NULL_var;CATIPrtFactory_varspPrtFactory=NULL_var;CATICkeParmFactory_varspParmFactory=NULL_var;spGSMFactory=pSpecContainer;spPrtFactory=pSpecContainer;spParmFactory=pSpecContainer;
31
CATIACAA二次开发详细教程
doubleCoords[3];Coords[0]=0;Coords[1]=0;Coords[2]=0;
CATIGSMPoint_varspPoint1=spGSMFactory->CreatePoint(Coords);//Createsapoint
CATISpecObject_varspSpecPoint1=spPoint1;//CaststhepointasaCATISpecObject
spSpecPoint1->Update();
CATIGSMProceduralView_varspPntObj=spSpecPoint1;
spPntObj->InsertInProceduralView();
return(CATStatusChangeRCCompleted);}
CATIACAA二次开发详细教程(6)创立一条线
初始的设定请参考上一讲《CATIACAA二次开发详细教程(5)添加一个点》。在此基础上,创立线的步骤如下:
1)创立两个点并将其转换为CATISpecObjects。doubleCoords[3];Coords[0]=0;Coords[1]=0;Coords[2]=0;
CATIGSMPoint_varspPoint1=spGSMFactory->CreatePoint(Coords);CATISpecObject_varspSpecPoint1=
spPoint1;
Coords[0]=8;Coords[1]=6;Coords[2]=7;
CATIGSMPoint_varspPoint2=spGSMFactory->CreatePoint(Coords);CATISpecObject_varspSpecPoint2=spPoint2;
32
CATIACAA二次开发详细教程
2)利用创立的点创立一条线,并将其转换为CATISpecObjectCATISpecObject_varspSupport=NULL_var;
CATIGSMLinePtPt_varspLine1=spGSMFactory->CreateLine(spSpecPoint1,spSpecPoint2,spSupport);
CATISpecObject_varspSpecLine1=spLine1;3)更新创立的线,并将其添加到视图中。spSpecLine1->Update();
CATIGSMProceduralView_varspCurObj=spLine1;spCurObj->InsertInProceduralView();
CATIACAA二次开发详细教程(7)创立草图Sketch
有两种方式可以创立草图:1)通过参考平面创立
首先获取一个CATIPrtPart变量:
CATIPrtPart_varspPart(pIPrtContOnDocument->GetPart());pIPrtContOnDocument->Release();
有了CATIPrtPart变量就可以利用其方法GetReferencePlanes(),获取参考平面
CATLISTV(CATISpecObject_var)spRefPlanes=spPart->GetReferencePlanes();
然后创立XYplane(spRefPlanes[1])
CATISketchFactory_varspSketchFactory(pSpecContainer);if(NULL_var==spSketchFactory)return(CATStatusChangeRCCompleted);
CATISketch_var
spSketch(spSketchFactory->CreateSketch(spRefPlanes[1]));
if(NULL_var==spSketch)return(CATStatusChangeRCCompleted);spSketch->OpenEdition();2)通过原点和两个矢量方向
该方法是通过定义一个原点和两个方向pH、pV进行创立。定义原点和方向:
doubleorigin[3]={0.0,0.0,10.0};doublex_dir[3]={1.0,0.0,0.0};
33
CATIACAA二次开发详细教程
doubley_dir[3]={0.0,1.0,0.0};
CATISketchFactory_varspSketchFactory(pSpecContainer);if(NULL_var==spSketchFactory)return(CATStatusChangeRCCompleted);
CATISketch_var
spSketch(spSketchFactory->CreateSketch(origin,x_dir,y_dir));
if(NULL_var==spSketch)return(CATStatusChangeRCCompleted);spSketch->OpenEdition();
到这里,你已经创立了一个Sketch,你可以在上面创立任意的草图了。创立好记住要将其关闭:spSketch->CloseEdition();
CATIACAA二次开发详细教程(8)草图上创立几何图形
在上一节的基础上,开始创立草图。首先创立草图工厂:CATI2DWFFactory_varsketch2DFactory(spSketch);下面创立点:
CATI2DPoint_varspPt_bottom_left,spPt_bottom_right,spPt_top_right,spPt_top_left;
doublept_bottom_left[2]={10.,10.};doublept_bottom_right[2]={50.,10.};doublept_top_right[2]={50.,50.};doublept_top_left[2]={10.,50.};
spPt_bottom_left=sketch2DFactory->CreatePoint(pt_bottom_left);spPt_bottom_right=sketch2DFactory->CreatePoint(pt_bottom_right);spPt_top_right=sketch2DFactory->CreatePoint(pt_top_right);spPt_top_left=sketch2DFactory->CreatePoint(pt_top_left);开始创立线:
CATI2DLine_varspLine1,spLine2,spLine3,spLine4;spLine1=
sketch2DFactory->CreateLine(pt_bottom_left,pt_bottom_right);
spLine2=
sketch2DFactory->CreateLine(pt_bottom_right,pt_top_right);
spLine3=sketch2DFactory->CreateLine(pt_top_right,pt_top_left);spLine4=sketch2DFactory->CreateLine(pt_top_left,pt_bottom_left);将线连接起来:
CATI2DCurve_varspCurve1(spLine1);
34
CreateAssemble(joincurves,Mergedist,FALSE);
CATISpecObject_varspCurveAssy=CurveAssy;
spCurveAssy->Update();
CATIGSMProceduralView_varspCurObj=Curveassembly;
36
CATIACAA二次开发详细教程
spCurObj->InsertInProceduralView();
CATIACAA二次开发详细教程(10)文档操作方法创立加载保存
一、创立(Createthenewdocument)
CATDocument*pDoc=NULL;
rc=CATDocumentServices::New(\if(NULL!=pDoc){
coutGetDocument();if(NULL!=pDoc){
coutQueryInterface(IID_CATInit,(void**)if(FAILED(rc)){
coutGetRootContainer(idCATIContainer);
if(NULL==piRootContainer){
coutCATIACAA二次开发详细教程
edasasecondparameter.Inthisusecase,wepassthestoragepathnameanddocumentnameasanargumenttotheprogram.
5.2保存
rc=CATDocumentServices::Save(*pDoc);if(SUCCEEDED(rc)){
cout〞所有程序〞–>“CATIAP3〞–>“Tools〞–>〞EnvironmentEditorV5R18〞
1.点击“确定〞。
42
CATIACAA二次开发详细教程
1.选择〞
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 檐口施工方案
- 消防管线防腐施工方案
- 房屋翻修专项施工方案
- 和田地暖施工方案
- 煤气施工方案
- 显示屏施工方案
- 小型顶管施工方案
- 整装锅炉吊装施工方案
- 灯塔施工方案
- TSHQAP 017-2024 生物医药厂房设计GMP 合规导则
- 高考语文一轮复习小说表现手法ppt课件
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 一至六年级下册音乐期末试卷及答案
- 多介质过滤器计算书
- 完整户口本英文翻译模板(共4页)
- 高二通用技术-经典结构的欣赏课件说课讲解
- 锣鼓曲谱16762
- 使用深埋锚改善桥梁墩柱预应力施工效果
- 三、QHLY系列——露顶式弧形门闸门液压启闭机
- 《病毒性肝炎》课件.ppt
- UCP600中英文对照版
评论
0/150
提交评论