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>
12 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Интерфейс коллекции проекций отображения модели (Интерфейсы ksViewProjectionCollection, IViewProjectionCollection) | interface |
|
|
|
|
*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).
Примечание:
- Элементы матрицы возвращаются в виде одномерного массива из 16 элементов. Матрица имеет размер 4х4.
- Метод позволяет получить матрицу, которая может использоваться для отображения вида спереди.
- По умолчанию используется единичная матрица без смещения.
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).
Примечание:
- Элементы матрицы возвращаются в виде одномерного массива из 16 элементов. Матрица имеет размер 4х4.
- Метод позволяет получить матрицу, которая может использоваться для отображения вида спереди.
- По умолчанию используется единичная матрица без смещения.
viewProjectionScheme - Текущая схема ориентаций модели
Тип данных: из перечисления ksViewProjectionScheme Синтаксис Automation:
viewProjectionScheme = Object.viewProjectionScheme Получить свойство (* )
Object.viewProjectionScheme = viewProjectionScheme Установить свойство (* )
viewProjectionScheme = Object.GetViewProjectionScheme() Получить свойство(**)
Object.SetViewProjectionScheme( viewProjectionScheme ) Установить свойство (**)