马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
步骤一、开发工具准备
1.Visual Studio 2015 下载含(更新3)及密钥:http://blog.postcha.com/read/66 (下载社区版即可)
Visual Studio 2015安装步骤:https://jingyan.baidu.com/article/c45ad29c223421051753e23a.html
2.ObjectARXWizards.msi 2018 下载地址:https://pan.baidu.com/s/1fKIc4xp6K3M_a7ayvl10Ug
3.Autodesk_ObjectARX_2018_Win_64_and_32_Bit.sfx.exe 2018 SDK 下载地址:https://pan.baidu.com/s/1ktGYjzC5CILxp6Ppc9qxRA
4.AutoCAD 2018下载地址:https://pan.baidu.com/s/1MxPgMHCOQ192u3VS_2Hp5w
步骤二、手动创建ObjectARX程序
这一步不是必要的,也可以直接跳到步骤三,但是步骤三需要添加步骤二的链接库和引用等。
1.创建win32项目
2.配置属性
3.VC++目录
1)include目录
2)lib库目录
3)C/C++->代码生成
代码生成设置,链接库:多线程DLL(/MD) ,如果没有这个选项,看vs2008中项目属性中没有C/C++选项,也可以先不理会这一项,C/C++-这个选项在后面创建并运行cpp项目才会出现。
4)附加依赖项
rxapi.lib;acdb22.lib;acge22.lib;acad.lib;ac1st22.lib;accore.lib
编译程序:
4.添加cpp文件
Hello.cpp添加代码:
- #include <aced.h>
- #include <rxregsvc.h>
- #include "stdafx.h"
- void InitApp();
- void UnloadApp();
- void HelloWorld();
- void InitApp()
- {
- acedRegCmds->addCommand(L"Hello1", L"Hello", L"Hello", ACRX_CMD_MODAL, HelloWorld);
- }
- void UnloadApp()
- {
- acedRegCmds->removeGroup(L"Hello1");
- }
- void HelloWorld()
- {
- acutPrintf(L"\nHello World!");
- }
- extern "C" AcRx::AppRetCode
- acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) {
- switch (msg)
- {
- case AcRx::kNullMsg:
- break;
- case AcRx::kInitAppMsg:
- acrxDynamicLinker->unlockApplication(pkt);
- acrxRegisterAppMDIAware(pkt);
- InitApp();
- break;
- case AcRx::kUnloadAppMsg:
- UnloadApp();
- break;
- case AcRx::kLoadDwgMsg:
- break;
- case AcRx::kUnloadDwgMsg:
- break;
- case AcRx::kInvkSubrMsg:
- break;
- case AcRx::kCfgMsg:
- break;
- case AcRx::kEndMsg:
- break;
- case AcRx::kQuitMsg:
- break;
- case AcRx::kSaveMsg:
- break;
- case AcRx::kDependencyMsg:
- break;
- case AcRx::kNoDependencyMsg:
- break;
- case AcRx::kOleUnloadAppMsg:
- break;
- case AcRx::kPreQuitMsg:
- break;
- case AcRx::kInitDialogMsg:
- break;
- case AcRx::kEndDialogMsg:
- break;
- case AcRx::kSuspendMsg:
- break;
- case AcRx::kInitTabGroupMsg:
- break;
- case AcRx::kEndTabGroupMsg:
- break;
-
- default:
- break;
- }
- return AcRx::kRetOK;
- }
此时,编译cpp项目!
然后,
链接中的附加库:
添加模块定义文件:
Hello.def添加代码:
- LIBRARY Hello1
- DESCRIPTION "First ARX Application"
- EXPORTS
- acrxEntryPoint PRIVATE
- acrxGetApiVersion PRIVATE
添加stdafx.cpp和stdafx.h文件:
stdafx.h添加代码:
- #pragma once
- #define WIN32_LEAN_AND_MEAN
- #include <Windows.h>
- #include "tchar.h"
- stdafx.cpp添加代码:
- #include "stdafx.h"
添加入口函数:
Hello1添加代码:
- #include "stdafx.h"
- BOOL APIENTRY DLLMain(HANDLE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved)
- {
- return TRUE;
- }
编译程序,通过!
三、手动创建ARX HelloWorld程序
1.AutoCAD ObjectARX 2018本身有bug,需要对两个文件进行修改
可参考文章:VC++开发AutoCAD 2018/objectARX 用向导新建项目无法新建的问题
1)将文档中有2017的地方替换成2018
使用搜索软件"火萤酱"找到文件:
2) 第一个文件
3.)第二个文件
2.创建ARX项目:
其他选项默认即可。
编译,出现错误:
解决error:
解决warning:
编译:
输入命令:MYCOMMANDLOCAL
---------------------
作者:李燕良
来源:CSDN
原文:https://blog.csdn.net/qq_40416052/article/details/85273756
版权声明:本文为博主原创文章,转载请附上博文链接!
|