3.基于C#的CAD二次开发-AtuoCAD数据结构在C#的体现

 CAD二次开发在C#中以命名空间的类实线具体的功能操作。其主要用到的命名空间有以下几个:

Autodesk.AutoCAD.ApplicationServices;文档类命名空间(文档打开、关闭)
Autodesk.AutoCAD.DatabaseServices;数据库类命名空间
Autodesk.AutoCAD.EditorInput;编辑器输入类(对象选择、命令输入等)
Autodesk.AutoCAD.Geometry;几何图形类命名空间

具体类库介绍在后面实际使用中遇到时再详细讲述。

以下概念性资料为引用:【CAD二次开发 对象_cad 二次开发 xrecord-CSDN博客

AutoCAD数据库是DWG文件在内存中的表示,用来存储组成AutoCAD的数据库对象的容器,数据库对象是指可以保存到文件当中的对象,主要包括实体、符号表和对象字典等。

(1)每个新建的图形文件,AutoCAD数据库中都会自动创建9种类型的符号表,每种符号表只能存储指定类型的记录,例如,层表只能保存层表记录LayerTableRecords,开发者既不能创建也不能删除符号表,可以操作的只能是符号表中的记录,如Add,Delete,Item(通过字符关键字获取指定的记录),Has(判断记录是否存在);

        符号表包含了一系列的表(共9个),这些表数量是固定的,用户不能增加新的表,也不能删除现有的表。

符号表名称

符号表功能

Block Table

块表

存储图形数据库中定义的块。此表中含有两个非常重要的记录:模型空间和图纸空间。

Dimension Style Table

尺寸标注样式表

存储尺寸标注样式

Layer Table

层表

存储图层

Linetype Table

线型表

存储线型

RegApp Table

应用程序名注册表

存储为图形数据库中对象的扩展实体数据而注册的应用程序名

Text Style Table

文字样式表

存储文字样式

UCS Table

用户坐标系表

存储用户保存的用户坐标系

View Table

视图表

存储与命令view相关的视图

Viewport Table

视口表

存储当系统变量Tilemode值为1时的视口配置,该配置由命令vports创建。

(2)实体就是具有图形表示的数据库对象,如直线、圆、圆弧、文本、三维实体、样条曲线和椭圆等,用Entity类表示,AutoCAD中所有实体都保存在块表记录中,而块表记录保存在块表中(BlockTable)。

        实体属于Entity,保存在块表记录里,块表记录保存在块表中。        

(3)命名对象词典是所有扩充词典的根对象,其中包含了其它词典,作为非实体对象保存的容器,当AutoCAD创建新图形时,AutoCAD数据库自动创建一个命名对象词典,可以保存除实体对象之外的其它数据库对象,缺省情况下,命名对象词典主要包含组词典、线型词典、布局词典;

(4)对数据库的所有操作都要通过事务来完成,事务用Transaction类表示,在事务的范围内,程序能够从对象ID值获取数据库对象,在事务结束之前这些数据库对象都能够有效使用,直到事务成功结束,才能提交在对象上的操作,相关操作包括StartTransaction,Commit,Abort,Dispose等等;

(5)数据库对象在数据库中按照层次保存,每个数据库对象,无论是实体还是层表记录都必须存储在特定的容器中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ri1520011

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值