--- 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 ) Установить свойство ```