使用 Microsoft Visual Studio 设置 ObjectARX 项目
构建 ObjectARX 应用程序的第一步是在 Microsoft Visual Studio 中设置项目。本节列出了构建基本 ObjectARX 应用程序所需的项目设置和最少文件。 或者,您可以使用 ObjectARX Wizards for AutoCAD 创建新的 ObjectARX 项目,您可以从 ObjectARX utils\ObjARXWiz 目录安装该项目。
注意:ObjectARX 向导已从 ObjectARX SDK 中删除。您可以在 AutoCAD 开发人员中心找到最新版本。
对项目使用以下设置
您需要将源文件添加到新项目中。如果您已有源文件或正在使用示例程序源文件,请添加这些文件。 此示例显示了创建 ObjectARX 程序所需的最少代码。 将新的 C++ 源文件添加到项目中,然后输入以下代码:#include "rxregsvc.h" #include "acutads.h" // Simple acrxEntryPoint code. Normally intialization and cleanup // (such as registering and removing commands) should be done here. // extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* appId) { switch(msg) { case AcRx::kInitAppMsg: // Allow application to be unloaded // Without this statement, AutoCAD will // not allow the application to be unloaded // except on AutoCAD exit. // acrxUnlockApplication(appId); // Register application as MDI aware. // Without this statement, AutoCAD will // switch to SDI mode when loading the // application. // acrxRegisterAppMDIAware(appId); acutPrintf("\nExample Application Loaded"); break; case AcRx::kUnloadAppMsg: acutPrintf("\nExample Application Unloaded"); break; } return AcRx::kRetOK; } 该项目还需要一个定义文件。将新的文本文件添加到项目中,并使用 .def 扩展名命名它。 在 DEF 文件中输入以下代码 LIBRARY "objectarx_program_name.arx" EXPORTS acrxEntryPoint PRIVATE acrxGetApiVersion PRIVATE EXPORTS 部分应存在,并且必须至少包含该函数(除非已使用其他机制导出此函数,如 Windows 约定)。acrxEntryPoint_declspec(dllexport) 在 DEF 文件中使用 PRIVATE 可防止这些符号出现在此 ObjectARX 应用程序的导入库中。该符号仍将显示在应用程序的导出表中,允许 AutoCAD 查找和调用该符号。这一点很重要,因为每个 ObjectARX 应用程序或 Object Enabler 都必须有自己的这些函数实现。应用程序通过链接到静态库 rxapi.lib 来获取实现。如果 ObjectARX 应用程序 app2 通过链接到 app1.lib 来使用 ObjectARX 应用程序 app1 中的符号,则 app2 从 app1 导入库中获取其定义将是一个错误。在 DEF 文件中使用 PRIVATE 将防止这种情况。在链接到另一个 ObjectARX 应用程序的任何导入库之前,确保链接到 rxapi.lib 也可以防止这种情况发生。acrxGetApiVersionacrxGetApiVersion LIBRARY 名称应与要创建的 ObjectARX 文件的文件名匹配,并且必须显示 .arx 扩展名。例如,如果所需的输出文件名为 test.arx,则 DEF 文件中的 LIBRARY 语句应显示全名 test.arx。 注意:如果您愿意,可以在项目中包含标准 ObjectARX DEF 文件 AcRxDefault.def。此文件定义了所需的 ObjectARX 正确导出,位于 \inc SDK 目录中。它不使用 LIBRARY 语句。
添加这两个源文件后,可以构建基本的 ObjectARX 应用程序。 要测试应用程序,请启动AutoCAD并使用以下方法之一加载程序
有关更多信息,请参阅加载 ObjectARX 应用程序。 父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-28 16:43
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.