---
title: "OpenGL"
type: interface
api: [api7]
tags: [interface, api7, ba1848735]
sources:
  - ba1848735.html
  - iexternalgdiobject.html
  - iexternaltessellationmanager.html
  - iexternaltessellationobject.html
  - igabaritobject.html
  - ksglobject.html
  - ipaintobject.html
---

*API интерфейсов. Версия 7 > Документ  > Окна документа *




## Интерфейс IExternalGDIObject

Интерфейс внешнего GDI- объекта.
Иерархия:
IKompasAPIObject
IExternalGDIObject
Примечание:
1. Интерфейс позволяет реализовать отрисовку внешних GDI- объектов (для V11 только текстов).
2. Управление интерфейсом (создание и удаление) осуществляется через менеджер IExternalTessellationManager.


## AlwaysDrawInScreenPlane - Способ преобразования координат внешней триангуляции

Тип данных: из перечисления ksDrawInScreenPlaneEnum
Синтаксис Automation:
```
AlwaysDrawInScreenPlane = Object.AlwaysDrawInScreenPlane    Получить свойство (* )
Object.AlwaysDrawInScreenPlane = AlwaysDrawInScreenPlane    Установить свойство (* )
AlwaysDrawInScreenPlane = Object.GetAlwaysDrawInScreenPlane()    Получить свойство (**)
Object.SetAlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AlwaysDrawInScreenPlane( &AlwaysDrawInScreenPlane )    Получить свойство
Object.put_AlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane )    Установить свойство
```


## Delete - Удалить объект

Синтаксис Automation:
```
BOOL Delete( );
```
Синтаксис COM:
```
HRESULT Delete( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
1. Перед удалением объекта нужно выключить видимость объекта в окнах документа.
2. Для удаления группы объектов используется функция IExternalTessellationManager::DeleteObjects.
3. Для удаления всех внешних объектов используется метод IExternalTessellationManager::Clear.


## NonScalableX - Не масштабировать по X

Тип данных: BOOL
Синтаксис Automation:
```
NonScalableX = Object.NonScalableX    Получить свойство (* )
Object.NonScalableX = NonScalableX    Установить свойство (* )
NonScalableX = Object.GetNonScalableX()    Получить свойство (**)
Object.SetNonScalableX( NonScalableX )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonScalableX( &NonScalableX )    Получить свойство
Object.put_NonScalableX( NonScalableX )    Установить свойство
```


## NonScalableY - Не масштабировать по Y

Тип данных: BOOL
Синтаксис Automation:
```
NonScalableY = Object.NonScalableY    Получить свойство (* )
Object.NonScalableY = NonScalableY    Установить свойство (* )
NonScalableY = Object.GetNonScalableY()    Получить свойство (**)
Object.SetNonScalableY( NonScalableY )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonScalableY( &NonScalableY )    Получить свойство
Object.put_NonScalableY( NonScalableY )    Установить свойство
```


## NonScalableZ - Не масштабировать по Z

Тип данных: BOOL
Синтаксис Automation:
```
NonScalableZ = Object.NonScalableZ    Получить свойство (* )
Object.NonScalableZ = NonScalableZ    Установить свойство (* )
NonScalableZ = Object.GetNonScalableZ()    Получить свойство (**)
Object.SetNonScalableZ( NonScalableZ )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonScalableZ( &NonScalableZ )    Получить свойство
Object.put_NonScalableZ( NonScalableZ )    Установить свойство
```


## ObjectID - Идентификатор объекта

Тип данных: long
Синтаксис Automation:
```
ObjectID = Object.ObjectID    Получить свойство (* )
ObjectID = Object.GetObjectID()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectID( &ObjectID )    Получить свойство
```
Примечание:
1. Позволяет получить идентификатор объекта. По идентификатору объекта осуществляется установка видимости и удаление объектов.
2. Свойство доступно только для чтения.


## ScalableText - Признак масштабирования текста

Тип данных: BOOL
Синтаксис Automation:
```
ScalableText = Object.ScalableText    Получить свойство (* )
Object.ScalableText = ScalableText    Установить свойство (* )
ScalableText = Object.GetScalableText()    Получить свойство (**)
Object.SetScalableText( ScalableText )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ScalableText( &ScalableText )    Получить свойство
Object.put_ScalableText( ScalableText )    Установить свойство
```


## SetBkColors - Установить цвета фона текстов с Alpha каналом

Синтаксис Automation:
```
BOOL SetBkColors( VARIANT BkColors );
```
Синтаксис COM:
```
HRESULT SetBkColors( VARIANT BkColors, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае ошибки.
Входные параметры:
BkColors    - массив SafeArray VT_ARRAY    VT_I4.
```


## SetPlace - Установить матрицу для отрисовки объекта

Синтаксис Automation:
```
BOOL SetPlace( VARIANT Place );
```
Синтаксис COM:
```
HRESULT SetPlace( VARIANT Place, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Входные параметры:
Place    - массив SAFEARRAY double (VT_ARRAY    VT_R8).
```


## SetTextColors - Установить цвета текстов

Синтаксис Automation:
```
BOOL SetTextColors( VARIANT textColors );
```
Синтаксис COM:
```
HRESULT SetTextColors( VARIANT textColors, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
textColors    - массив цветов - SafeArray целых чисел VT_ARRAY    VT_I4.
```


## SetTextOrientation - Установить наклон символов текстов

Синтаксис Automation:
```
BOOL SetTextOrientation( VARIANT textOrients );
```
Синтаксис COM:
```
HRESULT SetTextOrientation( VARIANT textOrients, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
textOrients    - массив наклонов.
```


## SetTexts - Установить тексты и их параметры

Синтаксис Automation:
```
BOOL SetTexts( VARIANT Texts,
VARIANT Points,
VARIANT Colors,
VARIANT Fonts,
BOOL Is3DPoints );
```
Синтаксис COM:
```
HRESULT SetTexts( VARIANT Texts,
VARIANT Points,
VARIANT Colors,
VARIANT Fonts,
BOOL Is3DPoints,
BOOL * Result );
Входные параметры:
Points    - массив SafeArray VT_ARRAY    VT_R8 координат точек отрисовки текстов. Координаты в массиве могут лежать в последовательности: - для Is3DPoints == TRUE x0, y0, z0, x1, y1, z1, ... xi, yi, zi - для Is3DPoints == FALSE x0, y0, x1, y1, ... xi, yi,
Texts    - массив SafeArray VT_ARRAY    VT_BSTR текстов,
Сolors    - массив цветов текстов. Массив может быть не задан - тип VARIANT-а VT_EMPTY, в этом случае используется черный цвет. Может быть задан один цвет - тип VARIANT-а VT_I4. Может быть задан цвет для каждого текста тип VARIANT-а VT_ARRAY    VT_I4,
Fonts    - массив шрифтов текстов. Массив может быть не задан - тип VARIANT-а VT_EMPTY. В этом случае используется шрифт, установленный в модели. Может быть задан один шрифт - тип VARIANT-а VT_DISPATCH. Может быть задан шрифт для каждого текста тип VARIANT-а VT_ARRAY    VT_DISPATCH. Передаваемый интерфейс - интерфейс IFontDispPtr, который можно получить от объекта MFC- класса CFontHolder,
Is3DPoints    - признак использования 3D-координат отрисовки текстов.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## SetTextsAlign - Установить выравнивание текста

Синтаксис Automation:
```
BOOL SetTextsAlign( VARIANT TextsAlign );
```
Синтаксис COM:
```
HRESULT SetTextsAlign( VARIANT TextsAlign, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае ошибки.
Входные параметры:
TextsAlign    - массив SafeArray VT_ARRAY    VT_I4 констант из перечисления ksTextAlignEnum.
```


## Visible - Показать\скрыть объект

Тип данных: BOOL
Синтаксис Automation:
```
Object.Visible( frame ) = Visible    Установить свойство (* )
Object.SetVisible( frame, Visible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.put_Visible( frame, Visible )    Установить свойство,
Входные параметры:
frame    - указатель на интерфейс окна документа IDocumentFrame.
```
Примечание:
1. Позволяет изменить видимость объекта в заданном окне.
2. Если frame == NULL, то объект будет отображаться во всех окнах документа.
3. Свойство доступно только для изменения.


## Интерфейс IExternalTessellationManager

Менеджер объектов с внешней триангуляцией.
| IExternalTessellationManager | - интерфейс Automation |
| --- | --- |
Описание:
Дополнительный интерфейс для IKompasDocument3D.
Данный интерфейс можно получить у интерфейса IKompasDocument3D посредством вызова метода IUnknown::QueryInterface (const GUID far& IID, void** pif).
Примечание:
Позволяет создавать объекты с внешней триангуляцией, отрисовываемые треугольниками и ребрами.


## Add - Добавить объект с внешней триангуляцией

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IExternalTessellationObject ** PVal );
Возвращаемое значение:
- Указатель на интерфейс объекта с внешней триангуляцией IExternalTessellationObject.
```


## AddGDIObject - Добавить внешний GDI-объект

Синтаксис Automation:
```
LPDISPATCH AddGDIObject();
```
Синтаксис COM:
```
HRESULT AddGDIObject( IExternalGDIObject ** PVal );
Возвращаемое значение:
- Указатель на интерфейс внешнего GDI- объекта IExternalGDIObject.
```


## Clear - Удалить все объекты

Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
HRESULT Clear( BOOL * res );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## CreateTextureImage - Создать изображение текстуры

Синтаксис Automation:
```
long CreateTextureImage ( long Width, long Heigh,
BOOL RGBA,
BOOL WrapMode,
BOOL FiltMode,
VARIANT ImageData );
```
Синтаксис COM:
```
HRESULT CreateTextureImage ( long Width, long Heigh,
BOOL RGBA,
BOOL WrapMode,
BOOL FiltMode,
VARIANT ImageData,
long * Result );
Входные параметры:
Width, Heigh    - Размер изображения,
RGBA    - TRUE - RGBA, FALSE - RGB,
WrapMode    - Режим повторения TRUE - GL_CLAMP FALSE - GL_REPEAT,
FiltMode    - Режим повторения TRUE - GL_LINEAR FALSE - GL_NEAREST,
ImageData    Массив байтов изображения текстуры VT_ARRAY    VT_UI1.
Возвращаемое значение:
- Идентификатор текстуры.
Возвращаемое значение:
TRUE    - в случае удачи,
FALSE    - в случае ошибки.
```
Примечание:
Созданная текстура используется в методе IExternalTessellationObj::SelectTextureImage.


## DeleteObjects - Удалить объекты

Синтаксис Automation:
```
BOOL DeleteObjects();
```
Синтаксис COM:
```
HRESULT DeleteObjects( VARIANT Id, BOOL * res );
Входные параметры:
Ids    - Идентификаторы объектов тип VARIANT. Можно передать один идентификатор тип VARIANT-а VT_I4 или массив SafeArray идентификаторов тип VARIANT-а VT_ARRAY    VT_I4.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## DeleteTextureImage - Удалить изображение текстуры

Синтаксис Automation:
```
BOOL DeleteTextureImage( long TexImgId );
```
Синтаксис COM:
```
HRESULT DeleteTextureImage( long TexImgId, BOOL * Result );
Входные параметры:
TexImgId    - идентификатор текстуры.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## DisableModelDrawing - Запретить отрисовку модели для указанных элементов

Синтаксис Automation
```
BOOL DisableModelDrawing( long ForElements );
```
Синтаксис COM:
```
HRESULT DisableModelDrawing( long ForElements, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
ForElements    - типы объектов ksModelDrawingElementsEnum.
```


## DisableModelRotation - Запретить поворот модели и изменение ориентации вида

Тип данных: BOOL
Синтаксис Automation:
```
DisableModelRotation = Object.DisableModelRotation    Получить свойство (* )
Object.DisableModelRotation = DisableModelRotation    Установить свойство (* )
DisableModelRotation = Object.GetDisableModelRotation()    Получить свойство (**)
Object.SetDisableModelRotation( DisableModelRotation )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DisableModelRotation( &DisableModelRotation )    Получить свойство
Object.put_DisableModelRotation( DisableModelRotation )    Установить свойство
```


## EnableModelDrawing - Отменить последний запрет на отрисовку элементов модели

Синтаксис Automation:
```
BOOL EnableModelDrawing();
```
Синтаксис COM:
```
HRESULT EnableModelDrawing( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## GDIObject - Получить внешний GDI объект

Тип данных: BOOL
Синтаксис Automation:
```
GDIObject = Object.GDIObject( Id )    Получить свойство (* )
GDIObject = Object.GetGDIObject( Id )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_GDIObject( Ids, &GDIObject )    Получить свойство
Входные параметры:
Id    - идентификатор объекта.
```


## IsModelDrawingEnabled - Проверить, разрешена ли отрисовка для указанных элементов

Синтаксис Automation:
```
BOOL IsModelDrawingEnabled( long ForElements );
```
Синтаксис COM:
```
HRESULT IsModelDrawingEnabled( long ForElements, BOOL * Result );
Возвращаемое значение:
TRUE    - если отрисовка разрешена.
Входные параметры:
ForElements    - типы объектов ksModelDrawingElementsEnum.
```


## ObjectsVisible - Показать\скрыть объекты

Тип данных: BOOL
Синтаксис Automation:
```
Object.ObjectsVisible( Ids, frame ) = Visible    Установить свойство (* )
Object.SetObjectsVisible( Ids, frame, Visible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.put_ObjectsVisible( Ids, frame, Visible )    Установить свойство
Входные параметры:
Ids    - Идентификаторы объектов тип VARIANT. Можно передать один идентификатор тип VARIANT-а VT_I4 или массив SafeArray идентификаторов тип VARIANT-а VT_ARRAY    VT_I4
frame    - указатель на интерфейс окна документа IDocumentFrame.
```
Примечание:
1. Позволяет изменить видимость объектов в заданном окне. Если frame == NULL, то объект будет отображаться во всех окнах документа.
2. Свойство доступно только для изменения.


## PickObjects - Собрать объекты по лучу

Синтаксис Automation:
```
BOOL PickObjects( LPDISPATCH Frame, VARIANT PickRay, BOOL Visible, VARIANT * PickedObjs, VARIANT * PickedPars );
```
Синтаксис COM:
```
HRESULT PickObjects( IDocumentFrame * Frame, VARIANT PickRay, BOOL Visible, VARIANT * PickedObjs, VARIANT * PickedPars, BOOL * Result) ;
Входные параметры:
Frame    - Указатель на интерфейс окна документа IDocumentFrame,
PickRay    - Параметры луча ( VT_ARRAY    VT_R8 ), массив из шести элементов (Точка начала луча и единичный вектор задающий направление луча),
Visible    - Признак учета видимых объектов: TRUE - пересекать только с видимыми объектами, FALSE - со всеми объектами.
Выходные параметры:
PickedObjs    - Идентификаторы найденных внешних объектов триангуляции (VT_ARRAY    VT_UI4),
PickedPars    - Параметры луча в точке пересечения с объектами (VT_ARRAY    VT_R4).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## TessellationObject - Получить объект по идентификатору

Тип данных: BOOL
Синтаксис Automation:
```
TessellationObject = Object.TessellationObject( Id )    Получить свойство (* )
TessellationObject = Object.GetTessellationObject( Id )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_TessellationObject( Ids, &TessellationObject )    Получить свойство
Входные параметры:
Id    - идентификатор объекта.
```


## Интерфейс IExternalTessellationObject

Интерфейс объекта с внешней триангуляцией.
| IExternalTessellationObject | - интерфейс Automation |
| --- | --- |
Примечание:
Интерфейс позволяет реализовать отрисовку внешних объектов с триангуляцией.


## AlwaysDrawInScreenPlane - Способ преобразования координат внешней триангуляции

Тип данных: из перечисления ksDrawInScreenPlaneEnum
Синтаксис Automation:
```
AlwaysDrawInScreenPlane = Object.AlwaysDrawInScreenPlane    Получить свойство (* )
Object.AlwaysDrawInScreenPlane = AlwaysDrawInScreenPlane    Установить свойство (* )
AlwaysDrawInScreenPlane = Object.GetAlwaysDrawInScreenPlane()    Получить свойство (**)
Object.SetAlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AlwaysDrawInScreenPlane(&AlwaysDrawInScreenPlane )    Получить свойство
Object.put_AlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane )    Установить свойство
```


## Delete - Удалить объект

Синтаксис Automation:
```
BOOL Delete( );
```
Синтаксис COM:
```
HRESULT Delete( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
1. Перед удалением объекта нужно выключить видимость объекта в окнах документа.
2. Для удаления группы объектов используется метод IExternalTessellationManager::DeleteObjects. Для удаления всех внешних объектов используется метод IExternalTessellationManager::Clear.


## DisableDepthTest - Запрет проверки глубины

Тип данных: BOOL
Синтаксис Automation:
```
DisableDepthTest = Object.DisableDepthTest    Получить свойство (* )
Object.DisableDepthTest = DisableDepthTest    Установить свойство (* )
DisableDepthTest = Object.GetDisableDepthTest()    Получить свойство (**)
Object.SetDisableDepthTest( DisableDepthTest )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DisableDepthTest(&DisableDepthTest )    Получить свойство
Object.put_DisableDepthTest( DisableDepthTest )    Установить свойство
Свойство позволяет устанавливать и получать признак запрета глубины.
```


## NonGeometry - Не геометрический

Тип данных: BOOL
Синтаксис Automation:
```
NonGeometry = Object.NonGeometry    Получить свойство (* )
Object.NonGeometry = NonGeometry    Установить свойство (* )
NonGeometry = Object.GetNonGeometry()    Получить свойство (**)
Object.SetNonGeometry( NonGeometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AlwaysDrawInScreenPlane(&AlwaysDrawInScreenPlane )    Получить свойство
Object.put_AlwaysDrawInScreenPlane( AlwaysDrawInScreenPlane )    Установить свойство
```


## NonPickable - Не выбираемый

Тип данных: BOOL
Синтаксис Automation:
```
NonPickable = Object.NonPickable    Получить свойство (* )
Object.NonPickable = NonPickable    Установить свойство (* )
NonPickable = Object.GetNonPickable()    Получить свойство (**)
Object.SetNonPickable( NonPickable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonPickable(&NonPickable )    Получить свойство
Object.put_NonPickable( NonPickable )    Установить свойство
```


## NonScalableX - Не масштабировать по X

Тип данных: BOOL
Синтаксис Automation:
```
NonScalableX = Object.NonScalableX    Получить свойство (* )
Object.NonScalableX = NonScalableX    Установить свойство (* )
NonScalableX = Object.GetNonScalableX()    Получить свойство (**)
Object.SetNonScalableX( NonScalableX )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonScalableX(&NonScalableX )    Получить свойство
Object.put_NonScalableX( NonScalableX )    Установить свойство
```


## NonScalableY - Не масштабировать по Y

Тип данных: BOOL
Синтаксис Automation:
```
NonScalableY = Object.NonScalableY    Получить свойство (* )
Object.NonScalableY = NonScalableY    Установить свойство (* )
NonScalableY = Object.GetNonScalableY()    Получить свойство (**)
Object.SetNonScalableY( NonScalableY )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonScalableY(&NonScalableY )    Получить свойство
Object.put_NonScalableY( NonScalableY )    Установить свойство
```


## NonScalableZ - Не масштабировать по Z

Тип данных: BOOL
Синтаксис Automation:
```
NonScalableZ = Object.NonScalableZ    Получить свойство (* )
Object.NonScalableZ = NonScalableZ    Установить свойство (* )
NonScalableZ = Object.GetNonScalableZ()    Получить свойство (**)
Object.SetNonScalableZ( NonScalableZ )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NonScalableZ(&NonScalableZ )    Получить свойство
Object.put_NonScalableZ( NonScalableZ )    Установить свойство
```


## ObjectID - Идентификатор объекта

Тип данных:long
Синтаксис Automation:
```
ObjectID = Object.ObjectID    Получить свойство (* )
ObjectID = Object.GetObjectID()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectID( &ObjectID )    Получить свойство
```
Примечание:
1. Позволяет получить идентификатор объекта. По идентификатору объекта осуществляется установка видимости и удаление объектов.
2. Свойство доступно только для чтения.


## SelectTextureImage - Задать изображение текстуры по идентификатору

Синтаксис Automation:
```
BOOL SelectTextureImage( long TexImgId );
```
Синтаксис COM:
```
HRESULT SelectTextureImage( long TexImgId, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачи,
FALSE    - в случае ошибки.
```
Примечание:
Метод позволяет установить для объекта текстуру, созданную функцией IExternalTessellationManager::CreateTextureImage.


## SetAdvancedColor - Установить параметры цвета объекта

Синтаксис Automation:
```
BOOL SetAdvancedColor (long color,
double ambient,
double diffuse,
double specularity,
double shininess,
double transparency,
double emission);
```
Синтаксис COM:
```
HRESULT SetAdvancedColor (COLORREF color,
double ambient,
double diffuse,
double specularity,
double shininess,
double transparency,
double emission,
BOOL * result);
Входные параметры:
color    - цвет,
ambient    - общий свет,
diffuse    - диффузия,
specularity    - зеркальность,
shininess    - блеск,
transparency    - прозрачность,
emission    - излучение.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## SetEdgeColors - Установить цвет ребрам сетки

Синтаксис Automation:
```
BOOL SetEdgeColors( VARIANT Colors );
```
Синтаксис COM:
```
HRESULT SetEdgeColors( VARIANT Colors, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Colors    - безопасный массив цветов.
```


## SetEdges - Установить ребра сетки

Синтаксис Automation:
```
BOOL SetEdges( VARIANT points,
VARIANT edges,
VARIANT colors );
```
Синтаксис COM:
```
HRESULT SetEdges( VARIANT points,
VARIANT edges,
VARIANT colors,
BOOL * res );
Входные параметры:
points    - массив SafeArray VT_ARRAY    VT_R8 координат вершин. Если массив координат уже задан функцией SetTessellation, то нужно передать пустой Variant VT_ARRAY    VT_R8,
edges    - массив SafeArray типа VT_ARRAY    VT_I4 индексов координат вершин,
colors    - массив цветов. Массив может быть не задан - тип VARIANT-а VT_EMPTY. В этом случае используется цвет, заданный функцией SetAdvancedColor. Может быть задан один цвет - тип VARIANT-а VT_I4. Может быть задан цвет для каждой точки - тип VARIANT-а VT_ARRAY    VT_I4.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```
Примечание:
1. Массив ребер может содержать одно или несколько ребер. Каждое ребро может иметь две или более вершины.
2. Для описания ребер используется последовательность:
[ [count0, i00, i01, ...] - первое ребро
[count1, i10, i11, ...] - второе ребро
...
[counti, ii0, ii1, ...]] - i-тое ребро,
где count0, count1, counti - количество вершин в ребре, i00, i01, i10, i11, ii0, ii1 - индексы координат точек из массива points.


## SetEdgeStyles - Установить стили рёбер сетки

Синтаксис Automation:
```
BOOL SetEdgeStyles( VARIANT Styles );
```
Синтаксис COM:
```
HRESULT SetEdgeStyles( VARIANT Styles, BOOL * Result );
Входные параметры:
Styles    - массив VT_ARRAY    VT_I4 стилей ребер.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SetEdgeWidths - Установить толщины ребер сетки

Синтаксис Automation:
```
BOOL SetEdgeWidths( VARIANT Widths );
```
Синтаксис COM:
```
HRESULT SetEdgeWidths( VARIANT Widths, BOOL * Result );
Входные параметры:
Widths    - массив VT_ARRAY    VT_R8 значений толщины ребер.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SetFacetMode - Установить режим отображения граней

Синтаксис Automation:
```
BOOL SetFacetMode( BOOL SideMode,
ksFacetCullingMode CullingMode );
```
Синтаксис COM:
```
HRESULT SetFacetMode( BOOL SideMode,
ksFacetCullingMode CullingMode, BOOL * Res );
Входные параметры:
SideMode    - TRUE - объект является двусторонним, - FALSE - объект является односторонним,
CullingMode    - режим отображения граней ksFacetCullingMode.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## SetPlaces - Установить матрицы для отрисовки объекта

Синтаксис Automation:
```
BOOL SetPlaces( VARIANT places );
```
Синтаксис COM:
```
HRESULT SetPlaces( VARIANT places, BOOL * res );
Входные параметры:
places    - массив SafeArray типа VT_ARRAY    VT_R8. В массиве может быть передана одна или несколько матриц размером 4*4. Если передано несколько матриц, объект будет отрисован столько раз, сколько передано матриц. Используется для многократной отрисовки одинаковых объектов. Матрицы передаются в виде одномерного массива.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## SetTessellation - Установить параметры триангуляции

Синтаксис Automation:
```
BOOL SetTessellation( VARIANT points,
VARIANT indexes,
VARIANT normals,
VARIANT colors );
```
Синтаксис COM:
```
HRESULT SetTessellation( VARIANT points,
VARIANT indexes,
VARIANT normals,
VARIANT colors,
BOOL * Result );
Входные параметры:
points    - массив SafeArray VT_ARRAY    VT_R8 координат точек триангуляционной сетки; координаты в массиве лежат в последовательности x0, y0, z0, x1, y1, z1, ... xi, yi, zi,
indexes    - массив SafeArray VT_ARRAY    VT_I4 индексов вершин треугольников; по индексу из массива indexes достаются координаты вершин из массива points,
normals    - массив SafeArray VT_ARRAY    VT_R8 единичных векторов нормалей для вершин. Если направление нормалей во всех вершинах совпадают, можно добавить направление только одной нормали. Иначе количество нормалей должно быть равно количеству точек в массиве points,
colors    - массив цветов в точках. Массив может быть не задан - тип VARIANT-а VT_EMPTY. В этом случае используется цвет, заданный функцией SetAdvancedColor. Может быть задан один цвет - тип VARIANT-а VT_I4. Может быть задан цвет для каждой точки - тип VARIANT-а VT_ARRAY    VT_I4.
```


## SetTextureImage - Установить изображение текстуры

Синтаксис Automation:
```
BOOL SetTextureImage( long Width,
long Heigh,
BOOL RGBA,
BOOL WrapMode,
BOOL FiltMode,
VARIANT ImageData );
```
Синтаксис COM:
```
HRESULT SetTextureImage( long Width,
long Heigh,
BOOL RGBA,
BOOL WrapMode,
BOOL FiltMode,
VARIANT ImageData,
BOOL * Res );
Входные параметры:
Width, Heigh    - размер изображения, являющегося элементом текстуры; Рекомендуется использовать изображения, значения размеров которых являются целой положительной степенью числа 2; в противном случае, объекты будут неправильно выведены на печать и конвертированы в растр,
RGBA    - TRUE - RGBA, - FALSE - RGB,
WrapMode    режим повторения: - TRUE - GL_CLAMP, - FALSE - GL_REPEAT,
FiltMode    режим фильтрации: - TRUE - GL_LINEAR, - FALSE - GL_NEAREST,
ImageData    - массив байтов изображения текстуры VT_ARRAY    VT_UI1.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## SetTexturePoints - Установить координаты вывода текстуры

Синтаксис Automation:
```
BOOL SetTexturePoints( BOOL Image2D, VARIANT ImagePoints );
```
Синтаксис COM:
```
HRESULT SetTexturePoints( BOOL Image2D, VARIANT ImagePoints, BOOL * Res );
Входные параметры:
Image2D    - TRUE - двумерные координаты, - FALSE - одномерные координаты,
ImagePoints    - Координаты в диапазоне 0...1.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## Visible - Идентификатор объекта

Тип данных: BOOL
Синтаксис Automation:
```
Object.Visible( frame ) = Visible    Установить свойство (* )
Object.SetVisible( frame, Visible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.put_Visible( frame, Visible )    Установить свойство
Входные параметры:
frame    - указатель на интерфейс окна документа IDocumentFrame.
```
Примечание:
1. Позволяет изменить видимость объекта в заданном окне. Если frame == NULL, то объект будет отображаться во всех окнах документа.
2. Свойство доступно только для изменения.


## Интерфейс IGabaritObject

Вспомогательные данные для изменения габарита документа.
Иерархия:
IDispatch
IGabaritObject
Примечание:
Данный интерфейс может быть получен в событиях интерфейса событий окна документа ksDocumentFrameNotify, ksDocumentFrameNotify::AddGabarit.


## AddGabarit - Добавить дополнительный габарит к габариту документа

Синтаксис Automation:
```
void AddGabarit (double x1,
double y1,
double z1,
double x2,
double y2,
double z2);
```
Синтаксис COM:
```
HRESULT AddGabarit ([in]double x1,
[in]double y1,
[in]double z1,
[in]double x2,
[in]double y2,
[in]double z2);
Выходные параметры:
x1, y1, z1, x2, y2, z2    - координаты габаритной рамки добавляемого дополнительного габарита.
```


## GetCurrentGabarit - Получить текущий габарит документа

Синтаксис Automation:
```
void GetCurrentGabarit (long nPage,
double* p1X,
double* p1Y,
double* p1Z,
double* p2X,
double* p2Y,
double* p2Z);
```
Синтаксис COM:
```
HRESULT GetCurrentGabarit ([in]long nPage,
[out]double *p1X,
[out]double *p1Y,
[out]double *p1Z,
[out]double *p2X,
[out]double *p2Y,
[out]double *p2Z )
Входные параметры:
nPage    - номер листа, начиная с единицы.
Выходные параметры:
p1X, p1Y, p1Z, p2X, p2Y, p2Z    - координаты габаритной рамки документа.
```
Примечание:
Метод позволяет получить текущий габарит документа в миллиметрах. Для многолистовых документов можно получить габарит конкретного листа.


## GetGabaritModifying - Изменился ли габарит документа

Синтаксис Automation:
```
BOOL GetGabaritModifying();
```
Синтаксис COM:
```
HRESULT GetGabaritModifying ([out, retval]VARIANT_BOOL * DocGabaritModify);
Возвращаемое значение:
TRUE    - габарит документа изменен,
FALSE    - габарит документа не изменен.
```
Примечание:
В момент отработки события Определение габаритов документа метод позволяет узнать менялся ли габарит документа или нет.


## Интерфейс ksGLObject

Вспомогательные данные для создания листа в контексте OpenGL.
Примечание:
1. Данный интерфейс нужно использовать при отрисовке с помощью OpenGL из внешнего приложения (контроллера). При работе из подключаемой библиотеки (dll) данный интерфейс использовать нельзя. Более подробное описание методов смотрите в описании библиотеки OpenGL.
2. Данный интерфейс может быть получен в событиях интерфейса событий окна документа ksDocumentFrameNotify:
•ksDocumentFrameNotify::BeginPaintGL,
•ksDocumentFrameNotify::ClosePaintGL.


## Интерфейс IPaintObject

Интерфейс вспомогательных данные для отрисовки документа.
Иерархия:
IDispatch
IPaintObject
Примечание:
Данный интерфейс может быть получен в событиях интерфейса событий окна документа ksDocumentFrameNotify:
•ksDocumentFrameNotify::BeginPaint,
•ksDocumentFrameNotify::ClosePaint.


## GetDIBForOutput - Создать растровое изображение документа в объект «проекция файла» для дорисовки

Синтаксис Automation:
```
BSTR GetDIBForOutput();
```
Синтаксис COM:
```
HRESULT GetDIBForOutput ([out, retval] BSTR* mapFileName);
Возвращаемое значение:
Имя созданного объекта «проекция файла».    - в случае успешного завершения.
```
Примечание:
Создает объект «проекция файла» (объект ядра в Windows, создаваемый для организации совместного использования несколькими процессами одних и тех же блоков данных) для возможности дорисовки своей геометрии к изображению документа.


## GetHWND - Получить дескриптор окна

Синтаксис Automation:
```
long GetHWND();
```
Синтаксис COM:
```
HRESULT GetHWND ([out, retval] OLE_HANDLE* hwnd);
Возвращаемое значение:
Дескриптор окна в котором идет отрисовка    - в случае успешного завершения.
```


## GetTransformMatrix - Получить коэффициенты для матрицы преобразования координат

Синтаксис Automation:
```
void GetTransformMatrix (double* a11,
double* a12,
double* a13,
double* a14,
double* a21,
double* a22,
double* a23,
double* a24);
```
Синтаксис COM:
```
HRESULT GetTransformMatrix ([out]double* a11,
[out]double* a12,
[out]double* a13,
[out]double* a14,
[out]double* a21,
[out]double* a22,
[out]double* a23,
[out]double* a24);
Выходные параметры:
a11, a12, a13, a14, a21, a22, a23, a24    - коэффициенты для матрицы преобразования координат.
```
Примечание:
Матрица для преобразования координат mm -> LP:
Xlp = Xmm * a11 + Ymm * a12 + Zmm * a13 + a14;
Ylp = Xmm * a21 + Ymm * a22 + Zmm * a23 + a24;
