AutoCAD2013第一个ObjectArx2013程序HelloWorld
的有关信息介绍如下:AutoCAD2013二次开发C++语言的第一个ObjectArx2013程序HelloWorld
使用Objectarx Wizards向导生成
前言
AutoCAD2013二次开发C++语言的ObjectArxSDK开发包,自ObjectArx2013开始,不再支持Microsoft Visual Studio中的ObjectArxAddin工具条。
配套的Visual Studio 2010版的Objectarx Wizards 2013安装后,ObjectArx嵌入工具栏并不存在,常用的ObjectArx Command命令按钮不存在。
然而,网络上大部分使用Objectarx Wizards向导生成HelloWorld程序,均是基于ObjectArx Command命令按钮来编写的。
我的电脑是64位Win10,安装Visual Studio 2010和AutoCAD2013-64位,编写第一个HelloWorld困扰了我很长的时间。
编写此文,希望能帮助到有同样困惑的朋友。
第一步 安装配置ObjectArx2013和Objectarx Wizards 2013
此部分在网络上有大量的资料可查,这里不再赘述。
值得提醒的要点有:
1.Visual Studio 2010/AutoCAD2013/ObjectArx2013/Objectarx Wizards 2013这四个程序的版本必须配套。
2.Win10-64位系统在安装Objectarx Wizards 2013时应当选择兼容模式。
3.安装Objectarx Wizards 2013时,需要指定ObjectArx2013和AutoCAD2013的文件夹。64位系统的AutoCAD2013一般安装在Program Files目录,而Objectarx Wizards 2013使用兼容模式安装时,常常默认目录为Program Files (x86),这时候不要直接按下一步,注意修改好实际路径。
4.Autodesk.arx-2013.props文件有错误,产生“未能加载项目文件。给定编码中的字符无效。第1行,位置1”问题。
需要将第一行的
锘??xml version="1.0" encoding="utf-8"?>
改为
修改文件的地址如下,共两个文件。找不到的,可搜索Autodesk.arx-2013.props
C:\Program Files (x86)\Autodesk\ObjectARX2013 Wizards\Autodesk.arx-2013.props
C:\Program Files(x86)\Autodesk\ObjectARX 2013 Wizards\ArxAppWiz\Templates\1033\Autodesk.arx-2013.props
第二步 使用Objectarx Wizards 2013向导新建项目
打开Visual Studio 2010,依次点击文件-新建-项目
如果Objectarx Wizards 2013正确安装,可以在Visual C++项看到AutoDesk。
选择AutoDesk中的ObjectArx/DBX Project。
名称/位置/解决方案3项按默认或按需要修改。我在这里直接默认。
按确定后弹出Wizard向导设置对话框。
在Your Registered Develop Symbol项填入标志,这里我填AAA。
注意我填的这3个AAA,后面会出现。
然后直接按Finish完成。
第三步 找到acrxEntryPoint.cpp文件
如无意外,可以在 解决方案资源管理器-源文件 中看到acrxEntryPoint.cpp文件。
如果看不到解决方案资源管理器,可以在视图菜单中调出来。
第四步 修改acrxEntryPoint.cpp文件
打开acrxEntryPoint.cpp文件如下。可以在下方看到acrxEntryPoint.cpp字样。
继续往下查看,找到static void AAAMyGroupMyCommand ()这一行。
注意看到3个大写的AAA,这是我在前面填写的标志。
同时注意到// Put your command code here这一行注释,翻译成中文是“请将命令代码填写在这里”。
将acutPrintf(_T("\nHello World!"));填写到空白处,如下所示。
这行代码表示要在CAD命令栏打印Hello World!信息。
这样,所有的代码修改已经完成了,可以直接编译了。
在编译之前,我们继续查看文件的末尾处,这里有需要注意的地方。
找到ACED_ARXCOMMAND_ENTRY_AUTO这一行。
1.注意到3个大写的AAA,留心其后的AAAMyGroup, MyCommand与前面static void AAAMyGroupMyCommand ()的关系。
2.注意MyCommandLocal,这是等会在AutoCAD2013要输入的命令。
第五步 编译程序
因为我的AutoCAD2013是64位版本的,在Visual Studio 2010上方将编译平台改为x64。
点击菜单-生成-生成解决方案。
留意下方的输出信息,如果看不到可以将信息栏拉高。
如果找不到,可以在 菜单-视图-输出 里重新显示。
如无意外,可以看到生成成功的信息。
第六步 加载程序
在解决方案资源管理器中,右击项目,在右键菜单中找到,在Windows资源管理器中打开文件夹,点击。
Visual Studio 2010会打开本项目所在的Windows目录。
我们生成的目标文件不在这里,往上一级目录查看。
打开x64目录,一直到.arx文件出现。
打开AutoCAD2013,可以通过以下两种方式加载AAAArxProject11.arx程序。
1.使用APPLOAD命令。
2.直接拖动到CAD绘图区域。
若成功加载,将在命令栏返回文件路径。
输入MYCOMMANDLOCAL命令,命令栏中返回Hello World!字样。
表明程序编译成功。
请注意这个MYCOMMANDLOCAL命令。
并与上文ACED_ARXCOMMAND_ENTRY_AUTO这一行联系起来。
第七步 卸载程序
在ObjectArx2013开发中,我们经常需要修改和调试程序。若.ARX程序程序文件已加载,Visual Studio 2010重新编译生成的时候会失败,提示文件已占用,不能修改等等。
这时我们需要在AutoCAD中卸载该程序。
在AutoCAD中输入APPLOAD命令,打开 加载/卸载应用程序 对话框。
在已加载的应用程序列表中找到刚刚加载的AAAArxProject11.arx,点击卸载。
这样,Visual Studio 2010就可以重新编译该程序了。
全文完。