第六章 ObjectARX
开发技术
1. AutoCAD二次开发概述 7. MFC对话框
2. ObjectARX简介 8. 搜索图形数据库及获取实体
3. 常用实体类和几何类 数据
4. 创建实体对象 9. 交互式实体数据获取
5. 创建三维实体 10. 复杂实体的处理
6. 用户交互函数
1
6.1 AutoCAD二次开发概述
什么是AutoCAD二次开发
二次开发的目的和需求
间接开发
直接开发
辅助开发
AutoCAD 的三代开发工具
2
什么是AutoCAD二次开发
在AutoCAD基础上,利用开发工具拓展或新
增功能,以适应实际应用的需要。
AutoCAD 的二次开发可以分为:
间接开发
直接开发
辅助开发
3
为什么要二次开发
AutoCAD功能不是很强大吗?
AutoCAD是一种通用CAD软件
AutoCAD是一种交互式软件
提高设计的自动化水平
结合大量数值运算
满足实际应用中的特殊需要
为什么不独立开发?
基于AutoCAD可以节省大量的开发资源
4
间接开发
通过文件与AutoCAD 间接、单向通讯,应用程序在
AutoCAD环境外运行。
基于SCR命令文件
基于DXF图形交换文件
基于DWG图形格式文件
优点:程序简单,开发环境与AutoCAD独立。
缺点:无法人机交互,运行环境与AutoCAD独立,
调试困难,运行效率低。
5
直接开发
直接操作图形数据库,与AutoCAD双向通讯,应
用程序在AutoCAD环境内运行。
AutoLISP和Visual LISP
VBA和ActiveX
ADS和ADSRX
ObjectARX
优点:可以人机交互,运行在AutoCAD环境中,
调试方便,运行效率高。
缺点:程序较复杂,易引起系统崩溃。
6
辅助开发
为应用程序所调用或使用。
DCL对话框文件
MNU菜单文件
工具条
. . .
7
AutoCAD 的第一代开发工具
AutoLISP 程序相对简单
(AutoCAD 2.17版) 执行效率低
基于LISP语言 源程序无法加密
内嵌语言 不适合大量数值运算
解释型语言 无集成开发环境
表处理语言
8
AutoCAD 的第二代开发工具
ADS (AutoCAD 11版) 实模