---
title: "Интерфейс ICopyGeometry"
type: interface
api: [api7]
tags: [interface, api7, icopygeometry]
sources:
  - icopygeometry.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *


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

Интерфейс копии геометрии
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
ICopyGeometry
Интерфейс можно получить у интерфейса коллекции копий геометрии ICopiesGeometry
c помощью свойства ICopiesGeometry::CopyGeometry или метода ICopiesGeometry::Add.


## AddInitialObjects - Добавить объекты в массив копируемых объектов

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


## AddInitialObjectsFromExternalDocument - Добавить объекты из файла в массив копируемых объектов

Синтаксис Automation:
```
BOOL AddInitialObjectsFromExternalDocument( IKompasDocument3D * ExternalDocument, ILocalCoordinateSystem * ExternalLocalCS, VARIANT Objects );
```
Синтаксис COM:
```
HRESULT AddInitialObjectsFromExternalDocument( IKompasDocument3D * ExternalDocument, ILocalCoordinateSystem * ExternalLocalCS, VARIANT Objects, BOOL * Result );
Входные параметры:
ExternalDocument    - указатель на внешний документ,
ExternalLocalCS    - указатель на систему координат внешнего документа,
Objects    - массив SafeArray VT_ARRAY    VT_DISPATCH копируемых объектов.
```


## AutoUpdate - Автоматическое обновление

Тип данных: BOOL
Синтаксис Automation:
```
AutoUpdate = Object.AutoUpdate    Получить свойство (* )
Object.AutoUpdate = AutoUpdate    Установить свойство (* )
AutoUpdate = Object.GetAutoUpdate()    Получить свойство (**)
Object.SetAutoUpdate( AutoUpdate )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoUpdate( &AutoUpdate )    Получить свойство
Object.put_AutoUpdate( AutoUpdate )    Установить свойство
```


## BuildingType - Способ построения операции

Тип данных: из перечисления ksCopyGeometryBuildingTypeEnum.
Синтаксис Automation:
```
BuildingType = Object.BuildingType    Получить свойство (* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
```


## ByCollectionGeometry - Режим копирования коллекции геометрии

Тип данных: BOOL
Синтаксис Automation:
```
ByCollectionGeometry = Object.ByCollectionGeometry    Получить свойство (* )
Object.ByCollectionGeometry = ByCollectionGeometry    Установить свойство (* )
ByCollectionGeometry = Object.GetByCollectionGeometry()    Получить свойство (**)
Object.SetByCollectionGeometry( ByCollectionGeometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ByCollectionGeometry( &ByCollectionGeometry )    Получить свойство
Object.put_ByCollectionGeometry( ByCollectionGeometry )    Установить свойство
```


## Clear - Очистить список исходных объектов массива

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


## CollectionGeometry - Копируемая коллекция геометрии

Тип данных: Указатель на интерфейс ICollectionGeometry
Синтаксис Automation:
```
CollectionGeometry = Object.CollectionGeometry    Получить свойство (* )
Object.CollectionGeometry = CollectionGeometry    Установить свойство (* )
CollectionGeometry = Object.GetCollectionGeometry()    Получить свойство (**)
Object.SetCollectionGeometry( CollectionGeometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CollectionGeometry( &CollectionGeometry )    Получить свойство
Object.put_CollectionGeometry( CollectionGeometry )    Установить свойство
```


## ContextObjects - Работа в контексте

Тип данных: BOOL
Синтаксис Automation:
```
ContextObjects = Object.ContextObjects    Получить свойство (* )
Object.ContextObjects = ContextObjects    Установить свойство (* )
ContextObjects = Object.GetContextObjects()    Получить свойство (**)
Object.SetContextObjects( ContextObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ContextObjects( &ContextObjects )    Получить свойство
Object.put_ContextObjects( ContextObjects )    Установить свойство
Значения свойства:
TRUE    - работа в контексте,
FALSE    - по внешнему документу.
```


## Destroy - Разрушить массив

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


## DocumentFileName - Имя файла внешнего документа

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


## ExternalLocalCS - Система координат внешнего документа

Тип данных: Указатель на интерфейс ILocalCoordinateSystem
Синтаксис Automation:
```
ExternalLocalCS = Object.ExternalLocalCS    Получить свойство (* )
Object.ExternalLocalCS = ExternalLocalCS    Установить свойство (* )
ExternalLocalCS = Object.GetExternalLocalCS()    Получить свойство (**)
Object.SetExternalLocalCS( ExternalLocalCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ExternalLocalCS( &ExternalLocalCS )    Получить свойство
Object.put_ExternalLocalCS( ExternalLocalCS )    Установить свойство
```


## GetExternalLocalCooordinateSystem - Система координат из внешнего документа

Синтаксис Automation:
```
LPDISPATCH GetExternalLocalCooordinateSystem( IKompasDocument3D * ExternalDocument3D );
```
Синтаксис COM:
```
HRESULT GetExternalLocalCooordinateSystem( IKompasDocument3D * ExternalDocument3D, ILocalCoordinateSystem * * Result );
Возвращаемое значение:
- Указатель на интерфейс ILocalCoordinateSystem.
Входные параметры:
ExternalDocument3D    - указатель на интерфейс 3D документа, из которого выполнялось копирование, IKompasDocument3D.
Версия КОМПАС v22
```


## InitialObjects - Исходные объекты массива SafeArray VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT
Синтаксис Automation:
```
InitialObjects = Object.InitialObjects    Получить свойство (* )
Object.InitialObjects = InitialObjects    Установить свойство (* )
InitialObjects = Object.GetInitialObjects()    Получить свойство (**)
Object.SetInitialObjects( InitialObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_InitialObjects( &InitialObjects )    Получить свойство
Object.put_InitialObjects( InitialObjects )    Установить свойство
```


## IsInitialObject - Проверка - является ли объект исходным для массива

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


## IsSuitableObject - Проверка пригодности объекта для операции

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


## LocalCS - Система координат

Тип данных: Указатель на интерфейс ILocalCoordinateSystem
Синтаксис Automation:
```
LocalCS = Object.LocalCS    Получить свойство (* )
Object.LocalCS = LocalCS    Установить свойство (* )
LocalCS = Object.GetLocalCS()    Получить свойство (**)
Object.SetLocalCS( LocalCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LocalCS( &LocalCS )    Получить свойство
Object.put_LocalCS( LocalCS )    Установить свойство
```


## MirrorCopy - Зеркальное копирование

Тип данных: BOOL
Синтаксис Automation:
```
MirrorCopy = Object.MirrorCopy    Получить свойство (* )
Object.MirrorCopy = MirrorCopy    Установить свойство (* )
MirrorCopy = Object.GetMirrorCopy()    Получить свойство (**)
Object.SetMirrorCopy( MirrorCopy )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MirrorCopy( &MirrorCopy )    Получить свойство
Object.put_MirrorCopy( MirrorCopy )    Установить свойство
```


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

Синтаксис Automation:
```
LPDISPATCH OpenDocument( BOOL Visible, BOOL ReadOnly );
```
Синтаксис COM:
```
HRESULT OpenDocument( BOOL Visible, BOOL ReadOnly, IKompasDocument3D ** Result );
Возвращаемое значение:
- указатель на интерфейс док\источника IKompasDocument3D.
Входные параметры:
Visible    - открыть в видимом режиме,
ReadOnly    - открыть только для чтения.
```


## Synhronise - Обновить по источнику

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


## WatchForSourceChange - Следить за источником

Тип данных: BOOL
Синтаксис Automation:
```
WatchForSourceChange = Object.WatchForSourceChange    Получить свойство (* )
Object.WatchForSourceChange = WatchForSourceChange    Установить свойство (* )
WatchForSourceChange = Object.GetWatchForSourceChange()    Получить свойство (**)
Object.SetWatchForSourceChange( WatchForSourceChange )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_WatchForSourceChange( &WatchForSourceChange )    Получить свойство
Object.put_WatchForSourceChange( WatchForSourceChange )    Установить свойство
```
