win7下Visual Studio 2012 update4、AutoCAD 2016和二次开发插件ObjectARX2016环境安装及配置

前言

最近接到了一个小小的项目为AutoCAD 2016开发插件,开发的第一步当然是配置系统的开发环境,但在这个过程中发现环境配置有许多坑,并且各类资料、博客比较少,写的也不够全面。所以此系列一就先详细描述一下环境配置的详细过程并且需要注意的地方吧!

我的配置为:Visual Studio 2012 update4+AutoCAD2016+ObjectARX2016

1 AutoCAD 2016安装

在网上下载AutoCAD2016破解版,按照安装破解提示完成安装,此过程比较简单,这里不再赘述。

2 Visual Studio 2012安装

VS2012在网上可以很轻松下载到,下载完成后按照提示一步步安装即可,这里就不再赘述。重点说一下安装完成后运行软件会出现和win7不兼容的提示。题主认为原因是VS2012和AutoCAD2016发生了不兼容,因为先安装VS2012后运行并不会提示不兼容,但是安装完AutoCAD2016后就会出现这个问题。解决办法是在网上下载VS2012 update4更新包,更新完成后问题解决。

3 ObjectARX 2016安装

ObjectARX的安装最为麻烦,安装文件分为两个,如下图:
在这里插入图片描述
第一个文件解压后是一个exe执行文件,双击安装,我的安装路径为D:\ObjectARX。
第二个msi文件需要先给右键添加以管理员运行的菜单,操作方法如下:

(1) cmd命令行窗口输入命令regedit打开注册表编辑器,定位至HKEY_CLASSES_ROOT\Msi.Package\shell,右键点击shell,选择“新建 - 项”,然后把新建项重命名为“runas”。选中runas项,然后在右侧窗口中双击“默认”字符串值,在弹出的“编辑字符串”窗口中,把数值数据修改成“以管理员身份运行”,确定。如图:
在这里插入图片描述
(2) 然后在“runas”项下再新建一个“command”项,用同样的方法把“默认”字符串值的数值数据修改成“msiexec /i“%1””。如图:
在这里插入图片描述
完成(1)(2)两步后,关闭注册表编辑器,然后你再在msi安装包点击右键,就会发现右键菜单中已经出现“以管理员身份运行”选项了。

注: 这个过程网上还有通过建立注册表文件来执行导入注册表的方法,读者自行百度,不过我通过这种方法并没有成功,注册表导入后并没有生效!!

(3) objectARXWizard.msi 文件上右键 以管理员运行 执行安装。安装完成后,安装程序默认安装到VS2012下面去,如图:
在这里插入图片描述
打开ArxAppWiz.vsz,发现文件关键项没有改掉,[WIZVERSION][TARGETDIR]这两个还是临时名,修改后如下:

VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.11.0
Param="WIZARD_NAME = ArxAppWiz"
Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2016 Wizards\ArxAppWiz"
Param="FALLBACK_LCID = 1033"

第二行是使用的vs向导版本,这里是vs2012,所以是VsWizard.VsWizardEngine.11.0,vs2013应该是12.0,vs2015是14.0,vs2017好像改成了注册表的clsid。
第三行是向导的路径,这里是ObiectARX 2016的默认路径。这两项读者可根据自己的实际情况修改,至此,ObjectARX 2016的安装就完成了。

4 利用开发环境完成第一个插件Hello World

现在来完成AutoCAD的第一个插件HelloWorld!
(1) 新建一个ObjectARX项目,如图:
在这里插入图片描述
确定后在下一个界面点击finish即可,如图:
在这里插入图片描述
(2) 点击finish后出现了一个报错,如下图:
在这里插入图片描述
注意看错误提示为CAD2016\inc文件夹下没有arx.props这个文件,所以解决方法是将ObjectARX安装文件下的inc文件夹下的文件 (包含arx.props文件) 拷贝到CAD2016\inc下,问题解决,其他的错误也是类似的解决方法!

(3) 找到acrxEntryPoint.cpp文件,定位到static void MyGroupMyCommand ()函数,给函数添加acutPrintf(_T("\nHello World!")); 语句,这行代码表示要在CAD命令栏打印Hello World!。

(4) 在编译之前,我们查看文件的末尾处,这里有需要注意的地方。如图:
在这里插入图片描述
留心第二行的参数MyGroup, MyCommand与我们修改的static void MyGroupMyCommand ()函数的关系,MyCommandLocal,这是等会在AutoCAD 2016中要输入的命令。
(5) 因为我的AutoCAD 2016是64位版本的,在Visual Studio 2012上需要将编译平台改为x64。如图:
在这里插入图片描述
配置管理器下拉debug可找到,如上图红色标注。
(6) 点击生成-生成HelloWorld,出现以下错误,如图:
在这里插入图片描述
这是由于项目没有包含库导致的,右键项目-属性-VC++目录,如图:

在这里插入图片描述
包含目录和库目录分别将ObjectARX下的inc-x64和lib-x64包含,完成后如图:
在这里插入图片描述
重新生成解决方案,编译通过。
(7) 打开AutoCAD 2016,开始绘制-管理-加载应用程序,找到HelloWord工程下x64文件夹下的HelloWorld.arx文件,加载插件。在命令窗口中输入MyCommandLocal命令,命令栏输出HelloWorld!,如图:
在这里插入图片描述

以上!

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值