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

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

            

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

              

 

 

 

 

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

“ 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文件。


版权声明:本文为F_Shadow原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/F_Shadow/p/11742149.html