CATIA二次开发CAA培训课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CAA培训刘宝明第一章CAA二次开发一般步骤1.程序的建立2.添加Workbench3.创建Addin4.添加命令响应第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立在VC“File”菜单中选择“NewCAAV5Workspace…”,出现对话框如图所示:在工程路径中选择或创建路径,选择“ToolLevel”为“V5R18_B18”,点击Next。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立创建Framework系统提供了4个可用选项,选择第二项。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立输入Framework名字、选择其类型。Framework提供两种类型:应用和接口。功能也有三种:运用、测试和教学。输入名称类型选择第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立确定Workspace的创建。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立确定后VC文件视图如下:此时生成了一个带有一个Framework的Workspace。CAA的开发提供了两种模式:批处理模式(BatchMode)和交互模式(InteractiveMode)。我们开发主要用到的是交互模式。在此模式下,可以创建两种交互界面:Workshop(Workbench)和Addin。前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。后者指在已经存在的Workbench中插入新的工具条和命令。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立PublicInterfaces:公共接口,在这个文件夹中是类的声明,即.h头文件。这些类可以为整个Framework的各个模块共享,也可以被外部Framework使用。Cnext文件夹:包含了Resources和Code两部分,其作用下文会具体阐述。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立IdentityCard.h:本文件定义了所有用于编译使用此Framework的预定义Framework。即,在开发过程中如果使用了系统或者外部的API,必须包含此API所在的头文件、module和Framework,其中Framework的预定义就在这个文件中进行。其格式如下:AddPrereqComponent(ApplicationFrame,Protected);第一章CAA二次开发一般步骤1.程序的建立1.2定义prerequisite在建立工程后,必须先指定CATIA的安装路径,以搜索开发所需要的API资源。点击“CAAV5Workspace”“LocatePrerequisiteWorkspace…”,添加CATIA的安装路径。也就是定义prerequisite。此路径为Intele_a文件夹的上层路径。第一章CAA二次开发一般步骤1.程序的建立1.3编译程序选择编译命令MKMK第一章CAA二次开发一般步骤2.添加Workbench下面的例子,我们在MechenicalDesign(机械设计)中插入一个名为“MyWkb”的Workbench。具体步骤如下:2.1添加ModuleFile-AddCAAV5Project-NewModule第一章CAA二次开发一般步骤2.添加Workbench2.1添加Module弹出对话框如图所示Module名称共享模块第一章CAA二次开发一般步骤2.添加Workbench2.1添加Module创建成功后,VC中的文件视图如右Module文件夹:Module为组织程序代码的一个基本容器。LocalInterfaces中是仅供本模块使用的头文件集合;Src是所有本模块的.cpp文件集合;Imakefile.mk文件是所有本模块所包含的头文件所在外部Module的定义。在上面提到的IdentityCard.h中定义的是API所在的Framework,而相应的Module即在此文件中定义。在LINK_WITH后面添加需要连接的Modules。第一章CAA二次开发一般步骤2.添加Workbench2.2添加CATIAPattern第一章CAA二次开发一般步骤2.添加Workbench2.2添加CATIAPattern添加Workbench输入名字单击此处第一章CAA二次开发一般步骤2.添加Workbench2.2添加CATIAPattern点击接口浏览按钮,选择与Workbench所连接的Workshop。这里选择PRDWorkshop,即为Product空间。在新创建的Workbench中,会包含Product空间的一些基本标准命令,如插入产品等。第一章CAA二次开发一般步骤2.添加Workbench2.2添加CATIAPattern选择No,点击Next第一章CAA二次开发一般步骤2.添加Workbench2.2添加CATIAPattern选择如图,点击Finish第一章CAA二次开发一般步骤2.添加Workbench2.3编译并运行程序第一章CAA二次开发一般步骤2.添加Workbench2.4定义资源在文件:MyWkb.CATNIS中,可以定义此Workbench以及其工具条、菜单的所有名字(Title),定义格式为:MyWkb.Title=MyWkbtitle;第一章CAA二次开发一般步骤2.添加Workbench2.4定义资源在文件:MyWkb.CATRsc中,可以定义此Workbench的图标(Icons)和其放置路径(Category)。前者暂不说明,后者说明如下:MyWkb.Category=Infrastructure;Category可以为:Infrasturcture,MechanicalDesign,Shape,……。分别对应于已有的Workshop。我们将其改为:MechanicalDesign。一个完整的Workbench创建完毕。第一章CAA二次开发一般步骤3.创建Addin(1)新建一个module命名为PartAddin,并将它设为当前活动项。(2)做接口CATIPrtWksAddin的implemention所谓Addin,是在系统已有的Workbench中插入新的工具条或者菜单。下面的例子,我们来在PartDesign中插入一个工具条。第一章CAA二次开发一般步骤3.创建Addin点击TIEmode的Add按钮输入名字DrawComp第一章CAA二次开发一般步骤3.创建Addin要选择的接口为CATIPrtWksAddin注意Searchworkspace为CATIA安装路径,并将下面的单选框设为空。点ok完成。第一章CAA二次开发一般步骤3.创建Addin(3)创建工具条和菜单,添加两个函数voidCreateCommands();CATCmdContainer*CreateToolbars();voidMyAddin::CreateCommands(){newPartCmdHeader(point,PartAddin,“PointCmd,(void*)NULL);newPartCmdHeader(line,PartAddin,LineCmd,(void*)NULL);}第一个参数是按钮的名字,第二、三个代表按钮执行的命令所在的module和命令的名字,参数四缺省。第一章CAA二次开发一般步骤3.创建Addin(3)创建工具条和菜单,添加两个函数CATCmdContainer*MyAddin::CreateToolbars(){NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);NewAccess(CATCmdStarter,pPointCmd,PointCmd);SetAccessCommand(pPointCmd,point);SetAccessChild(pPartBenchTlb,pPointCmd);NewAccess(CATCmdStarter,pLineCmd,LineCmd);SetAccessCommand(pLineCmd,line);SetAccessNext(pPointCmd,pLineCmd);//创建菜单NewAccess(CATCmdContainer,pCAAAfrOperationMbr,CAAAfrOperationMbr);NewAccess(CATCmdContainer,pMyMenu,绘图);SetAccessChild(pCAAAfrOperationMbr,pMyMenu);第一章CAA二次开发一般步骤3.创建Addin(3)创建工具条和菜单,添加两个函数NewAccess(CATCmdStarter,ppoint,Point);SetAccessCommand(ppoint,point);SetAccessChild(pMyMenu,ppoint);NewAccess(CATCmdStarter,pline,Line);SetAccessCommand(pline,line);SetAccessNext(ppoint,pline);SetAddinMenu(pPartBenchTlb,pCAAAfrOperationMbr);AddToolbarView(pPartBenchTlb,1,Top);returnpPartBenchTlb;}第一章CAA二次开发一般步骤3.创建Addin(4)添加头文件及宏定义头文件:#includeCATCmdContainer.h#includeCATCreateWorkshop.h#includeCATCommandHeader.h宏定义:MacDeclareHeader(PartCmdHeader);第一章CAA二次开发一般步骤在.mk文件中加入:CATApplicationFrame在Identitycard.h中加入:AddPrereqComponent(ConstraintModelerUI,Protected);AddPrereqComponent(ApplicationFrame,Protected);3.创建Addin(5)添加包含的模块第一章CAA二次开发一般步骤在MyFrame\CNext\resources\msgcatalog文件夹下,建立两个文件:MyAddin.CATNls和PartCmdHeader.CATRsc在MyAddin.CATNls添加语句:PartBenchTlb.Title=绘图;在PartCmdHeader.CATRsc中添加语句:PartCmdHeader.point.Icon.Normal=I_CAAPoint;3.创建Addin(5)添加资源第一章CAA二次开发一般步骤3.创建Addin(5)添加资源建立cnext/resources\graphic\Icons\Normal文件夹在该文件夹中添加图标I_CAAPoint.bmp编译运行第一章CAA二次开发一般步骤4.添加命令响应第一章CAA二次开发一般步骤4.添加命令响应输入命令名称选择命令类型这里我们选Basiccommand第一章CAA二次开发一般步骤4.添加命令响应添加头文件:#includeafxwin.h在Activate函数中加入语句:AfxMessageBox(_T(Hello!PointCommand));编译运行第二章CAAV5对话框介绍1.插入新的对话框第二章CAAV5对话框介绍1.插入新的对话框输入名字第二章CAAV5对话框介绍1.插入新的对话框第二章CAAV5对话框介绍2.添加所需控件用Frame控制格局第二章CAAV5对话框介绍2.添加所需控件用Container控制间距属性设置宽、高为5,5第二章CAAV5对话框介绍2.添加所需控件在Field&List格式下拉长,再换成DropDowm第二章CAAV5对话框介绍2.添加所需控件第二章CAAV5对话框介绍2.添加所需控件第二章CA

1 / 98
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功