• 本项目使用手动创建,意为不使用SDK模板。
  • 从Visual Studio的“文件”下拉菜单中,选择“新建”->“项目...”。
  • 在出现的“新建项目”对话框的“项目类型:”树中,单击“ Visual C ++”节点。
  • 在模板列表中选择“ Windows桌面向导”。
  • 在项目名称编辑框中输入所需的项目名称,例如“ Step01”。
  • 将位置设置为要存储项目的文件夹,然后单击“确定”。这将调用“ Windows桌面项目”对话框。

            AutoCAD二次开发(2020版)--2,手动创建CAD二次开发项目---LMLPHP

  • 确定后弹出对话框,从应用程序类型下拉选项中选择动态链接库。

              AutoCAD二次开发(2020版)--2,手动创建CAD二次开发项目---LMLPHP

项目创建成功之后,开始配置项目属性。右键点击解决方案,选择属性。依次配置下面内容:

“ C / C ++”->“常规”:

  在“附加包含目录”中,添加ObjectARX SDK的头文件路径。

  将“警告等级”设置为“ 1级”。

  调试信息格式选择 程序数据库(/Zi)

“ C / C ++”->“代码生成”:

  在“运行库”中,选择“多线程DLL(/MD)”。

“ C / C ++”->“预处理器”:

  删除宏_DEBUG。 

“ 配置属性”->“常规”:

  平台工具集选择Visual Studio 2017 (v141)

  目标文件扩展名修改为 .arx

  配置类型 改为 动态库.dll

“链接器”->“输入”:

  “附加依赖项”中,添加以下库:
    rxapi.lib

    acdb23.lib

    acge23.lib

    acad.lib

    ac1st23.lib

    accore.lib 

  “模块定义文件” 添加 ArxProject.def

“链接器”->“常规”:

  “输出文件” 修改为 $(OutDir)AdskStep01_2020.arx

  “附加库目录” 中添加SDK的库文件夹路径(存放Lib文件的文件夹)

配置完毕,现在我们添加一个 .cpp文件到项目中。名字任意。

#include "stdafx.h"
#include "tchar.h"
#include <aced.h>
#include <rxregsvc.h>

//这是编程框架需要的函数,加载程序时调用,类似构造函数。里面调用了CAD API,向CAD注册了一个新指令
void initApp()
{
    acedRegCmds->addCommand(_T("HELLOWORLD_COMMANDS"), _T("Hello"),_T("Bonjour"), ACRX_CMD_TRANSPARENT,helloWorld);
}

//这是编程框架需要的函数,卸载程序时调用,类似析构函数
void unloadApp()
{
    acedRegCmds->removeGroup(_T("HELLOWORLD_COMMANDS"));
}

//这是我们自己的函数
void helloWorld()
{
    acutPrintf(_T("\nHello World!"));
}

//这是CAD调用插件的入口函数,类似于EXE程序的main函数。
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
    switch (msg)
    {
        case AcRx::kInitAppMsg:
        acrxDynamicLinker->unlockApplication(pkt);
        acrxRegisterAppMDIAware(pkt);
        initApp();
        break;
        case AcRx::kUnloadAppMsg:
        unloadApp();
        break;
        default:
        break;
    }
    return AcRx::kRetOK;
}

  

最后,添加def文件

快捷键Ctrl + Shift + A

  1. 在“添加新项目”对话框中,选择项目“ Def File(.def)”。
  2. 在“名称:”编辑框中输入“ ArxProject”。然后打开,输入以下内容
    EXPORTS
    acrxEntryPoint PRIVATE
    acrxGetApiVersion PRIVATE
    

      现在生成项目,应该是0警告,0错误,得到一个arx文件。


10-26 19:19