内容发布更新时间 : 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文件中的块对象复制到当前数据库中