AUTOCAD二次开发笔记(ObjectARX)---全部.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AUTOCAD二次开发笔记(ObjectARX)---全部

ObjectARX开发环境的创建与开发实例Hello World(VS2005+AutoCad2008+ObjectArx2008)在一个做CAD二次开发的公司做Web开发,感觉可提升的空间很小。有必要研究一下公司的产品开发,以利发展。一、首先安装好vs05与cad2008安装cad的时候也没有什么特别,加载到虚拟光驱,安装过程中有个错误提示,不影响继续。?二、安装ObjectArx2008直接打开解压缩到某个目录即可。比如C:\ObjectARX 2008然后打开C:\ObjectARX 2008\utils\ObjARXWiz目录,运行ArxWizards.msi这样在新建C++项目的时候会出现ObjectARX项目,如图?三、包含文件工具-选项-项目和解决方案-VC++目录,如图所示:包含文件(添加图中前两个目录即可)库文件(添加图中前两个目录即可)?四、新建ObjectARX项目,完成后添加MFC支持,如图所示:然后直接点finish打开acrxEntryPoint.cpp点击左上角的a按钮,然后新建一个命令。如图:只需要修改Internation Name与Localized Name为testcmd即可添加完成后,会在acrxEntryPoint.cpp中自动添加一句如下的代码:然后添加一句AfxMessageBox(_T(this is a test command.));?五、加载与运行在项目中win32\debug目录下,把ArxProject2.arx复制到桌面,注意先生成一下。打开cad08输入命令:ap打开加载对话框。找到.arx文件即可加载。如图:然后输入自己的命令testcmd就能运行了。如图:?公司高手如云,希望能在CAD二次开发方面有些发展。转行也行,呵呵。凡事以大气象去面对,优秀是一种习惯。CAD二次开发学习笔记一(画一条直接)ARX内部是不需要调用cad命令的。调用 ARX 函数或对象就可以象CAD一样绘制、编辑实体。在AutoCAD中画直接的命令是line0,01000,100通过ObjectARX画,新建一个命令cmd1代码如下:代码//?-----?ArxProject2.cmd1?commandstatic?void?ArxProject2cmd1(void){????//?Add?your?code?for?command?ArxProject2._MyCommand1?here????acutPrintf(_T(Hello?World));????//在内存上创建一个新的AcDbLine对象????AcGePoint3d?ptStart(0,0,0);????AcGePoint3d?ptEnd(10000,10000,0);????AcDbLine?*pLine?=?new?AcDbLine(ptStart,ptEnd);????/*基于AutoCAD内部的实现机制,必须在堆上创建对象。??????acdbHostApplicationServices()-workingDatabase()??????获得指向当前活动的图形数据库的指针。????*/????//获得指向块表的指针????AcDbBlockTable?*pBlockTable;????acdbHostApplicationServices()-workingDatabase()-getBlockTable(pBlockTable,AcDb::kForRead);????//获得指向特定的块表记录(模型空间)的指针????AcDbBlockTableRecord?*pBlockTableRecord;????pBlockTable-getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);????//将AcDbLine类的对象添加到块表记录中????AcDbObjectId?lineId;????pBlockTableRecord-appendAcDbEntity(lineId,pLine);????//关闭图形数据库的各种对象????pBlockTable-close();????pBlockTableRecord-close();????pLine-close();}?ap加载然后cmd1运行。凡事以大气象去面对,优秀是一种习惯。CAD二次开发学习笔记二(创建一个对话框)打开资源视图-右击-添加资源-Dialog双击对话框,弹出MFC类向导,输入类名FirstClass,确定,创建对话框类。FirstClass.h与FirstClass.cpp需要在FirstClass.h中包含#include Resource.h代码如下:?大气象#pragma?onc

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档