使用 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-11-4 14:06
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.