Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksbodycollection.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

290 lines
9.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс массива трехмерных тел (Интерфейсы ksBodyCollection, IBodyCollection)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, ksbodycollection]
sources:
- ksbodycollection.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента) *
## Интерфейс массива трехмерных тел (Интерфейсы ksBodyCollection, IBodyCollection)
Интерфейс массива трехмерных тел.
| ksBodyCollection | - интерфейс Automation |
| --- | --- |
| IBodyCollection | - интерфейс COM |
Трехмерное тело (Интерфейсы ksBody, Body)
## Add - Добавить элемент в конец массива
Интерфейс..
Синтаксис Automation:
```
BOOL Add(LPDISPATCH body);
```
Синтаксис COM:
```
BOOL Add(LPBODY body);
Входные параметры:
body - указатель на интерфейс ksBody или IBody добавляемого объекта.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Указатель на интерфейс добавляемого объекта body не должен быть равен 0.
## AddAt - Добавить объект с заданным индексом в массив
Интерфейс..
Синтаксис Automation:
```
BOOL AddAt(LPDISPATCH body, long index);
```
Синтаксис COM:
```
BOOL AddAt(LPBODY body, long index);
Входные параметры:
body - указатель на интерфейс ksBody или IBody,
index - индекс в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Указатель на интерфейс добавляемого объекта body не должен быть равен 0.
## AddBefore - Добавить объект перед указанным объектом в массиве
Интерфейс..
Синтаксис Automation:
```
BOOL AddBefore(LPDISPATCH body, LPDISPATCH base);
```
Синтаксис COM:
```
BOOL AddBefore(LPBODY body, LPBODY base);
Входные параметры:
body - указатель на интерфейс ksBody или IBody добавляемого объекта,
base - указатель на интерфейс ksBody или IBody базового объекта.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Указатели на интерфейсы добавляемого и базового объекта body и base не должны быть равны 0.
## Clear - Очистить массив
Интерфейс..
Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
BOOL Clear();
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Объекты удаляются только из массива, в модель изменения не передаются.
## DetachByBody - Удалить указанный объект из массива
Интерфейс..
Синтаксис Automation:
```
BOOL DetachByBody(LPDISPATCH body);
```
Синтаксис COM:
```
BOOL DetachByBody(LPBODY body);
Входные параметры:
body - указатель на интерфейс ksBody или IBody.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Указатель на интерфейс удаляемого объекта body не должен быть равен 0.
## DetachByIndex - Удалить объект из массива по индексу
Интерфейс..
Синтаксис Automation:
```
BOOL DetachByIndex(long index);
```
Синтаксис COM:
```
BOOL DetachByIndex(long index);
Входные параметры:
index - индекс удаляемого объекта в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Элемент массива из модели не удаляется.
## FindIt - Получить индекс элемента в массиве
Интерфейс..
Синтаксис Automation:
```
long FindIt (LPDISPATCH entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
-1 - если элемент не найден.
```
Синтаксис COM:
```
unsigned long FindIt (LPBODY entity );
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
SYS_MAX_UINT - если элемент не найден.
Входные параметры:
entity - указатель на интерфейс компонента ksBody или IBody.
```
## First - Получить указатель на интерфейс первого объекта в массиве
Интерфейс..
Синтаксис Automation:
```
LPDISPATCH First();
```
Синтаксис COM:
```
LPBODY First();
Возвращаемое значение:
- указатель на интерфейс ksBody или IBody.
```
## GetByIndex - Получить указатель на интерфейс объекта в массиве по индексу
Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetByIndex (long index);
```
Синтаксис COM:
```
LPBODY GetByIndex (long index);
Входной параметр:
index - номер объекта в массиве.
Возвращаемое значение:
- указатель на интерфейс ksBody или IBody.
```
## GetCount - Получить количество элементов в массиве
Интерфейс..
Синтаксис Automation:
```
long GetCount();
```
Синтаксис COM:
```
long GetCount();
Возвращаемое значение:
- количество элементов массива.
```
## Last - Получить указатель на интерфейс последнего объекта в массиве
Интерфейс..
Синтаксис Automation:
```
LPDISPATCH Last();
```
Синтаксис COM:
```
LPBODY Last();
Возвращаемое значение:
- указатель на интерфейс ksBody или IBody.
```
## Next - Получить указатель на интерфейс следующего объекта в массиве
Интерфейс..
Синтаксис Automation:
```
LPDISPATCH Next();
```
Синтаксис COM:
```
LPBODY Next();
Возвращаемое значение:
- указатель на интерфейс ksBody или IBody.
```
## Prev - Получить указатель на интерфейс предыдущего объекта в массиве
Интерфейс..
Синтаксис Automation:
```
LPDISPATCH Prev();
```
Синтаксис COM:
```
LPBODY Prev();
Возвращаемое значение:
- указатель на интерфейс компонента ksBody или IBody.
```
## Refresh - Обновить массив
Синтаксис Automation:
```
BOOL Refresh();
```
Синтаксис COM:
```
BOOL Refresh();
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
После вызова данной функции возникает полное соответствие массива с массивом тел трехмерной детали или сборки и удаляются все предыдущие изменения в массиве.
## SetByIndex - Заменить объект с указанным индексом в массиве на присланный объект
Интерфейс..
Синтаксис Automation:
```
BOOL SetByIndex(LPDISPATCH body, long index);
```
Синтаксис COM:
```
BOOL SetByIndex(LPBODY body, long index);
Входные параметры:
body - указатель на интерфейс ksBody или IBody присоединяемого объекта,
index - индекс элемента в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```