Transcript ppt课件
ObjectARX 主讲:王兴波教授 目 录 • • • • 一、AutoCAD运行原理 二、AutoCAD图形数据库概述 三、数据库对象DbObject概述 四、ObjectARX开发介绍 一、AutoCAD运行原理 二、AutoCAD图形数据库概述 • AutoCAD图形实际上是一系列存放在一个 Database类型对象中的DBObject对象。 • 一个dwg就是一个矢量图形数据库 • 具备数据库的基本组织结构。 • 包括九个符号表和一个命名对象词典 Object ARX 4 二、AutoCAD图形数据库结构 • DataBase数据库 • |------九大符号表 • | |------块表(BlockTable) • | |------尺寸标注样式表(DimStyleTable) • | |------层表(LayerTable) • | |------线型表(LinetypeTable) • | |------已注册应用程序表(RegAppTable) • | |------字体样式表(TextStyleTable) • | |------用户坐标系表(UCSTable) • | |------视口表(ViewportTable) • | |------视图表(ViewTable) • |-------命名对象词典( DBDictionary ) • 访问: DataBase 属性 Object ARX 5 三、数据库对象DbObject概述 • 每一个数据库对象具有以下两种表示方法: • 句柄 —— Handle • 对象id —— ObjectId Object ARX 8 二者之间的相互关系 注意: Handle不变 ,ObjectId变化 To get a pointer to the underlying unmanaged object from a managed object, use the UnmanagedObject property. To create a managed object using an unmanaged object, use the DisposableWrapper.Create() method. Object ARX 9 四、ObjectARX介绍 • ObjectARX是一个仅在AutoCAD上进行二 次开发的一套开发环境,扩展AutoCAD功 能 为各种工程设计开发便利的工具,分为C++ 与.net类库。 ARX Apps ARX Apps ObjectARX AutoCAD.EXE Object ARX 10 用ObjectARX能做些什么? • • • • • • • 访问、编辑和扩展AutoCAD图形数据库 和AutoCAD系统相互通信 使用MFC创建用户接口 支持多文档应用 创建自定义类和自定义实体 可以开发复杂的应用 和其他开发环境进行协作 Object ARX 11 ObjectARX开发特点 • 不同的ACAD版本用不同的开发包及开发环境 – – – – ACAD2000~ACAD2002 : VC++ 6.0 ACAD2004~ACAD2006 : VS.NET 2002 ACAD2007~ACAD2009 : VS.NET 2005 ACAD2010~ : VS.NET 2008 • ACAD2000开始字符串采用UNICODE编码 • 与ACAD已有功能地位一致 Object ARX 12 ObjectARX类库构成 • AcRx:用于帮定一个应用程序以及运行类的注册 和识别。 • AcEd:用于注册自定义命令和AutoCAD事件通告。 • AcDb:AutoCAD图形数据库。 • AcGi: 用于AutoCAD 的图形类。 • AcGe:用于AutoCAD 的线型和几何对象通用类。 • ADS: AutoCAD 的早期版本C语言函数库。 Object ARX 13 ObjectARX类结构 • 类图classmap.dwg – 位置:\ObjectARX 2000\classmap Object ARX 14 访问数据库对象步骤 • 打开对象 • 操作对象 • 关闭对象 Object ARX 16 对象访问限制 • 如果一个对象被写打开,则在关闭前不能再 被读打开或写打开 • 如果一个对象被读打开,则在关闭前不能再 被写打开,但可被读打开(一个对象最多可同 时被打开128次) Object ARX 17 ARX应用向导 • 应用向导:ObjectARX 2000的在 \ObjectARX 2000\utils\ObjARXWiz目录 下。 • 功能:与MFC应用向导类似 – 产生工程 – 产生特定类及函数 Object ARX 18 项目创建与加载 • 项目创建与开发见材料《机电专业C++使用 教材》 73 页 Object ARX 19 数据库结构查看工具 • ARXDBG工具的使用 – 位置:\ObjectARX 2000\samples\database\ARXDBG – 文档:ArxDbg.doc Object ARX 20 ~完~ • 谢谢各位! Object ARX