---
title: "Сборка"
type: interface
api: [api7]
domain: [3d, assembly]
tags: [interface, api7, 3d, assembly, bc3308967]
sources:
  - bc3308967.html
  - idismantleparameters.html
  - idismantlestep.html
  - iloadcombination.html
  - iopendocumentparam.html
  - iloadcombinationsparam.html
---

*API интерфейсов. Версия 7 > Документ 3D *




## Интерфейс IDismantleParameters

Интерфейс параметров разнесения сборки.
Иерархия:
IDispatch
IDismantleParameters
Примечание:
Интерфейс может быть получен в качестве дополнительного для интерфейса IAssemblyDocument посредством вызова метода IUnknown::QueryInterface (const GUID far& IID, void** pif).
Версия: Компас v20


## AddDismantleStep - Добавить шаг разнесения

Синтаксис Automation:
```
LPDISPATCH AddDismantleStep();
```
Синтаксис COM:
```
HRESULT AddDismantleStep( IDismantleStep * * Result );
Возвращаемое значение:
- Указатель на интерфейс IDismantleStep.
```


## ClearDismantleParameters - Удалить параметры разнесения

Синтаксис Automation:
```
BOOL ClearDismantleParameters();
```
Синтаксис COM:
```
HRESULT ClearDismantleParameters( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## DeleteDismantleStep - Удалить шаг разнесения

Синтаксис Automation:
```
BOOL DeleteDismantleStep( long Index );
```
Синтаксис COM:
```
HRESULT DeleteDismantleStep( long Index, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Входные параметры:
Index    - Индекс шага разнесения.
```


## DismantleStep - Параметры шага разнесения

Тип данных: Указатель на интерфейс IDismantleStep.
Синтаксис Automation:
```
DismantleStep = Object.DismantleStep( Index )    Получить свойство (* )
DismantleStep = Object.GetDismantleStep( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_DismantleStep( Index, &DismantleStep )    Получить свойство
Входные параметры:
long index    - Индекс шага в коллекции
```
Примечание:
Свойство доступно только для чтения.


## DismantleStepsCount - Количество шагов разнесения

Тип данных: long
Синтаксис Automation:
```
DismantleStepsCount = Object.DismantleStepsCount    Получить свойство (* )
DismantleStepsCount = Object.GetDismantleStepsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_DismantleStepsCount( &DismantleStepsCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Интерфейс IDismantleStep

Интерфейс Шаг разнесения сборки.
Иерархия:
IDispatch
IKompasAPIObject
IDismantleStep
Версия: Компас v20


## DirectionObject - Направляющий объект

Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
DirectionObject = Object.DirectionObject    Получить свойство(* )
Object.DirectionObject = DirectionObject    Установить свойство (* )
DirectionObject = Object.GetDirectionObject()    Получить свойство (**)
Object.SetDirectionObject( DirectionObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionObject( &DirectionObject )    Получить свойство
Object.put_DirectionObject( DirectionObject )    Установить свойство
```


## Distance - Расстояние

Тип данных: double
Синтаксис Automation:
```
Distance = Object.Distance    Получить свойство(* )
Object.Distance = Distance    Установить свойство (* )
Distance = Object.GetDistance()    Получить свойство (**)
Object.SetDistance( Distance )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Distance( &Distance )    Получить свойство
Object.put_Distance( Distance )    Установить свойство
```


## Parts - Список сдвигаемых вставок

Тип данных: VARIANT
Синтаксис Automation:
```
Parts = Object.Parts    Получить свойство(* )
Object.Parts = Parts    Установить свойство (* )
Parts = Object.GetParts()    Получить свойство (**)
Object.SetParts( Parts )    Установить свойство (**)
```
Синтаксис COM:
```
iObject.get_Parts( &Parts )    Получить свойство
Object.put_Parts( Parts )    Установить свойство
```
Примечание
Возвращается массив SafeArray VT_ARRAY | VT_DISPATCH граней IPart7.


## Vector - Направляющий вектор

Тип данных: Указатель на интерфейс IVector3D.
Синтаксис Automation:
```
Vector = Object.Vector    Получить свойство(* )
Vector = Object.GetVector()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Vector( &Vector )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Интерфейс ILoadCombination

Интерфейс для работы с типами загрузки.
Иерархия:
IDispatch
ILoadCombination
Примечание:
1. Интерфейс может быть получен в качестве дополнительного для интерфейса IAssemblyDocument.
2. Интерфейс предназначен для работы с типами загрузки. Позволяет получить массив типов загрузки документа, текущий индекс типа загрузки, создать, удалить, применить тип загрузки.
У сборки 3D есть три умолчательных типа загрузки, индексы которых соответствуют перечислению ksLoadStateEnum:
| Полная | 0 | - полная загрузка, |
| --- | --- | --- |
| Пустая | 1 | - все компоненты не загружены, |
| Упрощенная | 2 | - все компоненты загружены частично. |
Кроме этого могут быть еще и пользовательские типы загрузки.


## Apply - Применить набор

Синтаксис Automation:
```
BOOL Apply( VARIANT loadCombinationIndex )
```
Синтаксис COM:
```
HRESULT Apply([in] VARIANT loadCombinationIndex, [out, retval] BOOL * Value );
Входные параметры:
loadCombinationIndex    - тип VARIANT - индекс набора или имя набора.
Возвращаемое значение:
TRUE    - набор успешно применен,
FALSE    - не применен.
```
Примечание:
1. Метод позволяет применить набор с заданным именем или индексом.
2. Набор становится текущим, что позволит открывать документ с таким набором по умолчанию.


## ApplyEx - Применить тип загрузки

Синтаксис Automation:
```
BOOL ApplyEx( VARIANT LoadCombinationIndex, BSTR Password );
```
Синтаксис COM:
```
HRESULT ApplyEx( VARIANT LoadCombinationIndex, BSTR Password, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки,
Password    - пароль.
```


## CompletelyLoaded - Документ загружен полностью

Тип данных: BOOL
Значения свойства:
| TRUE | - документ загружен полностью, |
| --- | --- |
| FALSE | - документ загружен не полностью, |
Синтаксис Automation:
```
CompletelyLoaded = iObject.CompletelyLoaded    Получить свойство (* )
CompletelyLoaded = iObject.GetCompletelyLoaded()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CompletelyLoaded(&CompletelyLoaded)    Получить свойство (* )
```
Примечание:
1. Свойство позволяет узнать загружен ли документ полностью.
2. Если документ загружен полностью, можно получить массово-центровочные характеристики документа. В противном случае вернутся обнуленные данные.


## Create - Создать набор

Синтаксис Automation:
```
long Create( LPCTSTR combinationName )
```
Синтаксис COM:
```
HRESULT Create([in] BSTR combinationName, [out, retval] long * result );
Входные параметры:
combinationName    - имя набора.
Возвращаемое значение:
индекс набора в массиве наборов    - в случае успеха,
-1    - в случае неудачи.
```
Примечание:
1. Метод позволяет создать пользовательский набор с заданным именем.
2. В набор сохраняется текущее состояние дерева построения. То есть предварительно нужно отдельно пройтись по вставкам компонентов и выполнить команды Выгрузить или Загрузить компонент.
3. Набор не становится автоматически текущим.


## CurrentIndex - Текущий индекс набора

Тип данных: long
Синтаксис Automation:
```
CurrentIndex = iObject.CurrentIndex    Получить свойство (* )
CurrentIndex = iObject.GetCurrentIndex()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CurrentIndex(&CurrentIndex)    Получить свойство (* )
```
Примечание:
1. Свойство позволяет получить текущий индекс набора, по которому загружается документ по умолчанию.
2. Набор становится текущим после выполнения команды Применить.


## Delete - Удалить набор

Синтаксис Automation:
```
BOOL Delete( VARIANT loadCombinationIndex )
```
Синтаксис COM:
```
HRESULT Delete([in] VARIANT loadCombinationIndex, [out, retval] BOOL * result );
Входные параметры:
loadCombinationIndex    - тип VARIANT - индекс набора или имя набора.
Возвращаемое значение:
TRUE    - удален,
FALSE    - не удален.
```
Примечание:
Метод позволяет удалить пользовательский набор с заданным именем или индексом.


## DeleteEx - Удалить тип загрузки

Синтаксис Automation:
```
BOOL DeleteEx( VARIANT LoadCombinationIndex,
BSTR Password,
BOOL DeleteDependant );
```
Синтаксис COM:
```
HRESULT DeleteEx( VARIANT LoadCombinationIndex,
BSTR Password,
BOOL DeleteDependant,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки,
Password    - пароль,
DeleteDependant    - TRUE - с подчиненными типами загрузки,
- FALSE - без подчиненных.
```


## GetLoadCombinationComment - Получить комментарий

Синтаксис Automation:
```
BSTR GetLoadCombinationComment( VARIANT LoadCombinationIndex );
```
Синтаксис COM:
```
HRESULT GetLoadCombinationComment( VARIANT LoadCombinationIndex, BSTR * Result );
Возвращаемое значение:
строка с комментарием
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки.
```


## GetLoadCombinationName - Получить имя

Синтаксис Automation:
```
BSTR GetLoadCombinationName( VARIANT LoadCombinationIndex );
```
Синтаксис COM:
```
HRESULT GetLoadCombinationName( VARIANT LoadCombinationIndex, BSTR * Result );
Возвращаемое значение:
строка с именем
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки.
```


## LoadCombinations - Массив наборов

Тип данных: VARIANT - массив наборов в виде массива SAFEARRAY BSTR - (VT_ARRAY | VT_BSTR)
Синтаксис Automation:
```
LoadCombinations = iObject.LoadCombinations    Получить свойство (* )
LoadCombinations = iObject.GetLoadCombinations()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_LoadCombinations ( &LoadCombinations)    Получить свойство (* )
```
Примечание:
1. Свойство позволяет получить массив наборов документа.
2. У сборки 3D есть три умолчательных набора, индексы которых соответствуют перечислению ksLoadStateEnum.:
| Полная | 0 | - полная загрузка, |
| --- | --- | --- |
| Пустая | 1 | - все компоненты не загружены, |
| Упрощенная | 2 | - все компоненты загружены частично. |
Кроме этого могут быть еще и пользовательские наборы.


## ProtectedFlags - Получить массив признаков защищенности типов загрузок в виде SAFEARRAY BOOL - (VT_ARRAY | VT_BOOL)

Тип данных: VARIANT
Синтаксис Automation:
```
ProtectedFlags = Object.ProtectedFlags    Получить свойство (* )
ProtectedFlags = Object.GetProtectedFlags()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ProtectedFlags( &ProtectedFlags )    Получить свойство (* )
```
Примечание:
Свойство доступно только для чтения.


## SetLoadCombinationComment - Установить комментарий

Синтаксис Automation:
```
BOOL SetLoadCombinationComment( VARIANT LoadCombinationIndex,
BSTR NewVal,
BSTR Password );
```
Синтаксис COM:
```
HRESULT SetLoadCombinationComment( VARIANT LoadCombinationIndex,
BSTR NewVal,
BSTR Password,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки,
NewVal    - строка с комментарием,
Password    - пароль.
```


## SetLoadCombinationName - Установить имя

Синтаксис Automation:
```
BOOL SetLoadCombinationName( VARIANT LoadCombinationIndex,
BSTR NewVal,
BSTR Password );
```
Синтаксис COM:
```
HRESULT SetLoadCombinationName( VARIANT LoadCombinationIndex,
BSTR NewVal,
BSTR Password,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки,
NewVal    - строка с именем,
Password    - пароль.
```


## SetPassword - Установить пароль

Синтаксис Automation:
```
BOOL SetPassword( VARIANT LoadCombinationIndex,
BSTR OldPassword,
BSTR Password,
BOOL UnprotectUsers );
```
Синтаксис COM:
```
HRESULT SetPassword( VARIANT LoadCombinationIndex,
BSTR OldPassword,
BSTR Password,
BOOL UnprotectUsers,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки,
OldPassword    - старый пароль,
Password    - новый пароль,
UnprotectUsers    - TRUE - при удалении пароля системного типа удалять пароли пользовательских типов.
```


## UpdateByModel - Обновить по текущему состоянию модели

Синтаксис Automation:
```
BOOL UpdateByModel( VARIANT LoadCombinationIndex, BSTR Password );
```
Синтаксис COM:
```
HRESULT UpdateByModel( VARIANT LoadCombinationIndex, BSTR Password, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
LoadCombinationIndex    - индекс типа загрузки,
Password    - пароль.
```


## Интерфейс IOpenDocumentParam

Интерфейс параметров открытия документа.
Иерархия:
IDispatch
IKompasAPIObject
IOpenDocumentParam
Позволяет настраивать параметры открытия документа.
Примечание:
Интерфейс можно получить с помощью метода IDocuments::GetOpenDocumentParam или IPart7::GetOpenDocumentParam.


## ApplyingIndex - Индекс примененного типа загрузки

Тип данных: long
Синтаксис Automation:
```
ApplyingIndex = Object.ApplyingIndex    Получить свойство (* )
Object.ApplyingIndex = ApplyingIndex    Установить свойство (* )
ApplyingIndex = Object.GetApplyingIndex()    Получить свойство (**)
Object.SetApplyingIndex( ApplyingIndex )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ApplyingIndex( &ApplyingIndex )    Получить свойство
Object.get_ApplyingIndex( &ApplyingIndex )    Установить свойство
```


## Password - Пароль типа загрузки

Тип данных: BSTR
Синтаксис Automation:
```
Object.Password = Password    Получить свойство (* )
Object.SetPassword( Password )    Получить свойство (**)
```
Синтаксис COM:
```
Object.put_Password( Password )    Получить свойство
```


## ReadOnly - Открытие документа с присвоением признака «Для чтения»

Тип данных: BOOL
Синтаксис Automation:
```
ReadOnly = Object.ReadOnly    Получить свойство (* )
Object.ReadOnly = ReadOnly    Установить свойство (* )
ReadOnly = Object.GetReadOnly()    Получить свойство (**)
Object.SetReadOnly( ReadOnly )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReadOnly( &ReadOnly )    Получить свойство
Object.put_ReadOnly( ReadOnly )    Установить свойство
```


## Visible - Видимость документа

Тип данных: BOOL
Синтаксис Automation:
```
Visible = Object.Visible    Получить свойство (* )
Object.Visible = Visible    Установить свойство (* )
Visible = Object.GetVisible()    Получить свойство (**)
Object.SetVisible( Visible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Visible( &Visible )    Получить свойство
Object.put_Visible( Visible )    Установить свойство
```


## Интерфейс ILoadCombinationsParam

Интерфейс параметров типа загрузки документа.
Иерархия:
IDispatch
IKompasAPIObject
ILoadCombinationsParam
Позволяет настраивать параметры типов загрузки документа.
Примечание:
Интерфейс можно получить с помощью метода IDocuments::GetLoadCombinationsParam.


## ApplyingIndex - Получить индекс примененного типа загрузки

Тип данных: long
Синтаксис Automation:
```
ApplyingIndex = Object.ApplyingIndex    Получить свойство (* )
ApplyingIndex = Object.GetApplyingIndex()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ApplyingIndex( &ApplyingIndex )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## LoadCombinations - Получить массив типов загрузок в виде SAFEARRAY BSTR(VT_ARRAY | VT_BSTR)

Тип данных: VARIANT
Синтаксис Automation:
```
LoadCombinations = Object.LoadCombinations    Получить свойство (* )
LoadCombinations = Object.GetLoadCombinations()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LoadCombinations( &LoadCombinations )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ProtectedFlags - Получить массив признаков защищенности типов загрузок в виде SAFEARRAY BOOL(VT_ARRAY | VT_BOOL)

Тип данных: VARIANT
Синтаксис Automation:
```
ProtectedFlags = Object.ProtectedFlags    Получить свойство (* )
ProtectedFlags = Object.GetProtectedFlags()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ProtectedFlags( &ProtectedFlags )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
