ObjectArx(2010~2020)工程创建、类添加及错误处理

ObjectArx(2010~2020)工程创建、类添加及错误处理

需要的工具

  1. AutoCAD
  2. ObjectArx开发工具包
  3. Visual Studio

ARX和VS的版本对应

AutoCAD ARX版本 Visual Studio 版本
AutoCAD(R12) ARX1 VC VC2
AutoCAD(R14) ARX202 VC VC4.2
AutoCAD2000/2 ObjectArx2002 VC VC6.0
AutoCAD2004 ObjectArx2004 VS2002 VC7.0
AutoCAD2004 ObjectArx2004 VS2002 VC7.0
AutoCAD2005 ObjectArx2005 VS2002 VC7.1
AutoCAD2006 ObjectArx2006 VS2002 VC7.1
AutoCAD2007 ObjectArx2007 VS2005 VC8.0
AutoCAD2008 ObjectArx2008 VS2005 VC8.0
AutoCAD2009 ObjectArx2009 VS2005 VC8.0
AutoCAD2010 ObjectArx2010 VS2008 VC9.0
AutoCAD2011 ObjectArx2011 VS2008 VC9.0
AutoCAD2012 ObjectArx2012 VS2008 VC9.0
AutoCAD2013 ObjectArx2013 VS2010 VC10.0
AutoCAD2014 ObjectArx2014 VS2010/2012 VC10.0/11.0
AutoCAD2015 ObjectArx2015 VS2012 VC11.0
AutoCAD2016 ObjectArx2016 VS2012/2013 VC11.0/12.0
AutoCAD2017 ObjectArx2017 VS2015 VC13.0

安装过程

CAD和VS就不多说了,主要是开发工具包ObjectARX的安装。

我把部分ObjectArx的工具包打包了网盘(防止链接失效),需要的可以下载:
云盘资源:在这里(待补充)

下面放一个2017官网的链接,可以根据这个地址找其他版本的:
ObjectARX 2017 Wizard 对应SDK: 2017 SDK

有些低版本的包只有一个安装包 ,例如ObjectARX2010,只有一个安装包(其实是SDK和Wizard放一起了,但是高版本好像都拆开放了,变成了SDK+Wizard两个文件),直接解压,解压后目录下的utils下的ObjARXWiz有可安装的msi文件,直接安装(管理员安装)即可。
ObjectArx(2010~2020)工程创建、类添加及错误处理
注: 管理员安装:可以管理员执行cmd程序,然后把ArxWizards.msi文件拖进窗口执行即可。

如果是高版本的像上面Arx2017那种Wizard + SDK的,这样的安装有一些注意点:它的Wizard文件不集成在SDK中了,需要自己去找。

先执行SDK程序解压到指定的文件夹后,再(管理员)安装ObjectARXWizards.msi,这个ObjectARXWizards.msi不同于上面的,他的安装需要手动指定SDK的目录和AutoCAD的安装目录(它有个默认值,注意更改),如果选择错误将会导致创建项目失败。

确认正确的目录位置:
SDK的位置: 应选择到你解压位置下的目录(注意包含该位置下的目录,比如解压到了C:\Autodesk,解压后的目录叫Autodesk_ObjectARX_2017,那么SDK的目录就应该是C:\Autodesk\Autodesk_ObjectARX_2017,而不是C:\Autodesk),AutoCAD的位置要选择你CAD实际安装位置的根目录,最好的方法是鼠标右键打开CAD的位置(打开位置后如果显示的是快捷方式,则再打开一次位置),如下图,选择画圈的路径。
ObjectArx(2010~2020)工程创建、类添加及错误处理
到这里算是处理完了ObjectArx工具包的安装。

错误处理

这个部分针对三个工具(CAD,VS,ObjecrArx)都装好 但是 使用出现问题的处理。

1.直接创建ARX项目失败

如果配置SDK路径和CAD路径正确(检查好这一项,方法见文章前面部分),仍创建ARX项目失败。
原因: VS安装目录下的 VC/VCProjects/Autodesk 下的;两个vsz后缀的文本文件配置有错误。
ObjectArx(2010~2020)工程创建、类添加及错误处理
下图应该是当前你的配置其中一个文件的信息:
ObjectArx(2010~2020)工程创建、类添加及错误处理
处理方法(处理前备份一下,不小心改错了可以重新改):
即两个vsz文件的内容分别:

① 将上图中的第二行的 [WIZVERSION] 改成对应版本号(中括号注意也要换掉),和VS版本有关系。如果是vs2012,对应数字是11.0,同理vs2013-12.0,vs2015-14.0。
② 将第4行的 [TARGETDIR] 改成下图的路径,只更改中括号及中括号内容,其他不要动。
注意图中两个箭头分别对应两个VSZ文件中的第四行替换。
ObjectArx(2010~2020)工程创建、类添加及错误处理
这是配置正确后的其中一个文件的截图:
ObjectArx(2010~2020)工程创建、类添加及错误处理

2.出现无限创建项目

即创建完了不进入项目又自动重新创建并同时提示安装C++ 2015等信息,这是由于VS默认不安装C++相关,在新建项目–>Visual C++中安装C++ 2015工具包即可,如下图内容介绍:
ObjectArx(2010~2020)工程创建、类添加及错误处理

3.报文档顶层存在无效内容

像添加ObjectArxMFCsupport等这样的类的时候报错,这是由于配置文件内容错误导致的。(鬼知道为啥默认的不对)

找到VS安装目录下的 VC/VCAddClass/ObjectARX 中的以 vsz 结尾的文件,发现内容与无法创建项目时的相关文件情况一样,是不正确的。

编辑他们,更改为正确的内容,原理与上文中无法创建项目处理方法一样。

4.添加类配置文件正确后报没有Additem方法等问题

上述vsz配置文件填入正确的内容后,又出现无additem方法等脚本错误问题,并且错误报告位置为default.html文档,且强制继续后,界面出现图标缺失,下拉值为空等问题(容我缓一缓)。
原因: 在该default.html文档中,的 classid= 这一行的CLASSID有问题。
ObjectArx(2010~2020)工程创建、类添加及错误处理
此文中示例使用的是ObjectARX2017,对应在网上找到的ID号是:

087da97a-e2f4-472a-bb48-0bcdfaa20fb3

其他版本,可以去网上找对应的ID号替换过去即可(替换前备份一下,万一改错误了不好返回去可以重改)。