CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

自定义用户界面 (CUI) 托管 API (.NET)

2023-1-1 08:20| 发布者: admin| 查看: 1303| 评论: 0|来自: AutoCAD

摘要: 许多用户界面元素都可以在 AutoCAD 程序中使用“自定义用户界面 (CUI)”对话框或 CUI 托管 API 进行自定义。

许多用户界面图元都可以在 AutoCAD 程序中使用自定义用户界面 (CUI) 对话框或 CUI 托管 API 进行自定义。

自定义用户界面 (CUI) 对话框允许用户以交互方式创建和修改 AutoCAD 图形环境中显示的许多用户界面图元,而开发人员可以随时使用 CUI 托管 API 自定义用户界面。

您可以将 CUI 托管 API 用于以下类型的应用程序:

  • 插件应用程序。在 AutoCAD 应用程序环境中运行并利用 AutoCAD 系统变量和其他运行时 API 的应用程序。插件可以对 AutoCAD 用户界面的任何方面进行更改,包括工作空间、工具栏、菜单和快捷方式,但大多数更改不会立即发生。
  • 独立应用程序。使用 API,但不需要访问任何特定于 AutoCAD 的数据的应用程序。例如,不需要读取或写入系统变量数据或将消息发布到 AutoCAD 命令行的应用程序。

有关用户界面、自定义文件和图元层次结构的概述,请参见 AutoCAD 帮助系统中的“关于用户界面自定义”。

开始

CUI 托管 API 提供了一个用于创建和操作 CUIx 文件的界面,并且不需要运行 AutoCAD。但是,当 API 在 AutoCAD 程序外部使用时,您的程序将无法访问 AutoCAD 运行时数据或其他运行时 API。

如果无法访问 AutoCAD 系统变量,则访问 AutoCAD 主文件和企业级 CUIx 文件可能会很棘手。主文件通常位于 C:\Documents and Settings\<users 配置文件>\Application Data\Autodesk\AutoCAD <release>\<version>\<language>\Support 文件夹中。在升级或用户为其自定义文件指定非默认路径时,对 CUIx 文件的位置进行硬编码会导致问题。

AcCui.dll文件包含 CUI 托管 API,位于 AutoCAD 安装目录中。将 AcCui.dll 文件引用到项目后,导入命名空间以访问 API 的类。Autodesk.AutoCAD.Customization

有关参照 AutoCAD Managed API 的库文件的信息,请参见“AutoCAD .NET API (.NET) 的组件”。

加载 CUIx 文件

必须通过将完整路径和文件名传递给类的构造函数来加载现有 CUIx 文件。这将解析文件并使用当前接口元素填充对象。在集合中包含大部分此类数据。CustomizationSectionMenuGroup

创建 .NET 插件时,可以从 MENUNAME 系统变量中检索 AutoCAD CUIx 主文件的完整路径。由于此系统变量返回的文件名不带扩展名,因此必须将扩展名显式添加到返回字符串中。除了主 CUIx 文件之外,还可以加载可选的企业级菜单。可从 ENTERPRISEMENU 系统变量访问加载的企业级菜单 CUIx 文件的名称。如果未加载企业级菜单 CUIx 文件,则将值 “.” 分配给 ENTERPRISEMENU 系统变量。.cuix

以下示例演示了如何获取主 CUIx 文件的完整路径。

VB.NET
Dim sMainCuiFile As String = Application.GetSystemVariable("MENUNAME")
sMainCuiFile = sMainCuiFile & ".cuix"
Dim oCs As CustomizationSection = New CustomizationSection(sMainCuiFile)
C#
string sMainCuiFile = (string)Application.GetSystemVariable("MENUNAME");
sMainCuiFile += ".cuix";
CustomizationSection oCs = new CustomizationSection(sMainCuiFile);

加载部分 CUIx 文件

部分 CUIx 文件是主文件或企业 CUIx 文件的有用扩展。这些可以与自定义部分中的 PartialCUIFiles 集合一起加载。此集合提供完整路径和文件名,扩展名为 .cuix。加载部分 CUIx 文件时,应用程序会评估 中的条目,以确保使用文件的完整路径。PartialCUIFileCollection

最好在部分 CUIx 文件中添加和删除工具栏和菜单,以保持应用程序自定义项的分离。在部分 CUIx 文件中定义唯一的菜单组,以避免与其他菜单组发生命名冲突。主 CUIx 文件中的默认组为“ACAD”。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-1-8 19:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部