e1337e4016
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>
174 lines
6.2 KiB
Markdown
174 lines
6.2 KiB
Markdown
---
|
||
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 ) Установить свойство
|
||
```
|