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