




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
红色部分为答案空白或不确定CAD复习题及答案1、AutoLISP2、VisualLISP3、VBA4、ADS5、ObjectARX 6、.NET 托管API7、ActiveX Automation8、Visual Java1、AutoCAD二次开发方式有哪些?各自优缺点?2、AutoCAD 中实现ObjectARX .NET API 的有哪些优点? 3、AutoCAD .NET API 的三个主要的DLL文件是?4、简述ObjectARX .NET API所对应的VS.NET版本。5、简述AutoCAD数据库的组成。AutoCAD数据库是用来管理当前图形中的图元实体和其他非几何信息的容器对象,一个AutoCAD数据库包含一套固定的符号表和命名的对象词典,每一个符号表包含一个特定符号表记录类的实例,例如层表(AcDbLayerTable)中包含层表的记录,块表(AcDbBlockTable)中包含块表记录,所有的AutoCAD实体均包含于块表记录中。词典提供了一种通用容器来存储对象,它可以保存AcDbObject对象以及其它对象,也可以创建新的对象词典,将新的数据库元素加入其中。AutoCAD数据库的组成如图所示,从图中我们可以看出数据库主要由一下内容组成:1)层表AcDbLayerTable和层表记录AcDbLayerTableRecord,。2)块表AcDbBlockTable和块表记录AcDbBlockTableRecord。AutoCAD中所有可见实体均存储在块表记录。块表中包含有两条特殊的记录*MODEL_SPACE(模型空间)和*PAPER_SPACE(图纸空间)。3)其他符号表和符号表记录。4)命名对象词典。缺省情况下当AutoCAD数据库被建立以后,词典中就包括了组词典以及MILINE样式词典。5)符号表和命名对象词典都是存储数据库对象的容器,用于组织和管理数据库对象。AutoCAD数据库通常有9个固定类型的符号表,开发者不能向数据库中新增或者删除任何一种类型符号表,能实现的是向符号表中添加对应的符号表记录。6、Application 对象是 AutoCAD .NET API 对象模型的根对象,它包括哪些部分?Application 对象是层次结构的根,而且它提供对 AutoCAD 的主窗口的访问。7、列出所有图形与非图形对象,他们有什么区别?图形对象,也称为图元,是组成图形的可见对象(例如直线、圆、光栅图像等):1)添加图形对象到图形中是通过正确的块表记录引用,然后使用 AppendEntity 方法将一个新对象添加到图形中来完成的2)要修改或查询这些对象,请从正确的块表记录获得对象引用,然后使用对象本身的方法或特性。每一个图形对象都拥有允许应用程序执行大部分 AutoCAD 编辑命令的方法,例如复制、删除、移动、镜像等这些对象还提供了一些方法,用来设置和检索对象的扩展数据(xdata),亮显和更新对象,以及从另外的图元设置属性。大多数图形对象具有诸如 LayerId、LinetypeId、Color 和 Handle 之类的典型特性。每个对象也具有一些特有的特性,例如 Center、StartPoint、Radius 和 FitTolerance非图形对象是指属于图形的一部分但不可见的(提示性的)对象,例如 Layers、Linetypes、DimStyles、TableStyle 等1)若要创建新的符号表记录,请使用表所有者的 Add 方法或使用 SetAt 方法添加一个字典到命令对象字典中2)要修改或查询这些对象,请使用对象本身的方法或特性。每一个非图形对象都有用于特定目的的方法和特性,都有设置和检索扩展数据以及删除自己的方法8、如何实现对AutoCAD数据库图形对象的访问?给出实例代码。大部分的集合和容器对象都是通过 Document 或 Database 对象访问的。Document 和 Database 对象都包含一些相应的特性用来访问大多数可用集合的对象或对象 ID。例如,以下代码定义一个变量,并将其设置为当前图形的 LayersTable 对象:9、AutoCAD中集合对象是指?列举出部分实例。 10、如何定义一个用户命令?CommandMethod 所接受的属性包括哪些?命令和 AutoLISP 函数可以通过使用两个属性:CommandMethod 和 LispFunction 就可以在 AutoCAD .NET API 中被定义使用 CommandMethod 属性定义一个命令,CommandMethod 属性期待一个字符串值,它将当作被定义命令的全局名称。和全局命令名称一起,CommandMethod 属性还能接受如下值:【Command Flags】 -定义命令的行为【Group Name 】- 命令组名称【Local Name 】- 本地化命令名称,通常用于特定语言【Help Topic Name】 - 当按 F1 键时应该显示的帮助主题名称【Context Menu Type Flags】 - 定义当命令被激活时相应的快捷菜单的状态【Help File Name】 -包含当命令激活并按 F1 键时将要显示其中帮助主题的帮助文件11、如何通过代码调用AutoCAD内部命令?A、使用 SendStringToExecute 方法可以直接将命令发送到 AutoCAD 命令行。SendStringToExecute 方法将单个字符串发送到命令行。该字符串必须包含提供给所执行命令的参数,并依照该命令的提示顺序所要求的次序排列这些参数B、使用 SendStringToExecute 执行命令是异步的,直到 .NET 命令结束,否则不会被调用。如果需要立即执行一个命令(同步),应该:1)使用 COM Automation 库中的 SendCommand 方法,它可以利用 .NET COM Interop 访问2)使用 ObjectARX 或 .NET API 定义命令,P/Invoke 非托管的用于本地化的 AutoCAD 命令的 acedCommand 或 acedCmd 方法3)通过定义 AutoLISP 命令, P/Invoke 非托管的 acedInvoke 方法12、如何实现图形对象的旋转、平移、缩放?请给出具体实现。使用transformBy函数进行几何变换1)Entity.TransformBy(Matrix3d transform)2)transformBy是Entity类的一个成员函数,该函数使用一个Matrix3d参数对实体进行相应的几何变换3)Matrix3d是一个四维矩阵,常用函数:Translation:生成一个移动对象的矩阵Rotation:生成旋转矩阵Scaling:生成比例缩放矩阵。Mirroring:生成镜像矩阵13、如何实现AutoCAD填充过程? 14、如何创建用户菜单和用户工具条,请给出具体实现过程?菜单: 工具条:15、有模态对话框和无模态对话框有什么区别?如何实现无模态对话框?模态对话框为不可切换焦点的对话框,一般用于静态的输入或输出数据或切换至AutoCAD拾取对象操作。模态窗体显示时,程序的焦点始终保持在模态窗体上,如果要切换到AutoCAD环境进行交互时需要EditorUserInteraction类来切换焦点到AutoCAD的命令行无模态对话框为活动焦点的对话框,程序焦点可以自由的从AutoCAD界面到窗体之间切换,用于用户与AutoCAD环境的即时交互操作过程:1)引用命名空间Autodesk.AutoCAD.Windows2)创建用户控件并添加相应控件3)创建面板并加载用户自定义窗体4)添加拖拽操作,从Autodesk.AutoCAD.Windows.DropTarget 派生对象,并重载OnDrop5)在自定义窗体中创建“拖拽创建”控件,假设命名为“lb_drp”6)自定义用户窗体的构造函数中添加事件处理16、列出ObjectARX .NET API可以创建AutoCAD数据库中的所有图形对象,并给出创建代码。 17、用户交互输入包括哪些?如何判断用户输入值的有效性?A、读入字符串B、读入Double型数据C、读入PointD、拾取实体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,后者参见P29221、如何在当前文件中插入外部文件中的块?在当前AutoCAD数据库中导入其他文件中的块,但文件本身是不会被当作一个块导入实现过程:A、首先定义一个数据库对象来表示包含块的文件, 该数据库对象会被加载到内存中但不会被显示在AutoCAD窗口中B、调用Database类的ReadDwgFile函数将外部Dwg文件读入到新创建的数据库对象中C、调用Database类的WblockCloneObjects函数将外部Dwg文件中的块对象复制到当前数据库中22、如何在当前文件中插入其他DWG文件?在当前CAD图形文件中加载其他DWG文件其实质就是源数据库读取图形实体添加到当前的图形数据库中,基本过程如下:1) 创建目标数据库和源数据库2)通过源数据库的ReadDwgFile方法读取外部DWG文件3)使用Insert方法将外部DWG文件的源数据库合并到目标数据库中,那么外部文件在目标数据库的块表中就以新的块表记录存在ObjectId Insert(string blockName, Autodesk.AutoCAD.DatabaseServices.Database dataBase, bool preserveSourceDatabase)4)将新建块表记录加载到当前块表记录中5)删除新建块表记录23、AutoCAD有哪些选择集过滤规则类型?请列举部分实例代码。选择集过滤规则类型:A、使用选择集过滤器定义选择集规则 B、在选择集过滤器中指定多个条件 C、添加复杂的过滤器列表条件 D、在选择器过滤器条件中使用通配符 E、过滤扩展数据实例:A) 实例:使用过滤器选择圆图形实体B)实例C) 实例1:选择半径大于或等于 5.0 的圆实例2:选择 Text 或 Mtext 对象D) 实例:选择所有文字字符串中出现“The”的多行文字E) 实例:查找出包含通过“MY_APP”应用程序添加的外部数据的圆24、在AutoCAD中如何给一条道路添加扩展属性数据XData?请给出具体实现。1)扩展数据需要一个唯一的应用程序名,可以通过acdbRegApp()进行注册,名字最长可达31 个字符2)由于每个数据库对象可以附加多个应用程序的数据,所以在结果缓冲区链表中,应用程序名是每段扩展数据的第一个数据,其后的结果缓冲数据都归此应用程序名所有具体实现:25、如何使用DBDictionary对象给一设计图或一图形对象添加属性信息?实 例:使用扩充词典(XRecord)存储扩展数据26、“当一个对象要被修改时,使用Database对象的ObjectOpendForModify事件应该被通知”这句话是否正确?I dont know ,nor do I care (P103)表格第一竖排最后一个 ,个人认为应该正确27、AutoCAD中的词典和符号表有什么区别和联系?AutoCAD 中的词典是一般的容器对象,这类似于AutoCAD中的符号表,但符号表只能存储指定类型的对象,而词典则可以保存任意的DbObject对象或其派生类的对象,实际上词典是通用非图形数据库对象的容器在AutoCAD中词典用DbDictionary类表示,和符号表一样包含一个唯一的字符串关键字,它的操作也非常类似于符号表操作方法28、简述创建字体样式的基本过程。29、ObjectARX .NET API提供了哪几种创建二维圆弧CircularArc2d的方法?使用Autodesk.AutoCAD.DatabaseServices下的Arc类创建圆
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一个小镇的传奇:课件展示
- 班会课件-男生
- 汽车维修工(高级)试题库+参考答案解析
- 《医学影像学基本原理与应用课件》
- 种子种苗的低温储存技术研究考核试卷
- 四大告诉你如何做报告
- 绝缘制品在工业控制系统网络安全的考核试卷
- 《企业安全生产文化建设的实践与创新》课件
- 小组班会课件
- 粮油行业展会营销与品牌推广考核试卷
- 2025年入团考试知识点概述与试题及答案
- 演出服装定制合同协议
- 计划生育选择试题及答案
- 法律文化-形考作业3-国开(ZJ)-参考资料
- 家校共育“心”模式:青少年心理健康教育家长会
- 2025届东北三省四市高三第二次联考英语试卷含答案
- 2025-2030中国振动监测系统行业市场发展趋势与前景展望战略研究报告
- 《中华茶艺文化》课件
- 统编版二年级语文下册第七单元综合提优卷(含答案)
- 《词汇构建法:课件中的词根词缀解析》
- 华为系统面试题及答案
评论
0/150
提交评论