e1337e4016
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>
318 lines
12 KiB
Markdown
318 lines
12 KiB
Markdown
---
|
||
title: "Интерфейс коллекции проекций отображения модели (Интерфейсы ksViewProjectionCollection, IViewProjectionCollection)"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [3d]
|
||
tags: [interface, api7, 3d, ksviewprojectioncollection]
|
||
sources:
|
||
- ksviewprojectioncollection.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) *
|
||
|
||
|
||
## Интерфейс коллекции проекций отображения модели (Интерфейсы ksViewProjectionCollection, IViewProjectionCollection)
|
||
|
||
Интерфейс массива проекций отображения модели в окне.
|
||
| ksViewProjectionCollection | - интерфейс Automation |
|
||
| --- | --- |
|
||
| IViewProjectionCollection | - интерфейс COM |
|
||
Типы предопределенных проекций отображения...
|
||
Описание:
|
||
К предопределенным проекциям можно добавлять пользовательские, индексы которых могут изменяться.
|
||
Примечание:
|
||
Получить этот интерфейс можно методом ksDocument3D::GetViewProjectionCollection, при этом он будет автоматически заполнен проекциями, заданными в данном документе.
|
||
Проекции отображения модели в окне (Интерфейсы ksViewProjection, IViewProjection)
|
||
|
||
|
||
## Add - Добавить элемент в конец массива
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Add (LPDISPATCH projection);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL Add (LPVIEWPROJECTION projection);
|
||
Входные параметры:
|
||
projection - указатель на интерфейс ksViewProjection или IViewProjection.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Добавить в массив можно только проекцию с индексом vp_None. После добавления проекция становится текущей и ей присваивается новый индекс, равный ее индексу в массиве. После добавления проекции редактирование ее параметров невозможно.
|
||
|
||
|
||
## AddUnfoldProjection - Добавить проекцию отображения - развертка
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH AddUnfoldProjection( VARIANT place );
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс проекции ksViewProjection.
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION AddUnfoldProjection( VARIANT * place );
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс проекции IViewProjection.
|
||
```
|
||
|
||
|
||
## DetachByBody - Отсоединить элемент по указателю на интерфейс
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DetachByBody (LPDISPATCH projection);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL DetachByBody (LPVIEWPROJECTION projection);
|
||
Входные параметры:
|
||
projection - указатель на интерфейс ksViewProjection или IViewProjection.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Отсоединить можно только пользовательскую проекцию, стандартные проекции не отсоединяются.
|
||
|
||
|
||
## DetachByIndex - Отсоединить элемент по индексу
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DetachByIndex (long index);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL DetachByIndex (long index);
|
||
Входной параметр:
|
||
index - индекс проекции в массиве.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Отсоединить можно только пользовательскую проекцию, стандартные проекции не отсоединяются.
|
||
|
||
|
||
## DetachByName - Отсоединить элемент по имени проекции
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DetachByName (BSTR name);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL DetachByName (LPOLESTR name);
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Отсоединить можно только пользовательскую проекцию, стандартные проекции не отсоединяются.
|
||
|
||
|
||
## FindIt - Получить индекс элемента в массиве
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
long FindIt (LPDISPATCH projection);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
long FindIt (LPVIEWPROJECTION projection);
|
||
Возвращаемое значение:
|
||
индекс элемента - если элемент найден в массиве,
|
||
-1 - если элемент не найден.
|
||
Входные параметры:
|
||
projection - указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## First - Получить указатель на первый элемент массива
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH First();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION First();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## GetBaseUserOrientation - Получить текущую пользовательскую базовую ориентацию модели
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
VARIANT GetBaseUserOrientation();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
VARIANT GetBaseUserOrientation();
|
||
Возвращаемое значение:
|
||
- массив SafeAttray типа (VT_ARRAY VT_R8).
|
||
```
|
||
Примечание:
|
||
1. Элементы матрицы возвращаются в виде одномерного массива из 16 элементов. Матрица имеет размер 4х4.
|
||
2. Метод позволяет получить матрицу, которая может использоваться для отображения вида спереди.
|
||
3. По умолчанию используется единичная матрица без смещения.
|
||
|
||
|
||
## GetByIndex - Получить указатель на элемент массива по индексу
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetByIndex (long index);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION GetByIndex (long index);
|
||
Входной параметр:
|
||
index - индекс проекции в массиве.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## GetByName - Получить указатель на элемент массива по имени
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetByName (BSTR name, BOOL testFullName, BOOL testIgnoreCase);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION GetByName (LPOLESTR name, BOOL testFullName, BOOL testIgnoreCase);
|
||
Входные параметры:
|
||
name - имя проекции,
|
||
testFullName - признак полного имени: TRUE - name - полное имя, FALSE - имя name может быть частью полного имени,
|
||
testIgnoreCase - признак игнорирования регистра символов: TRUE - игнорировать регистр, FALSE - учитывать регистр.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## GetCount - Получить количество проекций в массиве
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
long GetCount();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
long GetCount();
|
||
Возвращаемое значение:
|
||
- количество проекций в массиве.
|
||
```
|
||
|
||
|
||
## Last - Получить указатель на последний элемент массива
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH Last();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION Last();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## NewViewProjection - Добавить новую проекцию
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH NewViewProjection();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION NewViewProjection();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
Примечание:
|
||
Проекции присваивается индекс vp_None. Созданная проекция в массив не добавляется, для добавления в массив нужно использовать метод Add.
|
||
|
||
|
||
## Next - Получить указатель на следующий элемент массива
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH Next();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION Next();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## Prev - Получить указатель на предыдущий элемент массива
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH Prev();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTION Prev();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjection или IViewProjection.
|
||
```
|
||
|
||
|
||
## Refresh - Обновить массив
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Refresh();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL Refresh();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Метод перезаполняет массив проекциями, заданными в документе.
|
||
|
||
|
||
## SetBaseUserOrientation - Установить пользовательскую базовую ориентацию модели
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetBaseUserOrientation(VARIANT place);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SetBaseUserOrientation(VARIANT * place);
|
||
Входные параметры:
|
||
place - массив SafeAttray типа (VT_ARRAY VT_R8).
|
||
```
|
||
Примечание:
|
||
1. Элементы матрицы возвращаются в виде одномерного массива из 16 элементов. Матрица имеет размер 4х4.
|
||
2. Метод позволяет получить матрицу, которая может использоваться для отображения вида спереди.
|
||
3. По умолчанию используется единичная матрица без смещения.
|
||
|
||
|
||
## viewProjectionScheme - Текущая схема ориентаций модели
|
||
|
||
Тип данных: из перечисления ksViewProjectionScheme
|
||
Синтаксис Automation:
|
||
```
|
||
viewProjectionScheme = Object.viewProjectionScheme Получить свойство (* )
|
||
Object.viewProjectionScheme = viewProjectionScheme Установить свойство (* )
|
||
viewProjectionScheme = Object.GetViewProjectionScheme() Получить свойство(**)
|
||
Object.SetViewProjectionScheme( viewProjectionScheme ) Установить свойство (**)
|
||
```
|