AutoCAD二次开发C语言第一个ObjectArx程序HelloWorld_第1页
AutoCAD二次开发C语言第一个ObjectArx程序HelloWorld_第2页
AutoCAD二次开发C语言第一个ObjectArx程序HelloWorld_第3页
AutoCAD二次开发C语言第一个ObjectArx程序HelloWorld_第4页
AutoCAD二次开发C语言第一个ObjectArx程序HelloWorld_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AutoCAD2013二次开发C语言第一个Ob jectArx2013程序HelloWorldAutoCAD2013二次开发C+语言的第一个ObjectArx2013 程序 HelloWorld前言AutoCAD2013二次开发C+语言的ObjectArx SDK开发包,自 0bjectArx2013 开始,不再支持 Microsoft Visual Studio 中的 ObjectArx Addin 工具条。配套的 Visual Studio 2010 版的 Objectarx Wizards 2013 安装 后,ObjectArx嵌入匚具栏并不存在,常用的ObjectArx Command

2、 命令按钮不存在。然而,网络上大部分使用Objectarx Wizards向导生成 HelloWorld程序,均是基于ObjectArx Command命令按钮来编 写的。我的电脑是64位WinlO,安装Visual Studio 2010和 AutoCAD201364位,编写第一个HelloWorld困扰了我很长的时 间。编写此文,希望能帮助到有同样困惑的朋友。步安装配:'0bjectArx2013 Objectarx Wizards 2013此部分在网络上有大量的资料可查,这里不再赘述。值得提醒的要点有:l.Visual Studio 2010/AutoCAD2013/0bject

3、Arx2013/0bjectarx Wizards 2013这四个程序的版本必须配套。2 .WinlO-64位系统在安装Objectarx Wizards 2013时应当选择 兼容模式。3 .安装 Objectarx Wizards 2013 时,需要指定 0bjectArx2013 和AutoCAD2013的文件夹。64位系统的AutoCAD2013 一般安装 在 Program Files 目录,而 Objectarx Wizards 2013 使用兼容 模式安装时,常常默认目录为Program Files (x86),这时候不 要直接按下一步,注意修改好实际路径。4 .Autodesk.

4、 arx-2013. props文件有错误,产生“未能加载项目 文件。给定编码中的字符无效。第1行,位置1”问题。需要将第一行的错?xml version=0 encoding二改为<?xml version=1. 0 encoding=GB2312?>修改文件的地址如下,共两个文件。找不到的,可搜索 Autodesk. arx-2013. propsC:Program Files (x86)Autodesk0bjectARX2013WizardsAutodesk. arx-2013. propsC:Program Files (x86)AutodeskObjectARX 2013

5、WizardsArxAppWizTemplates1033Autodesk. arx-2013. prop s第二步 使用Objectarx Wizards 2013向导新建项目打开Visual Studio 2010,依次点击文件-新建一项目8 Microsoft Visual Studio文件(F) (E)视图(V) Q6项目(P)调试(D)团队(M)辘(A) IM(T)体系结构(。测试(S)分析(N)罐(Nj习面项目(P)Ctrl+Shift+NrnT(o)网站(W)Shift+Alt+N硼C)品团队项目(T).由 关司解决方案(T)勺文件旧Ctrl+NU曲项(S)Ctrks从现有代行创

6、建项目(E)将选定项另存为(A)如果Objectarx Wizards 2013正确安装,可以在Visual C+项看到 AutoDesko选择 AutoDesk 中的 0bjectArx/DBX Project o名称/位置/解决方案3项按默认或按需要修改。我在这里直接默 认。按确定后弹出Wizard向导设置对话框。在 Your Registered Develop Symbol 项填入标志,这里我填 AAA。注意我填的这3个AAA,后面会出现。然后直接按Finish完成。4 / 16AutoCAD2013二次开发C语言第一个0bjectArx2013程序HelioWorldObjectAR

7、X/DBX Application Wizard for AutoCAD - ArxProjectl!Welcome5 / 16下一步 > Finish CancelThese thQ current woiect settings: Your Registered Developer Symbol: |aaa1 Pure ObjectARX Application No MFC Support Not a COM Server Not a .NET mixed managed moduleClick Finish from any window to accept the curren

8、t settings.After you create the project, see the project's readme.txt file for information about the project features and files that are generated. Implement _DEBUG preprocessor symbolChoose this option to define the preprocessor symbol -DEBUG in your debug project configuration. If you choose t

9、his option, the Wizards will create the usual _DEBUG workaround in your StdA6Gh r however none of the Microsoft/Autodesk header should be included while this symbol is defined.第三步 找到acrxEntryPoint. cpp文件如无意外,可以在解决方案资源管理器-源文件中看到acrxEntryPoint. cpp 文件。AutoCAD2013二次开发C语言第一个Ob jectArx2013程序HelloWorld8 A

10、rxPrcject11 - Microsoft Visual Studio一 口 X文件 漏领E)视图(V) Qt5项目P)生或 调试 习火M)数安 工 体奈结构(CJ则软 分析(N)窗口 (W) SBtJ(H) Win32解决方空资源竺理寻 q xgj外谷依敕夜D头文件I 4: I .线q跖夫方至AuPpecdiP个耳v ArxProjectllReadMe.txt xacrxEntryPointcppArxAppWizard has created this ArxProjcctl application for you.You can get regular updates for th

11、e Vizards at http:ww, autodesk. and report issues at: oarxvix-feedbackiaautodesk. con DocData.hr Recource.h h| StdAfx.h 匕源文件一This project uses tho ObjcctARX SDK .props file fron the ObjcctARX SD and Linker options appropriate. The project .props file is Located The ObjectARX SDK and AutoCAD executab

12、le paths.To create a nev configuration and/oi change the paths refetcnces copyd DocData.cpp5 StdAfx.cpp“匕变怎文体屋 ArxProjcct11.rc国 ReadMe.txt河 a crxE ntryPoi nt.cp p BFile,tnS8#9like this:<AcadDLtr Condition* 5(PlatfoiTi)'=' x64* M>acad. exe path on y«<AcadDir Condition''$

13、(P3会tfcrj0'='Win32'")acad. exe path on<AcxSdkDir>thc location you installed the ObjcctAPJi SDK </Ai;llotecasethe Vizards? installer also provided an ObjectARX 2012 .props fil« you vant to have nultiple configuration (Checkout the Vizards in:100%18 / 16正在分析包含文件(220 ,共 2

14、21) - c:Proqram Files (x86)M!crosofr Visual Studio 10.0VCincIudememory如果看不到解决方案资源管理器,可以在视图菜单中调出来。文件(F)褊辑 帮助(H)8 ArxProject1 1 - Microsoft Visual Studio视图M Qt5项目生成调试(D)团队(M)数1. U 一 “一 一- 一 一. 1一1 国代码(QCtrl + Alt i-0不1 且工 年 殿关方案资源管理器CtrkAlt+L解反方空资源管理总gJjlllMf S团队资源管理器(M) 体荽结构资源管理器3) 书签窗口 (B)Ctrk, Ctrl

15、+MCtrk, Ctrl+RCtrkK, Ctrl+W第四步 修改acrxEntryPoint. epp文件打开acrxEntryPoint. epp文件如下。可以在下方看到acrxEntryPoint. epp 字样。ReadMe.toctacrxEntryPoint. cpp(全局范围)0/ (C) Copyright 2002-2012 by Autodesk,Inc./a/ PerjRission to use, copy, modify, and distribute this software in/ object code form for any purpose and wit

16、hout fee is hereby granted/ provided that the above copyright notice appears in all copies and/ that both that copyright notice and the limited warranty atid/ restricted rights notice belov appear in all supporting/ docunentation. / AUTODESK PROVIDES THIS PROGRAM "AS IS" MID WITH ALL FAULT

17、S./ AUTODESK SPECIFICALLY DISCLAIMS AMY IMPLIED WARRANTY OF/ MERCHANT妞工LITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, IMC./ BOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE/ UNINTERRUPTED OR ERROR FBEE. / Use, duplication, or disclosure by the U.S. Goverment- is subject to/ restrictions s

18、et forth in FAR 52. 227-19 (Commercial Cojnputer/ Software - Restricted Rights) and DFAR 252. 227-7Q13(c) (1) (ii)/ (Rights in Technical Data and Computer Software), as applicable./include "resource.Vv继续往下查看,找到 static void AAAMyGroupMyCommand ()这.行。注意看到3个大写的AAA,这是我在前面填写的标志。同时注意到 Put your comman

19、d code here这一行注释,翻译成中文是“请将命令代码填写在这里”。I/ Modal Command with localized nameZ*TTCEAEXCoEoNTRTAUToTcSxProjiApp, AAAMyUroup, MyConunand.,昭j static void AAAJilyGroupMyCononand () / Put your command code hereJJ-/ Modal Conunand with pickfirst selection/ ACED-ARXCOJiUiMJ-ENTRY.AUrO (CArxProj ect 1 lApp, AAA

20、MyCroup, MyPickFirst, static void AAAJifyGroupMyPickFirst () 为H 6-nTTiR,将 acutPrintf (_T(,znHello World!");填写到空白处,如下所 o这行代码表示要在CAD命令栏打印Hello World!信息。这样,所有的代码修改已经完成了,可以直接编译了。/ IccCjTKilcl - resource ID for localxzed comand/ Nodal Command, with localized name/ ACED_AMCOmiAiro_ENTRY_AUTO (CArxPro

21、j ect 1 lApp, AAAJify&roup, MyCowand,static void AAAMyCroupMyCommond () / Put your comand code hereacutPrintf ( T (' nHello World! ") ;| '/ Nodal ConuRand. with pickfirst selection/ ACED_AMCOmiAICD_ENrRY_AUTO (CArxProj ect 1 lApp, AAAJrtyGroup, MyPickFirsc+ ,i n i rr* A ft ft virWrr

22、D n clt口vn + 、 在编译之前,我们继续查看文件的末尾处,这里有需要注意的地方。找到 ACED_ARXCOMMAND_ENTRY_AUTO 这一行。1 .注意到3个大写的AAA,留心其后的AAAMyGroup, MyCommand及前面 static void AAAMyGroupMyCommand ()的关系。2 .注意MyCommandLocal,这是等会在AutoCAD2013要输入的命令。B/imETiENT.ARX.ENTRYPOINr (CArxPro j ect 1 lApp)._AC ED_11RXCO )iOiLAND_ENTRY_AUT0 (CArxPr o j

23、ect 11 App? < AAAMyCr oup? JityConunan dj MyCo mmandLoc a 17 JkcRX J ACEPlARXCOraMlEKTRYlAUTO (CArxPr o j ect 11 App, 5康em 工yPickFirNjIyPickFirst/aL A«ACED_ARXCOMMAND_E1(TRY_AUTO (CArxPr o ject 11AAAMy<roup, MySessionCmd1 JILySLJJiuilCSriocal,ACED.ADSSBIBOL.ENTRY.AUTO(CArxProject1lApp, Ny

24、LispFunction, false)第五步编译程序因为我的AutoCAD2013是64位版本的,在Visual Studio 2010上方将编译平台改为x64°8 ArxProjectl 1 - Microsoft Visual Studio文件(F) (E)视动V) Qt5项目(P)生成(B)归试 团队(M)数据(A)工具 张茎结构(C)测试 分析(N) ©(WJ 拜勖(H)届李冬工2 口,理?7解决方案'AocProjectir。个人 ArxProjcct11小外部依敕项v匕头文件 DocData.h卜Resource.h回 StdAfx.hv &源

25、文件5 acrxEntryPcint.cpe ArxProject11.cpp日 DocDataxpp的 StdAfx.cpp匕史源文件就绪DebugacrxEntryPointcpp X,CArxProjectl 1 AppReadMe.txtWin32Win32 x64FunctionQ/ (Rights in Technical Data and Computer Software), as appl = /A/ /acrxEmryPoiat. cppS me lade "StdAfx.h, include “resource.h"I $Sriftfinft 

26、3;7:RD# RXSTC 100% 辆出显示蛇出来源(S):代码定义窗口行125列21字符15Ins点击菜单一生成-生成解决方案。8 ArxProject11 - Microsoft Visual Studio;.上二一 乂 3 X T 二res初率汩二acrxEr文件(F)编宙(日 视图(V) Qt5项目(P) 窗口州/)帮助(H)蠡生成解关方案(B) 重新生戌解法方案(R)生成(B)调三(D)团队(M)数据(A)工具 体系结Ctrl+Alt+F7解决方案资源管理器 Q x嚼|苕国展守 媒法方案'ArxProject11"(1/ ArxProject11方外部依赖项V白头

27、文件h DocData.hh Rcsourcc.hh StdAfx.h彩CA然| 生成 ArxProjectl 1 (U)重新生戌 ArxProjectl 1 (E)清理 ArxProjectl 1(N)仅用目(J)按配置优化(P)配置笞理器(0)编译(M)Ctrl + F7留意下方的输出信息,如果看不到可以将信息栏拉高。 测试分析(N)员目(P)生成调试(D)团队(M)州(A)工具体系结构(0测试分析(N)易 | > Debug 、j x642 I口GO"不用*Q:acrxEntryPoint.cpp xReadMe.toct电 CArxProjectl 1 AppM ads

28、 MyLisp Function0/ (Rights in Technical Data and Computer Soft-ware), as/acrxEntryPoint. cppdll*定义窗口include "StdAfx.h"#include "resource.hx,I/100 % '埔出显示墟出来源:生成如果找不到,可以在菜单-视图-输出里重新显示。B ArxProjertl 1 - Microsoft Visual Studio文件(F)褊辑(E)视图(V) Qt5项目(P)生成(B)调试(D)团队(M)窗口 (W)帮助(H)国 代码(C)

29、Ctrl + Alt+0Ctrl + Alt+ L Ctrl+ Ctrl + M Ctrl + Ctrl + R.Ctrl + K.CtrkW Ctrl + Alt+ K解决方案资源管理:嘎|管l国,层 片解法方案'Ar. L3 丫 犀I ArxProj 星斛决方案资源管理器(P) 团队资源管理器(M) 体W结构资源管理器(A)书签窗口(8)调用层次结构(H)崩外管&类视圆(A)Ctrl + Shift+C 头文1:q 代色定义窗口(D)Ctrl + ShiftWh DY的 对歙浏览器(J)Ctrl + Alt + J由 白出-Ctrl+ Ev叵源或目揄出(0)Alt4-2如无

30、意外,可以看到生成成功的信息。第六步加载程序在解决方案资源管理器中,右击项目,在右键菜单中找到,在 Windows资源管理器中打开文件夹,点击。文件(E)编辑(E)视图(V) Qt5项目(P)生成调试(D)团队(M)效层(A)工具体手 窗口出帮助(H):31a 退 |与 Debug |x64一位心可受m工2口,一百云丽Visual Studio 2010会打开本项目所在的Windows目录。我们生成的目标文件不在这里,往上一级目录查看。/ v ArxPrcject1 1文件:udi。201DProjectsArxProject11ArxPrQjectlProjects ArxProject*

31、ArxProjecti名称Debug x64ArxPrqject; ArxPrqject ArxProjectf ArxProject( ArxProject ArxProject ArxProjects acrxEntryPoint.cppW ArxProjectHcpp尊 ArxProjectHrc用 ArxProjectl l.vcxproj即 ArxProjectl l.vcxproj.filters专 ArxPrqjectl l.vcxprqj.user目 AutodGps司 Autodesk.arx-2013-net.oroos修改日期2016/8/7

32、 21:272016/8/7 21:29港 人外垓I文件夹创建日期:2016/8/7 21:29大小:29.1 MB文件夹:Debug+ + Source file 卜 + Source file esource Script2016/8/7 17:03VC+ Project2016/8/7 17:03VC+ Project Fi2016/8/7 17:03Visual Studio Pr2016/8/6 23:08Project Property2012/4/2 10:46Proiect Pronprtx"ArxProjectl T打开x64目录,一直到.arx文件出现。 I 0v

33、 ArxProjectl 1主页 共享 查看 X,文件g6 T 个sVisual Studio 2010ProjectsArxProject11V0援案" ArxProjectlp rArxProject! AArxProject(ArxProjectlArxProjectl名称人修改日用逑L EErArxPr在2016/8/7 21:292016/8/7 21:272016/8/7 20:49文件夹 文件夹 文件夹DebugArxProjectc i99ir2016/8/7 21:29 B 9 IB IM B 文件夹 a i 、<1口 I 13 Cl 7 I Debug一 口 X-p型AutoCAD 运行mProgram Debu文件主页 共享 查看Tio 2010ProjectsArxProject1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论