高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】autocad arx 学习笔记(一)(转载)
autocad arx 学习笔记(一)(转载)
autocad arx 学习笔记(一)(转载)
来源:leo的日志-网易博客()
autocad arx 学习笔记(一)
以后要从事autocad arx的开发了,对于一个不懂autocad和gis的开发者来说是比较困难的,“图难于易,为大于细”,我相信只要每天努力一点点,最后就会有意想不到的收获。
objectarx 程序设计环境,为开发者使用、用户化和扩充autocad,提供了一个面向对象的c++应用程序设计接口。目前,objectarx 功能如下:
1、 访问autocad数据库。
autocad 图是一个储存在数据库中的对象的集合,这些对象不仅表示图形实体,而且表示内部结构,如符号表和词典。objectarx为我们的应用程序提供了访问这些数据库结构的能力,我们也可以专用应用程序创建新的数据库对象。
2、 与autocad编辑器通信。
objectarx 提供了与autocad编辑器通信的类和成员函数。我们可以用autocad注册命令。该命令可以当作autocad内部命令一样使用。应用程序可以接收和回应发生在autocad内的各种事件。
3、 可以用mfc创建用户界面。
可以使用与autocad共享的动态链结mfc创建objectarx应用程序。我们可以使用该库创建标准的gui。
4、 支持多文档界面(mdi)。
使用objectarx,我们可以创建支持autocad多文档界面的应用程序,并且可以保证在windows环境下创建的应用程序与其他的应用程序正常通信。
5、 创建自定义类。
我们可以用objectarx类层次结构中的类创建自己的自定义类,也可以使用objectarx 的扩展图形库创建自定义类。
6、 编制复杂应用程序。
objectarx支持复杂应用程序的开发,并提供如下特性:通知、事务管理、 深层克隆、引用编辑、协议扩充、代理对象支持。
7、 和其他的程序设计环境通信。
objectarx 应用程序可以与其他的程序接口通信。如visual lisp、activex和com。通过url与实体相连接,或者互联网加裁和存储图文件,objectarx应用程序也可以和互联网通信。
objectarx环境包含下列几组类和函数:
acrx 用于绑定应用程序及运行时类的注册和标识的类。
aced 注册本地autocad命令和autoacd事件通知的类。
acdb autocad数据库类。
acgi 显示autoacd实体的图形类。
acge 公用线性数学和几何学对象应用类。
acrx库提供了一些系统级类,用于dll的初始化和链接及运行时类的注册和标识。该库的基类是acrxobject,它提供如下功能:对象运行时类标识和继承分析、运行时向既有类添加新协议、对象比较测试、对象复制。运行时类型标识是acrxobject的每个子类都有一个相关的类描述者对象(acrxclass类型),用于运行时类型的标识。
aced库提供定义和注册新的autocad命令的类,新命令的操作性能与autocad内部命令是完全一样的。我们定义的新命令被当作本地命令是因为它们与autoacd内部命令具有相同的内部结构 (acedcommandstack)。aced库还提供编辑器反应器和一套与autocad通信的全局函数。注:该库中一个重要的类是aceditorreactor,它监视autocad编辑器的状态,并当指定事件发生时(如形开始、终止和删除命令)通知应用程序。
acdb库提供了组成autocad数据库的类。autocad数据库用于存储所有的图形对象和非对象;图形对象称为实体,组成autocad图;非图形对象(如层、线型和字型)也是图形的一部分。同时我们可以使用acdb库查询和管理autocad实体的实体对象,也可以创建新的数据库对象实例。autocad数据库包含如下主要元素:九个符号表,每个表都拥有唯一的命令符号表条目对象,这些对象表示各种常用的acdbdatabase对象和数据成员;命名的对象词典(类acdbdictionary),提供autocad图的目录表。对于新图来说,该目录表包含四个autocad使用的其他词典id,同时我们的应用程序可以任意向该词典添加其他的对象;一套固定的环境变量,大约个环境变量,其值上由autocad设置的。
acgi库提供了用于绘制autocad实体的图形界面,acdbentity成员函数worlddraw()、viewportdraw()和saveas(),及所有标准实体协议部件都使用acgi库。
acge库提供了应用类,如向量和矩阵,用来完成二维和三维几何操作,它还提供基本的几何对象,如点、曲线和表面。acge还包含两个主要子集:二维和三维几何类,主要抽象基类分别为acgeentity2d和acgeentity3d。
objectarx目录结构
├─arxlabs 目录存放autocad arx使用指南。
├─classmap 目录存放autocad图形形式的objectarx类层次结构图。
├─docs 目录存放objectarx开发者的在线帮助文件,
├─inc objectarx头文件。
├─lib objectarx库文件。
├─redistrib objectarx发行库。
├─samples objectarx例子目录。
└─utils objectarx的扩展和开发小工具。
今天就学了这么多,留一则笑话“学问之美在于使人一头雾水;诗歌之美在于煽动男女出轨;女人之美在于蠢得无怨无悔;男人之美在于撒谎撒得白日见鬼;”
学问之美在于使人一头雾水;诗歌之美在于煽动男女出轨;女人之美在于蠢得无怨无悔;男人之美在于撒谎撒得白日见鬼
这个也发?随便找个教程都有讲述
-=finale=-
|