· идентификация класса во время выполнения и анализу наследования
· добавление во время выполнения нового протокола к существующему классу (см. главу 19,“Расширение Протокола”)
· объектное равенство и испытание сравнения
· копирование объекта
AcRx библиотека также обеспечивает набор макрокоманд C++, чтобы помочь Вам создать новые ObjectARX классы, полученные из AcRxObject (см. главу 11, «Получение
заказного ObjectARX класса»).
AcRxDictionary - другой важный класс в этой библиотеке. Словарь - a
Отображение от текстовой строки до другого объекта(цели). AcRx библиотека размещает ее объекты, классы, и сервисные словари в глобальном объектном словаре, который
является образцом AcRxDictionary класса. Приложения могут прибавлять объекты к
этому словарю так, чтобы они были доступны для других приложений.
Иерархия классов для AcRx библиотеки следующие:
AcRxObject
AcRxClass
AcRxDictionary
AcRxDynamicLinker
AcRxEvent
AcEditor
AcRxService
AcRxKernal
AcDbServices
AcEdServices
AcadAppInfo
Идентификация типа во время выполнения
Каждый подкласс AcRxObject имеет связанный объект описателя класса (типа
AcRxClass), который используется для идентификации типа во время выполнения. ObjectARX обеспечивает
· Функции для испытания, имеет ли объект специфический класс или полученный класс,
· Функции для определения, имеют ли два объекта тот же самый класс, и
· Функции для возвращения объекта описателя класса для данного класса.
Для получения дополнительной информации при использовании AcRx классов см. главу 3, “ ObjectARX Прикладные Основы, ” глава 11, при Получении Заказного ObjectARX Класса, ” и Глава 19, “ Расширение Протокола. ”
AcEd Библиотека
AcEd библиотека обеспечивает классы для определения и регистрации новых команд AutoCAD, которые работают как встроенные команды. Новые команды, которые Вы определяете, упомянуты как “родные” команды, потому что они постоянно находятся в той же самой внутренней структуре (AcEdCommandStack) как встроенные команды. AcEd библиотека также обеспечивает редактора реактором и набором из глобальных функций для взаимодействия с AutoCAD. Важный класс в этом библиотеке - AcEditorReactor; это контролирует состояние редактора AutoCAD и уведомляет приложение, когда указанные события происходят, типа старта, окончания или команды отмены.
Иерархия классов для AcEd библиотеки следующие:
AcRxObject
AcEdCommand
AcEdCommandStack
AcEdUlContext
AcEdJlg
AcEdInputPointFilter
AcEdInputPointMonitor
AcEdInputPointMeneger
AcEdSolidSubEntitySelector
AcTransaction
AcDbTransactionMeneger
AcTransactionMeneger
Для информации относительно регистрации новых команд AutoCAD, использующих ObjectARX, cм. главу 3, “ ObjectARX Прикладные Основы. ” Для примера использования
Редактор реактор, см. главу 15, “Уведомление”.
AcDb Библиотека
AcDb библиотека обеспечивает классы, которые составляют базу данных AutoCAD.
Эта база данных сохраняет всю информацию для графических объектов, называемых
Объекты, которые составляют рисунок AutoCAD, также как неграфический Объект (например, уровни, linetypes, и текстовые стили) которые являются также частью рисунка. Вы можете сделать запрос и управлять существующими образцами Объектов AutoCAD и объекты библиотеки AcDb, Вами могут создавать новые образцы из объектов базы данных.
База данных AutoCAD содержит эти главные элементы:
· набор девяти таблиц идентификаторов, которые имеют уникально названный входом таблицы идентификаторов Объектов. Эти объекты представляют различный обычно используемый AcDbDatabase Объекты и компоненты данных.
· словарь названий объектов (класса AcDbDictionary), который обеспечивает “Оглавление” для рисунка AutoCAD. Первоначально, эта таблица содержания содержит ИДЕНТИФИКАТОРЫ из четырех других словарей, используемых в соответствии с AutoCAD. Приложения, которые Вы разрабатываете, однако, являются свободными прибавить другие объекты Словарей.
· фиксированный набор приблизительно 200 переменных заголовка, чей значения установлены AutoCAD.
Иерархия классов для AcDb библиотеки следующие:
AcRxObject
AcDbDictionary AcDbDictionaryWithDefault AcDbFilter AcDbLayerFilter AcDbSpatialFilter AcDbGroup AcDbIDBuffer AcDbIndex AcDbLayerIndex AcDbSpatialIndex AcDbLongTransaction AcDbMlineStyle AcDbPlaceholder AcDbPlotSettings AcDbLayout AcDbProxyObject AcDbXrecord AcDbEntity AcDbRasterImageDef AcDbRasterImageDefReactor AcDbRasterVariables | AcDbSymbolTable AcDbAbstractViewTable AcDbViewportTable AcDbViewTable AcDbBlockTable AcDbDimStyleTable AcDbFontTable AcDbLayerTable AcDbLinetypeTable AcDbRegAppTable AcDbTextStyleTable AcDbUCSTable | AcDbSymbolTableRecord AcDbAbstractViewTableRecord AcDbViewportTableRecord AcDbViewTableRecord AcDbBlockTableRecord AcDbDimStyleTableRecord AcDbFontTableRecord AcDbLayerTableRecord AcDbLinetypeTableRecord AcDbRegAppTableRecord AcDbTextStyleTableRecord AcDbUCSTableRecord |
Для получения дополнительной информации на AcDb библиотеке, см. главу 2, “ Учебник для начинающих Базы данных, ” глава 4, “ Операции Базы данных, ” глава 5, “ Объекты(цели) Базы данных, ” глава 6, “Объекты”, и глава 7, “ Контейнерные Объекты(цели). ” Для информации относительно получения новых классов от AcDbObject и AcDbEntity, см. главу 12, “ Происходящий от AcDbObject ” и главу 13, “ Происходящий от AcDbEntity. ”
AcGi Библиотека
AcGi библиотека обеспечивает графический интерфейс, используемый для рисунка объектов AutoCAD. Эта библиотека используется AcDbEntity функциями элемента
WorldDraw (), viewportDraw (), и saveAs (), вся часть стандартного протокола объекта. WorldDraw () функция должен быть определен всеми заказными классами объекта. Объект AcGiWorldDraw обеспечивает API, через который AcDbEntity:: worldDraw () может производить его графическое представление во всех областях просмотра одновременно. Точно так же объект(цель) AcGiViewportDraw обеспечивает API, через который AcDbEntity:: viewportDraw () функция может про-ducedifferent графические представления для каждой области просмотра.
Иерархия классов для AcGi библиотеки следующие:
AcRxObject
AcGiCommonDraw
AcGiWorldDraw
AcGiWorldDraw
AcGiContext
AcGiEdgeData
AcGiFaceData
AcGiGeometry
AcGiViewportGeometry
AcGiWorldGeometry
AcGiLinetypeEngine
AcGiSubEntityTraits
AcGiDrawableTraits
AcGiTextStyle
AcGiVertexData
AcGiViewport
AcGiDrawable
AcGiGlyph
Для получения дополнительной информации при использовании AcGi классы, см. главу 13, “ Происходящий от AcDbEntity. ”
AcGe Библиотека
AcGe библиотека используется AcDb библиотекой и обеспечивает сервисные классы типа векторов и матриц, которые используются, чтобы исполнить общие двумерные и трехмерные геометрические операции. Это также обеспечивает основные геометрические объекты типа точек, кривых, и поверхностей.
AcGe библиотека состоит из двух главных подмножеств: классы для двумерной геометрии и классов для трехмерной геометрии. Главные абстрактные классы - AcGeEntity2d и AcGeEntity3d. Несколько основных классов, не полученные из любого другого класса включают AcGePoint2d, AcGeVector2d, и AcGeMatrix2d (показанный в начале иерархии классов). Эти основные классы могут использоваться, чтобы исполнить много типов общих(обычных) операций, типа добавления вектора к точке, вычисление точки или векторного произведения двух векторов, и вычисления программы двух матриц. Классы с более высоким уровнем этой библиотеки осуществлены, используя thesebasic классы. Иерархия классов для AcGe библиотеки следующие:
AcGeEntity2D AcGeBoundBlock2d AcGeClipBoundary2d AcGeCurve2d AcGeCircArc2d AcGeCompositeCurve2d AcGeEllipArc2d AcGeExternalCurve2d AcGeLinearEnt2d AcGeLine2d AcGeLineSeg2d AcGeRay2d AcGeOffsetCurve2d AcGeSplineEnt2d AcGeCubicSplineCurve2d AcGeNurbCurve2d AcGePolyline2d AcGeCurveCurveInt2d AcGePointEnt2d AcGePointOnCurve2d AcGePosition2d AcGeCurveBoundary AcGe AcGeContext AcGeDwgIO AcGeDxfIO AcGeFileIO AcGeFiler AcGeInterval AcGeKnotVector AcGeLibVersion AcGeMatrix2d AcGeMatrix3d AcGePoint2d AcAxPoint2d AcGePoint3d AcAxPoint3d AcGeScale2d AcGeScale3d AcGeTol AcGeVector2d AcGeVector3d | AcGeEntity2D AcGeBoundBlock3d AcGeCurve3d AcGeCircArc3de AcGeCompositeCurve3d AcGeEllipArc3e AcGeExternalCurve3d AcGeLinearEnt3d AcGeLine3d AcGeLineSeg3d AcGeRay3d AcGeMatrix3d AcGeOffsetCurve3d AcGeSplineEnt3d AcGeCubicSplineCurve3d AcGeNurbCurve3d AcGePolyline3d AcGeAugPolyline3d AcGeCurveCurveInt3d AcGeCurveSurfInt AcGePointEnt3d AcGePointOnCurve3d AcGePointOnSurface AcGePosition3d AcGeSurfSurfInt AcGeSurface AcGeCone AcGeCylinder AcGeExternalBoundedSurface AcGeExternalSurface AcGeNurbSurface AcGeOffsetSurface AcGePlanarEnt AcGeBoundedPlanet AcGePlane AcGeSphere AcGeTorus |
AcGe библиотека обеспечивает несколько различных систем координат. Для получения дополнительной информации, см. главу 27, “ Использование Библиотеки Геометрии. ” Выборка программ этого справочника иллюстрирует многочисленные обычные использования классов AcGe.
Глава 2. Первичные базы данных
База данных AutoCAD сохраняет объекты, которые составляют рисунок AutoCAD. Эта глава обсуждает ключевые элементы базы данных: объекты, таблицы идентификаторов и словарь имен объектов.
Эта глава также представляет объектные маркеры(дескрипторы), объект IDs(цель), и протокол для открытия и заключительных объектов(целей) базы данных. Типовой код дает пример создания объектов, уровней, и групп, и добавления объектов(целей) к базе данных.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |


