基于的AUCTOCAD二次开发.pptx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAD开发背景;AutoCAD具有广泛的用途,它可以在许多领域发挥不可估量的作用,但是在复杂 CAD问题或特殊用途的设计中,依据AutoCAD的原始功能往往难以解决问题,在此情况下,只是会适用软件的基本功能是不够的,根据客户的特殊用途进行软件的客户化定制和二次开发,往往能够大大提高企业的生产效率和技术水平。因此,CAD的开发是十分必要的。;CAD开发方式;ObjectARX使用C#语言时,不但融合了VBA开发速度快、语言相对简单的特点,还结合了C++面向对象的许多优点,可以说C#是最适合做CAD开发的语言。基于.NET平台对AutoCAD进行二次开发,可充分利用.NET 的各种优势,在保证功能强大的前提下大大提高开发速度。;.NET API开发;.NET API与传统ObjectARX的区别主要源于在.NET环境下开发应用程序与在VC环境下开发应用程序的区别。首先,在VC环境下,程序员需要自己管理内存的申请和释放,而.NET采用了垃圾回收机制,由.NET框架自行判断内存回收的时机并实行回收,从而解决了令C++程序员头痛的内存泄漏问题。也正是由于这个特点,在.NET环境下不能像在C++环境下那样利用析构函数释放其他的资源,需要程序员在程序中显式地释放。在.NET API中,主要通过Dispose函数进行资源的释放。 ;其次,ObjectARX中的各种反应器(Reactor)在.NET API中由外包类映射为各种事件(Event),可通过定义这些事件的响应函数来响应AutoCAD的各种操作。同时对于错误信息的处理也从函数返回值改变为通常异常来处理,使其更好地兼容.NET。由于VB.NET、C#等语言都是完全面向对象的,没有全局函数的概念,所以.NET API将ObjectARX下的全局函数封装为.NET API下的某些对象或对象的属性ObjectARX下与用户交互的系列全局函数被封装为CommandLinePrompt类。;AUTOCAD .NET开发过程;一.打开VS2010 新建项目-类库 ;二.引用autocad2008命名空间 1. 添加引用com a. AutoCAD 2008 Type Library b. AutoCAD/ObjectDBX Common 17.0 Type Library ;2.添加其它引用 如下: 具体地址为(因autocad2008安装目录不同有差异): C:\Program Files\AutoCAD 2008\AcCui.dll C:\Program Files\AutoCAD 2008\acdbmgd.dll C:\Program Files\AutoCAD 2008\acmgd.dll 这三个文件包含的空间内容如下: Autodesk.AutoCAD.Customization; //accui.dll //*******************************************// ;Visualstudio 对象浏览器;// acdbmgd.dll 包含以下命名空间 // //*******************************************// Autodesk.AutoCAD.LayerManager; Autodesk.AutoCAD.GraphicsSystem; Autodesk.AutoCAD.GraphicsInterface; Autodesk.AutoCAD.Runtime; Autodesk.AutoCAD.Geometry; Autodesk.AutoCAD.DatabaseServices.Filters; Autodesk.AutoCAD.DatabaseServices; Autodesk.AutoCAD.ComponentModel; Autodesk.AutoCAD.Colors; ;//******************************************// // acmgd.dll 包含以下命名空间 // //------------------------------------------*// Autodesk.AutoCAD.Windows.ToolPalette; Autodesk.AutoCAD.Windows ; Autodesk.AutoCAD.Runtime ;// acdbmgd.dll也含此空间*// Autodesk.AutoCAD.Publishing ; Autodesk.AutoCAD.PlottingServices ; Autodesk.AutoCAD.GraphicsSystem

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档