加载包含自定义对象的 DWG 或 DXF 文件时,AutoCAD 将确定是否加载关联的应用程序。如果未加载应用程序,并且设置了系统变量 DEMANDLOAD 的第一个位,AutoCAD 将在 Windows 系统注册表中搜索有关应用程序及其加载程序模块的信息。如果 AutoCAD 在系统注册表中找到相应的信息,则会加载应用程序。 注意:检测自定义类时的需求加载仅适用于直接或间接派生的类。AcDbObject
作为一个假设的例子,假设AutoCAD读取由ObjectARX应用程序polysamp(PolySamp Inc.的产品)创建的文件。
\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\ObjectDBX\<VERSION>\Applications\<Application> DESCRIPTION:REG_SZ:PolyCad LOADCTRLS:REG_DWORD:0xd LOADER:REG_SZ:C:\Program Files\polysampinc\polyui.dbx AutoCAD reads the polysamp\LOADER key to determine the directory, path, and file name of the module to be loaded. 然后,AutoCAD 尝试加载 ObjectARX 模块。如果模块成功加载,AutoCAD 会将应用程序的句柄添加到要发送 kLoadDwgMsg 消息的应用程序句柄列表中。然后,AutoCAD 验证应用程序是否已正确加载,并验证自定义类是否已注册。如果应用程序已成功加载,AutoCAD 将继续加载图形文件。如果无法加载 ObjectARX 模块,或者仍然没有可用的类实现,则自定义对象将被视为代理并继续加载。 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:14
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.