AutoCAD二次开发教程复习总结 下载本文

内容发布更新时间 : 2024/11/8 13:52:18星期一 下面是文章的全部内容请认真阅读。

学习好资料 欢迎下载

15、有模态对话框和无模态对话框有什么区别?如何实现无模态对话框?

模态对话框为不可切换焦点的对话框,一般用于静态的输入或输出数据或切换至AutoCAD拾取对象操作。模态窗体显示时,程序的焦点始终保持在模态窗体上,如果要切换到AutoCAD环境进行交互时需要EditorUserInteraction类来切换焦点到AutoCAD的命令行 无模态对话框为活动焦点的对话框,程序焦点可以自由的从AutoCAD界面到窗体之间切换,用于用户与AutoCAD环境的即时交互操作 过程:

1)引用命名空间Autodesk.AutoCAD.Windows 2)创建用户控件并添加相应控件 3)创建面板并加载用户自定义窗体

4)添加拖拽操作,从Autodesk.AutoCAD.Windows.DropTarget 派生对象,并重载OnDrop 5)在自定义窗体中创建“拖拽创建”控件,假设命名为“lb_drp” 6)自定义用户窗体的构造函数中添加事件处理

16、列出ObjectARX .NET API可以创建AutoCAD数据库中的所有图形对象,并给出创建代码。

17、用户交互输入包括哪些?如何判断用户输入值的有效性?

A、读入字符串

B、读入Double型数据

学习好资料 欢迎下载

C、读入Point

D、拾取实体

E、打开dwg文件

18、一个AutoCAD的图形数据库中可以包含多个块表BlockTable和BlockTableRecord吗?

块表:包含模型空间、图纸空间和用户创建的块定义,块表记录中保存了图形数据库中的实体。生成一个实体对象的实质是向AutoCAD数据库的块表记录中增加一条记录。在ARX应用程序中,这个过程是通过ARX数据库操作函数来完成的。因此,BlockTable只能有一个,

学习好资料 欢迎下载

而BlockTableRecord可以有多个

19、AutoCAD可以定义哪些类型的块?它们有何区别?存在什么地方?带属性块的属性指的是什么的属性?分别给出所有类型块定义及引用代码。

带属性的块和不带属性的块,存在于当前图形数据库的块表里,

属性指的是:使用AttributeDefinition类创建属性对象,它是从DBText类继承而来

A、属性文字的插入点、高度、旋转角度、对齐方式和宽度。 B、属性提示(Prompt)。 C、属性的默认值。 D、属性的模式,如不可见方式(Invisible)、常量方式(Constant)、验证方式(Verify) E、预置方式(Preset)。 F、属性标签名(Tag) 1)不带属性的块: A、块定义:

blkid = bt.Add(blk);

trans.AddNewlyCreatedDBObject(blk, true); trans.Commit();

B、使用BlockReference类定义快引用,

2)带属性的块 A、定义

学习好资料 欢迎下载

B、块的引用:同上

20、试分析Autodesk.AutoCAD. DatabaseServices与Autodesk.AutoCAD.Geometry中的几何对象的区别、联系与作用?

前者参见P98,后者参见P292

21、如何在当前文件中插入外部文件中的块?

在当前AutoCAD数据库中导入其他文件中的块,但文件本身是不会被当作一个块导入 实现过程:

A、首先定义一个数据库对象来表示包含块的文件, 该数据库对象会被加载到内存中但不会被显示在AutoCAD窗口中

B、调用Database类的ReadDwgFile函数将外部Dwg文件读入到新创建的数据库对象中

C、调用Database类的WblockCloneObjects函数将外部Dwg文件中的块对象复制到当前数据库中