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

291 lines
8.8 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: "Массив компонентов сборки (Интерфейсы ksPartCollection и IPartCollection)"
type: interface
api: [api7]
domain: [3d, assembly]
tags: [interface, api7, 3d, assembly, kspartcollection]
sources:
- kspartcollection.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) *
## Массив компонентов сборки (Интерфейсы ksPartCollection и IPartCollection)
Интерфейс динамического массива компонентов сборки.
| ksPartCollection | - интерфейс Automation |
| --- | --- |
| IPartCollection | - интерфейс COM |
Примечание:
Данный интерфейс можно получить от интерфейса ksDocument3D или IDocument3D.
## Add - Добавить компонент в массив
Синтаксис Automation:
```
BOOL Add (LPDISPATCH part);
```
Синтаксис COM:
```
BOOL Add (LPPART part);
Входной параметр:
part - указатель на интерфейс компонента ksPart или IPart.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## AddAt - Добавить в массив компонент с заданным индексом
Синтаксис Automation:
```
BOOL AddAt (LPDISPATCH part,
long index);
```
Синтаксис COM:
```
BOOL AddAt (LPPART part,
unsigned long index);
Входные параметры:
part - указатель на интерфейс компонента ksPart или IPart,
index - индекс в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## AddBefore - Добавить в массив компонент перед указанным компонентом
Синтаксис Automation:
```
BOOL AddBefore (LPDISPATCH entity,
LPDISPATCH base);
```
Синтаксис COM:
```
BOOL AddBefore (LPPART entity,
LPPART base);
Входные параметры:
part - указатель на интерфейс добавляемого компонента ksPart илиIPart,
base - указатель на интерфейс компонента базового объекта ksPart или IPart.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## Clear - Очистить массив
Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
BOOL Clear();
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
Элементы массива из модели не удаляются.
## DetachByBody - отсоединить компонент от массива
Синтаксис Automation:
```
BOOL DetachByBody (LPDISPATCH part);
```
Синтаксис COM:
```
BOOL DetachByBody (LPPART part);
Входной параметр:
part - указатель на интерфейс отсоединяемого компонента ksPart или IPart.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
Элемент массива из модели не удаляется.
## DetachByIndex - Отсоединить от массива компонент с указанным индексом
Синтаксис Automation:
```
BOOL DetachByIndex (long index);
```
Синтаксис COM:
```
BOOL DetachByIndex (unsigned long index);
Входной параметр:
index - индекс отсоединяемого компонента в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
Элемент массива из модели не удаляется.
## FindIt - Получить индекс элемента в массиве
Синтаксис Automation:
```
long FindIt(LPDISPATCH entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
-1 - если элемент не найден.
```
Синтаксис COM:
```
unsigned long FindIt (LPPART entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
SYS_MAX_UINT - если элемент не найден.
Входные параметры:
entity - указатель на интерфейс компонента ksPart или IPart.
```
## First - Получить указатель на интерфейс первого компонента
Синтаксис Automation:
```
LPDISPATCH First();
```
Синтаксис COM:
```
LPPART First();
Возвращаемое значение:
- указатель на интерфейс компонента ksPart или IPart.
```
## GetByIndex - Получить указатель на интерфейс компонента по индексу
Синтаксис Automation:
```
LPDISPATCH GetByIndex (long index);
```
Синтаксис COM:
```
LPPART GetByIndex (unsigned long index);
Входной параметр:
index - индекс компонента в массиве.
Возвращаемое значение:
- указатель на интерфейс компонента ksPart или IPart.
```
## GetByName - Получить указатель на интерфейс компонента по имени
Синтаксис Automation:
```
LPDISPATCH GetByName (BSTR name,
BOOL testFullName,
BOOL testIgnoreCase);
```
Синтаксис COM:
```
LPPART GetByName (LPOLESTR name,
BOOL testFullName,
BOOL testIgnoreCase);
Входные параметры:
name - имя объекта,
testFullName - признак полного имени (TRUE - полное имя),
testIgnoreCase - признак учета регистра: TRUE - игнорировать регистр, FALSE - учитывать регистр.
Возвращаемое значение:
- указатель на интерфейс компонента ksPart или IPart.
```
## GetCount - Получить количество элементов массива компонентов сборки
Синтаксис Automation:
```
long GetCount();
```
Синтаксис COM:
```
unsigned long GetCount();
Возвращаемое значение:
- количество элементов массива.
```
## Last - Получить указатель на интерфейс последнего компонента
Синтаксис Automation:
```
LPDISPATCH Last();
```
Синтаксис COM:
```
LPPART Last();
Возвращаемое значение:
- указатель на интерфейс компонента ksPart или IPart.
```
## Next - Получить указатель на интерфейс следующего компонента
Синтаксис Automation:
```
LPDISPATCH Next();
```
Синтаксис COM:
```
LPPART Next();
Возвращаемое значение:
- указатель на интерфейс компонента ksPart или IPart.
```
## Prev - Получить указатель на интерфейс предыдущего компонента
Синтаксис Automation:
```
LPDISPATCH Prev();
```
Синтаксис COM:
```
LPPART Prev();
Возвращаемое значение:
- указатель на интерфейс компонента ksPart или IPart.
```
## Refresh - Обновить массив компонентов сборки
Синтаксис Automation:
```
BOOL Refresh();
```
Синтаксис COM:
```
BOOL Refresh();
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
Примечание:
После вызова данной функции возникает полное соответствие массива с массивом компонентов и удаляются все предыдущие изменения в массиве.
## SetByIndex - Заменить компонент в массиве по индексу
Синтаксис Automation:
```
BOOL SetByIndex (LPDISPATCH part,
long index);
```
Синтаксис COM:
```
BOOL SetByIndex (LPPART part,
unsigned long index);
Входные параметры:
part - указатель на интерфейс компонента ksPart или IPart,
index - индекс заменяемого компонента в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```