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>
7.5 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Проекции отображения модели в окне (Интерфейсы ksViewProjection, IViewProjection) | interface |
|
|
|
|
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) > Интерфейс коллекции проекций отображения модели (Интерфейсы ksViewProjectionCollection, IViewProjectionCollection) *
Проекции отображения модели в окне (Интерфейсы ksViewProjection, IViewProjection)
Интерфейс проекции отображения модели в окне.
| ksViewProjection | - интерфейс Automation |
|---|---|
| IViewProjection | - интерфейс COM |
| Типы предопределенных проекций отображения... | |
| Описание: | |
| К этим проекциям можно добавлять пользовательские, индексы которых могут изменяться. Свойства уже заданных в документе проекций (с индексом больше vp_None) изменить нельзя. Эти свойства доступны только для чтения. | |
| Примечание: | |
| Данный интерфейс может быть получен с использованием методов интерфейса ksViewProjectionCollection. |
GetPlacement - Получить интерфейс системы координат отображения модели в окне
Синтаксис Automation:
LPDISPATCH GetPlacement();
Синтаксис COM:
LPPLACEMENT GetPlacement();
Возвращаемое значение:
- указатель на интерфейс ksPlacement или IPlacement.
Примечание: Изменение параметров системы координат возможно только для проекции с индексом vp_None.
GetViewProjectonType - Получить тип проекции
Синтаксис Automation:
long GetViewProjectonType();
Синтаксис COM:
long GetViewProjectonType();
Возвращаемое значение:
- Тип проекции из перечисления ksViewProjectionType.
IsCurrent - Определить, является ли данная проекция текущей
Синтаксис Automation:
BOOL IsCurrent();
Синтаксис COM:
BOOL IsCurrent();
Возвращаемое значение:
TRUE - данная проекция является текущей,
FALSE - данная проекция не является текущей.
Примечание: Для проекции с индексом vp_None возвращаемое значение всегда FALSE.
name - Имя проекции
Тип данных: BSTR Синтаксис Automation:
name = iViewProjection.name Получить свойство(* )
iViewProjection.name = name Установить свойство (* )
name = iViewProjection.GetName() Получить свойство (**)
iViewProjection.SetName(name) Установить свойство (**)
scale - Масштаб отображения модели в окне
Тип данных: double Синтаксис Automation:
scale = iViewProjection.scale Получить свойство(* )
iViewProjection.scale = scale Установить свойство (* )
scale = iViewProjection.GetScale() Получить свойство (**)
iViewProjection.SetScale(scale) Установить свойство (**)
Примечание: Масштаб можно установить для любой проекции. Если значение масштаба равно -1, то масштаб отображения будет задан таким образом, чтобы в окне был показан документ целиком. Если проекция является текущей, SetScale устанавливает нужный масштаб сразу. Получить масштаб отображения можно для пользовательской проекции, либо для текущей.
SetCurrent - Установить данную проекцию отображения модели в окне текущей
Синтаксис Automation:
BOOL SetCurrent();
Синтаксис COM:
BOOL SetCurrent();
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание:
- Для проекции с индексом vp_NormalTo необходимо, чтобы в модели был выбран хотя бы один плоский объект.
- Для проекции с индексом vp_None модель разворачивается и масштабируется в соответствии с заданными параметрами проекции. Сама проекция в массив не добавляется.
SetMatrix3D - Установить систему координат отображения модели в окне по матрице
Синтаксис Automation:
VARIANT_BOOL SetMatrix3D (VARIANT Matrix3D);
Синтаксис COM:
BOOL SetMatrix3D (VARIANT Matrix3D);
Входные параметры:
Динамический массив SAFEARRAY double (VT_ARRAY VT_R8). В массиве должны лежать 16 элементов, которые представляют собой матрицу размера 4х4.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание:
- Для отображения данной проекции в модели надо после установки системы координат вызвать метод SetCurrent.
- Матрицу можно получить у ассоциативного вида методом ksDocument2D::ksAssociationViewMatrix3D.
SetPlacement - Установить систему координат отображения модели в окне
Синтаксис Automation:
BOOL SetPlacement (LPDISPATCH place);
Синтаксис COM:
BOOL SetPlacement (LPPLACEMENT place);
Входные параметры:
- указатель на интерфейс ksPlacement или IPlacement.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание: Изменение параметров системы координат возможно только для проекции с индексом vp_None.
UserProjectionIndex - Индекс проекции отображения модели в окне
Тип данных: long Синтаксис Automation:
index = iViewProjection.index Получить свойство (* )
index = iViewProjection.GetIndex() Получить свойство (**)
Примечание:
- Свойство доступно только для чтения.
- Свойство работает только для пользовательских проекций. Для получения типа проекции нужно использовать метод ksViewProjection::GetViewProjectonType.