块表记录是包裹实体对象的最后一层包装了,接下来让我们继续利用MgdDbg工具查看上一小节创建的块定义内的对象有哪些. 操作步骤如下:选择块表记录TestBlock,在右侧列表中找到“Entities within block”,选中该行并单击鼠标左键,弹出Snoop Objects对话框,列表中显示出了创建块定义时选择的两个对象:圆和直线.(下图中BED.BEE分别为实体对象的句柄(Handle)). 图 4‑10 TestBlock块表记录中的实体对象 如果刚才创建块时,您选择了删除所选对象,…
为了清楚的了解块表的组成内容,让我们利用MgdDbg工具查看一下块表中的块表记录.在开始页面,以无样板模式新建一个.dwg文件(图 4‑7(1)),这样的话,默认的块表记录只有3条(图 4‑7(2)),分别是模型空间和两个布局(这3条特殊的块表记录我们暂且不去研究,等把普通的块表记录弄明白之后,再研究这3条特殊的块表记录).这里涉及到了两个名词:块表和块表记录,需要加以区分,不能混淆.块表是9个符号表中的一员,块表中包含的内容是块表记录,块表记录是块表的“成员”. (1) (2) 图 4‑7 (…
上一小节我们看到了符号表包含了一系列的表(共9个),这些表数量是固定的,用户不能增加新的表,也不能删除现有的表. 符号表名称 符号表功能 Block Table 块表 存储图形数据库中定义的块.此表中含有两个非常重要的记录:模型空间和图纸空间. Dimension Style Table 尺寸标注样式表 存储尺寸标注样式 Layer Table 层表 存储图层 Linetype Table 线型表 存储线型 RegApp Table 应用程序名注册表 存储为图形数据库中对象的扩展实体数据而注册的…
再次想象另外一个场景:启动AutoCAD程序后,您新建了两个.dwg文件,也就是说创建了两个文档(Document)对象.将窗口进行层叠,您看到的窗口应该与下图类似: 图 4‑3 如何访问这些文档呢?还是让我们通过简单的代码来了解一下吧: 利用向导创建项目,在MyCommands类中添加以下代码,之后编译.加载并运行命令. [CommandMethod("MyGroup", "ListDocs", CommandFlags.Modal)] public void L…
想象这样一个场景:当您开始一天的工作,坐到电脑前面,用鼠标双击桌面上的AutoCAD Civil 3D图标,这时一个AutoCAD Civil 3D应用程序将运行起来.打开Windows任务管理器,我们可以看到类似窗口: 图 4‑1 应用程序 本书中所涉及的二次开发程序,都是在这个AutoCAD Civil 3D应用程序基础上运行的,虽然我们可以实现利用自己的程序来控制AutoCAD的加载与运行,但这部分内容并不在本书的所涵盖的内容之中,如果您需要这方面的资料,你需要查阅其他资料,在AutoCA…
数据库的结构是什么样的?对象是如何存储在数据库中的?这些问题我们需要搞明白.在此我们可以借助工具ArxDbg或MgdDbg来查看数据库结构及其内容.下图就是利用MgdDbg工具查看到的内容,我们可以看到数据库主要由符号表(Symbol Tables)及命名对象字典(Dictionaries)组成.符号表及字典的具体内容在后续小节中详述. (1) (2) 图 4‑6 数据库主要组成部分 如何从文档中获取数据库,因比较简单,将在后续的代码中直接列出.…
在方法CreateLine内完成以下代码: 01 public void CreateLine() 02 { 03 PromptPointOptions ppo = new PromptPointOptions("\n拾取直线起点:"); 04 PromptPointResult ppr = ed.GetPoint(ppo); 05 if (ppr.Status != PromptStatus.OK) return; 06 Point3d startPt = ppr.Value; 07…
该函数也使用外部指定图纸中的数据库中的块 Int getIdsByDwgBlkName(AcDbDatabase *pDwg, CString strBlkName, AcDbObjectIdArray &objIds) { //打开指定块定义的块表记录 AcDbBlockTable *pBlkTbl = NULL; pDwg->getBlockTable(pBlkTbl, AcDb::kForRead); AcDbBlockTableRecord* pBlkTblRcd; Acad::Er…
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 xxx 八 xxx 一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄.…
搭建MyBatis开发环境,实现用户表记录数查询 1.在MyEclipse中创建工程,导入MyBatis的jar包…