找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4708|回复: 4

[分享] ObjectARX2018+AutoCAD2018+VS2015开发环境配置

[复制链接]

已领礼包: 13个

财富等级: 恭喜发财

发表于 2019-1-14 23:12:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
步骤一、开发工具准备

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项目

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-1.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-2.jpg

2.配置属性

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-3.jpg

3.VC++目录

1)include目录


ObjectARX2018+AutoCAD2018+VS2015开发环境配置-4.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-5.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-6.jpg


2)lib库目录

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-7.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-8.jpg


3)C/C++->代码生成

代码生成设置,链接库:多线程DLL(/MD) ,如果没有这个选项,看vs2008中项目属性中没有C/C++选项,也可以先不理会这一项,C/C++-这个选项在后面创建并运行cpp项目才会出现。

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-9.jpg

4)附加依赖项

rxapi.lib;acdb22.lib;acge22.lib;acad.lib;ac1st22.lib;accore.lib

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-10.jpg

编译程序:

   ObjectARX2018+AutoCAD2018+VS2015开发环境配置-11.png   

4.添加cpp文件

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-12.jpg

Hello.cpp添加代码:

  1. #include <aced.h>
  2. #include <rxregsvc.h>
  3. #include "stdafx.h"

  4. void InitApp();
  5. void UnloadApp();

  6. void HelloWorld();

  7. void InitApp()
  8. {
  9.         acedRegCmds->addCommand(L"Hello1", L"Hello", L"Hello", ACRX_CMD_MODAL, HelloWorld);
  10. }

  11. void UnloadApp()
  12. {
  13.         acedRegCmds->removeGroup(L"Hello1");
  14. }

  15. void HelloWorld()
  16. {
  17.         acutPrintf(L"\nHello World!");
  18. }

  19. extern "C" AcRx::AppRetCode
  20. acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) {
  21.         switch (msg)
  22.         {
  23.         case AcRx::kNullMsg:
  24.                 break;
  25.         case AcRx::kInitAppMsg:
  26.                 acrxDynamicLinker->unlockApplication(pkt);
  27.                 acrxRegisterAppMDIAware(pkt);
  28.                 InitApp();
  29.                 break;
  30.         case AcRx::kUnloadAppMsg:
  31.                 UnloadApp();
  32.                 break;
  33.         case AcRx::kLoadDwgMsg:
  34.                 break;
  35.         case AcRx::kUnloadDwgMsg:
  36.                 break;
  37.         case AcRx::kInvkSubrMsg:
  38.                 break;

  39.         case AcRx::kCfgMsg:
  40.                 break;
  41.         case AcRx::kEndMsg:
  42.                 break;
  43.         case AcRx::kQuitMsg:
  44.                 break;
  45.         case AcRx::kSaveMsg:
  46.                 break;
  47.         case AcRx::kDependencyMsg:
  48.                 break;

  49.         case AcRx::kNoDependencyMsg:
  50.                 break;

  51.         case AcRx::kOleUnloadAppMsg:
  52.                 break;
  53.         case AcRx::kPreQuitMsg:
  54.                 break;
  55.         case AcRx::kInitDialogMsg:
  56.                 break;
  57.         case AcRx::kEndDialogMsg:
  58.                 break;
  59.         case AcRx::kSuspendMsg:
  60.                 break;

  61.         case AcRx::kInitTabGroupMsg:
  62.                 break;
  63.         case AcRx::kEndTabGroupMsg:
  64.                 break;
  65.                
  66.         default:
  67.                 break;
  68.         }
  69. return AcRx::kRetOK;
  70. }



此时,编译cpp项目!

然后,

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-13.jpg


ObjectARX2018+AutoCAD2018+VS2015开发环境配置-14.jpg


链接中的附加库:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-15.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-16.jpg

添加模块定义文件:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-17.jpg

Hello.def添加代码:

  1. LIBRARY Hello1
  2. DESCRIPTION "First ARX Application"

  3. EXPORTS
  4. acrxEntryPoint PRIVATE
  5. acrxGetApiVersion PRIVATE



添加stdafx.cpp和stdafx.h文件:

stdafx.h添加代码:

  1. #pragma once

  2. #define WIN32_LEAN_AND_MEAN

  3. #include <Windows.h>
  4. #include "tchar.h"
  5. stdafx.cpp添加代码:

  6. #include "stdafx.h"



添加入口函数:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-18.jpg

Hello1添加代码:

  1. #include "stdafx.h"
  2. BOOL APIENTRY DLLMain(HANDLE hModule,
  3.         DWORD ul_reason_for_call,
  4.         LPVOID lpReserved)
  5. {
  6.         return TRUE;
  7. }



编译程序,通过!

三、手动创建ARX HelloWorld程序

1.AutoCAD ObjectARX 2018本身有bug,需要对两个文件进行修改

可参考文章:VC++开发AutoCAD 2018/objectARX 用向导新建项目无法新建的问题

1)将文档中有2017的地方替换成2018

使用搜索软件"火萤酱"找到文件:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-19.jpg

2) 第一个文件



ObjectARX2018+AutoCAD2018+VS2015开发环境配置-20.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-21.jpg


3.)第二个文件

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-22.jpg


2.创建ARX项目:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-23.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-24.jpg

其他选项默认即可。

编译,出现错误:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-25.png

解决error:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-26.jpg

解决warning:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-27.jpg

编译:

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-28.jpg

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-29.jpg

输入命令:MYCOMMANDLOCAL

ObjectARX2018+AutoCAD2018+VS2015开发环境配置-30.png
---------------------
作者:李燕良
来源:CSDN
原文:https://blog.csdn.net/qq_40416052/article/details/85273756
版权声明:本文为博主原创文章,转载请附上博文链接!

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 6434个

财富等级: 富甲天下

发表于 2019-1-15 09:17:58 | 显示全部楼层
写得很详细
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 333个

财富等级: 日进斗金

发表于 2019-1-15 10:09:52 | 显示全部楼层
我自己探索cad2018的arx好久,看着英文探索不出头绪,然后放弃了,终于有大神一步一步讲解了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-3-24 11:45:16 | 显示全部楼层
可以调试吗?我用的map3d2017,调试失败,提示MgResourcesLoadFailedException
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2020-12-29 11:35:49 | 显示全部楼层
帮顶~~~~~~~~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-27 08:20 , Processed in 0.172841 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表