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

236 lines
9.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс IFeaturePattern"
type: interface
api: [api7]
domain: [sketch, feature]
tags: [interface, api7, sketch, feature, ifeaturepattern]
sources:
- ifeaturepattern.html
---
*API интерфейсов. Версия 7 > Документ 3D  > Операции, массивы, эскизы, точки  > Массивы *
## Интерфейс IFeaturePattern
Базовый интерфейс работы с массивами.
Иерархия:
IDispatch
IFeaturePattern
Интерфейс позволяет получать и изменять общие параметры для операций копирования.
В зависимости от типа объекта используется определенный интерфейс операции копирования.
## AddInitialObjects - Добавить объекты в массив копируемых объектов
Синтаксис Automation:
```
BOOL AddInitialObjects( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT AddInitialObjects( VARIANT Objects, BOOL * Result );
Входные параметры:
Object - объект - тип VARIANT-а VT_DISPATCH или список объектов - тип VARIANT-а VT_ARRAY VT_DISPATCH.
Возвращаемое значение:
TRUE - в случае удачи.
```
## BasePoint - Базовая точка
Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
BasePoint = Object.BasePoint Получить свойство (* )
Object.BasePoint = BasePoint Установить свойство (* )
BasePoint = Object.GetBasePoint() Получить свойство (**)
Object.SetBasePoint( BasePoint ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BasePoint( &BasePoint ) Получить свойство
Object.put_BasePoint( BasePoint ) Установить свойство
```
## BasePointType - Способ задания базовой точки
Тип данных: из перечисления ksPatternBasePointTypeEnum
Синтаксис Automation:
```
BasePointType = Object.BasePointType Получить свойство (* )
BasePointType = Object.BasePointType Установить свойство (* )
BasePointType = Object.GetBasePointType() Получить свойство (**)
Object.SetBasePointType( BasePointType ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BasePointType( &BasePointType ) Получить свойство
Object.put_BasePointType( BasePointType ) Установить свойство
```
## Clear - Очистить список исходных объектов массива
Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
HRESULT Clear( BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачи.
```
## Destroy - Разрушить массив
Синтаксис Automation:
```
BOOL Destroy();
```
Синтаксис COM:
```
HRESULT Destroy( BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачи.
```
## Exemplar - Получить экземпляр по индексу (или индексам)
Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
Exemplar = Object.Exemplar( index1, index2 ) Получить свойство (* )
Exemplar = Object.GetExemplar( index1, index2 ) Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Exemplar( index1, index2, &Exemplar ) Получить свойство
Входные параметры
index1, index2 - индекс экземпляра
```
Примечание:
Свойство доступно только для чтения.
Значения индексов начинаются с 1.
В массиве по кривой используется один индекс (первый).
## GeometryPattern - Признак использования геометрического копирования
Тип данных: BOOL
Синтаксис Automation:
```
GeometryPattern = Object.GeometryPattern Получить свойство (* )
Object.GeometryPattern = GeometryPattern Установить свойство (* )
GeometryPattern = Object.GetGeometryPattern() Получить свойство (**)
Object.SetGeometryPattern( GeometryPattern ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_GeometryPattern( &GeometryPattern ) Получить свойство
Object.put_GeometryPattern( GeometryPattern ) Установить свойство
Значения свойства:
TRUE - используется геометрический массив,
FALSE - не используется геометрический массив.
```
## GetExemplarsCounts - Получить количество экземпляров
Синтаксис Automation:
```
BOOL GetExemplarsCounts( long * Count1, long * Count2 );
```
Синтаксис COM:
```
HRESULT GetExemplarsCounts( long * Count1, long * Count2, BOOL * Result );
Выходные параметры:
Count1 - количество экземпляров в первом направлении копирования,
Count2 - количество экземпляров во втором направлении копирования.
Возвращаемое значение:
TRUE - в случае удачи.
```
Примечание:
Два направления копирования имеют массивы по сетке и по концентрической сетке.
Для массивов остальных типов Count2 равен 1.
## InitialObjects - Исходные объекты массива
Тип данных: VARIANT
Синтаксис Automation:
```
InitialObjects = Object.InitialObjects Получить свойство (* )
Object.InitialObjects = InitialObjects Установить свойство (* )
InitialObjects = Object.GetInitialObjects() Получить свойство (**)
Object.SetInitialObjects( InitialObjects ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_InitialObjects( &InitialObjects ) Получить свойство
Object.put_InitialObjects( InitialObjects ) Установить свойство
```
Примечание:
Если копируется один объект, то возвращается VARIANT с типом VT_DISPATCH.
Если копируется более одного объекта, то возвращается VARIANT с типом VT_ARRAY | VT_DISPATCH.
## InstanceDeletedIndexes - Список удаленных экземпляров массива
Тип данных: VARIANT
Синтаксис Automation:
```
InstanceDeletedIndexes = Object.InstanceDeletedIndexes Получить свойство (* )
Object.InstanceDeletedIndexes = InstanceDeletedIndexes Установить свойство (* )
InstanceDeletedIndexes = Object.GetInstanceDeletedIndexes() Получить свойство (**)
Object.SetInstanceDeletedIndexes( InstanceDeletedIndexes ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_InstanceDeletedIndexes( &InstanceDeletedIndexes ) Получить свойство
Object.put_InstanceDeletedIndexes( InstanceDeletedIndexes ) Установить свойство
```
Примечания:
Возвращается массив SafeArray VT_ARRAY | VT_I4.
Свойства применяется для получения информации об удаленных копиях, а также управления составом удаленных копий.
Информация об удаленной копии выдается в виде индексов копии в узоре копирования.
В общем случае это два индекса по ортогональным осям в плоскости узора.
Для копий по кривой используется один индекс (первый).
Значения индексов начинаются с 1.
## IsInitialObject - Проверка: является ли объект исходным для массива
Синтаксис Automation:
```
BOOL IsInitialObject( IModelObject * Object );
```
Синтаксис COM:
```
HRESULT IsInitialObject( IModelObject * Object, BOOL * Result );
Входные параметры:
Object - указатель на объект IModelObject.
Возвращаемое значение:
TRUE - если объект есть в списке копируемых объектов.
```
## IsSuitableObject - Проверка пригодности объекта для операции
Синтаксис Automation:
```
BOOL IsSuitableObject( IModelObject * Object );
```
Синтаксис COM:
```
HRESULT IsSuitableObject( IModelObject * Object, BOOL * Result );
Входные параметры:
Object - указатель на объект IModelObject.
Возвращаемое значение:
TRUE - указанный объект можно скопировать с помощью данной операции.
```