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