AutoCAD二次开发之.net API学习笔记

1、用户交互

AutoCAD中的用户交互是指提示用户输入指定类型的数据或者从当前图形环境中选择所需要的点或者实体对象

,在.netAPI中要实现用户交互操作需要用到Autodesk.AutoCAD.EditorInput命名空间中的Editor类。

(1)输入数据方法:先获取Editor对象,然后获取特定类型的数据(Prompt***Options),这时需要对应类

型的对象来接收(Prompt***Result),开发者可以通过判断PromptResult类的Status属性来指示输入是否成

功;
(2)选择方法:对应“输入数据”流程相应有PromptSelectionOptions和PromptSelectionResult两个类,另

外在创建选择集的时候也可以使用过滤器(SelectionFilter)来进行选择。

2、AutoCAD数据库
AutoCAD数据库是DWG文件在内存中的表示,用来存储组成AutoCAD的数据库对象的容器,数据库对象是指可以

保存到文件当中的对象,主要包括实体、符号表和对象字典等。

(1)实体就是具有图形表示的数据库对象,如直线、圆、圆弧、文本、三维实体、样条曲线和椭圆等,用Entity类表示,AutoCAD中所有实体都保存在块表记录中,而块表记录保存在块表中(BlockTable)。
(2)每个新建的图形文件,AutoCAD数据库中都会自动创建9中类型的符号表,每种符号表只能存储指定类型

的记录,例如,层表只能保存层表记录LayerTableRecords,开发者既不能创建也不能删除符号表,可以操作

的只能是符号表中的记录,如Add,Delete,Item(通过字符关键字获取指定的记录),Has(判断记录是否存在);
(3)命名对象词典是所有扩充词典的根对象,其中包含了其它词典,作为非实体对象保存的容器,当AutoCAD

创建新图形时,AutoCAD数据库自动创建一个命名对象词典,可以保存除实体对象之外的其它数据库对象,缺

省情况下,命名对象词典主要包含组词典、线型词典、布局词典;

(4)对数据库的所有操作都要通过事务来完成,事务用Transaction类表示,在事务的范围内,程序能够从对象ID值获取数据库对象,在事务结束之前这些数据库对象都能够有效使用,直到事务成功结束,才能提交在对象上的操作,相关操作包括StartTransaction,Commit,Abort,Dispose等等;
(5)数据库对象在数据库中按照层次保存,每个数据库对象,无论是实体还是层表记录都必须存储在特定的

容器中,其层次关系如下图所示:



 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值