---
title: "Компоненты"
type: interface
api: [api7]
domain: [3d, assembly]
tags: [interface, api7, 3d, assembly, bc2609111]
sources:
  - bc2609111.html
  - ibodyrepositions.html
  - ibodyreposition.html
  - ichooseobjects.html
  - icomponentpositioner7.html
  - iinsertpartparameters.html
  - iparts7.html
  - ipart7.html
  - iembodiment.html
  - ifeature7.html
  - imassinertiaparam7.html
  - imodelsfamilymanager.html
  - isourcepart7params.html
  - iembodimentsmanager.html
  - ibilletobsolete.html
  - isaveasdetailparam.html
  - imateconstraints3d.html
  - imateconstraint3d.html
  - imateinterval.html
---

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




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

Интерфейс коллекции операций перепозиционирования тела, поверхности.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IBodyRepositions
Данный интерфейс можно получить, используя свойство контейнера трехмерных объектов IModelContainer::BodyRepositions.
КОМПАС версия v18


## Add - Создает новый элемент и добавляет его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IBodyReposition * * Result );
Возвращаемое значение:
- указатель на интерфейс IBodyReposition.
```
Примечания:
1. Метод позволяет создать новый интерфейс операции перепозиционирования тела, поверхности.
2. После получения нового интерфейса нужно задать параметры операции и вызвать метод IModelObject::Update.


## BodyReposition - Возвращает элемент, заданный по индексу

Тип данных: Указатель на интерфейс IBodyReposition.
Синтаксис Automation:
```
BodyReposition = Object.BodyReposition( Index );    Получить свойство (* )
BodyReposition = Object.GetBodyReposition( Index );    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BodyReposition( Index, &BodyReposition )    Получить свойство
Входные параметры:
VARIANT Index    - индекс или имя элемента.
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс перепозиционирования тела, поверхности.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IBodyReposition
Данный интерфейс можно получить с помощью метода коллекции операций перепозиционирования тела, поверхности IBodyRepositions::Add или свойства IBodyRepositions::BodyReposition.


## CopyBoby - Копировать тело

Тип данных: BOOL
Синтаксис Automation:
```
CopyBoby = Object.CopyBoby    Получить свойство (* )
Object.CopyBoby = CopyBoby    Установить свойство (* )
CopyBoby = Object.GetCopyBoby()    Получить свойство (**)
Object.SetCopyBoby( CopyBoby )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CopyBoby( &CopyBoby )    Получить свойство
Object.put_CopyBoby( CopyBoby )    Установить свойство
```


## Position - Параметры смещения

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


## RepositionBody - Перемещаемое тело или поверхность

Тип данных: Указатель на интерфейс IKompasAPIObject.
Синтаксис Automation:
```
RepositionBody = Object.RepositionBody    Получить свойство (* )
Object.RepositionBody = RepositionBody    Установить свойство (* )
RepositionBody = Object.GetRepositionBody()    Получить свойство (**)
Object.SetRepositionBody( RepositionBody )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RepositionBody( &RepositionBody )    Получить свойство
Object.put_RepositionBody( RepositionBody )    Установить свойство
```


## RepositionCentre - Точка центра смещения

Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
RepositionCentre = Object.RepositionCentre    Получить свойство (* )
Object.RepositionCentre = RepositionCentre    Установить свойство (* )
RepositionCentre = Object.GetRepositionCentre()    Получить свойство (**)
Object.SetRepositionCentre( RepositionCentre )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RepositionCentre( &RepositionCentre )    Получить свойство
Object.put_RepositionCentre( RepositionCentre )    Установить свойство
```


## RepositionObjects - Перемещаемые объекты (тела, поверхности, кривые, точки)

Тип данных: VARIANT
Синтаксис Automation:
```
RepositionObjects = Object.RepositionObjects    Получить свойство (* )
Object.RepositionObjects = RepositionObjects    Установить свойство (* )
RepositionObjects = Object.GetRepositionObjects()    Получить свойство (**)
Object.SetRepositionObjects( RepositionObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RepositionObjects( &RepositionObjects )    Получить свойство
Object.put_RepositionObjects( RepositionObjects )    Установить свойство
КOMPAS v24
```


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

Интерфейс области применения для тел и компонентов документа в операции.
Иерархия:
IDispatch
IChooseObjects
Данный интерфейс позволяет выбирать тела и компоненты, участвующие в операции.
КОМПАС версия v18


## ChooseBodies - Заменить массив тел (SAFEARRAY)

Тип данных: VARIANT
Синтаксис Automation:
```
ChooseBodies = Object.ChooseBodies    Получить свойство (* )
Object.ChooseBodies = ChooseBodies    Установить свойство (* )
ChooseBodies = Object.GetChooseBodies()    Получить свойство (**)
Object.SetChooseBodies( ChooseBodies )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ChooseBodies( &ChooseBodies )    Получить свойство
Object.put_ChooseBodies( ChooseBodies )    Установить свойство
Примечание.
Свойство позволяет получать и устанавливать тело или массив тел, участвующих в операции.
Массив возвращается в виде массива SAFEARRAY тел LPDISPATCH (VT_ARRAY | VT_DISPATCH).
```


## ChooseParts - Массив вставок (SAFEARRAY)

Тип данных: VARIANT
Синтаксис Automation:
```
ChooseParts = Object.ChooseParts    Получить свойство (* )
Object.ChooseParts = ChooseParts    Установить свойство (* )
ChooseParts = Object.GetChooseParts()    Получить свойство (**)
Object.SetChooseParts( ChooseParts )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ChooseParts( &ChooseParts )    Получить свойство
Object.put_ChooseParts( ChooseParts )    Установить свойство
Примечание.
Свойство позволяет получать и устанавливать компонент или массив компонентов, участвующих в операции.
Массив возвращается в виде массива SAFEARRAY компонентов LPDISPATCH (VT_ARRAY | VT_DISPATCH).
```


## ChoosePartsType - Область применения. Объекты

Тип данных: Значение из перечисления ksChoosePartsType.
Синтаксис Automation:
```
ChoosePartsType = Object.ChoosePartsType    Получить свойство (* )
Object.ChoosePartsType = ChoosePartsType    Установить свойство (* )
ChoosePartsType = Object.GetChoosePartsType()    Получить свойство (**)
Object.SetChoosePartsType( ChoosePartsType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ChoosePartsType( &ChoosePartsType )    Получить свойство
Object.put_ChoosePartsType( ChoosePartsType )    Установить свойство
```


## ChooseType - Область применения. Группы объектов

Тип данных: Значение из перечисления ksChooseType.
Синтаксис Automation:
```
ChooseType = Object.ChooseType    Получить свойство (* )
Object.ChooseType = ChooseType    Установить свойство (* )
ChooseType = Object.GetChooseType()    Получить свойство (**)
Object.SetChooseType( ChooseType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ChooseType( &ChooseType )    Получить свойство
Object.put_ChooseType( ChooseType )    Установить свойство
```


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

Интерфейс управления положением компонентов в сборке.
Иерархия:
IDispatch
IKompasAPIObject
IComponentPositioner7
Примечание:
Интерфейс можно получить, используя свойство IKompasDocument3D1::ComponentPositioner.
Версия КОМПАС v22


## Finish - Завершить перемещение

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


## InitAxis - Установить ось

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


## InitAxisByPoints - Установить ось по точкам

Интерфейс
Синтаксис Automation:
```
BOOL InitAxisByPoints( double X1, double Y1, double Z1, double X2, double Y2, double Z2 );
```
Синтаксис COM:
```
HRESULT InitAxisByPoints( double X1, double Y1, double Z1, double X2, double Y2, double Z2, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
X1, Y1, Z1    - координаты первой точки оси,
X2, Y2, Z2    - координаты второй точки оси.
```


## InitPlane - Установить плоскость

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


## InitPlaneByPlacement - Установить плоскость по СК

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


## InitPlaneByPoints - Установить плоскость по точкам

Интерфейс
Синтаксис Automation:
```
BOOL InitPlaneByPoints( double X1, double Y1, double Z1, double X2, double Y2, double Z2, double X3, double Y3, double Z3 );
```
Синтаксис COM:
```
HRESULT InitPlaneByPoints( double X1, double Y1, double Z1, double X2, double Y2, double Z2, double X3, double Y3, double Z3, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
X1, Y1, Z1    - координаты первой точки на плоскости,
X2, Y2, Z2    - координаты второй точки на плоскости,
X3, Y3, Z3    - координаты третьей точки на плоскости.
.
```


## MoveComponent - Перемещение компонента

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


## Prepare - Подготовиться к перемещению компонента

Интерфейс
Синтаксис Automation:
```
long Prepare( IPart7 * Part, Positioner_Type PositionerType );
```
Синтаксис COM:
```
HRESULT Prepare( IPart7 * Part, Positioner_Type PositionerType, long * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Part    - указатель на интерфейс компонента IPart7,
PositionerType    - тип перемещения из перечисления Positioner_Type.
```


## RotateComponent - Подготовиться к повороту компонента

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


## SetDragPoint - Установить точку захвата ( ручка)

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


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

Интерфейс параметров добавления вставки модели в сборку.
Иерархия:
IDispatch
IKompasAPIObject
IInsertPartParameters
Примечание:
Интерфейс требуется получить с помощью метода IKompasDocument1::GetInterface, используя константу ksObjectInsertPartParameters.
КOMPAS v24


## Billet - Признак вставки заготовки детали

Тип данных: BOOL
Синтаксис Automation:
```
Billet = Object.Billet    Получить свойство (* )
Object.Billet = Billet    Установить свойство (* )
Billet = Object.GetBillet()    Получить свойство (**)
Object.SetBillet( Billet )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Billet( &Billet )    Получить свойство
Object.put_Billet( Billet )    Установить свойство
```


## Clear - Очистить параметры

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


## CreateSpcObjects - Создавать объекты спецификации

Тип данных: BOOL
Синтаксис Automation:
```
CreateSpcObjects = Object.CreateSpcObjects    Получить свойство (* )
Object.CreateSpcObjects = CreateSpcObjects    Установить свойство (* )
CreateSpcObjects = Object.GetCreateSpcObjects()    Получить свойство (**)
Object.SetCreateSpcObjects( CreateSpcObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CreateSpcObjects( &CreateSpcObjects )    Получить свойство
Object.put_CreateSpcObjects( CreateSpcObjects )    Установить свойство
```


## Density - Плотность

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


## DoubleClickEditable - Разрешить внешнее редактирование

Тип данных: BOOL
Синтаксис Automation:
```
DoubleClickEditable = Object.DoubleClickEditable    Получить свойство (* )
Object.DoubleClickEditable = DoubleClickEditable    Установить свойство (* )
DoubleClickEditable = Object.GetDoubleClickEditable()    Получить свойство (**)
Object.SetDoubleClickEditable( DoubleClickEditable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DoubleClickEditable( &DoubleClickEditable )    Получить свойство
Object.put_DoubleClickEditable( DoubleClickEditable )    Установить свойство
```


## DummyEmbodiment - Индекс обозначение текущего исполнения для макета

Тип данных: VARIANT
Синтаксис Automation:
```
DummyEmbodiment = Object.DummyEmbodiment    Получить свойство (* )
Object.DummyEmbodiment = DummyEmbodiment    Установить свойство (* )
DummyEmbodiment = Object.GetDummyEmbodiment()    Получить свойство (**)
Object.SetDummyEmbodiment( DummyEmbodiment )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DummyEmbodiment( &DummyEmbodiment )    Получить свойство
Object.put_DummyEmbodiment( DummyEmbodiment    Установить свойство
```


## DummyFileName - Имя файла для макета

Тип данных: BSTR
Синтаксис Automation:
```
DummyFileName = Object.DummyFileName    Получить свойство (* )
Object.DummyFileName = DummyFileName    Установить свойство (* )
DummyFileName = Object.GetDummyFileName()    Получить свойство (**)
Object.SetDummyFileName( DummyFileName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DummyFileName( &DummyFileName )    Получить свойство
Object.put_DummyFileName( DummyFileName )    Установить свойство
```


## Embodiment - Индекс или обозначение текущего исполнения

Тип данных: VARIANT
Синтаксис Automation:
```
Embodiment = Object.Embodiment    Получить свойство (* )
Object.Embodiment = Embodiment    Установить свойство (* )
Embodiment = Object.GetEmbodiment()    Получить свойство (**)
Object.SetEmbodiment( Embodiment )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Embodiment( &Embodiment )    Получить свойство
Object.put_Embodiment( Embodiment )    Установить свойство
```


## EmbodimentAdditionalNumber - Дополнительный номер исполнения модели, использованного для вставки

Тип данных: BSTR
Синтаксис Automation:
```
EmbodimentAdditionalNumber = Object.EmbodimentAdditionalNumber    Получить свойство (* )
Object.EmbodimentAdditionalNumber = EmbodimentAdditionalNumber    Установить свойство (* )
EmbodimentAdditionalNumber = Object.GetEmbodimentAdditionalNumber()    Получить свойство (**)
Object.SetEmbodimentAdditionalNumber( EmbodimentAdditionalNumber )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EmbodimentAdditionalNumber( &EmbodimentAdditionalNumber )    Получить свойство
Object.put_EmbodimentAdditionalNumber( EmbodimentAdditionalNumber )    Установить свойство
```


## Fixed - Фиксированный компонент

Тип данных: BOOL
Синтаксис Automation:
```
Fixed = Object.Fixed    Получить свойство (* )
Object.Fixed = Fixed    Установить свойство (* )
Fixed = Object.GetFixed()    Получить свойство (**)
Object.SetFixed( Fixed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Fixed( &Fixed )    Получить свойство
Object.put_Fixed( Fixed )    Установить свойство
```


## LayerNumber - Номер слоя

Тип данных: long
Синтаксис Automation:
```
LayerNumber = Object.LayerNumber    Получить свойство (* )
Object.LayerNumber = LayerNumber    Установить свойство (* )
LayerNumber = Object.GetLayerNumber()    Получить свойство (**)
Object.SetLayerNumber( LayerNumber )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LayerNumber( &LayerNumber )    Получить свойство
Object.put_LayerNumber( LayerNumber )    Установить свойство
```


## LayoutGeometry - Признак компоновочной геометрии

Тип данных: BOOL
Синтаксис Automation:
```
LayoutGeometry = Object.LayoutGeometry    Получить свойство (* )
Object.LayoutGeometry = LayoutGeometry    Установить свойство (* )
LayoutGeometry = Object.GetLayoutGeometry()    Получить свойство (**)
Object.SetLayoutGeometry( LayoutGeometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LayoutGeometry( &LayoutGeometry )    Получить свойство
Object.put_LayoutGeometry( LayoutGeometry )    Установить свойство
```


## LeftHandedCS - Признак левосторонней системы координат

Тип данных: BOOL
Синтаксис Automation:
```
LeftHandedCS = Object.LeftHandedCS    Получить свойство (* )
Object.LeftHandedCS = LeftHandedCS    Установить свойство (* )
LeftHandedCS = Object.GetLeftHandedCS()    Получить свойство (**)
Object.SetLeftHandedCS( LeftHandedCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LeftHandedCS( &LeftHandedCS )    Получить свойство
Object.put_LeftHandedCS( LeftHandedCS )    Установить свойство
```


## LoadCombinationIndex - Индекс или имя примененного типа загрузки к документу сборки при создании вставки

Тип данных: VARIANT
Синтаксис Automation:
```
LoadCombinationIndex = Object.LoadCombinationIndex    Получить свойство (* )
Object.LoadCombinationIndex = LoadCombinationIndex    Установить свойство (* )
LoadCombinationIndex = Object.GetLoadCombinationIndex()    Получить свойство (**)
Object.SetLoadCombinationIndex( LoadCombinationIndex )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LoadCombinationIndex( &LoadCombinationIndex )    Получить свойство
Object.put_LoadCombinationIndex( LoadCombinationIndex )    Установить свойство
```


## LoadState - Тип загрузки компонента

Тип данных: из перечисления ksLoadStateEnum
Синтаксис Automation:
```
LoadState = Object.LoadState    Получить свойство (* )
Object.LoadState = LoadState    Установить свойство (* )
LoadState = Object.GetLoadState()    Получить свойство (**)
Object.SetLoadState( LoadState )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LoadState( &LoadState )    Получить свойство
Object.put_LoadState( LoadState )    Установить свойство
```


## Local - Локальная деталь

Тип данных: BOOL
Синтаксис Automation:
```
Local = Object.Local    Получить свойство (* )
Object.Local = Local    Установить свойство (* )
Local = Object.GetLocal()    Получить свойство (**)
Object.SetLocal( Local )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Local( &Local )    Получить свойство
Object.put_Local( Local )    Установить свойство
```


## Marking - Обозначение

Тип данных: BSTR
Синтаксис Automation:
```
Marking = Object.Marking    Получить свойство (* )
Object.Marking = Marking    Установить свойство (* )
Marking = Object.GetMarking()    Получить свойство (**)
Object.SetMarking( Marking )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Marking( &Marking )    Получить свойство
Object.put_Marking( Marking )    Установить свойство
```


## Material - Материал

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


## MaterialLocation - Идентификатор материала

Тип данных: BSTR
Синтаксис Automation:
```
MaterialLocation = Object.MaterialLocation    Получить свойство (* )
Object.MaterialLocation = MaterialLocation    Установить свойство (* )
MaterialLocation = Object.GetMaterialLocation()    Получить свойство (**)
Object.SetMaterialLocation( MaterialLocation )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MaterialLocation( &MaterialLocation )    Получить свойство
Object.put_MaterialLocation( MaterialLocation )    Установить свойство
```


## Name - Наименование

Тип данных: BSTR
Синтаксис Automation:
```
Name = Object.Name    Получить свойство (* )
Object.Name = Name    Установить свойство (* )
Name = Object.GetName()    Получить свойство (**)
Object.SetName( Name )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Name( &Name )    Получить свойство
Object.put_Name( Name )    Установить свойство
```


## Password - Пароль

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


## PropertyObjectEditable - Поддерживается интерфейс внешних свойств объекта

Тип данных: BOOL
Синтаксис Automation:
```
PropertyObjectEditable = Object.PropertyObjectEditable    Получить свойство (* )
Object.PropertyObjectEditable = PropertyObjectEditable    Установить свойство (* )
PropertyObjectEditable = Object.GetPropertyObjectEditable()    Получить свойство (**)
Object.SetPropertyObjectEditable( PropertyObjectEditable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PropertyObjectEditable( &PropertyObjectEditable )    Получить свойство
Object.put_PropertyObjectEditable( PropertyObjectEditable )    Установить свойство
```


## RevealComposition - Сборочная единица/Составные части

Тип данных: BOOL
Синтаксис Automation:
```
RevealComposition = Object.RevealComposition    Получить свойство (* )
Object.RevealComposition = RevealComposition    Установить свойство (* )
RevealComposition = Object.GetRevealComposition()    Получить свойство (**)
Object.SetRevealComposition( RevealComposition )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RevealComposition( &RevealComposition )    Получить свойство
Object.put_RevealComposition( RevealComposition )    Установить свойство
```


## SetMaterial - Установить материал

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


## ShowExternalVariables - Отображать внешние переменные

Тип данных: из перечисления ksShowExternalVariablesEnum
Синтаксис Automation:
```
ShowExternalVariables = Object.ShowExternalVariables    Получить свойство (* )
Object.ShowExternalVariables = ShowExternalVariables    Установить свойство (* )
ShowExternalVariables = Object.GetShowExternalVariables()    Получить свойство (**)
Object.SetShowExternalVariables( ShowExternalVariables )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowExternalVariables( &ShowExternalVariables )    Получить свойство
Object.put_ShowExternalVariables( ShowExternalVariables )    Установить свойство
```


## Standard - Стандартный компонент

Тип данных: BOOL
Синтаксис Automation:
```
Standard = Object.Standard    Получить свойство (* )
Object.Standard = Standard    Установить свойство (* )
Standard = Object.GetStandard()    Получить свойство (**)
Object.SetStandard( Standard )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Standard( &Standard )    Получить свойство
Object.put_Standard( Standard )    Установить свойство
```


## UseDummy - Использовать макет

Тип данных: BOOL
Синтаксис Automation:
```
UseDummy = Object.UseDummy    Получить свойство (* )
Object.UseDummy = UseDummy    Установить свойство (* )
UseDummy = Object.GetUseDummy()    Получить свойство (**)
Object.SetUseDummy( UseDummy )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UseDummy( &UseDummy )    Получить свойство
Object.put_UseDummy( UseDummy )    Установить свойство
```


## UseSourceLayers - Признак размещения объектов на слоях

Тип данных: BOOL
Синтаксис Automation:
```
UseSourceLayers = Object.UseSourceLayers    Получить свойство (* )
Object.UseSourceLayers = UseSourceLayers    Установить свойство (* )
UseSourceLayers = Object.GetSourceLayers()    Получить свойство (**)
Object.SetUseSourceLayers( UseSourceLayers )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UseSourceLayers( &UseSourceLayers )    Получить свойство
Object.put_UseSourceLayers( UseSourceLayers )    Установить свойство
TRUE - на слоях-источниках, FALSE - на указанном слое.
```


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

Интерфейс коллекции компонентов 3D документа.
Иерархия:
IKompasAPIObject
IModelObjects
IParts7
Примечание:
1. Данный интерфейс можно получить от интерфейса IPart7, используя свойство IPart7::Parts.
2. Данный интерфейс можно получить от интерфейса IModelObjects, используя метод IUnknown QueryInterface.
3. От интерфейса 3D-документа IKompasDocument3D может быть получен верхний компонент IKompasDocument3D::TopPart, а от полученного верхнего компонента IPart7 может быть получена коллекция компонентов IParts7 с помощью свойства IPart7::Parts. Элементы коллекции-компоненты могут быть получены у коллекции с помощью свойства IParts7::Part. Либо с помощью свойства IModelObjects::Item как объекты типа IModelObject с последующим приведением к типу IPart7 через QueryInterface. От каждого элемента коллекции-компонента может быть получена вложенная коллекция компонентов c помощью свойства IPart7::Parts. И так далее, пока имеются вложенные коллекции компонентов.


## Add - Создать новый компонент и добавить его в документ и коллекцию

Синтаксис Automation:
```
LPDISPATCH Add( LPCTSTR FileName, LPDISPATCH plane );
```
Синтаксис COM:
```
HRESULT Add([in] BSTR FileName, [in] IModelObject * Plane, [out, retval] IPart7 ** Result);
Входные параметры:
FileName    - имя файла детали, создаваемой в сборке,
Plane    - указатель на интерфейс плоского объекта, к которому приклеивается деталь.
Возвращаемое значение:
указатель на интерфейс IPart7    - в случае успешного завершения,
NULL    - в случае неудачи.
```


## AddFromFile - Добавить существующий компонент из файла или из библиотеки моделей в документ и в коллекцию

Синтаксис Automation:
```
LPDISPATCH AddFromFile (LPCTSTR FileName, BOOL ExternalFile, BOOL Redraw);
```
Синтаксис COM:
```
HRESULT AddFromFile ([in] BSTR FileName, [in, defaultvalue(FALSE)] VARIANT_BOOL ExternalFile, [in, defaultvalue(TRUE)] VARIANT_BOOL Redraw, [out, retval] IPart7 ** Result);
Входные параметры:
FileName    - имя файла, из которого будет вставлен компонент,
ExternalFile    - признак сохранения связи с файлом-источником: TRUE - вставка со ссылкой на внешний файл, FALSE - вставка "телом", (без сохранения ссылки на источник),
Redraw    - признак перестроения документа после вставки компонента: TRUE - перестроить документ, FALSE - не перестраивать.
Возвращаемое значение:
указатель на интерфейс IPart7    - в случае успешного завершения,
NULL    - в случае неудачи.
```
Примечания:
При вставке из файла указывается полный путь к файлу. При вставке из библиотеки моделей указывается полный путь к файлу библиотеки и путь внутри библиотеки моделей, например, "C:\\standard.l3d|Крепежные элементы|Болты|Болт_1".


## AddFromFileWithParam - Добавляет существующий компонент из файла или из библиотеки моделей в документ и в коллекцию с заданными параметрами

Синтаксис Automation:
```
LPDISPATCH AddFromFileWithParam( BSTR FileName, IPlacement3D * Placement, IInsertPartParameters * Parameters, BOOL Redraw );
```
Синтаксис COM:
```
HRESULT AddFromFileWithParam( BSTR FileName, IPlacement3D * Placement, IInsertPartParameters * Parameters, BOOL Redraw, IPart7 * * Result );
Входные параметры:
FileName    - путь к файлу модели,
Placement    - указатель на интерфейс положения создаваемой вставки модели IPlacement3D,
Parameters    - параметры вставки IInsertPartParameters.
Выходные параметры:
Redraw    - признак перестроения документа после вставки компонента: TRUE - перестроить документ, FALSE - не перестраивать.
КOMPAS v24
```


## AddWithParam - Создать новую вставку в контексте сборки с заданными параметрами

Синтаксис Automation:
```
LPDISPATCH AddWithParam( BSTR FileName, DocumentTypeEnum Type, IPlacement3D * Placement, IInsertPartParameters * Parameters, BOOL Redraw );
```
Синтаксис COM:
```
HRESULT AddWithParam( BSTR FileName, DocumentTypeEnum Type, IPlacement3D * Placement, IInsertPartParameters * Parameters, BOOL Redraw, IPart7 * * Result );
Входные параметры:
FileName    - путь к файлу модели,
Type    - тип документа из перечисления DocumentTypeEnum,
Placement    - указатель на интерфейс положения создаваемой вставки модели IPlacement3D,
Parameters    - параметры вставки IInsertPartParameters.
Выходные параметры:
Redraw    - признак перестроения документа после вставки компонента: TRUE - перестроить документ, FALSE - не перестраивать.
КOMPAS v24
```


## CopyPart - Создать копию заданного компонента с заданным положением

Синтаксис Automation:
```
LPDISPATCH CopyPart( IPart7 * SourcePart, IPlacement3D * NewPlacement );
```
Синтаксис COM:
```
HRESULT CopyPart( IPart7 * SourcePart, IPlacement3D * NewPlacement, IPart7 * * Result );
Возвращаемое значение:
- указатель на интерфейс компонента IPart7,
Входные параметры:
SourcePart    - копируемая вставка IPart7,
NewPlacement    - указатель на интерфейс положения создаваемой копии IPlacement3D.
Версия Компас v23
```


## CreateDocument - Создать локальную деталь и добавить в коллекцию

Синтаксис Automation:
```
LPDISPATCH CreateDocument( DocumentTypeEnum Type, BOOL Local, BOOL Redraw );
```
Синтаксис COM:
```
HRESULT CreateDocument( DocumentTypeEnum Type, BOOL Local, BOOL Redraw, IPart7 * * Result );
Возвращаемое значение:
- указатель на интерфейс вставки IPart7.
Входные параметры:
Type    - тип документа вставки,
Local    - признак локальной детали,
Redraw    - TRUE для обновления окна документа.
```


## CreateDocumentEx - Создать локальную деталь и добавить в коллекцию

Синтаксис Automation:
```
LPDISPATCH CreateDocumentEx( BSTR StartFileName, DocumentTypeEnum Type, BOOL Local, BOOL Redraw );
```
Синтаксис COM:
```
HRESULT CreateDocumentEx( BSTR StartFileName, DocumentTypeEnum Type, BOOL Local, BOOL Redraw, IPart7 * * Result );
Возвращаемое значение:
- указатель на интерфейс вставки IPart7.
Входные параметры:
StartFileName    - имя файла по умолчанию,
Type    - тип документа вставки,
Local    - признак локальной детали,
Redraw    - TRUE для обновления окна документа.
```


## CreateSubAssembly - Объединить в подсборку

Синтаксис Automation :
LPDISPATCH CreateSubAssembly( VARIANT Parts, BSTR FileName );
Синтаксис COM :
HRESULT CreateSubAssembly( VARIANT Parts, BSTR FileName, IPart7 * * Result );
Возвращаемое значение:
| | - Указатель на интерфейс новой вставки IPart7, |
| --- | --- |
Входные параметры:
| Parts | - Список SafeArray VT_ARRAY | VT_DISPATCH перемещаемых в подсборку вставок IPart7, |
| --- | --- |
| FileName | - Имя файла. |
Версия: Компас v20


## FindPart - Возвращает компонент по ключу информационного объекта

Синтаксис Automation :
LPDISPATCH FindPart( BSTR UniqueMetaObjectKey, BOOL Reqursive );
Синтаксис COM:
```
HRESULT FindPart( BSTR UniqueMetaObjectKey, BOOL Reqursive, IPart7 * * Result );
Возвращаемое значение:
- Указатель на интерфейс IPart7,
Входные параметры:
UniqueMetaObjectKey    - Уникальный ключ информационного объекта,
Reqursive    - Признак необходимости поиска в глубину.
Версия: Компас v20
```


## MoveParts - Переместить вставки

Синтаксис Automation:
```
BOOL MoveParts( VARIANT Parts );
```
Синтаксис COM:
```
HRESULT MoveParts( VARIANT Parts, BOOL * Result );
Возвращаемое значение:
TRUE    - есть локальный результат,
FALSE    - в случае неудачи.
Входные параметры:
Parts    - Список SafeArray VT_ARRAY    VT_DISPATCH перемещаемых вставок IPart7.
```
Примечание
Функция позволяет переместить вставки по дереву сборки. Например, можно переместить вставки одной подсборки в другую подсборку или в верхнюю сборку.
Версия: Компас v20


## Part - Компонент, заданный по индексу или по имени

Тип данных: указатель на интерфейс IPart7
Синтаксис Automation:
```
Part = iObject.Part (Index)    Получить свойство (* )
Part = iObject.GetPart (Index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Part( index, &Part )    Получить свойство
Входные параметры:
Index (Variant)    VT_BSTR - имя компонента, VT_I4 - индекс компонента.
```
Примечание:
Свойство доступно только для чтения.


## SaveAsDetail - Преобразовать в деталь

Синтаксис Automation:
```
LPDISPATCH SaveAsDetail( VARIANT Objects, LPDISPATCH Param );
Синтаксис COM :
HRESULT SaveAsDetail( VARIANT Objects, ISaveAsDetailParam * Param, IPart7 * * Result );
Возвращаемое значение:
- указатель на интерфейс новой вставки IPart7.
Входные параметры:
Objects    - Список SafeArray VT_ARRAY    VT_DISPATCH объектов, передаваемых в новый документ,
Param    - Параметры создания нового документа.
```
Примечание
Функция является аналогом команды Компас Преобразовать в деталь/локальную деталь.
Преобразование в деталь/локальную деталь возможно только для объектов, построенных непосредственно в текущей модели (для локальной детали — только в текущей сборке) и относящихся к следующим типам:
•тела,
•поверхности,
•пространственные кривые и точки,
•локальные системы координат,
•вспомогательные плоскости,
•вспомогательные оси.
Объекты могут быть как перемещены, так и скопированы в новый документ.
Версия: Компас v20


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

Интерфейс компонента 3D документа.
Иерархия:
IKompasAPIObject
IModelObject
IPart7
IFeature7
ISourcePart7Params
ISheetMetalContainer
IModelContainer
IMassInertiaParam7
ISymbols3DContainer
IAuxiliaryGeomContainer
IModelObjectNotifyResult
IPropertyKeeper
ISurfaceContainer
Описание:
Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) у данного интерфейса можно получить дополнительные интерфейсы компонента:
•интерфейс объекта Дерева построения IFeature7,
•интерфейс параметров компонента в источнике ISourcePart7Params.
•интерфейс контейнера объектов гибки ISheetMetalContainer,
•интерфейс контейнера трехмерных объектов IModelContainer,
•интерфейс массово-центровочных характеристик IMassInertiaParam7.
•интерфейс контейнера условных обозначений в 3D ISymbols3DContainer,
•интерфейс контейнера объектов вспомогательной геометрии IAuxiliaryGeomContainer,
•интерфейс контейнера поверхностей ISurfaceContainer,
•интерфейс результатов редактирования 3D объекта IModelObjectNotifyResult,
•интерфейс получения/редактирования значения свойств IPropertyKeeper,
•интерфейс контейнера объектов измерений и диагностики IMeasurementContainer.
Примечание.
1. Компонент может быть получен от интерфейса коллекции компонентов IParts7.
2. Компонент может быть получен от интерфейса IModelObject или IFeature7,используя метод IUnknown QueryInterface.
3. Верхний компонент может быть получен от интерфейса 3D-документа IKompasDocument3D с помощью свойства IKompasDocument3D::TopPart.
4. От интерфейса 3D-документа IKompasDocument3D может быть получен верхний компонент IKompasDocument3D::TopPart, а от полученного верхнего компонента IPart7 может быть получена коллекция компонентов IParts7 с помощью свойства IPart7::Parts. Элементы коллекции-компоненты могут быть получены у коллекции с помощью свойства IParts7::Part. Либо с помощью свойства IModelObjects::Item как объекты типа IModelObject с последующим приведением к типу IPart7 через QueryInterface. От каждого элемента коллекции-компонента может быть получена вложенная коллекция компонентов c помощью свойства IPart7::Parts. И так далее, пока имеются вложенные коллекции компонентов.


## AddVariable - Создать переменную

Синтаксис Automation:
```
LPDISPATCH AddVariable( BSTR Name, double Value, BSTR Note );
```
Синтаксис COM:
```
HRESULT AddVariable( BSTR Name, double Value, BSTR Note, IVariable7 ** Result );
Входные параметры:
Name    - имя переменной,
Value    - значение переменной,
Note    - примечание.
Возвращаемое значение:
- указатель на интерфейс переменной IVariable7.
Метод позволяет добавить переменную в массив переменных и документ.
```


## BeginEdit - Войти в режим редактирования компонента сборки

Синтаксис Automation:
```
LPDISPATCH BeginEdit( IOpenDocumentParam * Param );
```
Синтаксис COM:
```
HRESULT BeginEdit( IOpenDocumentParam * Param, IKompasDocument3D ** Result );
Возвращаемое значение:
Указатель на документ 3D IKompasDocument3D
Входные параметры:
Param - указатель на интерфейс параметров открытия документа IOpenDocumentParam.
```


## ChangeObjectLinks - Заменить ссылки на объекты по всем операциям

Синтаксис Automation:
```
BOOL ChangeObjectLinks( VARIANT SourceObjs,
VARIANT DestObjs,
BOOL RebuildAll );
```
Синтаксис COM:
```
HRESULT ChangeObjectLinks( VARIANT SourceObjs,
VARIANT DestObjs,
BOOL RebuildAll,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
SourceObjs    - массив исходных примитивов,
DestObjs    - массив новых примитивов,
RebuildAll    - перестроить объекты.
Метод позволяет заменить ссылки в объектах 3D модели с одних опорных примитивов на другие.
```


## CreateSpcObjects - Создавать объекты спецификации

Тип данных: BOOL
Синтаксис Automation:
```
CreateSpcObjects = Object.CreateSpcObjects    Получить свойство (* )
Object.CreateSpcObjects = CreateSpcObjects    Установить свойство (* )
CreateSpcObjects = Object.GetCreateSpcObjects()    Получить свойство (**)
Object.SetCreateSpcObjects( CreateSpcObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CreateSpcObjects( &CreateSpcObjects )    Получить свойство
Object.put_CreateSpcObjects( CreateSpcObjects )    Установить свойство
```
Примечание:
Объекты удаляются при перестроении спецификации, если у компонента выключен данный флаг.


## CurveIntersection - Расчет пересечений c кривой

Синтаксис Automation:
```
BOOL CurveIntersection( IMathCurve3D * Curve, VARIANT * Faces, VARIANT * Points );
```
Синтаксис COM:
```
HRESULT CurveIntersection( IMathCurve3D * Curve, VARIANT * Faces, VARIANT * Points, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Curve    - Указатель на математическую кривую IMathCurve3D.
Выходные параметры:
Faces    - список граней, пересекаемых кривой VT_APPAY    VT_DISPATCH,
Points    - координаты точек пересечения VT_APPAY    VT_R8.
Версия Компас v23
```


## DefaultObject - Получить предопределенные элементы (плоскости, ось и СК)

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
DefaultObject = Object.DefaultObject( Type )    Получить свойство (* )
DefaultObject = Object.GetDefaultObject( Type )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_DefaultObject( &Type )    Получить свойство
Входной параметр:
Type    - тип объекта - константа из перечисления ksObj3dTypeEnum.
Типы объектов (Type):
o3d_planeXOY    1    плоскость XOY,
o3d_planeXOZ    2    плоскость XOZ,
o3d_planeYOZ    3    плоскость YOZ,
o3d_pointCS    4    точка начала системы координат,
o3d_axisOX    71    ось OX,
o3d_axisOY    72    ось OY,
o3d_axisOZ    73    ось OZ.
```


## Density - Плотность компонента

Тип данных: double
Синтаксис Automation:
```
Density = iObject.Density    Получить свойство (* )
Density = iObject.GetDensity()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Density( &Density )    Получить свойство
Значения свойства:
Плотность компонента (г/куб.мм).
```
Примечание:
1. Свойство доступно только для чтения.
2. Для установки плотности необходимо использовать метод IPart7::SetMaterial.


## DestroySubassembly - Разрушить подсборку

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


## Detail - Является ли компонент деталью

Тип данных: BOOL
Синтаксис Automation:
```
Detail = iObject.Detail    Получить свойство (* )
Detail = iObject.GetDetail()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Detail ( &Detail)    Получить свойство
Значения свойства:
TRUE    - компонент является деталью,
FALSE    - компонент является сборкой.
```
Примечание:
Свойство доступно только для чтения.


## DoubleClickEditable - Разрешить внешнее редактирование

Тип данных: BOOL
Синтаксис Automation:
```
DoubleClickEditable = Object.DoubleClickEditable    Получить свойство (* )
Object.DoubleClickEditable = DoubleClickEditable    Установить свойство (* )
DoubleClickEditable = Object.GetDoubleClickEditable()    Получить свойство (**)
Object.SetDoubleClickEditable( DoubleClickEditable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DoubleClickEditable( &DoubleClickEditable )    Получить свойство
Object.put_DoubleClickEditable( DoubleClickEditable )    Установить свойство
Версия Компас v23
```


## DummyEmbodimentIndex - Индекс текущего исполнения для макета

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


## DummyFileName - Имя файла для макета

Тип данных: BSTR
Синтаксис Automation:
```
DummyFileName = Object.DummyFileName    Получить свойство(* )
Object.DummyFileName = DummyFileName    Установить свойство (* )
DummyFileName = Object.GetDummyFileName()    Получить свойство (**)
Object.SetDummyFileName( DummyFileName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DummyFileName( &DummyFileName )    Получить свойство
Object.put_DummyFileName( DummyFileName )    Установить свойство
```


## EndEdit - Завершить процесс редактирования компонента сборки

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


## FileName - Имя файла компонента

Тип данных: строка
Синтаксис Automation:
```
FileName = iObject.FileName    Получить свойство (* )
iObject.FileName = FileName    Установить свойство (* )
FileName = iObject.GetFileName()    Получить свойство (**)
iObject.SetFileName ( FileName)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_FileName ( &FileName)    Получить свойство
iObject->put_FileName ( FileName)    Установить свойство
```
Примечание:
1. Имя файла можно установить только у компонента, вставленного в сборку.
2. Свойство вступает в силу после вызова метода IModelObject::Update.


## FindBody - Найти тело по идентификатору информационного объекта

Синтаксис Automation:
```
LPDISPATCH FindBody( BSTR UniqueMetaObjectKey );
```
Синтаксис COM:
```
HRESULT FindBody( BSTR UniqueMetaObjectKey, IBody7 * * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
UniqueMetaObjectKey    - идентификатор информационного объекта.
Версия Компас v21
```


## FindObject - Найти объект в текущем документе по объекту из другого документа

Синтаксис Automation:
```
LPDISPATCH FindObject( LPDISPATCH Obj, LPDISPATCH SourcePart );
```
Синтаксис COM:
```
HRESULT FindObject( IModelObject * Obj, IPart7 * SourcePart, IModelObject ** Result );
Входные параметры:
Obj    - указатель на объект,
SourcePart    - владелец объекта.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## FindObjectsByPoint - Найти объекты по точке

Синтаксис Automation:
```
VARIANT FindObjectsByPoint( double X, double Y, double Z, BOOL FirstLevel );
```
Синтаксис COM:
```
HRESULT FindObjectsByPoint( double X, double Y, double Z, BOOL FirstLevel, VARIANT * Result );
Возвращаемое значение:
- массив объектов, содержащих заданную точку, в виде SAFEARRAY DISPATCH - VT_ARRAY    VT_DISPATCH.
Входные параметры:
X,Y, Z    - координаты точки,
FirstLevel    - искать только в текущей модели.
```


## FindObjectsByPointEx - Найти объекты по точке

Синтаксис Automation:
```
VARIANT FindObjectsByPointEx( double X, double Y, double Z, BOOL FirstLevel, double Epsilon );
```
Синтаксис COM:
```
HRESULT FindObjectsByPointEx( double X, double Y, double Z, BOOL FirstLevel, double Epsilon, VARIANT * Result );
Входные параметры:
X,Y, Z    - координаты точки,
FirstLevel    •TRUE - возвращать объекты только первого уровня,•FALSE - возвращать объекты из вставок,
Epsilon    - погрешность.
Версия КОМПАС v22
```


## FindObjectsByPointWithParam - Найти объекты по точке

Синтаксис Automation:
```
VARIANT FindObjectsByPointWithParam( double X, double Y, double Z, BOOL FirstLevel, double Epsilon, IFindObject3DParameters * FilterParam );
```
Синтаксис COM:
```
HRESULT FindObjectsByPointWithParam( double X, double Y, double Z, BOOL FirstLevel, double Epsilon, IFindObject3DParameters * FilterParam, VARIANT * Result );
Входные параметры:
X,Y, Z    - координаты точки,
FirstLevel    •TRUE - возвращать объекты только первого уровня,•FALSE - возвращать объекты из вставок,
Epsilon    - погрешность,
FilterParam    - параметры фильтрации IFindObject3DParameters.
Версия КОМПАС v22
```


## FindSimilarObject - Найти аналог объекта

Синтаксис Automation :
LPDISPATCH FindSimilarObject( IModelObject * Obj );
Синтаксис COM:
```
HRESULT FindSimilarObject( IModelObject * Obj, IModelObject * * Result );
Возвращаемое значение:
Указатель на интерфейс IModelObject.
Входные параметры:
Obj    - указатель на интерфейс IModelObject.
Версия Компас v21
```


## Fixed - Состояние фиксации компонента

Тип данных: BOOL
Синтаксис Automation:
```
Fixed = iObject.Fixed    Получить свойство (* )
iObject.Fixed = Fixed    Установить свойство (* )
Fixed = iObject.GetFixed()    Получить свойство (**)
iObject.SetFixed( Fixed )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Fixed( &Fixed )    Получить свойство
iObject->put_Fixed( Fixed )    Установить свойство
Значения свойства:
TRUE    - компонент зафиксирован,
FALSE    - компонент не зафиксирован.
```
Примечание:
Свойство вступает в силу после вызова метода IModelObject::Update.


## GetBodyById - Возвращает тело, заданное по идентификатору

Синтаксис Automation:
```
LPDISPATCH GetBodyById( long BodyId );
```
Синтаксис COM:
```
HRESULT GetBodyById( long BodyId, IBody7 ** Result );
Возвращаемое значение:
- указатель на интерфейс IBody7.
Входные параметры:
BodyId    - идентификатор тела.
```


## GetDummyEmbodimentMarking - Обозначение исполнения для макета

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


## GetGabarit - Выдать габарит

Синтаксис Automation:
```
BOOL GetGabarit( BOOL Full, BOOL Customizable, double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2 );
```
Синтаксис COM:
```
HRESULT GetGabarit( BOOL Full, BOOL Customizable, double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Full    -TRUE - полный, - FALSE - только тела,
Customizable    - TRUE - с учетом настроек видимости, - FALSE - без учета настроек видимости; при full == FALSE игнорируется.
Выходные параметры:
x1, y1, z1    - координаты первой точки габаритного параллелепипеда,
x2, y2, z2    - координаты второй точки габаритного параллелепипеда.
Версия Компас v23
```


## GetMaxSag - Максимально допустимый прогиб кривой или поверхности в соседних точках на расстоянии шага

Синтаксис Automation:
```
double GetMaxSag();
```
Синтаксис COM:
```
HRESULT GetMaxSag( double * Result );
Возвращаемое значение:
- значение максимально допустимого прогиба кривой.
```


## GetObjectByName - Найти объект по имени

Синтаксис Automation:
```
LPDISPATCH GetObjectByName( BSTR Name, ksObj3dTypeEnum ObjType, BOOL TestFullName, BOOL TestIgnoreCase );
```
Синтаксис COM:
```
HRESULT GetObjectByName( BSTR Name, ksObj3dTypeEnum ObjType, BOOL TestFullName, BOOL TestIgnoreCase, IModelObject * * Result );
Входные параметры:
Name    - имя объекта,
ObjType    - тип объекта из перчисления ksObj3dTypeEnum,
TestFullName    - признак полного имени: TRUE - name - полное имя, FALSE - имя name может быть частью полного имени,
TestIgnoreCase    признак игнорирования регистра символов: TRUE - игнорировать регистр, FALSE - учитывать регистр.
КOMPAS v24
```


## GetOpenDocumentParam - Получить интерфейс параметров открытия документа для редактирования компонента сборки

Синтаксис Automation:
```
LPDISPATCH GetOpenDocumentParam();
```
Синтаксис COM:
```
HRESULT GetOpenDocumentParam( IOpenDocumentParam ** Result );
Возвращаемое значение:
Указатель на интерфейс параметров открытия документа IOpenDocumentParam.
```


## GetSimilarInstances - Найти одинаковые вставки

Синтаксис Automation:
```
VARIANT GetSimilarInstances( IPart7 * Part );
```
Синтаксис COM:
```
HRESULT GetSimilarInstances( IPart7 * Part, VARIANT * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Part    - указатель на интерфейс вставки IPart7.
Версия Компас v21
```


## GetSummMatrix - Получить суммарную матрицу преобразование координат

Синтаксис Automation:
```
VARIANT GetSummMatrix( IPart7 * Part1 );
```
Синтаксис COM:
```
HRESULT GetSummMatrix( IPart7 * Part1, VARIANT * Result );
Возвращаемое значение:
- массив SafeArray типа VT_ARRAY    VT_R8.
Входные параметры:
Part1    - указатель на интерфейс IPart7 детали из которой нужно сделать пересчет координат.
```
Примечания:
1. Элементы матрицы возвращаются в виде одномерного массива из шестнадцати элементов.
2. Матрица имеет размер 4х4.


## HatchParam - Параметры штриховки

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


## InheritExclude - Признак исключения из расчета задан в файле-источнике. TRUE - задан в источнике, FALSE - переопределен у вставки

Тип данных: BOOL
Синтаксис Automation:
```
InheritExclude = Object.InheritExclude    Получить свойство (* )
Object.InheritExclude = InheritExclude    Установить свойство (* )
InheritExclude = Object.GetInheritExclude()    Получить свойство (**)
Object.SetInheritExclude( InheritExclude )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_InheritExclude( &InheritExclude )    Получить свойство
Object.put_InheritExclude( InheritExclude )    Установить свойство
```


## InheritVisible - Признак видимости задан в файле-источнике. TRUE - Задан в источнике, FALSE - Переопределен у вставки

Тип данных: BOOL
Синтаксис Automation:
```
InheritVisible = Object.InheritVisible    Получить свойство (* )
Object.InheritVisible = InheritVisible    Установить свойство (* )
InheritVisible = Object.GetInheritVisible()    Получить свойство (**)
Object.SetInheritVisible( InheritVisible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_InheritVisible( &InheritVisible )    Получить свойство
Object.put_InheritVisible( InheritVisible )    Установить свойство
Версия: Компас v20
```


## InstanceCount - Количество вставок компонента

Пример...
Тип данных: long
Синтаксис Automation:
```
Count = iObject.InstanceCount( iPart7 )    Получить свойство (* )
Count = iObject.GetInstanceCount( iPart7 )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_InstanceCount( iPart7, &Count )    Получить свойство
Входные параметры:
iPart7    - указатель на компонент или NULL.
```
Примечание:
1. Свойство доступно только для чтения.
2. Метод работает для верхнего компонента сборки и для вставок подсборок. Если iPart7 == NULL, то возвращается общее количество компонентов, вставленных в данную подсборку.


## IsBillet - Признак вставки заготовки детали

Тип данных: BOOL
Синтаксис Automation:
```
IsBillet = iObject.IsBillet    Получить свойство (* )
iObject.IsBillet = IsBillet    Установить свойство (* )
IsBillet = iObject.GetIsBillet()    Получить свойство (**)
iObject.SetIsBillet( IsBillet )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_IsBillet( &IsBillet )    Получить свойство
iObject->put_IsBillet( IsBillet )    Установить свойство
```


## IsLayoutGeometry - Признак компоновочной геометрии

Тип данных: BOOL
Синтаксис Automation:
```
IsLayoutGeometry = iObject.IsLayoutGeometry    Получить свойство (* )
iObject.IsLayoutGeometry = IsLayoutGeometry    Установить свойство (* )
IsLayoutGeometry = iObject.GetIsLayoutGeometry()    Получить свойство (**)
iObject.SetIsLayoutGeometry( IsLayoutGeometry)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_IsLayoutGeometry( &IsLayoutGeometry )    Получить свойство
iObject->put_IsLayoutGeometry( IsLayoutGeometry )    Установить свойство
```


## IsLocal - Локальная деталь

Тип данных: BOOL
Синтаксис Automation:
```
IsLocal = Object.IsLocal    Получить свойство (* )
Object.IsLocal = IsLocal    Установить свойство (* )
IsLocal = Object.GetIsLocal()    Получить свойство (**)
Object.SetIsLocal( IsLocal )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_IsLocal( &IsLocal )    Получить свойство
Object.put_IsLocal( IsLocal )    Установить свойство
```


## IsLocalResultExist - Есть ли локальный результат в модели или во вставках

Синтаксис Automation :
BOOL IsLocalResultExist( BOOL Reqursive );
Синтаксис COM:
```
HRESULT IsLocalResultExist( BOOL Reqursive, BOOL * Result );
Возвращаемое значение:
TRUE    - есть локальный результат,
FALSE    - в случае неудачи.
Входные параметры:
Reqursive    - Проверять наличие локального результата у вставок рекурсивно.
Версия: Компас v20
```


## IsVariableNameValid - Проверить допустимость создания новой переменной с данным именем

Синтаксис Automation:
```
BOOL IsVariableNameValid( BSTR Name );
```
Синтаксис COM:
```
BOOL IsVariableNameValid( BSTR Name );
Входные параметры:
Name    - имя переменной.
Возвращаемое значение:
TRUE    - имя допустимо,
FALSE    - имя недопустимо.
```


## LeftHandedCS - Признак левосторонней системы координат

Тип данных: BOOL
Синтаксис Automation:
```
LeftHandedCS = Object.LeftHandedCS    Получить свойство (* )
Object.LeftHandedCS = LeftHandedCS    Установить свойство (* )
LeftHandedCS = Object.GetLeftHandedCS()    Получить свойство (**)
Object.SetLeftHandedCS( LeftHandedCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LeftHandedCS( &LeftHandedCS )    Получить свойство
Object.put_LeftHandedCS( LeftHandedCS )    Установить свойство
```


## Load - Загрузить компонент

Синтаксис Automation:
```
BOOL Load( BOOL full );
```
Синтаксис COM:
```
HRESULT Load( BOOL full, BOOL * result );
Входные параметры:
full    - резерв.
Возвращаемое значение:
TRUE    - компонент успешно загружен,
FALSE    - компонент не загружен.
```


## LoadState - Тип загрузки компонента

Тип данных: из перечисления ksLoadStateEnum
Синтаксис Automation:
```
LoadState = iObject.LoadState    Получить свойство (* )
LoadState = iObject.GetLoadState()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_LoadState(&LoadState)    Получить свойство
```
Примечание:
Свойство позволяет получить тип загрузки компонента ksLoadStateEnum.


## Marking - Обозначение компонента

Тип данных: строка
Синтаксис Automation:
```
Marking = iObject.Marking    Получить свойство (* )
iObject.Marking = Marking    Установить свойство (* )
Marking = iObject.GetMarking()    Получить свойство (**)
iObject.SetMarking ( Marking)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Marking ( &Marking)    Получить свойство
iObject->put_Marking ( Marking)    Установить свойство
```
Примечание:
Свойство вступает в силу после вызова метода IModelObject::Update.


## Mass - Масса компонента

Тип данных: double
Синтаксис Automation:
```
Mass = iObject.Mass    Получить свойство (* )
Mass = iObject.GetMass()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Mass ( &Mass)    Получить свойство
Значения свойства:
Масса компонента.
```
Примечание:
Свойство доступно только для чтения.


## MateConstraints - Коллекция сопряжений

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


## Material - Материал компонента

Тип данных: строка
Синтаксис Automation:
```
Material = iObject.Material    Получить свойство (* )
Material = iObject.GetMaterial()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Material ( &Material)    Получить свойство
Значения свойства:
Материал компонента.
```
Примечание:
1. Свойство доступно только для чтения.
2. Для установки плотности необходимо использовать метод IPart7::SetMaterial.


## Measurement3D - Получить интерфейс измерений Расстояние и угол

Тип данных: указатель на интерфейс IMeasurement3D
Синтаксис Automation:
```
Measurement3D = Object.Measurement3D    Получить свойство (* )
Measurement3D = Object.GetMeasurement3D()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Measurement3D( &Measurement3D )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## MirroringPlacement - Изменить систему координат детали на зеркальную

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


## NeedRebuild - Необходимость перестроения объектов при изменении их свойств

Тип данных: BOOL
Синтаксис Automation:
```
NeedRebuild = Object.NeedRebuild    Получить свойство (* )
Object.NeedRebuild = NeedRebuild    Установить свойство (* )
NeedRebuild = Object.GetNeedRebuild()    Получить свойство (**)
Object.SetNeedRebuild( NeedRebuild )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NeedRebuild( &NeedRebuild )    Получить свойство
Object.put_NeedRebuild( NeedRebuild )    Установить свойство
Версия Компас v23
```


## OpenSourceDocument - Открытие документа-источника на редактирование

Синтаксис Automation:
```
LPDISPATCH OpenSourceDocument( IOpenDocumentParam * Param );
```
Синтаксис COM:
```
HRESULT OpenSourceDocument( IOpenDocumentParam * Param, IKompasDocument3D * * Result );
Возвращаемое значение:
Указатель на интерфейс документа IKompasDocument3D.
Входные параметры:
Param    - Указатель на интерфейс параметров открытия документа IOpenDocumentParam.
Версия Компас v18.1
```


## Parts - Коллекция компонентов

Тип данных: указатель на интерфейс IParts7
Синтаксис Automation:
```
Parts = iObject.Parts    Получить свойство (* )
Parts = iObject.GetParts()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Parts ( &Parts)    Получить свойство
Значения свойства:
- Указатель на интерфейс коллекции компонентов.
```
Примечание:
Свойство доступно только для чтения.


## PartsEx - Массив SAFEARRAY компонентов

Пример...
Тип данных: VARIANT
Синтаксис Automation:
```
Objects = iObject.PartsEx( ObjType )    Получить свойство (* )
Objects = iObject.GetPartsEx( ObjType )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_PartsEx( &Objects )    Получить свойство
Входные параметры:
ObjType ( VARIANT)    - Тип коллекции. В настоящее время может принимать значение константы из перечисления ksPart7CollectionTypeEnum.
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH ( VT_ARRAY | VT_DISPATCH). Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.


## PartsGroupNumber - Идентификатор номера группы компонентов

Тип данных: long
Синтаксис Automation:
```
PartsGroupNumber = Object.PartsGroupNumber    Получить свойство (* )
Object.PartsGroupNumber = PartsGroupNumber    Установить свойство (* )
PartsGroupNumber = Object.GetPartsGroupNumber()    Получить свойство (**)
Object.SetPartsGroupNumber( PartsGroupNumber )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PartsGroupNumber( &PartsGroupNumber )    Получить свойство
Object.put_PartsGroupNumber( PartsGroupNumber )    Установить свойство
```
Примечание:
Вставки, объединенные в группу, в спецификации будут иметь одинаковый номер позиции.
В группу могут объединяться вставки из разных исполнений документа.
Версия: Компас v20


## Placement - Получить локальную систему координат компонента

Тип данных: Указатель на интерфейс IPlacement3D
Синтаксис Automation:
```
Placement = iObject.Placement    Получить свойство (* )
Placement = iObject.GetPlacement()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Placement ( &Placement)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## PropertyObjectEditable - Поддерживается интерфейс внешних свойств объекта

Тип данных: BOOL
Синтаксис Automation:
```
PropertyObjectEditable = Object.PropertyObjectEditable    Получить свойство (* )
Object.PropertyObjectEditable = PropertyObjectEditable    Установить свойство (* )
PropertyObjectEditable = Object.GetPropertyObjectEditable()    Получить свойство (**)
Object.SetPropertyObjectEditable( PropertyObjectEditable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PropertyObjectEditable( &PropertyObjectEditable )    Получить свойство
Object.put_PropertyObjectEditable( PropertyObjectEditable )    Установить свойство
Версия Компас v23
```


## ReadOnly - Тип доступа к компоненту

Тип данных: из перечисления ksPartAccessTypeEnum
Синтаксис Automation:
```
ReadOnly = Object.ReadOnly    Получить свойство (* )
Object.ReadOnly = ReadOnly    Установить свойство (* )
ReadOnly = Object.GetReadOnly()    Получить свойство (**)
Object.SetReadOnly( ReadOnly )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReadOnly( &ReadOnly )    Получить свойство
Object.put_ReadOnly( ReadOnly )    Установить свойство
Свойство позволяет устанавливать и получать тип доступа к компоненту.
```
Примечание:
Тип ksATDisable установить нельзя. Он возвращается в том случае, если смена доступа защищена паролем.


## RebuildModel - Перестроить модель

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


## RevealComposition - Сборочная единица/Составные части

Тип данных: BOOL
Синтаксис Automation:
```
RevealComposition = Object.RevealComposition    Получить свойство (* )
Object.RevealComposition = RevealComposition    Установить свойство (* )
RevealComposition = Object.GetRevealComposition()    Получить свойство (**)
Object.SetRevealComposition( RevealComposition )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RevealComposition( &RevealComposition )    Получить свойство
Object.put_RevealComposition( RevealComposition )    Установить свойство
Версия: Компас v20
```


## RunCreateObjectProcess - Запустить визуальный процесс создания объекта

Синтаксис Automation:
```
LPDISPATCH RunCreateObjectProcess( ProcessTypeEnum ProcessType );
```
Синтаксис COM:
```
HRESULT RunCreateObjectProcess( ProcessTypeEnum ProcessType, IModelObject * * Result );
Возвращаемое значение:
- Указатель на интерфейс объекта IModelObject.
Входные параметры:
ProcessType    - тип процесса из перечисления ProcessTypeEnum.
Версия Компас v23
```


## SaveAs - Сохранить файл компонента под другим именем

Синтаксис Automation:
```
BOOL SaveAs( BSTR PathName );
```
Синтаксис COM:
```
HRESULT SaveAs( [in] BSTR PathName, [out, retval] VARIANT_BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SelectByPoint - Выделить объекты, содержащие точку

Синтаксис Automation:
```
VARIANT SelectByPoint( VARIANT Objects,
double X,
double Y,
double Z );
```
Синтаксис COM:
```
HRESULT SelectByPoint( VARIANT Objects,
double X,
double Y,
double Z,
VARIANT * Result );
Входные параметры:
Objects    - массив SafeArray объектов типа VT_ARRAY    VT_DISPATCH,
x, y, z    - координаты точки.
Возвращаемое значение:
Массив SafeArray объектов типа VT_ARRAY    VT_DISPATCH.
```
Примечание
Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.


## SelectByPointEx - Выделить объекты, содержащие точку

Синтаксис Automation:
```
VARIANT SelectByPointEx( VARIANT Objects, double X, double Y, double Z, double Epsilon );
```
Синтаксис COM:
```
HRESULT SelectByPointEx( VARIANT Objects, double X, double Y, double Z, double Epsilon, VARIANT * Result );
Входные параметры:
Objects    - cписок объектов VT_ARRAY    VT_DISPATCH,
X,Y, Z    - координаты точки,
Epsilon    - погрешность.
Версия КОМПАС v22
```


## SetDummyEmbodiment - Установить текущее исполнение для макета по имени или индексу

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


## SetMaterial - Установить материал и плотность компонента

Синтаксис Automation:
```
BOOL SetMaterial( LPCTSTR Name, double density);
```
Синтаксис COM:
```
HRESULT SetMaterial( [in] BSTR Name, [in] double Density, [out, retval] VARIANT_BOOL* PVal);
Входные параметры:
Name    - наименование материала,
Density    - плотность материала (г/куб.мм).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
1. Компонент, у которого меняется материал, должен быть деталью.
2. Компонент не должен быть деталью из библиотеки моделей или стандартным элементом.
3. Метод используется в детали для верхнего компонента, в сборках - для вставленных деталей, открытых на редактирование.
4. Изменение материала и плотности вступает в силу после вызова метода IModelObject::Update.


## SetSourceVariables - Установить значения переменных из источника

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


## ShowExternalVariables - Отображать внешние переменные

Тип данных: из перечисления ksShowExternalVariablesEnum
Синтаксис Automation:
```
ShowExternalVariables = Object.ShowExternalVariables    Получить свойство (* )
Object.ShowExternalVariables = ShowExternalVariables    Установить свойство (* )
ShowExternalVariables = Object.GetShowExternalVariables()    Получить свойство (**)
Object.SetShowExternalVariables( ShowExternalVariables )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowExternalVariables( &ShowExternalVariables )    Получить свойство
Object.put_ShowExternalVariables( ShowExternalVariables )    Установить свойство
КOMPAS v24
```


## SpecRough - Неуказанная шероховатость 3D

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


## StaffVisible - Управление видимостью состава

Тип данных: BOOL
Синтаксис Automation:
```
StaffVisible = Object.StaffVisible    Получить свойство (* )
Object.StaffVisible = StaffVisible    Установить свойство (* )
StaffVisible = Object.GetStaffVisible()    Получить свойство (**)
Object.SetStaffVisible( StaffVisible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_StaffVisible( &StaffVisible )    Получить свойство
Object.put_StaffVisible( StaffVisible )    Установить свойство
Свойство позволяет устанавливать и получать видимость состава у компонента, взятого в документ.
```


## Standard - Признак стандартного компонента

Тип данных: BOOL
Синтаксис Automation:
```
Standard = iObject.Standard    Получить свойство (* )
iObject.Standard = Standard    Установить свойство (* )
Standard = iObject.GetStandard()    Получить свойство (**)
iObject.SetStandard ( Standard)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Standard ( &Standard)    Получить свойство
iObject->put_Standard ( Standard)    Установить свойство
```
Примечание:
Свойство вступает в силу после вызова метода IModelObject::Update.


## ToleranceRecalcType - Способ пересчета

Тип данных: Значение из перечисления ksToleranceRecalcsEnum.
Синтаксис Automation:
```
ToleranceRecalcType = Object.ToleranceRecalcType    Получить свойство (* )
Object.ToleranceRecalcType = ToleranceRecalcType    Установить свойство (* )
ToleranceRecalcType = Object.GetToleranceRecalcType()    Получить свойство (**)
Object.SetToleranceRecalcType( ToleranceRecalcType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ToleranceRecalcType( &ToleranceRecalcType )    Получить свойство
Object.put_ToleranceRecalcType( ToleranceRecalcType )    Установить свойство
```


## TransferObjects - Перенести в СК

Синтаксис Automation:
```
BOOL TransferObjects( VARIANT objects,
LPDISPATCH Lcs,
BOOL holdPosition );
```
Синтаксис COM:
```
HRESULT TransferObjects( VARIANT objects,
ILocalCoordinateSystem * Lcs,
VARIANT_BOOL holdPosition,
BOOL * Result );
Входные параметры:
objects    - объект или список SafeArray объектов которые требуется перенести в другую систему координат,
Lcs    - указатель на интерфейс локальной системы координат ILocalCoordinateSystem,
holdPosition    - сохранять положение.
Возвращаемое значение:
TRUE    - в случае успеха.
```
Примечание:
1. Метод позволяет перенести следующие объекты модели IModelObject:
•3D точка,
•ломаная,
•сплайн,
•эскиз,
•импортированная поверхность,
•операция без истории,
•деталь заготовка,
•локальная система координат.
2. Если объекты нужно перенести в систему координат детали, нужно в качестве параметра Lcs передать NULL.
3. Если нужно перенести один объект, его можно передать в VARIANT-е как указатель на DISPATCH, тип VARIANT-а VT_DISPATCH.
4. Если нужно перенести несколько объектов, нужно передать в VARIANT-е как указатель на массив SafeArray тип VARIANT-а VT_ARRAY | VT_DISPATCH.
5. Если параметр holdPosition == TRUE, то положение объекта в документе не изменяется.
6. Если параметр holdPosition == FALSE, то положение объекта будет задано относительно новой системы координат.
7. Значение флага holdPosition может не учитываться при наличии ассоциативных связей объектов или особенностей создания объекта.


## TransformPoint - Перевод координат точки присланной детали Part1 в систему координат детали

Синтаксис Automation:
```
BOOL TransformPoint( double * X, double * Y, double * Z, IPart7 * Part1 );
Синтаксис COM :
HRESULT TransformPoint( double * X, double * Y, double * Z, IPart7 * Part1, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
X, Y, Z    - координаты точки в системе координат детали Part1,
Part1    - указатель на интерфейс детали IPart7, из системы координат которой нужно перевести точку.
Выходные параметры:
X, Y, Z    - координаты точки в системе координат детали.
```


## TransformPoints - Перевод координат точек присланной детали Part1 в систему координат детали

Синтаксис Automation:
```
BOOL TransformPoints( VARIANT * Points, IPart7 * Part1 );
```
Синтаксис COM:
```
HRESULT TransformPoints( VARIANT * Points, IPart7 * Part1, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Points    - массив SAFEARRAY координат точек в системе координат детали Part1,
Part1    - указатель на интерфейс детали в системе координат которой заданы точки.
Выходные параметры:
Points    - массив SAFEARRAY координат точек в системе координат детали.
```
Примечания:
1. Значения координат изменяются непосредственно в присланном массиве SAFEARRAY.
2. Тип варианта должен быть VT_ARRAY | VT_R8.
3. Значения в массиве должны лежать в последовательности x1, y1, z1, x2, y2, z2 ... xn, yn, zn.


## UniqueNum - Уникальный номер объекта типа

Тип данных: long
Синтаксис Automation:
```
UniqueNum = Object.UniqueNum( OType )    Получить свойство (* )
Object.UniqueNum( OType ) = UniqueNum    Установить свойство (* )
UniqueNum = Object.GetUniqueNum( OType )    Получить свойство (**)
Object.SetUniqueNum( OType, UniqueNum )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UniqueNum( OType, &UniqueNum )    Получить свойство
Object.put_UniqueNum( OType, UniqueNum)    Установить свойство
Входные параметры:
ksObj3dTypeEnum    - OType - тип объекта.
```


## Unload - Выгрузить компонент

Синтаксис Automation:
```
BOOL Unload( BOOL full )
```
Синтаксис COM:
```
HRESULT Unload( BOOL full, BOOL * result );
Входные параметры:
full    TRUE - выгрузить полностью, FALSE - выгрузить частично.
Возвращаемое значение:
TRUE    - компонент успешно загружен,
FALSE    - компонент не загружен.
```
Примечание:
Метод позволяет осуществить выгрузку компонента. Для верхнего компонента не используется.


## UnloadEx - Выгрузить

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


## UpdatePlacement - Установить локальную систему координат детали

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


## UseDummy - Использовать макет

Тип данных: BOOL
Синтаксис Automation:
```
UseDummy = Object. UseDummy    Получить свойство (* )
Object. UseDummy = UseDummy    Установить свойство (* )
UseDummy = Object.Get UseDummy()    Получить свойство (**)
Object.Set UseDummy( UseDummy )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ UseDummy( & UseDummy )    Получить свойство
Object.put_ UseDummy( UseDummy )    Установить свойство
```


## UserFolders - Коллекция пользовательских директорий

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


## UserToleranceRecalcId - Идентификатор пользовательского пересчета

Тип данных: long
Синтаксис Automation:
```
UserToleranceRecalcId = Object. UserToleranceRecalcId    Получить свойство (* )
Object. UserToleranceRecalcId = UserToleranceRecalcId    Установить свойство (* )
UserToleranceRecalcId = Object.Get UserToleranceRecalcId()    Получить свойство (**)
Object.Set UserToleranceRecalcId( UserToleranceRecalcId )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ UserToleranceRecalcId( & UserToleranceRecalcId )    Получить свойство
Object.put_ UserToleranceRecalcId( UserToleranceRecalcId )    Установить свойство
```


## UserToleranceRecalcName - Имя для пользовательского способа пересчета

Тип данных: BSTR
Синтаксис Automation:
```
UserToleranceRecalcName = Object. UserToleranceRecalcName    Получить свойство (* )
Object. UserToleranceRecalcName = UserToleranceRecalcName    Установить свойство (* )
UserToleranceRecalcName = Object.Get UserToleranceRecalcName()    Получить свойство (**)
Object.Set UserToleranceRecalcName( UserToleranceRecalcName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ UserToleranceRecalcName( & UserToleranceRecalcName )    Получить свойство
Object.put_ UserToleranceRecalcName( UserToleranceRecalcName )    Установить свойство
```


## UseSourceLayers - Признак размещения объектов на слоях. TRUE - на слоях-источниках, FALSE - на указанном слое

Тип данных: BOOL
Синтаксис Automation:
```
UseSourceLayers = Object.UseSourceLayers    Получить свойство (* )
Object.UseSourceLayers = UseSourceLayers    Установить свойство (* )
UseSourceLayers = Object.GetUseSourceLayers()    Получить свойство (**)
Object.SetUseSourceLayers( UseSourceLayers )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UseSourceLayers( &UseSourceLayers )    Получить свойство
Object.put_UseSourceLayers( UseSourceLayers )    Установить свойство
КOMPAS v24
```


## VariableTable - Интерфейс таблицы переменных

Тип данных: указатель на интерфейс IVariableTable
Синтаксис Automation:
```
IVariableTable * VariableTable = Part7.VariableTable    Получить свойство (* )
IVariableTable * VariableTable = Part7.GetVariableTable()    Получить свойство (**)
```
Синтаксис COM:
```
HRESULT get_VariableTable ( IVariableTable ** pRes)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## VisualCreateObject - Запустить визуальный процесс создания объекта

Синтаксис Automation:
```
LPDISPATCH VisualCreateObject( ksObj3dTypeEnum ObjectType );
```
Синтаксис COM:
```
HRESULT VisualCreateObject( ksObj3dTypeEnum ObjectType, IModelObject * * Result );
Возвращаемое значение:
- Указатель на интерфейс объекта IModelObject.
Входные параметры:
ObjectType    - тип создаваемого объекта из перечисления ksObj3dTypeEnum.
Версия Компас v23
```


## VisualEditObject - Запустить визуальный процесс редактирования объекта

Синтаксис Automation:
```
BOOL VisualEditObject( IModelObject * Object );
```
Синтаксис COM:
```
HRESULT VisualEditObject( IModelObject * Object, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Object    - Указатель на интерфейс объекта IModelObject.
Версия Компас v23
```


## ZonesManager - Менеджер зон

Тип данных: Указатель на интерфейс IZonesManager.
Синтаксис Automation:
```
ZonesManager = Object.ZonesManager    Получить свойство (* )
ZonesManager = Object.GetZonesManager()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ZonesManager( &ZonesManager )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v18.1


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

Интерфейс исполнений.
Иерархия:
IDispatch
IKompasAPIObject
IEmbodiment
Описание:
Интерфейс можно получить помощью свойств IEmbodimentsManager::Embodiment, IEmbodimentsManager::TopEmbodiment, IEmbodimentsManager::CurrentEmbodiment, IEmbodiment::Embodiment, IEmbodiment::Owner.
Имеет дополнительные интерфейсы:
•IPropertyKeeper,
•IColorParam7.
•IMassInertiaParam7,
которые можно получить с помощью метода IUnknown::QueryInterfaceI.


## Delete - Удаление

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


## Density - Плотность

Тип данных: double
Синтаксис Automation:
```
Density = Object.Density    Получить свойство (* )
Density = Object.GetDensity()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Density( &Density )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Задать плотность можно с помощью метода IEmbodiment::SetMaterial.


## Embodiment - Зависимое исполнение

Тип данных: Указатель на интерфейс IEmbodiment
Синтаксис Automation:
```
Embodiment = Object.Embodiment( Index )    Получить свойство (* )
Embodiment = Object.GetEmbodiment( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Embodiment( Index, &Embodiment )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## EmbodimentsCount - Количество исполнений

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


## GetMarking - Обозначение исполнения

Синтаксис Automation:
```
BSTR GetMarking( ksVariantMarkingTypeEnum MarkingType, BOOL AddSystemDelimer );
```
Синтаксис COM:
```
HRESULT GetMarking( ksVariantMarkingTypeEnum MarkingType, BOOL AddSystemDelimer, BSTR * Result );
Возвращаемое значение:
- обозначение исполнения.
Входные параметры:
MarkingType    - какую часть обозначения надо вернуть,
AddSystemDelimer    - с разделителями.
Метод возвращает обозначение исполнения.
```


## IsCurrent - Текущее исполнение

Тип данных: BOOL
Синтаксис Automation:
```
IsCurrent = Object.IsCurrent    Получить свойство (* )
Object.IsCurrent = IsCurrent    Установить свойство (* )
IsCurrent = Object.GetIsCurrent()    Получить свойство (**)
Object.SetIsCurrent( IsCurrent )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_IsCurrent( &IsCurrent )    Получить свойство
Object.put_IsCurrent( IsCurrent )    Установить свойство
```
Примечание:
Свойство позволяет узнать, является ли исполнение текущим.


## IsVariant - Является ли исполнение вариантом геометрии

Тип данных: BOOL
Синтаксис Automation:
```
IsVariant = Object.IsVariant    Получить свойство (* )
IsVariant = Object.GetIsVariant()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsVariant( &IsVariant )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v22


## LeftHandedCS - Признак левосторонней системы координат

Тип данных: BOOL
Синтаксис Automation:
```
LeftHandedCS = Object.LeftHandedCS    Получить свойство (* )
Object.LeftHandedCS = LeftHandedCS    Установить свойство (* )
LeftHandedCS = Object.GetLeftHandedCS()    Получить свойство (**)
Object.SetLeftHandedCS( LeftHandedCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LeftHandedCS( &LeftHandedCS    Получить свойство
Object.put_LeftHandedCS( LeftHandedCS )    Установить свойство
```


## MakeAsEmbodiment - Преобразовать вариант геометрии в исполнение

Синтаксис Automation:
```
BOOL MakeAsEmbodiment();
```
Синтаксис COM:
```
HRESULT MakeAsEmbodiment( BOOL * Result );
Возвращаемое значение:
TRUE    - исполнение является вариантом геометрии,
FALSE    - обычное исполнение.
Версия КОМПАС v22
```


## MakeAsVariant - Преобразовать исполнение в вариант геометрии

Синтаксис Automation:
```
BOOL MakeAsVariant( BSTR VariantName );
```
Синтаксис COM:
```
HRESULT MakeAsVariant( BSTR VariantName, BOOL * Result );
Возвращаемое значение:
TRUE    - исполнение является вариантом геометрии,
FALSE    - обычное исполнение.
Входные параметры:
VariantName    - наименование варианта геометрии.
Версия КОМПАС v22
```


## Mass - Масса компонента

Тип данных: double
Синтаксис Automation:
```
Mass = Object.Mass    Получить свойство (* )
Mass = Object.GetMass()    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Mass( &Mass )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Material - Материал

Тип данных: BSTR
Синтаксис Automation:
```
Material = Object.Material    Получить свойство (* )
Material = Object.GetMaterial()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Material(&Material)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Задать материал можно с помощью метода IEmbodiment::SetMaterial.


## Name - Имя

Тип данных: BSTR
Синтаксис Automation:
```
Name = Object.Name    Получить свойство (* )
Object.Name = Name    Установить свойство (* )
Name = Object.GetName()    Получить свойство (**)
Object.SetName(Name )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Name( &Name )    Получить свойство
Object. put_Name( Name )    Установить свойство
```


## Owner - Объект, породивший этот объект

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


## Part - Компонент исполнения

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


## SaveAs - Сохранить исполнение как

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


## SetMarking - Обозначение исполнения

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


## SetMaterial - Установить материал

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


## SpecRough - Неуказанная шероховатость 3D

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


## Update - Изменить свойства объекта

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


## VariantName - Наименование варианта геометрии

Тип данных:BSTR
Синтаксис Automation:
```
VariantName = Object.VariantName    Получить свойство (* )
Object.VariantName = VariantName    Установить свойство (* )
VariantName = Object.GetVariantName()    Получить свойство (**)
Object.SetVariantName( VariantName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_VariantName( &VariantName    Получить свойство
Object.put_VariantName( VariantName )    Установить свойство
Версия КОМПАС v22
```


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

Интерфейс объекта Дерева построения.
Иерархия:
IDispatch
IFeature7
Примечание:
1. Данный интерфейс можно получить от интерфейса IModelObject как свойство IModelObject::Owner.
2. Данный интерфейс можно получить от интерфейса IModelObject или IPart7 с помощью метода IUnknown::QueryInterface (const GUID far& iid, void** pif).


## Delete - Удалить компонент

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


## Excluded - Исключен из расчета

Тип данных: BOOL
Синтаксис Automation:
```
Excluded = iObject.Excluded    Получить свойство (* )
iObject.Excluded = Excluded    Установить свойство (* )
Excluded = iObject.GetExcluded()    Получить свойство (**)
iObject.SetExcluded (Excluded)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Excluded(&Excluded)    Получить свойство
iObject->put_Excluded( Excluded )    Установить свойство
```


## FeatureType - Тип объекта

Тип данных: из перечисления ksObj3dTypeEnum
Синтаксис Automation:
```
FeatureType = iObject.FeatureType    Получить свойство (* )
FeatureType = iObject.GetFeatureType()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_FeatureType(&FeatureType)    Получить свойство
Возвращаемое значение:
- тип объектов из перечисления ksObj3dTypeEnum.
```
Примечание:
1. Свойство доступно только для чтения.
2. Тип возвращаемого объекта может принимать значения:
| o3d_part | - деталь, |
| --- | --- |
| o3d_entity | - объект, |
| o3d_mateConstraint | - сопряжение. |


## IsModified - Модифицирован ли объект с момента последнего перестроения

Тип данных: BOOL
Синтаксис Automation:
```
IsModified = Object.IsModified( Recursive )    Получить свойство (* )
IsModified = Object.GetIsModified( Recursive )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsModified( Recursive, &IsModified )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## IsRollBacked - Лежит ли объект ниже конца построения модели

Тип данных: BOOL
Синтаксис Automation:
```
IsRollBacked = Object.IsRollBacked    Получить свойство (* )
IsRollBacked = Object.GetIsRollBacked()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsRollBacked( &IsRollBacked )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## Label - Отображаемое имя объекта в дереве

Тип данных: BSTR
Синтаксис Automation:
```
Label = Object.Label    Получить свойство (* )
Label = Object.GetLabel()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Label( &Label )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия: Компас v20


## ModelObjects - Объекты, входящие в состав данного объекта (грани, ребра, вершины)

Тип данных: VARIANT
Синтаксис Automation:
```
ModelObjects = iObject.ModelObjects (ObjType)    Получить свойство (* )
ModelObjects = iObject.GetModelObjects (ObjType)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ModelObjects (ObjType, &ModelObjects)    Получить свойство
Входные параметры:
ObjType    - тип трехмерных объектов из перечисления ksObj3dTypeEnum или KompasAPIObjectTypeEnum.
```
Примечание:
1.Свойство доступно только для чтения.
2.Коллекция объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH). Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
3.В качестве типа объекта может передаваться одно значение (VT_I4) или массив типов объектов (VT_ARRAY| VT_I4).
Типы объектов могут быть из перечислений ksObj3dTypeEnum и KompasAPIObjectTypeEnum.
Если тип передается ksObj3dTypeEnum::o3d_unknown – возвращаются все объекты.


## Name - Имя объекта

Тип данных: BSTR (строка)
Синтаксис Automation:
```
Name = iObject.Name    Получить свойство (* )
Name = iObject.GetName()    Получить свойство (**)
```
Синтаксис COM:
```
get_Name(&Name)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ObjectError - Получить номер ошибки

Тип данных: long
Синтаксис Automation:
```
ObjectError = Object.ObjectError    Получить свойство (* )
ObjectError = Object.GetObjectError()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectError( &ObjectError )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Если на объекте взведено несколько ошибок, возвращается номер первой.
3. Номера ошибок соответствуют перечислению ErrorType3d.


## OrderNumber - Порядковый номер

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


## OwnerFeature - Объект-владелец

Тип данных: Указатель на интерфейс IFeature7
Синтаксис Automation:
```
OwnerFeature = iObject.OwnerFeature    Получить свойство (* )
OwnerFeature = iObject.GetOwnerFeature()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_OwnerFeature(&OwnerFeature)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ResultBodies - Массив тел (SAFEARRAY)

Тип данных: VARIANT
Значения свойства:
| Массив SafeArray типа VT_ARRAY | VT_DISPATCH. |
| --- |
Синтаксис Automation:
```
ResultBodies = iObject.ResultBodies;    Получить свойство (* )
ResultBodies = iObject.GetResultBodies();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ResultBodies( &ResultBodies )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить массив SAFEARRAY всех тел, входящих в дерево. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.


## State - Возвращает комбинацию флагов состояния объекта

Тип данных: из перечисления ksFeatureStateEnum
Синтаксис Automation:
```
State = Object.State;    Получить свойство (* )
ResultBodies = State = Object.GetState();    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_State( &State )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## SubFeatures - Коллекция элементов дерева заданного типа в виде массива SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT
Синтаксис Automation:
```
SubFeatures = Object.SubFeatures( treeType, through, libObject )    Получить свойство (* )
SubFeatures = Object. GetSubFeatures ( treeType, through, libObject )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SubFeatures( treeType, through, libObject, &SubFeatures )    Получить свойство
```
Параметры:
| treeType | - тип дерева из перечисления ksTreeTypeEnum, |
| --- | --- |
| through | - TRUE - выдавать все объекты, даже скрытые, |
| libObject | - TRUE - выдавать содержимое для библиотечного элемента. |
Примечание:
Свойство доступно только для чтения.


## UpdateStamp - Значение, определяющее время изменения геометрии

Тип данных: long
Синтаксис Automation:
```
UpdateStamp = iObject.UpdateStamp    Получить свойство (* )
UpdateStamp = iObject.GetUpdateStamp()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UpdateStamp(&UpdateStamp)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Valid - Признак невырожденности объекта

Тип данных: BOOL
Синтаксис Automation:
```
Valid = iObject.Valid    Получить свойство (* )
Valid = iObject.GetValid()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Valid(&Valid)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Variable - Получить параметрическую переменную по имени, индексу

Тип данных: указатель на интерфейс IVariable7
Синтаксис Automation:
```
Variable = Object.Variables( External, InSource, Index )    Получить свойство (* )
Variable = Object.GetVariables( External, InSource, Index )    Получить свойство (**)
```
Синтаксис COM:
```
Variable = Object.GetVariables( External, InSource, Index )    Получить свойство
Входные параметры:
BOOL ExternalOnly    - только внешние,
BOOL InSource    - из источника,
VARIANT Index    - имя или индекс переменной.
```
Примечание:
Свойство доступно только для чтения.


## Variables - Получить массив параметрических переменных в виде SAFEARRAY VT_DISPATCH

Тип данных: VARIANT
Синтаксис Automation:
```
Variables = Object.Variables( ExternalOnly, InSource )    Получить свойство (* )
Variables = Object.GetVariables( ExternalOnly, InSource )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Variables( ExternalOnly, InSource, &Variables )    Получить свойство
Входные параметры:
BOOL ExternalOnly    - только внешние,
BOOL InSource    - из источника.
```
Примечание:
Свойство доступно только для чтения.


## VariablesCount - Получить количество параметрических переменных

Тип данных: long
Синтаксис Automation:
```
VariablesCount = Object.VariablesCount( External, InSource )    Получить свойство (* )
VariablesCount = Object.GetVariablesCount( External, InSource )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_VariablesCount( External, InSource, &VariablesCount )    Получить свойство
Входные параметры:
BOOL ExternalOnly    - только внешние,
BOOL InSource    - из источника.
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс массово-центровочных характеристик.
Иерархия:
IDispatch
IMassInertiaParam7
Примечание:
1. Интерфейс контейнера является дополнительным к интерфейсу IPart7 и IEmbodiment. Данный интерфейс можно получить от IPart7 и от IEmbodiment посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif);
2. Интерфейс позволяет получить доступ к массово-центровочным характеристикам детали и сборки. С помощью интерфейса можно получить и отредактировать массово-центровочные характеристики объекта.
3. Новые характеристики вступают в силу после вызова метода ImodelObject::Update.


## Actual - Актуальность расчета

Тип данных: BOOL
Синтаксис Automation:
```
Actual = iObject.Actual    Получить свойство (* )
Actual = iObject.GetActual( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Actual( &Actual )    Получить свойство
Значения свойства:
TRUE    - информация актуальна,
FALSE    - не актуальна.
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить сведения об актуальности информации.


## Area - Значение площади

Тип данных: double
Синтаксис Automation:
```
Area = iObject.Area    Получить свойство (* )
Area = iObject.GetArea( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Area( &Area )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить значение площади.


## Calculate - Рассчитать параметры

Синтаксис Automation:
```
BOOL Calculate( );
```
Синтаксис COM:
```
HRESULT Calculate ( VARIANT_BOOL* Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет рассчитать массово-центровочные характеристики объекта. Метод следует вызывать после изменения одного из параметров объекта, чтобы привести остальные параметры в соответствие с измененным.


## CalculateMass - Расчетное значение массы

Тип данных: double
Синтаксис Automation:
```
CalculateMass = iObject.CalculateMass( )    Получить свойство (* )
CalculateMass = iObject.GetCalculateMass( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CalculateMass( &CalculateMass )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить единицы измерения массы.


## CopySourceData - Данные из источника копирования

Тип данных: BOOL
Синтаксис Automation:
```
CopySourceData = Object.CopySourceData    Получить свойство (* )
Object.CopySourceData = CopySourceData    Установить свойство (* )
CopySourceData = Object.GetCopySourceData()    Получить свойство (**)
Object.SetCopySourceData( CopySourceData )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CopySourceData( &CopySourceData )    Получить свойство
Object.put_CopySourceData( CopySourceData )    Установить свойство
Версия: Компас v20
```


## Density - Плотность

Тип данных: double
Синтаксис Automation:
```
Density = iObject.Density    Получить свойство (* )
Density = iObject.GetDensity()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Density( &Density )    Получить свойство
```
Примечание:
1. Свойство позволяет получить плотность тела (г/куб.мм).
2. Свойство доступно только для чтения.
3. Для установки плотности необходимо использовать метод IMassInertiaParam7::SetMaterial.


## DensityMode - Режим задания плотности

Тип данных: BOOL
Синтаксис Automation:
```
DensityMode = iObject.DensityMode    Получить свойство (* )
iObject.DensityMode = DensityMode    Установить свойство (* )
DensityMode = iObject.GetDensityMode( )    Получить свойство (**)
iObject.SetDensityMode( DensityMode )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DensityMode( &DensityMode )    Получить свойство
iObject->put_DensityMode( DensityMode )    Установить свойство
Значения свойства:
TRUE    - ручное задание плотности,
FALSE    - значение плотности из Справочника.
```
Примечание:
Свойство позволяет установить и получить режим задания плотности.


## GetAxisX - Получить вектор направлений главных центральных осей инерции по оси X

Синтаксис Automation:
```
BOOL GetAxisX( double * x, double * y, double * z );
```
Синтаксис COM:
```
HRESULT GetAxisX( double * x, double * y, double * z, VARIANT_BOOL * Result );
Выходные параметры:
Координаты x, y, z точки вектора направления по оси X.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получать координаты x, y, z точки вектора направления по оси X.


## GetAxisY - Получить вектор направлений главных центральных осей инерции по оси Y

Синтаксис Automation:
```
BOOL GetAxisY( double * x, double * y, double * z );
```
Синтаксис COM:
```
HRESULT GetAxisY( double * x, double * y, double * z, VARIANT_BOOL * Result );
Выходные параметры:
Координаты x, y, z точки вектора направления по оси Y.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получать координаты x, y, z точки вектора направления по оси Y.


## GetAxisZ - Получить вектор направлений главных центральных осей инерции по оси Z

Синтаксис Automation:
```
BOOL GetAxisZ( double * x, double * y, double * z );
```
Синтаксис COM:
```
HRESULT GetAxisZ( double * x, double * y, double * z, VARIANT_BOOL * Result );
Выходные параметры:
- Координаты x, y, z точки вектора направления по оси Z.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получать координаты x, y, z точки вектора направления по оси Z.


## HandBookDensity - Значение плотности из Справочника

Тип данных: double
Синтаксис Automation:
```
HandBookDensity = iObject.HandBookDensity    Получить свойство (* )
HandBookDensity = iObject.GetHandBookDensity( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_HandBookDensity( &HandBookDensity )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить значение плотности из Справочника.


## Jx - Осевой момент инерции в центральной системе координат относительно центральной оси координат X

Тип данных: double
Синтаксис Automation:
```
Jx = iObject.Jx    Получить свойство (* )
Jx = iObject.GetJx( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jx( &Jx )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно относительно центральной оси координат X.
См. также Центральная система координат


## Jx0 - Осевой момент инерции в главной центральной системе координат относительно оси X

Тип данных: double
Синтаксис Automation:
```
Jx0 = iObject.Jx0    Получить свойство (* )
Jx0 = iObject.GetJx0( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jx0( &Jx0 )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
См. также Главная центральная система координат


## Jxy - Центробежный момент инерции в центральной системе координат относительно центральных осей координат X и Y

Тип данных: double
Синтаксис Automation:
```
Jxy = iObject.Jxy    Получить свойство (* )
Jxy = iObject.GetJxy( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jxy( &Jxy )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение центробежного момента инерции относительно центральных осей координат X и Y.
См. также Центральная система координат


## Jxz - Центробежный момент инерции центральной системе координат относительно центральных осей координат X и Z

Тип данных: double
Синтаксис Automation:
```
Jxz = iObject.Jxz    Получить свойство (* )
Jxz = iObject.GetJxz( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jxz( &Jxz )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение центробежного момента инерции относительно центральных осей координат X и Z.
См. также Центральная система координат


## Jy - Осевой момент инерции в центральной системе координат относительно центральной оси координат Y

Тип данных: double
Синтаксис Automation:
```
Jy = iObject.Jy    Получить свойство (* )
Jy = iObject.GetJy( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jy( &Jy )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно относительно центральной оси координат Y.
См. также Центральная система координат


## Jy0 - Осевой момент инерции в главной центральной системе координат относительно оси Y

Тип данных: double
Синтаксис Automation:
```
Jy0 = iObject.Jy0    Получить свойство (* )
Jy0 = iObject.GetJy0( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jy0( &Jy0 )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
См. также Главная центральная система координат


## Jyz - Центробежный момент инерции в центральной системе координат относительно центральных осей координат Y и Z

Тип данных: double
Синтаксис Automation:
```
Jyz = iObject.Jyz    Получить свойство (* )
Jyz = iObject.GetJyz( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jyz( &Jyz )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение центробежного момента инерции относительно центральных осей координат Y и Z.
См. также Центральная система координат


## Jz - Осевой момент инерции в центральной системе координат относительно центральной оси координат Z

Тип данных: double
Синтаксис Automation:
```
Jz = iObject.Jz    Получить свойство (* )
Jz = iObject.GetJz( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jz( &Jz )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно относительно центральной оси координат Z.
См. также Центральная система координат


## Jz0 - Осевой момент инерции в главной центральной системе координат относительно оси Z

Тип данных: double
Синтаксис Automation:
```
Jz0 = iObject.Jz0    Получить свойство (* )
Jz0 = iObject.GetJz0( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jz0( &Jz0 )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
См. также Главная центральная система координат


## LengthUnits - Единицы измерения длины

Тип данных: из перечисления ksLengthUnitEnum
Синтаксис Automation:
```
LengthUnits = iObject.LengthUnits    Получить свойство (* )
iObject.LengthUnits = LengthUnits    Установить свойство (* )
LengthUnits = iObject.GetLengthUnits( )    Получить свойство (**)
iObject.SetLengthUnits( LengthUnits )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_LengthUnits( &LengthUnits )    Получить свойство
iObject->put_LengthUnits( LengthUnits )    Установить свойство
```
Примечание:
Свойство позволяет установить и получить единицы измерения длины.


## Lx - Осевой момент инерции относительно глобальной (исходной) оси координат X

Тип данных: double
Синтаксис Automation:
```
Lx = iObject.Lx    Получить свойство (* )
Lx = iObject.GetLx( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Lx( &Lx )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно исходной оси координат X.


## Lxy - Центробежный момент инерции относительно исходных осей координат X и Y

Тип данных: double
Синтаксис Automation:
```
Lxy = iObject.Lxy    Получить свойство (* )
Lxy = iObject.GetLxy( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Lxy( &Lxy )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно исходных осей координат X и Y.


## Lxz - Центробежный момент инерции относительно исходных осей координат X и Z

Тип данных: double
Синтаксис Automation:
```
Lxz = iObject.Lxz    Получить свойство (* )
Lxz = iObject.GetLxz( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Lxz( &Lxz )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно исходных осей координат X и Z.


## Ly - Осевой момент инерции относительно глобальной ( исходной ) оси координат Y

Тип данных: double
Синтаксис Automation:
```
Ly = iObject.Ly    Получить свойство (* )
Ly = iObject.GetLy( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Ly( &Ly )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно исходной оси координат Y.


## Lyz - Центробежный момент инерции относительно исходных осей координат Y и Z

Тип данных: double
Синтаксис Automation:
```
Lyz = iObject.Lyz    Получить свойство (* )
Lyz = iObject.GetLyz( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Lyz( &Lyz )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно исходных осей координат Y и Z.


## Lz - Осевой момент инерции относительно глобальной ( исходной ) оси координат Z

Тип данных: double
Синтаксис Automation:
```
Lz = iObject.Lz    Получить свойство (* )
Lz = iObject.GetLz( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Lz( &Lz )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Позволяет получить значение осевого момента инерции относительно исходной оси координат Z.


## ManualDensity - Ручное задание плотности

Тип данных: double
Синтаксис Automation:
```
iObject.ManualDensity = ManualDensity    Установить свойство (* )
iObject.SetManualDensity( ManualDensity)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->put_ManualDensity( ManualDensity )    Устанoовить свойство
```
Примечание:
1. Свойство доступно только для записи. Позволяет явно установить значение плотности. Введенное значение появится в поле Плотность.
2. Единицы измерения плотности определяются значениями свойств IMassInertiaParam7::MassUnits и IMassInertiaParam7::LengthUnits.
3. Для задания плотности необходимо выполнить следующие действия:
•установить режим Расчет параметров плотности (см. свойство IMassInertiaParam7::MassSettingMode).
•установить режим Ручной ввод плотности (см. свойство IMassInertiaParam7::DensityMode).


## ManualMass - Ручное задание массы

Тип данных: double
Синтаксис Automation:
```
iObject.ManualMass = ManualMass    Установить свойство (* )
iObject.SetManualMass( ManualMass )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->put_ManualMass( ManualMass )    Установить свойство
```
Примечание:
Свойство доступно только для записи. Позволяет вручную установить значение массы. Для задания массы необходимо установить режим ручного задания параметров (см. свойство IMassInertiaParam7::MassSettingMode).


## ManualMassCentre - Признак ручного задания центра масс

Тип данных: BOOL
Синтаксис Automation:
```
ManualMassCentre = iObject.ManualMassCentre    Получить свойство (* )
iObject.ManualMassCentre = ManualMassCentre    Установить свойство (* )
ManualMassCentre = iObject.GetManualMassCentre( )    Получить свойство (**)
iObject.SetManualMassCentre( ManualMassCentre )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ManualMassCentre( &ManualMassCentre )    Получить свойство
iObject->put_ManualMassCentre( ManualMassCentre )    Установить свойство
Значения свойства:
TRUE    - ручное задание координат центра масс,
FALSE    - рассчитанное значение.
```
Примечание:
Свойство позволяет установить и получить признак ручного задания центра масс.


## Mass - Масса компонента

Тип данных: double
Синтаксис Automation:
```
Mass = iObject.Mass    Получить свойство (* )
Mass = iObject.GetMass()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Mass ( &Mass)    Получить свойство
```
Примечание:
1. Свойство позволяет получить массу тела.
2. Свойство доступно только для чтения.


## MassFromSource - Масса из источника

Тип данных: BOOL
Синтаксис Automation:
```
MassFromSource = Object.MassFromSource    Получить свойство (* )
Object.MassFromSource = MassFromSource    Установить свойство (* )
MassFromSource = Object.GetMassFromSource()    Получить свойство (**)
Object.SetMassFromSource( MassFromSource )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MassFromSource( &MassFromSource )    Получить свойство
Object.put_MassFromSource( MassFromSource )    Установить свойство
КOMPAS v24
```


## MassSettingMode - Режим задания параметров

Тип данных: из перечисления ksMassSettingModeEnum
Синтаксис Automation:
```
MassSettingMode = iObject.MassSettingMode    Получить свойство (* )
iObject.MassSettingMode = MassSettingMode    Установить свойство (* )
MassSettingMode = iObject.GetMassSettingMode( )    Получить свойство (**)
iObject.SetMassSettingMode( MassSettingMode )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MassSettingMode( &MassSettingMode )    Получить свойство
iObject->put_MassSettingMode( MassSettingMode )    Установить свойство
```
Примечание:
Свойство позволяет установить и получить режим задания параметров.


## MassUnits - Единицы измерения массы

Тип данных: из перечисления ksMassUnitsEnum
Синтаксис Automation:
```
MassUnits = iObject.MassUnits    Получить свойство (* )
iObject.MassUnits = MassUnits    Установить свойство (* )
MassUnits = iObject.GetMassUnits( )    Получить свойство (**)
iObject.SetMassUnits( MassUnits )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MassUnits( &MassUnits )    Получить свойство
iObject->put_MassUnits( MassUnits )    Установить свойство
```
Примечание:
Свойство позволяет установить и получить единицы измерения массы.


## Material - Материал

Тип данных: BSTR (строка)
Синтаксис Automation:
```
Material = iObject.Material    Получить свойство (* )
Material = iObject.GetMaterial()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Material ( &Material)    Получить свойство
```
Примечание:
1. Свойство позволяет получить материал тела.
2. Свойство доступно только для чтения.
3. Для установки материала необходимо использовать метод IMassInertiaParam7::SetMaterial.


## MaterialLocation - Идентификатор материала

Тип данных: BSTR
Синтаксис Automation:
```
MaterialLocation = Object.MaterialLocation    Получить свойство (* )
Object.MaterialLocation = MaterialLocation    Установить свойство (* )
MaterialLocation = Object.GetMaterialLocation()    Получить свойство (**)
Object.SetMaterialLocation( MaterialLocation )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MaterialLocation( &MaterialLocation )    Получить свойство
Object.put_MaterialLocation( MaterialLocation )    Установить свойство
```


## SetMaterial - Установить материал и плотность

Синтаксис Automation:
```
BOOL SetMaterial( BSTR Name,
double density );
```
Синтаксис COM:
```
HRESULT SetMaterial( BSTR Name,
double Density,
BOOL * PVal);
Входные параметры:
Name    - наименование материала,
Density    - плотность материала (г/куб.мм).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет рассчитать массово-центровочные характеристики объекта. Метод следует вызывать после изменения одного из параметров объекта, чтобы привести остальные параметры в соответствие с измененным.


## SourceData - Данные из источника

Тип данных: BOOL
Синтаксис Automation:
```
SourceData = iObject.SourceData    Получить свойство (* )
iObject.SourceData = SourceData    Установить свойство (* )
SourceData = iObject.GetSourceData( )    Получить свойство (**)
iObject.SetDensityMode( DensityMode )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SourceData( &SourceData )    Получить свойство
iObject->put_SourceData( SourceData )    Установить свойство
Значения свойства:
TRUE    - данные из источника,
FALSE    - отличаются от источника.
```
Примечание:
1. Свойство доступно только для компонента, вставленного в сборку.
2. Свойство позволяет установить и получить признак того, что данные взяты из источника.


## Volume - Значение объема

Тип данных: double
Синтаксис Automation:
```
Volume = iObject.Volume    Получить свойство (* )
Volume = iObject.GetVolume( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Volume( &Volume )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить значение объема.


## Xc - Координата X центра масс

Тип данных: double
Синтаксис Automation:
```
Xc = iObject.Xc    Получить свойство (* )
iObject.Xc = Xc    Установить свойство (* )
Xc = iObject.GetXc( )    Получить свойство (**)
iObject.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Xc( &Xc )    Получить свойство
iObject->put_Xc( Xc )    Установить свойство
```
Примечание:
Свойство позволяет установить и получить координату X центра масс. Для установки координат центра масс должен быть включен режим ручной установки центра масс (см. свойство IMassInertiaParam7::ManualMassCentre).


## Yc - Координата Y центра масс

Тип данных: double
Синтаксис Automation:
```
Zc = iObject.Zc    Получить свойство (* )
iObject.Zc = Zc    Установить свойство (* )
Zc = iObject.GetZc( )    Получить свойство (**)
iObject.SetZc( Zc )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Zc( &Zc )    Получить свойство
iObject->put_Zc( Zc )    Установить свойство
```
Примечание:
Свойство позволяет установить и получить координату Z центра масс. Для установки координат центра масс должен быть включен режим ручной установки центра масс (см. свойство IMassInertiaParam7::ManualMassCentre).


## Zc - Координата Z центра масс

Тип данных: double
Синтаксис Automation:
```
Yc = iObject.Yc    Получить свойство (* )
iObject.Yc = Yc    Установить свойство (* )
Yc = iObject.GetYc( )    Получить свойство (**)
iObject.SetYc( Yc )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Yc( &Yc )    Получить свойство
iObject->put_Yc( Yc )    Установить свойство
```
Примечание:
Свойство позволяет установить и получить координату Y центра масс. Для установки координат центра масс должен быть включен режим ручной установки центра масс (см. свойство IMassInertiaParam7::ManualMassCentre).


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

Интерфейс семейства моделей.
Иерархия:
IDispatch
IModelsFamilyManager
Примечание:
Дополнительный интерфейс для 3D документа IKompasDocument3D.
Версия Компас v23


## ApplyLine - Применить строку из таблицы к шаблону

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


## ClearModelsFamilyData - Удалить информацию о семействе моделей

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


## Generate - Создать семейство моделей

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


## IsValidModelsFamily - Проверить корректность данных

Тип данных: из перечисления ksModelsFamilyErrorEnum
Синтаксис Automation:
```
IsValidModelsFamily = Object.IsValidModelsFamily    Получить свойство (* )
IsValidModelsFamily = Object.GetIsValidModelsFamily()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsValidModelsFamily( &IsValidModelsFamily )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ModelsFamilies - Для шаблона получить список файлов экземпляров семейства

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


## ModelsFamilyPath - Путь к файлам семейства моделей

Тип данных: BSTR
Синтаксис Automation:
```
ModelsFamilyPath = Object.ModelsFamilyPath    Получить свойство (* )
Object.ModelsFamilyPath = ModelsFamilyPath    Установить свойство (* )
ModelsFamilyPath = Object.GetModelsFamilyPath()    Получить свойство (**)
Object.SetModelsFamilyPath( ModelsFamilyPath )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ModelsFamilyPath( &ModelsFamilyPath )    Получить свойство
Object.put_ModelsFamilyPath( ModelsFamilyPath )    Установить свойство
```


## ModelsFamilyTable - Путь к файлу таблицы свойств

Тип данных: BSTR
Синтаксис Automation:
```
ModelsFamilyTable = Object.ModelsFamilyTable    Получить свойство (* )
Object.ModelsFamilyTable = ModelsFamilyTable    Установить свойство (* )
ModelsFamilyTable = Object.GetModelsFamilyTable()    Получить свойство (**)
Object.SetModelsFamilyTable( ModelsFamilyTable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ModelsFamilyTable( &ModelsFamilyTable )    Получить свойство
Object.put_ModelsFamilyTable( ModelsFamilyTable )    Установить свойство
```


## ModelsFamilyTableLines - Список строк, используемых для генерации семейства моделей

Тип данных: VARIANT
Синтаксис Automation:
```
ModelsFamilyTableLines = Object.ModelsFamilyTableLines    Получить свойство (* )
Object.ModelsFamilyTableLines = ModelsFamilyTableLines    Установить свойство (* )
ModelsFamilyTableLines = Object.GetModelsFamilyTableLines()    Получить свойство (**)
Object.SetModelsFamilyTableLines( ModelsFamilyTableLines )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ModelsFamilyTableLines( &ModelsFamilyTableLines )    Получить свойство
Object.put_ModelsFamilyTableLines( ModelsFamilyTableLines )    Установить свойство
```
Примечание:
Метод позволяет получить\установить массив выбранных строк таблицы свойств VT_ARRAY|VT_I4.


## ModelsFamilyTableProperties - Список свойств таблицы семейства моделей

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


## ModelsFamilyType - Принадлежность к семейству моделей

Тип данных: из перечисления ksModelsFamilyTypeEnum
Синтаксис Automation:
```
ModelsFamilyType = Object.ModelsFamilyType    Получить свойство (* )
ModelsFamilyType = Object.GetModelsFamilyType()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ModelsFamilyType( &ModelsFamilyType )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс параметров компонента в источнике.
Иерархия:
IDispatch
ISourcePart7Params
Описание:
Интерфейс является дополнительным для интерфейса компонента IPart7. Он позволяет получить параметры компонента и параметры документа из источника. Данный интерфейс можно получить от IPart7 посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif);


## DocumentAuthor - Автор документа

Тип данных: BSTR
Синтаксис Automation:
```
DocumentAuthor = iObject.DocumentAuthor;    Получить свойство (* )
iObject.DocumentAuthor = DocumentAuthor;    Установить свойство (* )
DocumentAuthor = iObject.GetDocumentAuthor();    Получить свойство (**)
iObject.DocumentAuthor( DocumentAuthor );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DocumentAuthor( &DocumentAuthor );    Получить свойство
iObject->put_DocumentAuthor( DocumentAuthor );    Установить свойство
```


## DocumentComment - Комментарий

Тип данных: VARIANT
Синтаксис Automation:
```
DocumentComment = iObject.DocumentComment;    Получить свойство (* )
iObject.DocumentComment= DocumentComment;    Установить свойство (* )
DocumentComment = iObject.DocumentComment();    Получить свойство (**)
iObject.DocumentComment( DocumentComment );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DocumentComment( &DocumentComment );    Получить свойство
iObject->put_DocumentComment( DocumentComment );    Установить свойство
```


## SourceMarking - Обозначение в источнике

Тип данных: BSTR
Синтаксис Automation:
```
SourceMarking = iObject.SourceMarking;    Получить свойство (* )
iObject.SourceMarking = SourceMarking;    Установить свойство (* )
SourceMarking = iObject.GetSourceMarking();    Получить свойство (**)
iObject.SourceMarking( SourceMarking );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SourceMarking( &SourceMarking );    Получить свойство
iObject->put_SourceMarking( SourceMarking );    Установить свойство
```


## SourceName - Имя компонента в источнике

Тип данных: BSTR
Синтаксис Automation:
```
SourceName = iObject.SourceName;    Получить свойство (* )
iObject.SourceName = SourceName;    Установить свойство (* )
SourceName = iObject.GetSourceName();    Получить свойство (**)
iObject.SetSourceName( SourceName );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SourceName( &SourceName );    Получить свойство
iObject->put_SourceName( SourceName );    Установить свойство
```


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

Интерфейс менеджера исполнений
Иерархия:
IDispatch
IEmbodimentsManager
Описание:
Данный интерфейс можно получить у интерфейсов IPart7, IKompasDocument3D, IAssociationView с помощью метода IUnknown::QueryInterface.


## AddEmbodiment - Добавляет новое исполнение и делает его текущим

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


## AddMirrorEmbodiment - Добавляет новое зеркальное исполнение и делает его текущим

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


## AddVariant - Добавляет вариант геометрии исполнения

Синтаксис Automation:
```
BOOL AddVariant( VARIANT ParentIndex, BSTR VariantName );
```
Синтаксис COM:
```
HRESULT AddVariant( VARIANT ParentIndex, BSTR VariantName, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
ParentIndex    - индекс родительского исполнения,
VariantName    - наименование варианта геометрии.
Версия КОМПАС v23
```


## CurrentEmbodiment - Текущее исполнение

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


## CurrentEmbodimentIndex - Индекс текущего исполнения

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


## DeleteEmbodiment - Удалить исполнение по имени или индексу

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


## Embodiment - Получить исполнение по индексу или обозначению

Тип данных: Указатель на интерфейс IEmbodiment
Синтаксис Automation:
```
Embodiment = Object.Embodiment( Index )    Получить свойство (* )
Embodiment = Object.GetEmbodiment( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Embodiment( Index,&Embodiment )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## EmbodimentAdditionalNumber - Дополнительный номер исполнения модели, использованного для вставки

Тип данных: BSTR
Синтаксис Automation:
```
EmbodimentAdditionalNumber = Object.EmbodimentAdditionalNumber;    Получить свойство (* )
Object.EmbodimentAdditionalNumber = EmbodimentAdditionalNumber;    Установить свойство (* )
EmbodimentAdditionalNumber = Object.GetEmbodimentAdditionalNumber();    Получить свойство (**)
Object.SetEmbodimentAdditionalNumber( EmbodimentAdditionalNumber );    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EmbodimentAdditionalNumber( &EmbodimentAdditionalNumber ;    Получить свойство
Object.put_EmbodimentAdditionalNumber( EmbodimentAdditionalNumber );    Установить свойство
```


## EmbodimentCount - Количество исполнений

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


## FindEmbodiment - Найти исполнение по идентификатору информационного объекта

Синтаксис Automation:
```
LPDISPATCH FindEmbodiment( BSTR UniqueMetaObjectKey );
```
Синтаксис COM:
```
HRESULT FindEmbodiment( BSTR UniqueMetaObjectKey, IEmbodiment * * Result );
Входные параметры:
UniqueMetaObjectKey    - ключ информационного объекта.
```


## GetCurrentEmbodimentMarking - Обозначение текущего исполнения

Синтаксис Automation:
```
BSTR GetCurrentEmbodimentMarking( ksVariantMarkingTypeEnum MarkingType,
BOOL AddSystemDelimer);
```
Синтаксис COM:
```
HRESULT GetCurrentEmbodimentMarking( ksVariantMarkingTypeEnum MarkingType,
BOOL AddSystemDelimer,
BSTR * Result);
Возвращаемое значение:
- обозначение текущего исполнения.
Входные параметры:
MarkingType    - часть обозначения из перечисления ksVariantMarkingTypeEnum,
AddSystemDelimer    - добавлять системные разделители.
Метод позволяет получить обозначение текущего исполнения.
```


## GetEmbodimentMarking - Получить обозначение исполнения

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


## GetEmbodimentsTree - Дерево исполнений. Массив узлов дерева исполнений SAFEARRAY BSTR - (VT_ARRAY | VT_BSTR)

Синтаксис Automation:
```
VARIANT GetEmbodimentsTree( BOOL AddSpaces );
```
Синтаксис COM:
```
HRESULT GetEmbodimentsTree( BOOL AddSpaces, VARIANT * Result );
Возвращаемое значение:
Массив SAFEARRAY BSTR - (VT_ARRAY | VT_BSTR);
Входные параметры:
AddSpaces    - добавлять пробелы.
Метод возвращает массив обозначений исполнений.
```
Примечание:
При AddSpaces = TRUE перед обозначением исполнения добавляется соответствующее уровню вложенности количество пробелов.


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

Синтаксис Automation:
```
VARIANT GetEmbodimentsVariants( VARIANT ParentIndex );
```
Синтаксис COM:
```
HRESULT GetEmbodimentsVariants( VARIANT ParentIndex, VARIANT * Result );
Возвращаемое значение:
Список вариантов геометрии для исполнения.
Входные параметры:
ParentIndex    - индекс исполнения.
Версия КОМПАС v23
```


## IsVariant - Является ли исполнение вариантом геометрии

Синтаксис Automation:
```
BOOL IsVariant( VARIANT Index );
```
Синтаксис COM:
```
HRESULT IsVariant( VARIANT Index, BOOL * Result );
Возвращаемое значение:
TRUE    - если исполнение является вариантом геометрии,
FALSE    - обычное исполнение.
Входные параметры:
Index    - индекс исполнения.
Версия КОМПАС v23
```


## SetCurrentEmbodiment - Установить текущее исполнение по имени или индексу

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


## SetEmbodimentMarking - Установить обозначение исполнения

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


## TopEmbodiment - Основное исполнение

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


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

Интерфейс Детали заготовки и Зеркальной детали
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
ILocalCSObject
IEmbodimentsManager
IBilletObsolete


## FileName - Имя файла

Тип данных: BSTR
Синтаксис Automation:
```
FileName = Object.FileName    Получить свойство (* )
Object.FileName = FileName    Установить свойство (* )
FileName = Object.GetFileName()    Получить свойство (**)
Object.SetFileName( FileName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_FileName( &FileName )    Получить свойство
Object.put_FileName( FileName )    Установить свойство
```


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

Интерфейс параметров преобразования в модель.
Иерархия:
IDispatch
ISaveAsDetailParam
Примечание:
Данный интерфейс можно получить с помощью метода IKompasDocument1::GetInterface.
Интерфейс позволяет задать параметры преобразования объектов модели в новую деталь для функции IParts7::SaveAsDetail.
Версия: Компас v20


## FileName - Путь к файлу

Тип данных: BSTR
Синтаксис Automation:
```
FileName = Object.FileName    Получить свойство (* )
Object.FileName = FileName    Установить свойство (* )
FileName = Object.GetFileName()    Получить свойство (**)
Object.SetFileName( FileName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_FileName( &FileName )    Получить свойство
Object.put_FileName( FileName )    Установить свойство
```


## LayoutGeometry - Компоновочная геометрия

Тип данных: BOOL
Синтаксис Automation:
```
LayoutGeometry = Object.LayoutGeometry    Получить свойство (* )
Object.LayoutGeometry = LayoutGeometry    Установить свойство (* )
LayoutGeometry = Object.GetLayoutGeometry()    Получить свойство (**)
Object.SetLayoutGeometry( LayoutGeometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LayoutGeometry( &LayoutGeometry )    Получить свойство
Object.put_LayoutGeometry( LayoutGeometry )    Установить свойство
```


## Local - Локальная деталь

Тип данных: BOOL
Синтаксис Automation:
```
Local = Object.Local    Получить свойство (* )
Object.Local = Local    Установить свойство (* )
Local = Object.GetLocal()    Получить свойство (**)
Object.SetLocal( Local )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Local( &Local )    Получить свойство
Object.put_Local( Local )    Установить свойство
```


## Marking - Обозначение нового компонента

Тип данных: BSTR
Синтаксис Automation:
```
Marking = Object.Marking    Получить свойство (* )
Object.Marking = Marking    Установить свойство (* )
Marking = Object.GetMarking()    Получить свойство (**)
Object.SetMarking( Marking )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Marking( &Marking )    Получить свойство
Object.put_Marking( Marking )    Установить свойство
```


## Mirror - Зеркальная вставка

Тип данных: BOOL
Синтаксис Automation:
```
Mirror = Object.Mirror    Получить свойство (* )
Object.Mirror = Mirror    Установить свойство (* )
Mirror = Object.GetMirror()    Получить свойство (**)
Object.SetMirror( Mirror )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Mirror( &Mirror )    Получить свойство
Object.put_Mirror( Mirror )    Установить свойство
```


## Name - Имя нового компонента

Тип данных: BSTR
Синтаксис Automation:
```
Name = Object.Name    Получить свойство (* )
Object.Name = Name    Установить свойство (* )
Name = Object.GetName()    Получить свойство (**)
Object.SetName( Name )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Name( &Name )    Получить свойство
Object.put_Name( Name )    Установить свойство
```


## SaveInitialObjects - TRUE - Оставлять исходные объекты

Тип данных: BOOL
Синтаксис Automation:
```
SaveInitialObjects = Object.SaveInitialObjects    Получить свойство (* )
Object.SaveInitialObjects = SaveInitialObjects    Установить свойство (* )
SaveInitialObjects = Object.GetSaveInitialObjects()    Получить свойство (**)
Object.SetSaveInitialObjects( SaveInitialObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SaveInitialObjects( &SaveInitialObjects )    Получить свойство
Object.put_SaveInitialObjects( SaveInitialObjects )    Установить свойство
```


## Unhistored - Без истории

Тип данных: BOOL
Синтаксис Automation:
```
Unhistored = Object.Unhistored    Получить свойство (* )
Object.Unhistored = Unhistored    Установить свойство (* )
Unhistored = Object.GetUnhistored()    Получить свойство (**)
Object.SetUnhistored( Unhistored )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Unhistored( &Unhistored )    Получить свойство
Object.put_Unhistored( Unhistored )    Установить свойство
```


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

Интерфейс коллекции сопряжений 3D.
Иерархия:
Интерфейс можно получить методами IPart7::MateConstraints,
IKompasDocument3D1::MateConstraints,
IProcess3D::MateConstraints


## Add - Создает новый элемент и добавляет его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add( MateConstraintType Type );
```
Синтаксис COM:
```
HRESULT Add( MateConstraintType Type, IMateConstraint3D * * Result );
Возвращаемое значение:
- новое сопряжение.
Входные параметры:
Type    - тип сопряжения.
```


## AddUserMate - Создает новый пользовательский элемент и добавляет его в коллекцию

Синтаксис Automation:
```
LPDISPATCH AddUserMate( MateConstraintType Type );
```
Синтаксис COM:
```
HRESULT AddUserMate( MateConstraintType Type, IMateConstraint3D * * Result );
Возвращаемое значение:
- новое сопряжение.
Входные параметры:
Type    - тип сопряжения.
```


## DeleteTemporaryMateConstraints - Удалить временные сопряжения

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


## MateConstraint3D - Возвращает элемент, заданный по индексу или по имени

Тип данных: Указатель на интерфейс IMateConstraints3D.
Синтаксис Automation:
```
MateConstraint3D = Object.MateConstraint3D( Index )    Получить свойство (* )
MateConstraint3D = Object.GetMateConstraint3D( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MateConstraint3D( Index, &MateConstraint3D )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## MatesMultiCreatedMode - Режим группового создания сопряжений

Тип данных: BOOL
Синтаксис Automation:
```
MatesMultiCreatedMode = Object.MatesMultiCreatedMode    Получить свойство (* )
Object.MatesMultiCreatedMode = MatesMultiCreatedMode    Установить свойство (* )
MatesMultiCreatedMode = Object.GetMatesMultiCreatedMode()    Получить свойство (**)
Object.SetMatesMultiCreatedMode( MatesMultiCreatedMode )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MatesMultiCreatedMode( &MatesMultiCreatedMode )    Получить свойство
Object.put_MatesMultiCreatedMode( MatesMultiCreatedMode )    Установить свойство
Версия Компас v21
```


## ObjectConstraints - Возвращает массив сопряжений, связанных с объектом

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


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

Интерфейс сопряжений 3D.
Иерархия:
IDispatch
IKompasAPIObject
IMateConstraint3D
Интерфейс можно получить методами:
IMateConstraints3D::MateConstraint3D,
IMateConstraints3D::ObjectConstraints,
IMateConstraints3D::Add,
IMateConstraints3D::AddUserMate.


## Alignment - Варианты выравнивания направлений для сопряжений

Тип данных: из перечисления ksMateConstraintAlignmentEnum
Синтаксис Automation:
```
Alignment = Object.Alignment    Получить свойство (* )
Object.Alignment = Alignment    Установить свойство (* )
Alignment = Object.GetAlignment()    Получить свойство (**)
Object.SetAlignment( Alignment )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Alignment( &Alignment )    Получить свойство
Object.put_Alignment( Alignment )    Установить свойство
```


## BaseObject1 - Базовый объект 1

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
BaseObject1 = Object.BaseObject1    Получить свойство (* )
Object.BaseObject1 = BaseObject1    Установить свойство (* )
BaseObject1 = Object.GetBaseObject1()    Получить свойство (**)
Object.SetBaseObject1( BaseObject1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BaseObject1( &BaseObject1)    Получить свойство
Object.put_BaseObject1( BaseObject1 )    Установить свойство
```


## BaseObject2 - Базовый объект 2

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
BaseObject2 = Object.BaseObject2    Получить свойство (* )
Object.BaseObject2 = BaseObject2    Установить свойство (* )
BaseObject2 = Object.GetBaseObject2()    Получить свойство (**)
Object.SetBaseObject2( BaseObject2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BaseObject2( &BaseObject2)    Получить свойство
Object.put_BaseObject2( BaseObject2 )    Установить свойство
```


## ConstraintType - Тип сопряжения

Тип данных: из перечисления MateConstraintType
Синтаксис Automation:
```
ConstraintType = Object.ConstraintType    Получить свойство (* )
ConstraintType = Object.GetConstraintType()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ConstraintType( &ConstraintType )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Fixed - Установить признак фиксации

Тип данных: из перечисления: ksMateFixedTypeEnum
Синтаксис Automation:
```
Fixed = Object.Fixed    Получить свойство (* )
Object.Fixed = Fixed    Установить свойство (* )
Fixed = Object.GetFixed()    Получить свойство (**)
Object.SetFixed( Fixed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Fixed( &Fixed )    Получить свойство
Object.put_Fixed( Fixed )    Установить свойство
```


## GetMateParams - Получить параметры математических объектов, участвующих в сопряжении

Синтаксис Automation:
```
ksMateType GetMateParams( long Index, VARIANT * Params );
```
Синтаксис COM:
```
HRESULT GetMateParams( long Index, VARIANT * Params, ksMateType * Result );
Возвращаемое значение:
тип математического объекта, участвующего в сопряжении из ksMateType    - если параметры получены,
ksMateUnknown    - в случае ошибки.
Входные параметры:
Index    - индекс объекта.
Выходные параметры:
Params    - параметры объекта массив SafeArray вещественных чисел.
```
Примечание:
1. Параметры возвращаются в системе координат сборки. При необходимости их можно перевести в систему координат нужного компонента с помощью функции IPart::TransformPoint.
2. Геометрический объект для сопряжения описывается набором из 8-ми вещественных чисел, сгруппированных следующим образом:
•три координаты точки Pc, Pc = { pointX, pointY, pointZ },
•три координаты вектора V, V = { vectorI, vectorJ, vectorK },
•две координаты, соответствующие радиусам, V = { vectorI, vectorJ, vectorK }.


## ParamValue - Параметр для ограничений (расстояние или угол между объектами)

Тип данных: double
Синтаксис Automation:
```
ParamValue = Object.ParamValue    Получить свойство (* )
Object.ParamValue = ParamValue    Установить свойство (* )
ParamValue = Object.GetParamValue()    Получить свойство (**)
Object.SetParamValue( ParamValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamValue( &ParamValue )    Получить свойство
Object.put_ParamValue( ParamValue )    Установить свойство
```


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

Интерфейс интервала значений.
Иерархия:
IDispatch
IMateInterval
Примечание:
Интерфейс является дополнительным для интерфейса сопряжений IMateConstraint3D.
Используется для ограничений:
•На расстоянии,
•Под углом.
Версия КОМПАС v22


## MaxValue - Максимальное значение

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


## MinValue - Минимальное значение

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


## SetValueRange - Установить новые ограничения на значение

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


## UseInterval - Использовать диапазон

Тип данных: BOOL
Синтаксис Automation:
```
UseInterval = Object.UseInterval    Получить свойство (* )
Object.UseInterval = UseInterval    Установить свойство (* )
UseInterval = Object.GetUseInterval()    Получить свойство (**)
Object.SetUseInterval( UseInterval )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UseInterval( &UseInterval )    Получить свойство
Object.put_UseInterval( UseInterval )    Установить свойство
```
