Files
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

7.5 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
Проекции отображения модели в окне (Интерфейсы ksViewProjection, IViewProjection) interface
api7
3d
interface
api7
3d
ksviewprojection
ksviewprojection.html

*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    - в случае неудачи.

Примечание:

  1. Для проекции с индексом vp_NormalTo необходимо, чтобы в модели был выбран хотя бы один плоский объект.
  2. Для проекции с индексом 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    - в случае неудачи.

Примечание:

  1. Для отображения данной проекции в модели надо после установки системы координат вызвать метод SetCurrent.
  2. Матрицу можно получить у ассоциативного вида методом 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()    Получить свойство (**)

Примечание:

  1. Свойство доступно только для чтения.
  2. Свойство работает только для пользовательских проекций. Для получения типа проекции нужно использовать метод ksViewProjection::GetViewProjectonType.