目前ObjectARX版本越来越高,也越来越简化开发,如果需要同时开发低版本和高版本的ARX程序,就需要搭建批量编译环境,以满足ARX开发的需要。
批量编译的搭建网络上已经有了很多的教程,基本上都是基于vs2010+arx2012wizard,原因是arx2012的wizard有addin工具条,而高版本不再有此功能,对于新手来说,这是很不方便的。可是arx2012的wizard存在一些未修改的错误,导致addin工具条有的无法使用,甚至会引起vs2010的崩溃。经过我的研究发现了问题的所在,原本在QQ群的群问问已经发表了这个解决的帖子,但是QQ群新版更新后取消了这个应用,为了避免后面的人继续走这个弯路,特发此文。
ARX二次开发对vs的版本和arx的版本对应,具体的可以查看我转发的博文: http://www.cnblogs.com/edata/p/6808354.html
我建议新手选择vs2010+arx2012wizard进行初步开发,因为这个版本的wizard向导工具拥有工具条的的功能,而有的教程和书籍都使用了工具条来进行开发,所以工具条可以让新手更方便快捷的学习arx基础,(ps:高版本只要arx和vs对应,基本上配置更简单,几乎用向导生成就能开始开发了)。
如果代码写好了,就可以直接向上升级到最新版本,向下降级编译到cad2004,代码改动比较小。cad2000~2002 的sdk不一样不能直接使用,需要修改才能实现。套用一句古语:上可九天揽月,下可五洋捉鳖,所以用vs2010+wizard2012是非常不错的选择。
首先我们需要获得这个几个软件:vs2010 +sp1,objectARX2012 wizard,objectarx各个版本.vC助手,这些均可百度得到。
vs2010和vc助手安装也比较简单,都能百度得到,不再详细介绍。
objectarx各个版本的sdk基本上就是一个自解压包,这个需要对应你需要开发的版本。我们这里建议先安装arx2013 sdk或2014sdk, 使用autocad2013或者2014。(cad2010~2012也可以)
下载wizard2012 http://www.cnblogs.com/Yself/p/4765382.html
objectARX2012wizard模板向导,这个是msi文件,如果系统是win7或者win8之类的系统,都需要管理员权限才能安装到位,否则会导致安装的向导不可用,具体的解决方式,可以参考:http://www.cnblogs.com/edata/p/6796025.html,虽然此文说的是2015的向导,实际上2012的也是一样的要求和方法。
objectARX2012wizard要求.net3.5环境,安装之前最好确认这个是否已经安装完成,一般你安装cad2012的时候会自动安装这个.net3.5.
如果是win7/win8 win10一定要用管理员模式安装,安装这个wizard几乎是一路next,就行。
安装完成后,我们需要先对这个wizard修复。
首先修复Addin工具条的图标,这个由于缺少中文资源文件引起的。
32系统打开路径 C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxAddInWiz2010
win7或win8 win10 64位系统打开路径 C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxAddInWiz2010
下载zh-chs中文资源文件夹. 点击下载zh-chs
解压到上面的目录即可。
完成后重新启动vs:就有了这个图标。
下面继续改造:打开
C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxWizMFCSupport\HTML\1033
或
C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxWizMFCSupport\HTML\1033
右键打开default.htm文件并查找classid将CLASSID="CLSID:5A0C78A8-07D8-48cd-B1DD-BA9752C79F1C">
换成CLASSID="CLSID:19db9a07-5ca3-461e-9e7b-b370c91aba2e">
保存文件,如果是win8 win10 可能要先保存到桌面或者其他位置,再复制回去覆盖(后面保存均相同)。
同理我们继续打开
C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxMemVariableWiz\HTML\1033
或C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxMemVariableWiz\HTML\1033
右键打开default.htm文件并查找classid将CLASSID="CLSID:5A0C78A8-07D8-48cd-B1DD-BA9752C79F1C">
换成CLASSID="CLSID:19db9a07-5ca3-461e-9e7b-b370c91aba2e">
保存。。
继续打开
C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxAppWiz\Scripts\1033
或者C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxAppWiz\Scripts\1033
右键打开default.js 按Ctrl+End键盘鼠标拖动到最下方
最最后一行开始倒数第三行,找到var szPath ="c:\\Program Files\\Autodesk\\AutoCAD 2011\\" ;这类似这句
将这个地址改成你的cad安装目录如 "D:\\Program Files\\Autodesk\\AutoCAD 2013\\" 注意路径的双斜线。
保存。。
--------------------------------------------------
改造完成后我们用vs2010开始新建项目。
启动成功后会自动加载arx,无需再用ap加载。直接在命令行输入hello就能执行这句hello arx 2013!!