CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

注册适用的程序命名空间

2024-5-18 19:13| 发布者: admin| 查看: 465| 评论: 0|原作者: admin|来自: AutoCAD

注册适用的程序命名空间

水平

要求

适用于

ObjectARX、.NET 和 ObjectDBX 模块

程序命名空间是一个相当宽泛的定义,它定义了加载的应用程序可以创建条目以注册特定对象、数据或入口点的位置。如果要将元素添加到容器中,而其他应用程序也可能在其中添加元素,则它很可能是适用的命名空间。值得注意的例外包括菜单标签和其他用户界面结构。

除了逻辑应用程序名称外,适用的程序命名空间还包括:

AcRx 注册的类名

加载 ObjectARX 应用程序时,将注册使用 ObjectARX 运行时可识别类工具的类名。尝试在单个程序会话中注册两次类名会阻止应用程序加载。如果由不同供应商提供的两个应用程序具有通用类名,则它们将相互排斥,直到其中一个应用程序以不同的类名重新发布。为避免冲突,已注册的类必须具有唯一的名称。

例如:

class WxyzDataObject : public AcDbObject { ...

class WxyzVanity : public AcDbEntity { ...

项目等级 DXF 名称

注意:在 AutoCAD 2000 之前发布的类是此规则的例外。

新的根级词典条目

命名对象字典根级别中的条目名称应以唯一前缀开头。如果应用程序需要使用命名对象字典,则应创建对象的单个根级条目,而该对象又可能拥有与应用程序相关的其他对象。此类条目可以是任何相应对象类的实例,无论是自定义的还是内置的。AutoCAD 通常使用 的实例。然后,应用程序可以使用任何名称键在此容器对象中自由构造所需的任何结构。您不需要为嵌套在字典或应用程序维护的类似容器中的对象添加前缀,除非您希望由用户或其他应用程序操作容器。在这种情况下,容器定义另一个全局命名空间。AcDbDictionary

对字典的所有添加都不是由您的应用程序创建的

如果将命名对象添加到不是由应用程序创建的字典中,请考虑在键和名称前面加上唯一名称,除非用户指定了名称。

例如:

;; AutoLISP
(dictadd enameDict "WXYZ_Dict" enameXRecord);

// ObjectARX
pDictionary->setAt(ACRX_T("WXYZ_Dict"), pXRecord, idXRecord);

符号表条目

为避免用户指定的条目与应用程序管理以供内部使用的条目之间发生名称冲突,请考虑为应用程序管理的所有符号表中的条目添加唯一的前缀。

AutoCAD 根路径下的系统注册表路径

如果在 AutoCAD 根路径下创建注册表路径(例如,用于存储应用程序数据),请考虑向条目添加唯一前缀。

用于编程的命令名称

为每个命令创建至少一个具有唯一前缀的版本。每当从用户界面或应用程序调用自己的命令时,请使用此版本。为方便用户起见,您可以提供不带唯一前缀的命令版本。

例如:

;; AutoLISP
(defun C:WXYZTILE ()
    (princ "\nDo Something!")
)

AcEd 注册的命令和组名称

命令组名称应以唯一前缀开头,以允许跨命令组进行唯一的命令名称搜索。对于命令名称,唯一前缀是可选的。

例如:

acedRegCmds->addCommand(ACRX_T("WXYZBathroom"), 
   ACRX_T("WXYZVANITY"), // Unique global name 
   ACRX_T("VANITY"), // Name for localization 
   ACRX_CMD_MODAL, 
   lpfnVanityCommand);

LISP 的全局文档符号

如果要创建全局文档符号,请考虑在符号名称后附加前缀。

例如:

*WXYZ-GLOB*

摘要信息

添加到 AutoCAD 搜索路径的任何目录路径的顶层都应以唯一前缀开头。(换句话说,子目录不需要重复它。添加到搜索路径的任何文件都应在其文件名中包含唯一的前缀,以防止目录之间发生冲突。

例如:

C:\Program Files
  Autodesk
    AutoCAD 2024
      Fonts
      Sample
      Support
        WXYZBathroom
          Sinks
          Countertops
          Fonts
  Common Files
    Autodesk Shared
      WXYZBathroomEnu24.dbx
      WXYZBathroomDeu24.dbx
      AcmeEntities24.dbx

如果应用程序必须将公共文件放置在 %PATH% 环境变量中尚未列出的位置,请将单独的位置追加到 %PATH% 设置。不要将包含与产品相关的文件的目录添加到路径中,例如 ObjectARX 应用程序。

自定义元素 ID、文件名和组标识符

自定义元素 ID、组名和文件名应以唯一前缀开头。请记住,假定关联的上下文帮助文件名为 <CUSTOMIZATIONGROUP>.chm

将命令的前缀版本与添加到用户界面的元素结合使用。

帮助文件名

帮助文件名应以唯一前缀开头,因为它们将位于 AutoCAD 库搜索路径中。

特定于应用程序的 CHM 文件也应以唯一的前缀开头。在添加新命令之前,请执行检查以查看命令名称是否已存在。该命令及其帮助说明应包含在对与该命令相关的应用程序名称的引用中。

支持文件

考虑为特定于应用程序的每个支持文件添加唯一的前缀:DWT 文件、自定义填充图案和线型、块等。


路过

雷人

握手

鲜花

鸡蛋

最新评论

群   号:715888130

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

GMT+8, 2025-12-16 04:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部