zoukankan      html  css  js  c++  java
  • ObjectARX类库信息

    ObjectARX环境包括下面的类:

      AcRx:用于绑定一个应用程序以及运行类的注册和识别。

      AcEd:用于注册自定义命令和AutoCAD事件通告。

      AcDb:AutoCAD数据库类。

      AcGi:用于AutoCAD的图形类。

      AcGe:用于通用的线型和集合对象的应用类。

      下表列出了在链接ObjectARX应用程序时所需要的库:

    前缀

    所需库

    AcRx

    acad.lib,rxapi.lib,acrx15.lib

    AcEd

    acad.lib,rxapi.lib,acedapi.lib,acrx15.lib

    AcDb

    acad.lib,rxapi.lib,acdb15.lib,acrx15.lib

    AcGi

    acad.lib,rxapi.lib,acgiapi.lib,acrx15.lib

    AcGe

    acad.lib,rxapi.lib,acge15.lib,acrx15.lib

    AcRx库

       

      AcRx库中提供了DLL初始化和链接以及运行类注册和识别时系统级别的类。这个库的基类是AcRxObject,它提供了下面的功能:

      l  对象运行类识别和继承分析

      l  在运行时向一个已经存在的类添加新协议

      l  对象相等和组成测试

      l  对象拷贝

      AcRx库也提供了一些C++宏,帮助用户创建从AcRxObject派生的新类。AcRxDictionary类是这个库中的另外一个重要的类。

      字典是指从一个字符串到另一个对象的映射。

      AcRx库将其对象、类和服务字典放在一个全局对象字典中,而这个字典是一个AcRxDictionary类的实例。用户的应用程序可以将对象添加到这个字典中,这样这些对象就可以被别的应用程序访问了。

      每一个AcRxObject的子类都有一个相关的类描述对象(类型为AcRxClass),用于运行时的类型识别。ObjectARX提供了函数来识别一个对象是否是一个特定类或其派生类对象、确定两个对象是否是同一个类以及返回一个给定类的类描述对象。

     AcEd库

       

      AcEd库提供了类来定义和注册新的AutoCAD命令,这些命令和AutoCAD内部命令执行起来完全一样。用户定义的新命令被作为本地命令,因为这些命令和AutoCAD内部命令都放在同一个内部结构(AcEdCommandStack)中。AcEd库也提供了一个编辑器反应器和一组全局函数来与AutoCAD交互。

      这个库中一个重要的类是AcEditorReactor类,它监视AutoCAD编辑器,当指定事件发生(例如开始、结束和取消一条命令)时通知应用程序。

     AcDb库

       

      AcDb库提供了组成AutoCAD数据库的类。数据库中存储了所有图形对象的信息,这些图形对象叫实体,它们和那些非图形实体(例如层、线型和文本样式)组成了AutoCAD图形。用户可以查询和控制AcDb库中的实体和对象的实例,同样用户也可以创建数据库对象的新实例。

      AutoCAD数据库包含以下一些元素:

    1. 一组9个属于唯一命名符号表对象的符号表。这些对象代表了不同的共同使用AcDbDatabase对象和数据成员的对象。
    2. 一个命名对象字典(属于AcDbDictionary类),它提供了AutoCAD图形的“目录”。初始时,这个“目录”中包含了4个AutoCAD使用的其他字典的ID,用户开发的应用程序可以自由地向字典中添加对象。
    3. 一组固定数目的头变量,大约为200个,它们的值是由AutoCAD设定的。

     AcGi库

       

      AcGi库提供了用来绘制AutoCAD实体的图形接口。这个库用于AcDbEntity类的成员函数worldDraw()、viewportDraw()和saveAs()的所有标准实体协议中。在所有自定义实体类中都必须重载worldDraw()函数,而AcGiWorldDraw对象提供了API函数,使AcDbEntity::worldDraw()函数在所有视口中能够生成图形表示。同样,AcGiViewportDraw对象提供了API函数,使AcDbEntity::viewportDraw()函数能够为每一个视口生成不同的图形表示。

    AcGe库

      

      AcGe库是由AcDb库来使用的,它提供了一些应用类(例如矢量和矩阵)来执行二维和三维几何操作,它也提供了基本的几何对象,例如点、曲线和曲面。

      AcGe库由两部分组成:二维几何库和三维几何库,对于这两个库,主要的抽象基类分别是AcGeEntity2d和AcGeEntity3d。也有几个基类不是从其他类派生出来的,包括AcGePoint2d、AcGeVector2d、AcGeMatrix2d。这些基类可以用来执行各种通用操作,例如给点添加一个矢量、计算两个矢量的点积或叉积以及计算两个矩阵的乘积。

  • 相关阅读:
    OSX安装nginx和rtmp模块(rtmp直播服务器搭建)
    用runtime来重写Coder和deCode方法 归档解档的时候使用
    Homebrew安装卸载
    Cannot create a new pixel buffer adaptor with an asset writer input that has already started writing'
    OSX下面用ffmpeg抓取桌面以及摄像头推流进行直播
    让nginx支持HLS
    iOS 字典转json字符串
    iOS 七牛多张图片上传
    iOS9UICollectionView自定义布局modifying attributes returned by UICollectionViewFlowLayout without copying them
    Xcode6 iOS7模拟器和Xcode7 iOS8模拟器离线下载
  • 原文地址:https://www.cnblogs.com/chenxuge/p/14118544.html
Copyright © 2011-2022 走看看