[工学]ch3 Access用户界面
- 格式:ppt
- 大小:1.82 MB
- 文档页数:60
H3C华三交换机基本配置命令大全,弱电人用的到!本期我们一起来了解下H3C最详细的基础命令。
一、不知道密码,如何恢复出厂设置1、开机启动,Ctrl+B进入bootrom菜单,选择恢复出厂设置。
2、用com线连上电脑,用超级终端进入,然后重启电脑,看提示按ctrl+b进入bootrom模式,然后按照菜单提示删除flash中的.cfg文件,然后重启就可以了。
二、将Trunk端口添加到vlan中Trunk端口可以允许多个VLAN通过,也就是可以加入多个VLAN,所以Trunk 端口的VLAN加入不可能是一个一个地加,而是采取批量添加的方式进行。
但只能在以太网端口视图下进行配置,配置步骤如表7-11所示。
【示例1】使用port trunk permit vlan命令将中继端口Ethernet2/0/1加入到2、6、10、50~100 VLAN中。
1. <H3C> system-view2. System View: return to User View with Ctrl+Z.3. [H3C] interface Ethernet2/0/14. [H3C-Ethernet2/0/1] port trunk permit vlan 2 6 10 50 to 1005. Please wait...6. Done.表7-11 把Trunk端口添加到VLAN中的步骤s命令把该链路转换成Access链路,然后再使用本步命令转换成Trunk链路4port trunk permit vlan { vlan-id-list | all }例如:[sysname-GigabitEthernet1/0/1] port trunkpermit vlan 2 to 10将以上Trunk端口加入到一个或多个VLAN,以实现允许来自指定VLAN的数据包通过(也就是Cisco IOS中所说的VLAN修剪)二选一参数vlan-id-list = [ vlan-id1 [ to vlan-id2 ] ]&<1-10>用于指定Trunk端口允许加入的VLAN的范围,vlan-id取值范围为1~4094。
人力资源课程设计access一、教学目标本课程的教学目标是让学生掌握Access数据库的基本操作,包括数据库的创建、表的设计、查询的建立、报表的生成和宏的使用。
在知识目标方面,学生需要理解数据库的基本概念,熟悉Access的用户界面和各种工具的使用。
在技能目标方面,学生需要能够独立完成数据库的设计和创建,进行数据的录入和查询,以及生成报表和创建宏。
在情感态度价值观目标方面,学生应该培养对计算机技术的兴趣和热爱,增强信息处理能力和解决问题的能力。
二、教学内容本课程的教学内容主要包括Access数据库的基本操作。
首先,学生将学习如何创建数据库,包括选择合适的文件格式和设置数据库属性。
然后,学生将学习如何设计表,包括字段类型的选择和关系的建立。
接下来,学生将学习如何建立查询,包括选择查询条件和排序查询结果。
然后,学生将学习如何生成报表,包括设计报表的布局和样式。
最后,学生将学习如何使用宏,包括创建宏和使用宏组。
三、教学方法为了实现教学目标,本课程将采用多种教学方法。
首先,将采用讲授法,向学生传授数据库的基本概念和操作方法。
然后,将采用案例分析法,通过分析实际案例,让学生理解和应用所学知识。
接下来,将采用实验法,让学生亲自动手操作,巩固所学知识和技能。
此外,还将鼓励学生进行讨论和合作,培养他们的交流能力和团队合作精神。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备和选择适当的教学资源。
教材方面,将选择《Access数据库应用教程》作为主教材,辅以《Access数据库实验指导书》进行实践操作。
参考书方面,将推荐《Access数据库编程》等进阶学习资料。
多媒体资料方面,将制作演示文稿和教学视频,以直观展示数据库的操作过程。
实验设备方面,将确保每个学生都能使用计算机和Access软件进行实践操作。
五、教学评估本课程的教学评估将采用多种方式,以全面、客观地评价学生的学习成果。
平时表现方面,将根据学生在课堂上的参与程度和表现给予评分。
为QuidWay交换机配置命令手册:1、开始建立本地配置环境,将主机的串口通过配置电缆与以太网交换机的Console 口连接。
在主机上运行终端仿真程序(如Windows的超级终端等),设置终端通信参数为:波特率为9600bit/s、8位数据位、1位停止位、无校验和无流控,并选择终端类型为VT100。
以太网交换机上电,终端上显示以太网交换机自检信息,自检结束后提示用户键入回车,之后将出现命令行提示符(如<Quidway>)。
键入命令,配置以太网交换机或查看以太网交换机运行状态。
需要帮助可以随时键入“?“2、命令视图(1)用户视图(查看交换机的简单运行状态和统计信息)<Quidway>:与交换机建立连接即进入(2)系统视图(配置系统参数)[Quidway]:在用户视图下键入system-view(3)以太网端口视图(配置以太网端口参数在系统视图下键入(4)VLAN视图(配置VLAN参数)[Quidway-Vlan1]:在系统视图下键入vlan 1(5)VLAN接口视图(配置VLAN和VLAN汇聚对应的IP接口参数)[Quidway-Vlan-interface1]:在系统视图下键入interface vlan-interface 1(6)本地用户视图(配置本地用户参数)[Quidway-luser-user1]:在系统视图下键入local-useruser1(7)用户界面视图(配置用户界面参数)[Quidway-ui0]:在系统视图下键入user-interface3、其他命令设置系统时间和时区<Quidway>clock time Beijing add 8设置交换机的名称[Quidway]sysname TRAIN-3026-1[TRAIN-3026-1]配置用户登录[Quidway]user-interface vty 0 4[Quidway-ui-vty0]authentication-mode scheme创建本地用户[Quidway]local-user huawei[Quidway-luser-huawei]password simple huawei[Quidway-luser-huawei] service-type telnet level 34、VLAN配置方法『配置环境参数』SwitchA端口属于VLAN2,属于VLAN3『组网需求』把交换机端口加入到VLAN2,加入到VLAN3数据配置步骤『VLAN配置流程』(1)缺省情况下所有端口都属于VLAN 1,并且端口是access端口,一个access端口只能属于一个vlan;(2)如果端口是access端口,则把端口加入到另外一个vlan的同时,系统自动把该端口从原来的vlan中删除掉;(3)除了VLAN1,如果VLAN XX不存在,在系统视图下键入VLAN XX,则创建VLANXX并进入VLAN视图;如果VLAN XX已经存在,则进入VLAN视图。
CIS(ORCAD)本地元件ACCESS数据库创建及加载方法详解日期:2010.10.25 | 分类:软件使用 | 标签:很多年前在某大公司上班,只是会使用CIS(ORCAD)本地元件ACCESS数据库来调用器件,每次有新的器件只是更新一下相关的库文件以及access数据库就可以同步调用最新的器件,非常的规范和方便,后来自己出来做pcb,就没有这么规范的去做了,随之而来的问题也很多,比如库的不规范,库管理的混乱,没有相关库文件积累的过程等等,做了这么多年,可以说积累下来的库寥寥无几,作为一个专业的pcb设计人员我想这些是不能被容忍的。
痛定思痛,我决定建立自己的数据库来管理pcb库。
这么做的好处有哪些?第一就是做好相关库文件的分类,不会导致库的混乱,修改和添加起来比较方便,相当于有一个数据库目录来索引所有的库。
第二就是属性能方便的添加,几乎所有的属性都在数据库中添加,能将属性添加和库的建立分开,能简化工作流程,使工作清晰化。
第三就是最终制作bom的简化,基本可以做到导出的bom就是可以使用的包括你所需要的所有字段的bom。
肯定还有其他的好处,读者可以结合实际情况去总结。
下面就详细说明一下CIS(ORCAD)本地元件ACCESS数据库创建及加载方法。
注:我所实现的软件环境是Access2003+Allegro SPB 15.5.1.第一步讲CIS(ORCAD)本地元件ACCESS数据库创建怎样建立一个ACCESS数据库是比较简单的,即使你没学过ACCESS的使用,看完这部分,你也能简单快速的建立一个数据库。
首先新建一个数据库,打开access2003点击空数据库弹出让你选择数据库保存路径的窗口这里随便起个名字即可,路径也可以随意,但是待会最好复制到一个你统一管理的位置,注意文件夹路径中不要有中文,如果有中文可能导致后面的加载失败。
选择好路径点击创建后就会弹出下面的窗口选择使用设计器创建表,在如下弹出的窗口中输入以下字段part number就是一个公司对应一个物料的唯一标示,所以将其放在主键的位置,其他的相信很好理解,特别说明一下,如果没有用过allegro的同学要注意一下schematic part的创建,这个字段是在cis(orcad)中调用器件时所要查询的一个字段。
盟威Access快速开发平台版本已更新至:2.2.0.358版欢迎大
家...
升级日志
2016-03-26 快速开发平台 2.2.0 版发布
新增功能
1.新增 ExportT oExcel2 函数,用于通用数据导出功能,解决之前的 ExportToExcel 函数的不足。
2.新增功能区/导航窗格状态获取及控制函数ExpandRibbon/ShowRibbon/NavPannelVisible/ShowNavPannel。
3.新增多语言资源维护模块,可以快速方便地对界面多语言资源进行编辑维护。
缺陷修复
1.修正通用附件模块在数据只读权限下不能正常加的问题。
2.修正FTPServer 类不能正确从配置表中读取参数的问题,以及判断远端文件是否存在的BUG。
3.修正 HasPermission 函数判断功能权限不正确的问题。
4.修正某个菜单提示显示无权限时,其它所有菜单均不能打开,始终提示无权限的问题。
5.修正配置文件读写类 RDPConfig 对布尔值处理的缺陷。
6.修正不能加载默认导航菜单的问题。
7.修正个别情况下多语言加载的异常问题。
3 The User Interface3.1 Special Functions3.2 Service Functions3.2.1 Freeze and Global Undo3.2.2 Set Part and Molecule Names (Name Editor) 用户界面用户界面由下面区域组成:信息栏: 简要说明ICEM Surf版本信息,当前项目、原始数据和列表。
下拉菜单: 通过下拉菜单,你可以激活功能菜单。
放大因子显示:水平和竖直的比例值在Zoom区域被显示,也可以更改。
当前鼠标键分配显示在视图操作模式和图形模式鼠标键分配被显示。
视图操作用Shift 和Shift+Ctrl激活. 文本区域简要说明“RxRy”旋转, “TxTy”平移,和“RzZo”放大当一个几何或服务功能被激活时,图形模式被激活,同时,十字细小指针出现,鼠标键有以下分配:o选择:左键用于选择。
o确定:可以不用确认键而用鼠标中键。
o撤消/重做:用中键自动执行撤消功能。
`o显示:在选择期间,选择窗口可以使用右键鼠标被显示和关闭.图形区域特别功能:控制视图和定义轴。
服务功能几何功能分为两个区域:o创建和更改几何物体的主要功能区。
o属于主功能区的子功能区。
几何功能创建曲面片创建曲面修改曲面片修改曲面创建曲线段创建曲线修改曲线段修改曲线创建原始数据创建点云(SCAN)修改原始数据修改点云标准造型中心对称移动状态栏在状态栏显示选择提示和系统状态信息特别功能特别功能工具栏可以放置不同的方式,在windows-preferences中设置。
显示选项激活Display –Options.文件参照管理器激活File –Reference Manager.着色激活Display –Renderer. 灯光激活Display –Light.环境激活Display –Environment. 材料激活Display –Material. 标准视图和工作平面可使用下列键设置标准视图和工作平面。
用户界面开发——实例说明——Creating a Workbench一、目标1.1 目标Showing how to create a workbench to be added to a given workshop.1.2 显示界面(workbench )Like the workshop, the workbench is an object that gathers the commands to work on the document and arrange them in toolbars and menus.1.3 命令标签(command header )Command headers are used to make the link between the workbench and the commands.二、CAAAfrGeoCreationWbench 实例说明2.1 功能The CAAAfrGeoCreationWbench use case creates a workbench named CAA Geometrical Creation for the CAAGeometry document. Its specifications cover most of the cases you will meet. Two toolbars areprovided:The Solids toolbar. It includes five new commands: Cuboid, Sphere, Torus,and Cylinder 1 and 2.The Surfaces toolbar. It includes three new commands: Revolution Surface,Nurbs Surface, and Offset Surface.The only change in the menu bar is the addition of these commands in the Insert menu using twosubmenus below the existing ones.2.2 运行运行CATIA系统,并依次选择Start->Infrastructure->CAA V5: Geometrical Creation:This creates a new CAAGeometry document with the CAA V5: Geometrical Creation workbench active.2.3 框架组成CAAAfrGeoCreationWkb Workbench description class CAAAfrGeoCreationWkbFactory Factory class for the workbench class CAAIAfrGeoCreationWkbFactory Factory interface implemented by CAAAfrGeoCreationWkbFactory TIE_CAAIAfrGeoCreationWkbFactory TIE class for the factory interfaceCAAIAfrGeoCreationWkbAddin Add-in interface exposed by the workbench and that all its add-ins must implementTIE_CAAIAfrGeoCreationWkbAddin TIE class for the add-in interface三、程序结构(Step-by-Step)3.1 编程准备3.1.1 确认∙Make sure that the workshop to which it is dedicated exposes the CATIxxxConfiguration interface, where xxx is the workshop identifier, in a PublicInterfaces or ProtectedInterfaces directory.∙Create the module directory to store the workbench code along with its two subdirectories LocalInterfaces and src. Then you will need to create the following files.In the framework's ProtectedInterfaces directoryCAAIAfrGeoCreationWkbAddin.h The header file of the workbench exposed interfaceto enable clients to create add-ins In the CAAAfrGeoCreationWbench.m\LocalInterfaces directoryCAAIAfrGeoCreationWkbFactory.h The header file of the workbench factory interface CAAAfrGeoCreationWkbFactory.h The header file of the workbench factory classCAAAfrGeoCreationWkb.h The header file of the workbench description class In the CAAAfrGeoCreationWbench.m\src directoryCAAIAfrGeoCreationWkbAddin.cpp The source file of the workbench exposed interfaceto enable clients to create add-ins CAAIAfrGeoCreationWkbFactory.cpp The source file of the workbench factory interface CAAAfrGeoCreationWkbFactory.cpp The source file of the workbench factory classCAAAfrGeoCreationWkb.cpp The source file of the workbench description class TIE_CAAIAfrGeoCreationWkbAddin.tsrc The file to create the TIE forCAAIAfrGeometryWksAddinTIE_CAAIAfrGeoCreationWkbFactory.tsrc The file to create the TIE forCAAIAfrGeometryWksFactoryIn the dictionary, that is the CNext\code\dictionary directory, referenced at run time using theCATDictionaryPath environment variable, create or update.dico The interface dictionary.fact The factory dictionaryIn the CNext\resources\msgcatalog directory, referenced at run time using theCATMsgCatalogPath environment variableCAAAfrGeoCreationWkb.CATNls The workbench message fileThe command header resource files CAAAfrGeoCreationWkbHeader.CATNls andCAAAfrGeoCreationWkbHeader.CATRsc3.1.2 开发步骤# Step Where1 Create the workbench factory interface LocalInterfaces and src2 Create the workbench factory LocalInterfaces and src3 Create the workbench description class LocalInterfaces and src4 Create the command headers CreateCommands method5 Create the workbench and arrange the commands CreateWorkbench method6 Provide the resources and insert the workbench into the Start menu Resource files7 Create the workbench exposed interface ProtectedInterfaces and src 3.2 建立Workbench 的Factory Interface(Creating the Workbench Factory Interface)3.2.1 命名CAAIAfrGeoCreationWkb Factory3.2.2 头文件(the header file )CAAIAfrGeoCreationWkbFactory.hA factory interface is a CAA interface, that is, an abstract class that derives from CATIGenericFactory.As any interface, it has an IID declared as IID_ followed by the interface name, and includes the CATDeclareInterface macro that declares that this abstract class is an interface. No additionalmethod than those of CATIGenericFactory is necessary. Don't forget the public keyword required by the TIE compiler.(???)3.2.3 源文件(The source file )CAAIAfrGeoCreationWkbFactory.cpp#include <CAAIAfrGeoCreationWkbFactory.h>IID IID_CAAIAfrGeoCreationWkbFactory = {0xb32eed10,0xd4c1,0x11d3,{0xb7, 0xf5, 0x00, 0x08, 0xc7, 0x4f, 0xe8, 0xdd}};CATImplementInterface(CAAIAfrGeoCreationWkbFactory, CATIGenericFactory);The CATImplementInterface macro is used in conjunction with CATDeclareInterface in the header file to make an interface from this abstract class and to declare that it OM-derives fromCATIGenericfactory.3.2.4 TIE文件(The TIE tsrc file)The Multi-Workspace Application Builder (mkmk) will generate the TIE for this interface for you, that is, the TIE_CAAIAfrGeoCreationWkbFactory.h file in the ProtectedGenerated directory.3.3 建立Workbench 的Factory(Creating the Workbench Factory)3.3.1 注意事项The factory class that creates workbench instances must concatenate the name of the class to instantiate, that is, the workbench description class CAAAfrGeoCreationWkb, with the string Factory. This gives CAAAfrGeoCreationWkbFactory.3.3.2 头文件CATDeclareConfigurationFactoryclass.3.3.3 源文件The CATImplementConfigurationFactory arguments are the name of the workbench description class and the name of the workbench factory interface respectively. TheCATDeclareConfigurationFactory and CATImplementConfigurationFactory macros create the workbench factory implementation class as a data extension of the CATApplicationFrame component3.3.4 更新字典3.3.4.1 The interface dictionarythat is a file whose name is the framework name suffixed by dico, such as CAAApplicationFrame.dico, and that you should create or update in the framework CNext/code/dictionary directory. The interface dictionary contains the following declaration to state that the CATApplicationFrame component implements the CAAIAfrGeoCreationWkbFactory interface, by means of the extension class created by the macros, whose code is located in the libCAAAfrGeoCreationWbench shared library or DLL:(不太明白)3.3.4.2 The factory dictionarythat is a file whose name is the framework name suffixed by fact, such as CAAApplicationFrame.fact, and that you should create or update in the framework CNext/code/dictionary directory. The factory dictionary contains the following declaration to state that the CAAIAfrGeoCreationWkbFactory interface is anclass instance:3.4 定义与实现Workbench 类(Creating the Workbench Description Class)3.4.1 说明The CAAAfrGeoCreationWkb class implements the CATICAAAfrGeometryWksConfiguration interface exposed by the CAAGeometry workshop . It includes the following methods:∙CreateCommands to instantiate the command headers for the commands of the workbench∙CreateWorkbench to create the containers for the workbench, the menus, and the toolbars, and arrange the commands in the menus and toolbars∙GetCustomInterface s which returns the names of the interfaces exposed by the workbench to enable its customizationGetAddinInterface which returns the name of the interface exposed by the workbench to create add-ins.3.4.2 头文件CAAAfrGeoCreationWkb.h#include "CATBaseUnknown.h"#include "CATListPV.h"class CATCmdWorkbench;class CAAAfrGeoCreationWkb : public CATBaseUnknown{CATDeclareClass;public:CAAAfrGeoCreationWkb();virtual ~CAAAfrGeoCreationWkb();void CreateCommands();CATCmdWorkbench * CreateWorkbench();CATClassId GetAddinInterface();void GetCustomInterfaces(CATListPV * oDefaultIIDList ,CATListPV * oCustomIIDList) ;private:CAAAfrGeoCreationWkb(const CAAAfrGeoCreationWkb &iObjectToCopy);};The CAAAfrGeoCreationWkb class C++-derives from CATBaseUnknown. The CATDeclareClass macro declares that the class CAAAfrGeoCreationWkb belongs to a component. The class has a constructor, a destructor, the four methods of the CATIWorkbench interface, and a copy constructor.Note that the copy constructor is set as private. This prevents the compiler from creating the copy constructor as public without you know. This copy constructor is not implemented in the source file.3.4.3 源文件TIE_CATICAAAfrGeometryWksConfiguration(CAAAfrGeoCreationWkb);CAAAfrGeoCreationWkb::CAAAfrGeoCreationWkb() {}CAAAfrGeoCreationWkb::~CAAAfrGeoCreationWkb() {}void CAAAfrGeoCreationWkb::CreateCommands(){... // See Creating the Command Headers}CATCmdWorkbench * CAAAfrGeoCreationWkb::CreateWorkbench(){... // See Creating the Workbench and Arranging the Commands}CATClassId CAAAfrGeoCreationWkb::GetAddinInterface(){return "CAAIAfrGeoCreationWkbAddin";}void CAAAfrGeoCreationWkb::GetCustomInterfaces(CATListPV * oDefaultIIDList,CATListPV * oCustomIIDList){}3.4.3.1 TIE_CATICAAAfrGeometryWksConfiguration 宏The CAAAfrGeoCreationWkb class states that it implements the CATICAAAfrGeometryWksConfiguration interface3.4.3.2 TIE_ CATImplementClass宏declaring that the CAAAfrGeoCreationWkb class is a component main class [2], thanks to the Implementation keyword, and that it OM-derives from CATBaseUnknown [2]. The fourth parameter must always be set to CATNull for component main classes.3.4.3.3 创建命令标签(Creating the Command Headers)(见《命令标签》)3.4.3.3.1 命令标签Each command available in your workbench must have a command header. A command header is an instance of a command header class, and different commands can share the same command header class to create their command header.3.4.3.3.2 创建命令标签类The MacDeclareHeader macro creates the header file and the source file for the CAAAfrGeoCreationWkbHeader class, and associates with this class the resource files CAAAfrGeoCreationWkbHeader.CATNls and CAAAfrGeoCreationWkbHeader.CATRsc.3.4.3.3.3 定义命令标签Create the code to instantiate your command headers in the empty CreateCommands method. This method should contain one instantiation statement of the command header class per command. Each statement其中:1)CAAAfruboidHdr is the identifier you need to assign to the command header. It will be used afterwards:(1)To associate the command starters you will define to put the command in a menu and in toolbars with the command header.(2)To build the variables that define the command header resources, such as the name seen by the end user in his/her own language in the menu, or the icon to display in a toolbar.2)CAADegGeoCommands is the name of the shared library or DLL containing the Cuboid command's code, without the prefix lib, and without the suffix depending on the operating system.3)CAADegCreateCuboidCmd is the name of the Cuboid command class4)the last argument is the possible pointer to the object to pass to the command when executing it. It is often a character string that indicates the action to carry out when the same command can perform several actions depending on the active document and data, such as "update" or "update all", or "cut" or "copy".3.4.3.4 Creating the Workbench and Arranging the Commands3.4.3.4.1 创建workbenchNewAccesspCAAAfrGeoCreationWkb is the variable used to handle the workbench instance pointer, and CAAAfrGeoCreationWkb is the workbench identifier. Note that the workbench class name and the workbench identifier must be identical to take into account the workbench resources in the Start menu.They appear both in bold typeface. This identifier is also used to name the workbench resource files CAAAfrGeoCreationWkb.CATNls and CAAAfrGeoCreationWkb.CATRsc. The workbench resources, and how to provide them, are described in Creating Resources for Workbenches.3.4.3.4.2 创建containers...NewAccess(CATCmdContainer,pCAAAfrSolidEltTlb,CAAAfrSolidEltTlb);SetAccessChild(pCAAAfrGeoCreationWkb, pCAAAfrSolidEltTlb);... // See Creating the Solids Toolbar ContentAddToolbarView(pCAAAfrSolidEltTlb,1,Right);NewAccess(CATCmdContainer,pCAAAfrSurfacicEltTlb,CAAAfrSurfacicEltTlb);SetAccessNext(pCAAAfrSolidEltTlb,pCAAAfrSurfacicEltTlb);... // See Creating the Surfaces Toolbar ContentAddToolbarView(pCAAAfrSurfacicEltTlb,-1,Right);NewAccess(CATCmdContainer,pCAAAfrGeoCreationMbr,CAAAfrGeoCreationMbr);... // See Creating the Menu Bar ContentSetWorkbenchMenu(pCAAAfrGeoCreationWkb,pCAAAfrGeoCreationMbr);...其中:(1)The Solids toolbar is created as an instance of the CATCmdContainer class using the NewAccess macro. pCAAAfrSolidEltTlb is the variable used to handle the Solids toolbar command container instance pointer, and CAAAfrSolidEltTlb is the identifier used to refer to it in the workbench resource files. This identifier must be unique among all the toolbar identifiers that can be found within the application. The Solids toolbar is set as the child of the workbench using the SetAccessChild macro, and its default location is defined using the AddToolbarView macro, where 1 means that the Solids toolbar is visible by default (-1 means invisible), and Right means that the toolbar is docked at the right side of the application window.(2)The Surfaces toolbar is created in the same way, but it is set next to the Solids toolbar using the SetAccessNext macro. It is invisible (-1 means invisible) by default, and is also docked at the right side of the application window.(3)The menu bar is also created as an instance of the CATCmdContainer class and is referred to using the pCAAAfrGeoCreationMbr pointer. Its identifier is CAAAfrGeoCreationMbr and is used for its resources. It is set as the workbench's menu bar using the SetWorkbenchMenu macro.The toolbar resources, and how to provide them, are described in Creating Resources for Workbenches. See also Providing the Resources and Inserting the Workbench into the Start Menu for an overview of allthe resources to create.1)添加Solids 工具条按钮(Creating the Solids Toolbar Content)This toolbar contains four commands: Cuboid, Sphere, Torus, and Cylinder. You should, for each command:(1)Create a command starter using the NewAccess macro(2)Associate the command starter, using the SetAccessCommand macro, with the appropriate command header identifier defined in the CreateCommands method(3)Arrange the command starters in the toolbar using the SetAccessChild and SetAccessNext macros ...NewAccess(CATCmdStarter,pCAAAfrTSolidEltCuboidStr,CAAAfrTSolidEltCuboidStr);SetAccessCommand(pCAAAfrTSolidEltCuboidStr,"CAAAfrCuboidHdr");SetAccessChild(pCAAAfrSolidEltTlb,pCAAAfrTSolidEltCuboidStr);NewAccess(CATCmdStarter,pCAAAfrTSolidEltSphereStr,CAAAfrTSolidEltSphereStr);SetAccessCommand(pCAAAfrTSolidEltSphereStr,"CAAAfrSphereHdr");SetAccessNext(pCAAAfrTSolidEltCuboidStr,pCAAAfrTSolidEltSphereStr);NewAccess(CATCmdStarter,pCAAAfrTSolidEltTorusStr,CAAAfrTSolidEltTorusStr);SetAccessCommand(pCAAAfrTSolidEltTorusStr,"CAAAfrTorusHdr");SetAccessNext(pCAAAfrTSolidEltSphereStr,pCAAAfrTSolidEltTorusStr);NewAccess(CATCmdStarter,pCAAAfrTSolidEltCylinder1Str,CAAAfrTSolidEltCylinder1Str);SetAccessCommand(pCAAAfrTSolidEltCylinder1Str,"CAAAfrCylinder1Hdr");SetAccessNext(pCAAAfrTSolidEltTorusStr,pCAAAfrTSolidEltCylinder1Str);NewAccess(CATCmdStarter,pCAAAfrTSolidEltCylinder2Str,CAAAfrTSolidEltCylinder2Str);SetAccessCommand(pCAAAfrTSolidEltCylinder2Str,"CAAAfrCylinder2Hdr");SetAccessNext(pCAAAfrTSolidEltCylinder1Str,pCAAAfrTSolidEltCylinder2Str);...Three macros are required for each command. For example, the Cuboid command is processed as follows:1) First create the command starter as a CATCmdStarter instance using the NewAccess macro. pCAAAfrTSolidEltCuboidStr is the variable used to handle a pointer to thatinstance, and CAAAfrTSolidEltCuboidStr is its identifier.2) Then associate the Cuboid command header with this command starter using the SetAccessCommand macro. The second parameter is the Cuboid command headeridentifier defined as the first parameter of the command header consrtuctor. Refer toCreating the Command Headers3) Finally set the Cuboid command starter as the child of the Solids toolbar.Proceed in the same way for the other commands, except that they are set as next of one another using the SetAccessNext macro.2)添加Surfaces 工具条按钮(Creating the Surfaces Toolbar Content)This toolbar contains three commands: Revolution Surface, Nurbs Surface, and Offset Surface. You should, for each command:(1)Create a command starter using the NewAccess macro(2)Associate the command starter, using the SetAccessCommand macro, with the appropriate command header identifier defined in the CreateCommands method(3)Arrange the command starters in the toolbar using the SetAccessChild and SetAccessNext macros ...NewAccess(CATCmdStarter,pCAAAfrTSurfRevolStr,CAAAfrTSurfRevolStr);SetAccessCommand(pCAAAfrTSurfRevolStr,"CAAAfrRevolSurfHdr");SetAccessChild(pCAAAfrSurfacicEltTlb,pCAAAfrTSurfRevolStr);NewAccess(CATCmdStarter,pCAAAfrTSurfNurbsStr,CAAAfrTSurfNurbsStr);SetAccessCommand(pCAAAfrTSurfNurbsStr,"CAAAfrNurbsSurfHdr");SetAccessNext(pCAAAfrTSurfRevolStr,pCAAAfrTSurfNurbsStr);NewAccess(CATCmdStarter,pCAAAfrTSurfOffsetStr,CAAAfrTSurfOffsetStr);SetAccessCommand(pCAAAfrTSurfOffsetStr,"CAAAfrOffsetSurfHdr");SetAccessNext(pCAAAfrTSurfNurbsStr,pCAAAfrTSurfOffsetStr);...Three macros are required for each command. For example, the Revolution Surface command is processed as follows:(1)First create the command starter as a CATCmdStarter instance using the NewAccess macro. pCAAAfrTSurfRevolStr is the variable used to handle a pointer to that instance, and CAAAfrTSurfRevolStr is its identifier.(2)Then associate the Revolution Surface command header with this command starter using the SetAccessCommand macro. The second parameter is the Revolution Surface command header identifier defined as the first parameter of the command header consrtuctor. Refer to Creating the Command Headers(3)Finally set the Revolution Surface command starter as the child of the Surfaces toolbar.Proceed in the same way for the other commands, except that they are set as next of one another using the SetAccessNext macro.3)添加菜单项(Creating the Menu Bar Content)Menus and submenus are created as CATCmdContainer instances, and menu items as CATCmdStarter instances. The menu bar you create will be merged when the workbench is loaded or activated at run time with the workshop menu bar, itself resulting in the merge of the default menu bar, that is, the one that exists when no document is active, with the one defined for the workshop. You can neither remove a menu from the default menu bar or from the menu bar defined for the workshop, nor change the menu order. You can add submenus to menus. You can also add submenus to your own submenus, but not to existing submenus.You should:(1)Create a command container for each menu and submenu using the NewAccess macro(2)Create a command starter for each command using the NewAccess macro(3)Associate each command starter, using the SetAccessCommand macro, with the appropriate command header identifier defined in the CreateCommands method(4)Arrange the command starters in the menu using the SetAccessChild, and SetAccessNext macros ——Insert Menu - Solids SubmenuSetAccessNext(pCAAAfrGeoCreationInsertSep,pCAAAfrSolidEltSnu);NewAccess(CATCmdStarter,pCAAAfrMSolidCuboidStr,CAAAfrMSolidCuboidStr);SetAccessChild(pCAAAfrSolidEltSnu,pCAAAfrMSolidCuboidStr);SetAccessCommand(pCAAAfrMSolidCuboidStr,"CAAAfrCuboidHdr");NewAccess(CATCmdStarter,pCAAAfrMSolidSphereStr,CAAAfrMSolidSphereStr);SetAccessNext(pCAAAfrMSolidCuboidStr,pCAAAfrMSolidSphereStr);SetAccessCommand(pCAAAfrMSolidSphereStr,"CAAAfrSphereHdr");NewAccess(CATCmdStarter,pCAAAfrMSolidTorusStr,CAAAfrMSolidTorusStr);SetAccessNext(pCAAAfrMSolidSphereStr,pCAAAfrMSolidTorusStr);SetAccessCommand(pCAAAfrMSolidTorusStr,"CAAAfrTorusHdr");NewAccess(CATCmdStarter,pCAAAfrMSolidCylinder1Str,CAAAfrMSolidCylinder1Str);SetAccessNext(pCAAAfrMSolidTorusStr,pCAAAfrMSolidCylinder1Str);SetAccessCommand(pCAAAfrMSolidCylinder1Str,"CAAAfrCylinder1Hdr");NewAccess(CATCmdStarter,pCAAAfrMSolidCylinder2Str,CAAAfrMSolidCylinder2Str);SetAccessNext(pCAAAfrMSolidCylinder1Str,pCAAAfrMSolidCylinder2Str);SetAccessCommand(pCAAAfrMSolidCylinder2Str,"CAAAfrCylinder2Hdr");...The Insert menu command container is created, even if it already exists. Then the Solids submenu command container is created and set as the child of the Insert menu command container. Since no other positioning information is given, it should lay below the last submenu or command of the workshop menu bar, that is the Plane command. Then the Cuboid command starter is created and set as the child of the Solids submenu command container, and the others are cretaed and set next of one another.——Insert Menu - Surfaces Submenu...NewAccess(CATCmdContainer,pCAAAfrSurfacicEltSnu,CAAAfrSurfacicEltSnu) ;SetAccessNext(pCAAAfrSolidEltSnu,pCAAAfrSurfacicEltSnu);NewAccess(CATCmdStarter,pCAAAfrMSurfRevolStr,CAAAfrMSurfRevolStr);SetAccessChild(pCAAAfrSurfacicEltSnu,pCAAAfrMSurfRevolStr);SetAccessCommand(pCAAAfrMSurfRevolStr,"CAAAfrRevolSurfHdr");NewAccess(CATCmdStarter,pCAAAfrMSurfNurbsStr,CAAAfrMSurfNurbsStr);SetAccessNext(pCAAAfrMSurfRevolStr,pCAAAfrMSurfNurbsStr);SetAccessCommand(pCAAAfrMSurfNurbsStr,"CAAAfrNurbsSurfHdr");The Surfaces submenu command container is created and set next to the Solids submenu command container. Then the Revolution Surface command starter is created and set as the child of the Surfaces submenu command container, and the others are cretaed and set next of one another.The menu and submenu resources, and how to provide them, are described in Creating Resources for Workbenches. See also Providing the Resources and Inserting the Workbench into the Start Menu for an overview of all the resources to create.3.4.3.5 GetCustomInterfaces方法The GetCustomInterfaces method must be empty. The names of the interface exposed by the workbench to enable clients to create add-ins is returned by the GetAddinInterface method.3.4.4 修改字典(Updating the Dictionary)Update the interface dictionary, that is a file named, for example, CAAApplicationFrame.dico, whose directory's pathname is concatenated at run time in the CATDictionaryPath environment variable, and containing the following declaration to state that the CAAAfrGeoCreationWkb class implements the CATICAAAfrGeometryWksConfiguration interface, and whose code is located in the libCAAAfrGeoCreationWbench shared library or DLL. The update is in bold typeface:3.5 创建资源及嵌入Workbench(Providing the Resources and Inserting the Workbench into the Start Menu)3.5.1 workbench资源(The workbench and command container resources)3.5.1.1 文本资源The resource file containing the title and help messages in the English language, and that can be translated into other languages. It is suffixed using CATNls The resource files must have the workbench identifier as file name, that is CAAAfrGeoCreationWkb. This identifier is declared in the CreateWorkbench method of the workbench description class, as the third parameter of the NewAccess macro that creates theThe workbench resource files are then CAAAfrGeoCreationWkb.CATNls and CAAAfrGeoCreationWkb.CATRsc. These files are located in the CNext\resources\msgcatalog directory of the framework containing the workbench module. This directory includes subdirectories, one for each language into which the title and messages of the CAAAfrGeoCreationWkb.CATNls file can be translated. The resource files contain:o Workbench: the title, messages, and icons to be displayed in the Start menuo Toolbars: their titleso Menus and submenus: their titles, icons, and mnemonicso Icon boxes: their titles.Each resource is provided using a key and a text, or a file name without suffix, separated by the equal sign. The key is built as a concatenation of the object identifier you defined as the third parameter of the NewAccess macro, a dot, and a keyword designating the appropriate resource. The message is enclosed using double quotes and ended using a semicolon. For example, the CAAAfrGeoCreationWkb workbenchThe CAAAfrGeoCreationWkb.CATNls file contains:▪The resources for the workbench itself: the title used in the Start menu, itsassociated help message, the short help displayed when the mouse is over theworkbench icon, and the long help▪The titles of the toolbars and icon boxes▪The titles and mnemonics of the menus and submenus.//----------------------------------------------------------------------------// WORKBENCH//----------------------------------------------------------------------------CAAAfrGeoCreationWkb.Title = "CAA V5: Geometrical Creation";CAAAfrGeoCreationWkb.ShortHelp = "Workbench to create Geometrical Elements";CAAAfrGeoCreationWkb.Help = "Workbench to create Geometrical, Solid and Surfacic Elements";CAAAfrGeoCreationWkb.LongHelp = "This is the CAA V5: Geometrical Creation Workbench.It is used to demonstrate workbenches.It contains two toolsbars:- One for some Solid Elements- The other for some Surfacic Elements";//----------------------------------------------------------------------------// TOOLBAR//----------------------------------------------------------------------------CAAAfrSolidEltTlb.Title = "Solids" ;CAAAfrSurfacicEltTlb.Title = "Surfaces" ;//----------------------------------------------------------------------------// SUB - MENU//----------------------------------------------------------------------------CAAAfrSolidEltSnu.Title = "Solids" ;CAAAfrSolidEltSnu.Mnemonic = "S";CAAAfrSurfacicEltSnu.Title = "Surfaces" ;CAAAfrSurfacicEltSnu.Mnemonic = "u";3.5.1.2 位图资源CAAAfrGeoCreationWkb.CATRscThis file contains the category, that is the submenu of the Start menu where the workbench should appear, and the names of the icons to be associated with the workbench for the Start menu.CAAAfrGeoCreationWkb.Category = "Infrastructure" ;// Icons for the Welcome window 64x64CAAAfrGeoCreationWkb.Icon.NormalPnl = "I_WkAsCAAAfrGeoCreationWkb";CAAAfrGeoCreationWkb.Icon.PressedlPnl = "IP_WkAsCAAAfrGeoCreationWkb";CAAAfrGeoCreationWkb.Icon.FocusedlPnl = "IF_WkAsCAAAfrGeoCreationWkb";// Icons for the Start menu 32x32CAAAfrGeoCreationWkb.Icon.NormalCtx = "I_WkNvCAAAfrGeoCreationWkb";CAAAfrGeoCreationWkb.Icon.PressedlCtx = "IP_WkNvCAAAfrGeoCreationWkb";CAAAfrGeoCreationWkb.Icon.FocusedlCtx = "IF_WkNvCAAAfrGeoCreationWkb";// Icons for the workbench toolbar 24x24CAAAfrGeoCreationWkb.Icon.NormalRep = "I_WkCAAAfrGeoCreationWkb";CAAAfrGeoCreationWkb.Icon.PressedlRep = "IP_WkCAAAfrGeoCreationWkb";CAAAfrGeoCreationWkb.Icon.FocusedlRep = "IF_WkCAAAfrGeoCreationWkb";It is in this file that you declare if the workbench is warm start compliant [3]. The CAAGeometry document is not warm start compliant, so its workbenches are not compliant too.3.5.2 command header资源The command header resources in the command header resource files: titles, messages, icons, and the accelerators associated with the commands. The resource files searched for at run time should have the same name than you command header class, that is CAAAfrGeoCreationWkbHeader.3.5.2.1 文本资源CAAAfrGeoCreationWkbHeader.CATNlsThe CAAAfrGeoCreationWkbHeader.CATNls file contains the following for the Cuboid commandsFor each command, the title, short help, help, and long help are declared.3.5.2.2 位图资源CAAAfrGeoCreationWkbHeader. CATRscThe CAAAfrGeoCreationWkbHeader.CATRsc file includes the following for the Cuboid command。