AutoCAD对象层次
AutoCAD .NET API 拥有许多不同类型的对象
- 图形对象->直线、圆弧、文字、标注
- 样式设置对象->图层、线性、标注样式
- 图形组织结构对象->图层、组、块
- 图形显示对象-> 视图、视口
所有对象以AutoCAD的Application对象为根对象。
Application
|_Document Manager(所有文档对象的容器,每个打开的图形对应一个文档对象)
|_DocumentWindowCollection(所有文档窗口对象的容器 ,DocumentManager里每个文档对象有一个文档窗口对象)
|_InfoCenter(包含对信息中心工具栏的引用)
|_MainWindow(包含对AutoCAD应用程序窗口对象的引用)
|_MenuBar(包含对AutoCAD菜单栏对应的MenuBar COM对象的引用)
|_MenuGroups(包含对MenuGroups COM对象的引用,菜单组对象包含每个已加载CUIx文件的自定义组名)
|_Preferences(包含对Preferences COM对象的引用,该对象允许你在选项对话框里修改许多设置)
|_Publisher(包含对 Publisher 对象的引用,该对象用于发布图形)
|_StatuesBar(包含对应用程序窗口状态栏对象(StatusBar对象)的引用)
|_UserConfiguration(包含对UserConfiguration对象的引用,该对象允许你处理用户保存的配置信息)
-
Application 对象是每次打开的AutoCAD应用程序实例。主要作用是维持Document与Database之间的一致。应用程序把数据库(Database)中的信息显示在文档(Document)上供用户查看,当用户操作文档,更新文档时把更新的数据保存回数据库。通过Application对象你可以获得操作当前应用程序相关的对象。也可以通过它的属性及方法设置AutoCAD程序的参数及系统变量。
主要属性: - AcadApplication(object) 得到应用程序对象(只读)
- DocumentManager(DocumentCollection) 得到文档集合对象(只读)
- DocumentWindowCollection(Autodesk.AutoCAD.ApplicationServices.DocumentWindowCollection) 得到DocumentWindow对象集合(只读)
- InfoCenter(Autodesk.AutoCAD.Windows.InfoCenter) 得到InfoCenter对象(只读)
- MainWindow(Autodesk.AutoCAD.Windows.Window) 获得主窗口对象(只读)
- Publisher(Autodesk.AutoCAD.Publishing.Publisher) 获得Publisher对象(只读)
- StatusBar(Autodesk.AutoCAD.Windows.StatusBar) 获得状态栏对象(只读)
- UserConfigurationManager(Autodesk.AutoCAD.ApplicationServices.UserConfigurationManager) 获得UserConfigurationManager对象(只读)
- Version(System.Version) 获得版本对象(只读)
主要方法: - void AddDefaultContextMenuExtension(ContextMenuExtension menuExtension(要添加的快捷菜单)) 添加默认模式中的快捷菜单
- void AddObjectContentMenuExtension(RXClass runtimeClass(有上下文菜单运行时的类),ContextMenuExtension menuExtension(要添加的快捷菜单)) 在给定的类中添加上下文菜单
- Object GetSystemVariable(string name(系统变量名)) 得到相应名称的系统变量值
- WhoHasInfo GetWhoHasInfo(string pathname(完整文件名)) 得到文件信息,相当于WHOHAS命令
- bool IsFileLocked(string pathname(完整文件名)) 文件是否锁定状态
- void Quit() 退出程序
- void RemoveDefaultContentMenuExtension(ContextMenuExtension menuExtension(要移除的快捷菜单)) 移除默认模式中的快捷菜单
- void RemoveObjectContextMenuExtension(RXClass runtimeClass(有上下文菜单运行时的类),ContextMenuExtension menuExtension(要添加的快捷菜单)) 移除给定的类中上下文菜单
- void SetSystemVariable(string name(系统变量名),object value(值)) 设置系统变量
- void ShowAlertDialog(string message(警告信息)) 弹出警告窗口
- System.Windows.Forms.DialogResult ShowModelDialog(Form formToShow(要加载的用户自定义窗口)) 加载一个模态窗口
- void ShowModelessDialog(Form formToShow(要加载的用户自定义窗口)) 加载一个非模态窗口
- void UpdateScreen() 整个屏幕刷新
-
Document(文档)对象实际上就是Database(数据库)在显示给用户看的视图,玉哥文档与一个Database(数据库)是一一对应的。它按照Application(应用程序)的规定把Database(数据库)中的对象显示给用户,同时用户对Document(文档)的操作也会通过Application(应用程序)写回数据库,在后台修改数据库的时候为防止前台文档也在同时修改所以必须先锁住文档,操作完成之后再给文档解锁。
-
获取文档的方法:
Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; -
Editor(命令行)就是AutoCAD界面中的命令行,是用户跟应用程序交互的工具。AutoCAD与用户的交互功能基本输入与输出功能都在Editor对象中实现。