ObjectARX开发详解:XRecord创建与应用
需积分: 35 131 浏览量
更新于2024-08-19
收藏 230KB PPT 举报
"XRecord创建-ObjectArx 开发说明"
ObjectARX是Autodesk AutoCAD的底层开发平台,它提供了一套API(应用程序接口),允许开发者创建能够在AutoCAD环境中运行的动态链接库(DLL)应用,从而扩展AutoCAD的功能。通过ObjectARX,开发者可以实现对AutoCAD图形数据库的深度访问、编辑以及定制化工具的开发。
在AutoCAD的ObjectARX编程中,XRecord是一种特殊类型的记录,用于存储非几何数据。XRecord是基于AcDbXrecord类的,它可以存储任意类型的AutoLISP数据结构,如列表、符号或数字等。这种数据结构通常用于扩展AutoCAD对象的属性,保存附加信息而不影响对象本身的几何特性。
创建XRecord的步骤如下:
1. **创建对象的扩展字典**:每个AutoCAD对象都可以拥有一个扩展字典,其中可以存储附加信息,包括XRecord。通过调用`AcDbObject::createExtensionDictionary()`方法可以创建这个扩展字典,而`AcDbObject::extensionDictionary()`则用于获取对象的扩展字典ID。
2. **生成AcDbXrecord实例**:使用`new AcDbXrecord`来创建一个新的XRecord对象。这将分配内存并初始化XRecord对象。
3. **将XRecord加入字典**:首先,你需要打开扩展字典,可以通过`acdbOpenObject()`函数以写入模式访问。然后,使用`setAt()`方法将新创建的XRecord对象添加到字典中,指定一个键(通常是字符串)和返回的XRecord对象ID。
4. **填充XRecord**:XRecord可以存储AutoLISP的数据链表。利用`setFromRbChain()`方法,你可以将一个AutoLISP的链表数据复制到XRecord中。`*head`参数通常是一个指向链表头的指针。
ObjectARX开发有一些特定的特点和要求:
- 不同版本的AutoCAD需要对应版本的开发环境和开发包,例如,从ACAD2000到ACAD2002使用VC++6.0,而从ACAD2007开始则需要使用VS.NET。
- 自ACAD2007起,字符串使用UNICODE编码。
- ARX应用之间不能有直接的依赖关系,即A.arx依赖B.arx,B.arx依赖C.dbx,会导致A.arx无法加载。
- ObjectARX类库包括AcRx、AcEd、AcDb、AcGi、AcGe和ADS等,分别负责应用程序绑定、命令注册、图形数据库、图形绘制、几何对象以及早期版本的C语言函数。
- 使用ObjectARX,开发者能够实现对图形数据库的访问和编辑,定义新的命令,响应AutoCAD事件,以及构建复杂的自定义对象和工具。
ObjectARX是AutoCAD开发的强大工具,通过XRecord,开发者可以为AutoCAD对象添加丰富的非几何属性,增强其功能性和灵活性。
2019-09-12 上传
2022-04-19 上传
2011-07-26 上传
2014-02-10 上传
2021-08-04 上传
2008-10-25 上传
2013-11-27 上传
巴黎巨星岬太郎
- 粉丝: 17
- 资源: 2万+
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能