CAA培训刘宝明第一章CAA二次开发一般步骤1.程序的建立2.添加Workbench3.创建Addin4.添加命令响应第一章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文件视图如下:此时生成了一个带有一个此时生成了一个带有一个FrameworkFramework的的WorkspaceWorkspace。。CAACAA的开发提供了的开发提供了两种模式:两种模式:批处理模式批处理模式((BatchModBatchModee)和)和交互模式交互模式((InteractiveModeInteractiveMode)。)。我们开发主要用到的是交互模式。在我们开发主要用到的是交互模式。在此模式下,可以创建两种交互界面:此模式下,可以创建两种交互界面:WorkshopWorkshop((WorkbenchWorkbench))和和AddinAddin。。前者是创建一个新的模块,在这个模前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户块中除了标准的命令,其余均由用户开发。后者指在已经存在的开发。后者指在已经存在的WorkbenchWorkbench中插入新的工具条和命令。中插入新的工具条和命令。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立PublicInterfacesPublicInterfaces::公共接口,在这个文件夹公共接口,在这个文件夹中是类的声明,即中是类的声明,即.h.h头文件。这些类可以为头文件。这些类可以为整个整个FrameworkFramework的各个模块共享,也可以被的各个模块共享,也可以被外部外部FrameworkFramework使用。使用。CnextCnext文件夹:文件夹:包含了包含了ResourcesResources和和CodeCode两两部分,其作用下文会具体阐述。部分,其作用下文会具体阐述。第一章CAA二次开发一般步骤1.程序的建立1.1工程的建立IdentityCard.hIdentityCard.h::本文件定义了所有用于编译本文件定义了所有用于编译使用此使用此FrameworkFramework的预定义的预定义FrameworkFramework。即,。即,在开发过程中如果使用了系统或者外部的在开发过程中如果使用了系统或者外部的APIAPI,,必须包含此必须包含此APIAPI所在的头文件、所在的头文件、modulemodule和和FrameworkFramework,其中,其中FrameworkFramework的预定义就在的预定义就在这个文件中进行。其格式如下:这个文件中进行。其格式如下:AddPrereqComponent("ApplicationFrame",PrAddPrereqComponent("ApplicationFrame",Protected);otected);第一章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创建成功后,VCVC中的文件视图如中的文件视图如右右ModuleModule文件夹:文件夹:ModuleModule为组织程序代码的为组织程序代码的一个基本容器。一个基本容器。LocalInterfacesLocalInterfaces中是仅供本模块使用的头文中是仅供本模块使用的头文件集合;件集合;SrcSrc是所有本模块...