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

174 lines
6.2 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: "Интерфейс IMacroObject3D"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, imacroobject3d]
sources:
- imacroobject3d.html
---
*API интерфейсов. Версия 7 > Документ 3D  > Макрообъекты 3D *
## Интерфейс IMacroObject3D
Интерфейс макроэлемента 3D.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IMacroObject3D
Данный интерфейс можно получить с помощью метода коллекции операций по сечениям IMacroObjects3D::Add или свойства IMacroObjects3D::MacroObject3D.
КОМПАС версия v18
## AssociationObject - Установить опорный объект
Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
AssociationObject = Object.AssociationObject( Index ) Получить свойство (* )
Object.AssociationObject( Index ) = AssociationObject Установить свойство (* )
AssociationObject = Object.GetAssociationObject( Index ) Получить свойство (**)
Object.SetAssociationObject( Index, AssociationObject ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObject( Index, &AssociationObject ) Получить свойство
Object.put_AssociationObject( Index, AssociationObject ) Установить свойство
Входные параметры:
long Index - индекс объекта.
```
## AssociationObjectCount - Количество опорных объектов
Тип данных: long
Синтаксис Automation:
```
AssociationObjectCount = Object.AssociationObjectCount ; Получить свойство (* )
AssociationObjectCount = Object.GetAssociationObjectCount(); Получить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObjectCount( &AssociationObjectCount ); Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## ClearAssociationObject - Удалить все опорные объекты
Синтаксис Automation:
```
BOOL ClearAssociationObject();
```
Синтаксис COM:
```
HRESULT ClearAssociationObject( BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## Destroy - Разрушить макроэлемент
Синтаксис Automation:
```
BOOL Destroy();
```
Синтаксис COM:
```
HRESULT Destroy( BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## DoubleClickEditable - Редактирование по двойному клику поддерживается
Тип данных: BOOL
Синтаксис Automation:
```
DoubleClickEditable = Object.DoubleClickEditable Получить свойство (* )
Object.DoubleClickEditable = DoubleClickEditable Установить свойство (* )
DoubleClickEditable = Object.GetDoubleClickEditable() Получить свойство (**)
Object.SetDoubleClickEditable( DoubleClickEditable ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DoubleClickEditable( &DoubleClickEditable ) Получить свойство
Object.put_DoubleClickEditable( DoubleClickEditable ) Установить свойство
```
## Label - Отображаемое имя объекта в дереве
Тип данных: BSTR
Синтаксис Automation:
```
Label = Object.Label ; Получить свойство (* )
Label = Object.GetLabel( ); Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Label( &Label ); Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## Objects - Внутренние объекты макро
Тип данных: VARIANT
Синтаксис Automation:
```
Objects = Object.Objects Получить свойство (* )
Object.Objects = Objects Установить свойство (* )
Objects = Object.GetObjects() Получить свойство (**)
Object.SetObjects( Objects ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Objects( &Objects ) Получить свойство
Object.put_Objects( Objects ) Установить свойство
```
Примечание:
Список объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH ( VT_ARRAY | VT_DISPATCH).
Если объект один, возвращается VARIANT с типом VT_DISPATCH.
## PropertyObjectEditable - Поддерживается интерфейс внешних свойств объекта
Тип данных: BOOL
Синтаксис Automation:
```
PropertyObjectEditable = Object.PropertyObjectEditable Получить свойство (* )
Object.PropertyObjectEditable = PropertyObjectEditable Установить свойство (* )
PropertyObjectEditable = Object.GetPropertyObjectEditable() Получить свойство (**)
Object.SetPropertyObjectEditable( PropertyObjectEditable ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PropertyObjectEditable( &PropertyObjectEditable ) Получить свойство
Object.put_PropertyObjectEditable( PropertyObjectEditable ) Установить свойство
```
## StaffVisible - Управление видимостью состава
Тип данных: BOOL
Синтаксис Automation:
```
StaffVisible = Object.StaffVisible Получить свойство (* )
Object.StaffVisible = StaffVisible Установить свойство (* )
StaffVisible = Object.GetStaffVisible() Получить свойство (**)
Object.SetStaffVisible( StaffVisible ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_StaffVisible( &StaffVisible ) Получить свойство
Object.put_StaffVisible( StaffVisible ) Установить свойство
```