Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/opengl.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

44 KiB
Raw Blame History

title, type, api, tags, sources
title type api tags sources
OpenGL interface
api7
interface
api7
ba1848735
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;