1、基于.NET的开发
(1).NET API简介
在AutoCAD 2006及其以后版本中,Autodesk为其开发增加了.NET API。.NET API提供了一系列托管的外包类(Managed Wrapper Class),使开发人员可在.NET框架下,使用任何支持.NET的语言,如VB.NET、C# 和Managed C++等对AutoCAD进行二次开发。其优点是完全面向对象。
(2).NET API与传统ObjectARX的主要区别
首先,在VC环境下,程序员需要自己管理内存的申请和释放,而.NET采用了垃圾回收机制,由.NET框架自行判断内存回收的时机并实行回收,从而解决了令C++程序员头痛的内存泄漏问题。在.NET API中,主要通过Dispose来函数进行资源的释放。
其次,ObjectARX中的各种反应器(Reactor)在.NET API中由外包类映射为各种事件(Event),可通过定义这些事件的响应函数来响应AutoCAD的各种操作。
2、AutoCAD对象分为:
(1)图形对象:例如直线(Line)、圆弧(Arc)、文字(Text,Mtext)和标注(Dimensions)。
(2)样式设置对象:例如线型(Linetypes)和标注样式(DimStyles)等。
(3)组织结构对象:例如图层(Layers)和组(Groups)和块(Blocks)等。
(4)图形显示对象,例如视图(View)和视口(Viewport)等。
(5)AutoCAD应用程序(Application)和文档(Document)。
其中最上面一层是AutoCAD应用程序对象(Application),是对象模型的基础,称为根对象。
3、AutoCAD文件(dwg)的数据结构