以下转自https://blog.csdn.net/adliy_happy/article/details/77715210?spm=1001.2014.3001.5501


Application 对象是每次打开的 AutoCAD 应用程序实例。主要的作用是维持 Document(文档)与Database(数据库)之间的一致。 应用程序把数据库中的信息显示在文档上供用户查看,当用户操作文档更新文档时把更新的数据保存回数据库。 通过Application 对象你可以获得操作当前应用程序相关的对象。 也可以通过它的属性及方法设置 AutoCAD 程序的参数及系统变量。

Document(文档)对象实际上就是 **Database(数据库)**在显示给用户看的视图,一个文档与一个Database(数据库)是一一对应的。 它按照 Application(应用程序)的规定把 Database(数据库)中的对象显示给用户,同时用户对 Document(文档)的操作也会通过 Application(应用程序)写回到数据库,在后台修改数据库的时候为防止前台文档也在同时修改所以必须先锁住文档, 操作完成后再给文档解锁。

Editor 就是 AutoCAD 界面中的命令行,是用户跟应用程序交互的工具。 AutoCAD 与用户的交互功能基本输入与输出功能都在 Editor 对象中实现。

Transaction (事务) 是用来控制数据库操作的对象。 当打开处理数据库对象的时候 Transaction 提供了自动关闭的机制,以避免打开对象后忘记关闭而导致下次操作该对象出错。


Database 是 DWG 文件在内存中的表示, 是用来储存数据库对象的容器。 Database 中主要储存大量容器对象: **SymbolTables(符号表)**与 NameDictionaries(命名对象词典), 容器中储存着所有的图形对象和大部分的非图形对象。
以下转自https://wenku.baidu.com/view/af9a571948d7c1c709a1457b.html

DBObject(数据库对象)

DBObject是所有数据库对象的基类是一个抽象类,所有的数据库对象都是由它派生,他的属性方法在所有的子类中都适用。
程序中的对象可能存在两种状态1、在内存中(实例化但是没添加到数据库中):可以任意修改对象的属性。2、在数据库中:需要打开才能进行属性修改。

SymbolTable(符号表) 是 AutoCAD 表对象的基类,符号表是容器对象,用来存放 SymbolTableRecord(符号表记录)。
SymbolTableRecord(符号表记录) 是组成符号表的元素。 特定的符号表中只能储存特定的符号表记录,如:块表中,只能储存块表记录。

DBDictionary (词典) 是一般的容器对象,用于储存非图形对象。 与符号表不同的是,符号表里面只能存取固定符号表记录的对象,而词典可以同时保存多种由 DBObject 类派生的对象(Entity)除外(词典中也可以存放词典)。 常用于保存在词典中的对象有 DataTable(数据表)Xrecord(扩展记录)。

词典主要以两种方式存在一种是存储在数据库中用来保存整个图纸的数据叫 NameDictionaries(命名对象词典),一种是储存在对象中用于保存对象的信息数据叫 ExtensionDictionary(对象扩展词典)。

1、 NameDictionaries(命名对象词典)
每个 DWG 数据库都有一个命名对象词典,命名对象词典通常用来储存全局的扩展数据。
2、 ExtensionDictionary(对象扩展词典)
所有数据库对象都可以包含一个扩展词典,用于储存用户自定义的数据,与命名对象词典不同的是,储存的这些数据时对象级别的即对象的附属信息。

DataTable(数据表) 是 AutoCAD 中用来组织数据的表格, 是一个用来存放数据的数据库对象, 可以放在命名对象词典中存放图纸全局信息数据,也可以放在对象扩展词典中存放对象的属性数据,他比 XRecord 的优势在于:用表格形式组织数据更加有条理。

Xrecord(扩展记录) 最大可储存 2GB 的数据。

Field(字段) 是储存表达式的容器,可以储存字符、指向系统变量的表达式、公式表达式等。 这些表达式用于显示可能会在图形生命周期中修改的数据。 字段更新时,将显示最新的数据。 字段可以插入到任意种类的文字(公差除外)中,其中包括表单元、属性和属性定义中的文字。在块编辑器中进行操作时,可以将块占位符字段用于块属性定义中。

Entity(实体对象) 是所有可见对象的基类,可见对象都继承它的属性和方法。

CAD二次开发 对象相关推荐

  1. CAD 二次开发 图层操作(3)取得指定图层下的所有对象id

    对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作.下面的方法,即可实现获取指定图层名称下的所有实体ID. 输入参数为图层名称: 返回值为:对象主键集合 ...

  2. C#之CAD二次开发 (11) 文本对象

    # 0. 前言 在CAD中文本对象的处理算是一个很重要的内容了,实际工作中也会遇到很多需要批量处理CAD中文本对象的情况 之前就遇到一个批量一对一替换文本的情况,那个实例代码后面也会贴出来,一个小小的 ...

  3. C# Cad二次开发新手入门系列教程(二)Line对象

    目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...

  4. cad 二次开发 插入图片_C#之CAD二次开发(2) 直线对象创建及添加

    0. 前言 从本文开始就正式登上开往CAD二次开发幼儿园的大巴车了!你准备好了吗?车门已经焊死! 还有,本系列笔记是默认大家都有C#的基础的了.这个系列笔记是我自己学习CAD二次开发的一些记录,可能存 ...

  5. intersect 相交 范围_关于CAD二次开发中(范围线自相交)相交线的问题

    CAD二次开发对于毕业没多久,又是半路出家的我来说,是一个很大的挑战,遇到过很多难以解决的问题,这次在CAD二次开发遇到一个很苦恼的问题:判断 一个由线段组成的闭合区域中,是否存在着相互之间相交的线段 ...

  6. 关于objectArx /CAD二次开发中“属性块”操作

    关于objectArx /CAD二次开发中"属性块"操作 属性块就是在图块上附加一些文字属性(Attribute),这些文字可以非常方便地修改.属性块被广泛应用在工程设计和机械设计 ...

  7. cad二次开发——自动运行dll,加载菜单(收集)

    1.自动加载dll的方法(个人觉得下面第4个方法会更方便) cad加载dll_实现CAD插件启动自动加载的三种方法_weixin_39774556的博客-CSDN博客从网上或者别处淘来的CAD插件,效 ...

  8. CAD二次开发(C#)第三节

    前言 这是最后一部分代码,往后若有时间,对其中的代码详细讲解.初心不变,以便日后查看.特别感谢作者孙成波译作<AutoCAD .NET 开发指南 2012 版>.三部分代码里面有些许失误, ...

  9. c# CAD二次开发 模拟CAD移动图形, 通过圆现在注记,改变图形颜色

    c# CAD二次开发 模拟CAD移动图形, 通过圆现在注记,改变图形颜色 using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD ...

最新文章

  1. 必读!53个Python经典面试题详解
  2. $.ajax() 方法的理解
  3. shrio的rememberMe不起作用
  4. 00_python安装与配置(mac)
  5. 最近使用计算机的记录,windows7查看最近使用记录
  6. libevent和基于libevent的网络编程
  7. mysql 的 distinct 去掉重复的数据
  8. 计算机旅游网站论文,设计一个旅游网站 计算机专业毕业论文.doc
  9. python类使用异步_异步Python类
  10. C++ 句柄类的原理以及设计
  11. 【IIS问题】——默认网站localhost无法打开,错误类型404
  12. Python学习笔记(十五):python 中的面向对象
  13. UG二次开发(C#)—依据特征获取选择体对象
  14. 炭黑是做什么用的 炭黑起什么作用
  15. android p 模拟器开启刘海模式
  16. 基于SSH框架的学生考试系统(注意看文档目录)
  17. 学习vue3组件事件时,思维发散(溜号)的感悟
  18. OSPF特殊区域TOTAL STUB配置实验
  19. nodejs插件knex 日志打印
  20. AWK详解 什么是AWK

热门文章

  1. 分享20个无版权的高清无 码图库站
  2. GitHub上README.md排版样式教程
  3. Java 关于中文乱码问题的解决方案与经验【转载】
  4. CAD标注常见问题:为什么CAD软件快速标注后中间有很多0?
  5. win10配置lua环境
  6. 【mysql】聚簇索引(聚集索引)和非聚簇索引(二级索引、辅助索引)的区别
  7. c语言中如何用sqar函数,简易函数信号发生器设计_毕业论文.doc
  8. 百度联盟百青藤app流量变现
  9. 计算机专用英语词汇1000个!
  10. Java之原子性-乐观锁与悲观锁