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。这些基类可以用来执行各种通用操作,例如给点添加一个矢量、计算两个矢量的点积或叉积以及计算两个矩阵的乘积。

  • 相关阅读:
    微信小程序全屏飘落效果(飘雪、掉落、canvas)
    放在cnblogs上的文件资源
    JavaScript笔记Array.filter(Boolean)
    webpack 4.0 配置文件 webpack.config.js文件的放置位置
    package.json中^,~的区别
    你不知道的 JSON.stringify() 的威力
    vue+axios通过formdata提交参数和上传文件
    webstorm激活教程----亲测可用
    git修改远程仓库地址
    微信小程序通讯录字母排序
  • 原文地址:https://www.cnblogs.com/chenxuge/p/14118544.html
Copyright © 2011-2022 走看看