第一篇 AutoCAD ObjectARX 开发教程
n 本篇提要
AutoCAD 是采用开放架构体系 的通用 CAD 平台,它提供一个可 扩展的编程框架,用户可以使用 API 进行定制开发。ObjectARX 是以 C++语言为基础的面向对象 的开发环境和应用程序接口,也 是 AutoCAD 最为强大的定制开发 工具,本篇我们介绍 ObjectARX 的程序架构和使用方法,通过本 章的学习可以使用 ObjectARX 开发快速、高效、简洁的应用程序。
vba编程免费教程本章简介8
第 1 章:AuotCAD 开发概览
Ø AuotCAD 开发概述。 Ø AutoCAD 开发接口。 Ø ObjectARX 开发环境的配置。 Ø ObjectARX 的程序结构。 Ø ObjectARX 程序的开发过程。
1
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint
学习要点
† † † † † 了解 AutoCAD 的开发概况。 了解 AutoCAD 开发接口。 了解 ObjectARX 程序的结构。 掌握 ObjectARX 开发环境的配置。 掌握使用 ObjectARX 向导和创建开发工程。
1.1.1
AutoCAD 开发概述
AutoCAD 是目前工程领域首选的 CAD 系统, 它采用的开放的架构体系, 在这种架构 体系下可以根据各行业用户的专业特点, 进一步开发各种专业的应用软件, 提供更加全面 而细致的解决方案,以满足各不同行业用户的设计需求。 AutoCAD 作为通用的图形平台提供一些 CAD 系统的基本功能,如造型、编辑、注释 等,但它不针对具体行业提供一些专业设计的功能,比如要绘制一个齿轮,就需要根据齿 轮的参数计算出绘制数据,然后调用 AutoCAD 的绘图命令绘出图形。如果在绘制完成后 要更改齿轮的参数,则需要重新计算和绘制,这对用户来说是费时费力的,我们完全可以 将上述计算和绘图过程通过相应的程序来实现, 通过定制的命令自动完成计算和绘图过程。 显而易见,通过 AutoCAD 提供的开发接口可以定制出某些专业化模块或者解决方案,这 就是使得针对某个行业对 AutoCAD 进行定制开发十分必要。 通过 AutoCAD 定制开发可以实现以下功能: n 访问 AutoCAD 的内部图形数据库 n 与 AutoCAD 进行交互操作 n 定制命令或者用户 UI n 扩充 AutoCAD 的内部协议和数据库对象(仅限 ObjectARX) n 开发面向工程实际的专业的解决方案
1.1.2
AutoCAD 的开发接口
目前 AutoCAD 提供的开发接口有 ObjectARX、.NET、VisualLisp、VBA 等,用户可 以根据自己的实际情况和需求来决定采用哪种 API 进行开发,下面对 AutoCAD 提供的各 个开发接口进行简单的介绍。
2
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint
图 1-1 AutoCAD 提供的开发接口 ObjectARX 介绍 ObjectARX 的全称是 AutoCAD® Runtime Extension,是以 C++语言为基础的面向对 象的开发环境和应用程序接口, ObjectARX 程序本质上为 Windows 动态链接库(DLL)程序, 这些库与 AutoCAD 在同一地址空间运行并能直接利用 AutoCAD 核心数据结构和代码, 使得二次开发者可以充分利用 AutoCAD 的开放结构,直接访问 AutoCAD 数据库结构、 图形系统以及 CAD 几何造型核心,能够在运行期间实时扩展 AutoCAD 的功能,同时它 也是一个可扩展的编程框架,可以扩展 AutoCAD 的对象和协议, AutoCAD 自身的许多 模块均是用 ObjectARX 开发的,ObjectARX 是 AutoCAD 最为强大的定制开发工具。 使用 ObjectARX 可以开发
快速、高效、简洁的应用程序,用户可以通过其强大的功 能开发专业的 CAD 软件系统,如加拿大船舶建造软件 ShipConstructor。要使用 ObjectARX API 进行开发需要安装专门的 ObjectARX SDK 开发包,该开发包可以从 ,AutoCAD 通常每三 Autodesk 免费下载(www.autodesk/ObjectARX) 个版本采用相同的数据格式和相同的 API 以及编译器(如图 1-2) ,不同的 AutoCAD 版本 对应相应的 ObjectARX SDK 的版本,开发时候需要根据 AutoCAD 的版本选用对应版本 的 ObjectARX SDK, 例如要开发运行在 AutoCAD 2008 下的应用程序, 需要采用 ObjectARX 2008 SDK 开发包 。 n
3
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint
图 1-2 AutoCAD 的版本变化 n .NET
从 AutoCAD 2006 开始,AutoCAD 增加了.NET API。它提供了一系列托管的 外包类(Managed Wrapper Class) ,使开发人员可在.NET 框架下,使用任何支持.NET 的 语言,如 VB.NET、C# 和 Managed C++等对 AutoCAD 进行二次开发。该开发接口是完 全面向对象的,在拥有与 C++相匹配的强大功能的同时,具有方便易用的特点,是较理想 的 AutoCAD 二次开发工具。 使用.NET API 对 AutoCAD 进行开发需要 Microsoft Visual Studio 2005 集成开发环境 作为开发平台,也可以使用 Micro
soft Visual C# 2005 Express Edition 集成开发环境 (IDE) 进行 C# 语言进行编程, 测试版的 Microsoft Visual C# 2005 Express Edition 已经通过 Web 下载 (msdn.microsoft/express) 免费提供。 n COM (VBA) AutoCAD 提供了 ActiveX Automation 编程接口, 用户可以使用 ActiveX 客户编程语 言如 VisualBasic 等来定制 AutoCAD 功能。 AutoCAD 本身集成了 VBA 开发环境 (VBA IDE) , 开发者可以通过 VBA 开发 AutoCAD 的进程内程序,另外也可以通过 COM 机制使用支 持 COM 开发的语言,如 Visual Basic 开发 AutoCAD 的进程外程序,总体来说 VBA 语言 简单易用,比较容易掌握。 n VisualLISP(AutoLISP) AutoLISP 是 AutoCAD 提供的最早的一种解释型的 API,主要用来自动完成重复 性的任务,从 AutoCAD R14 开始提供的 VisualLISP 是 AutoLISP 的扩展和延伸,是一种 半编译型 API,与 AutoLISP 完全兼容,同时它能访问 AutoCAD 的多文档设计环境、 COM/ActiveX 用户界面和事件响应器等。 AutoCAD 自身提供 VisualLISP 的集成开发环境,用户可以通过“vlide”命令启动该 集成开发环境。
图 1-3 AutoCAD 各种 API 的性能比较
4
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint
表 1-1 AutoCAD 各种 API 的比较 比较内容 性能 执行速度 稳定性 易用性 开发技术难度 ObjectARX
非常强大 最快 好 好 大 .NET 强 快 好 好 一般 VBA 一般 快 好 好 小 VisualLISP 一般 慢 好 一般 小
从上面的比较中我们可以看出 VisualLISP /AutoLISP 和 VisualBASIC 方便易学,开发 周期短,适合开发一些小型的实用工具,但是,对开发速度和性能要求都很高的解决方案 或者大型 CAD 应用软件,建议使用 ObjectARX 作为开发工具,有时候也可以考虑各个 API 的优缺点,在开发的系统中使用多种 API 集成开发。 从工程的实际需求来看,AutoCAD 有很好的开放性,而目前针对专业定制的开发的 需求又是非常之大的,所以基于 AutoCAD 平台定制专业的 CAD 系统或者行业解决方案 具有十分广阔的发展前景。
1.1.3
ObjectARX 开发环境
要运用 ObjectARX 进行二次开发, 必须首先设置好 ObjectARX 的开发环境, AutoCAD 以 2008 为例来说明,首先要从 Autodesk 免费下载 ObjectARX 2008(2007) SDK,下载 后的安装包是个自解压文件,将其释放到指定的目录,如 C:\CAD SDK\ObjectARX 2008, ObjectARX 2008 SDK 开发环境是 Microsoft Visual Studio 2005(V C++ 8.0) 。 安装好 ObjectARX SDK 后, 就可以开始设置开发环境了,环境设置的主要任务就是设 置头文件(*.h)和库文件(*.lib)的查路径,头文件(*.h)和库文件(*.lib)的查路径为 VC++的环境参数,设置一次即可,对以后的所有项目均有效。 在
Microsoft Visual Studio 2005 中选择【工具】菜单下的【选项】 ,启动【选项】对话 框,选择【项目和解决方案】下的【VC++目录】 ,在【包含文件】条目中添加 ObjectARX 的包含文件(*.h)目录 C:\CAD SDK\ObjectARX 2008\inc,如图 1-4。
图 1-4 添加 ObjectARX 的包含文件目录 在【库文件】条目中添加 ObjectARX 的库文件(*.lib)目录 C:\CAD SDK\ObjectARX 2008\lib, 如图 1-5。
5
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论