---
title: "Базовые интерфейсы"
type: interface
api: [api7]
tags: [interface, api7, ba1711015]
sources:
  - ba1711015.html
  - ikompasdocument.html
  - ikompasdocument1.html
  - ikompasdocument2d1.html
  - ikompasdocument3d1.html
---

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




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

Интерфейс событий документа, работа с файлом...
Базовый класс документов КОМПАС.
Иерархия:
IKompasAPIObject
IKompasDocument
IKompasDocument1
Примечание:
1. Данный интерфейс является базовым для всех интерфейсов документов КОМПАС API.
2. Данный интерфейс может быть получен следующими способами:
•от интерфейса приложения IApplication с помощью свойства IApplication::ActiveDocument,
•от интерфейса коллекции документов IDocuments с помощью свойства IDocuments::Item и методов IDocuments::Add, IDocuments::Open,
•от интерфейса элемента библиотеки документов IInsert с помощью метода IInsert::Edit.
3. С помощью метода IUnknown::QueryInterface у интерфейса можно получить дополнительный интерфейс IKompasDocument1и IProductDataManager.


## Active - Активность документа

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


## Changed - Документ изменен

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


## Close - Закрыть документ

Синтаксис Automation:
```
BOOL Close (DocumentCloseOptions closeOptions);
```
Синтаксис COM:
```
HRESULT Close ([in, defaultvalue(FALSE)] DocumentCloseOptions closeOptions, [out, retval] VARIANT_BOOL* pRes);
Входные параметры:
closeOptions    - действия при закрытии измененного документа из перечисления DocumentCloseOptions.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
1. Если документ не был изменен или его уже сохранили перед закрытием, то значение входного параметра будет проигнорировано.
2. Если документ был изменен, то возможны три варианта:
•закрыть документ без сохранения – kdDoNotSaveChanges (в этом случае все изменения будут потеряны),
•закрыть документ с сохранением – kdSaveChanges (в этом случае документ будет сначала сохранен, а потом закрыт),
•предоставить право выбора пользователю – kdPromptToSaveChanges (в этом случае на экран будет выведено сообщение о возможных действиях). Если закрываем в режиме kdPromptToSaveChanges, то пользователь может вообще отказаться от закрытия измененного документа, в этом случае метод вернет FALSE.


## DocumentFrames - Интерфейс коллекции окон документа

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


## DocumentSettings - Настройки документа

Тип данных: - указатель на интерфейс IDocumentSettings текущих настроек документа.
Синтаксис Automation:
```
DocumentSettings = iObject.DocumentSettings    Получить свойство (* )
DocumentSettings = iObject.GetDocumentSettings()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_DocumentSettings (&DocumentSettings)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


## LayoutSheets - Листы оформления

Тип данных: указатель на интерфейс ILayoutSheets коллекции листов оформления
Синтаксис Automation:
```
LayoutSheets = iObject.LayoutSheets    Получить свойство
LayoutSheets = iObject.GetLayoutSheets()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_LayoutSheets (&LayoutSheets)    Получить свойство
```
Примечание:
1. Свойство используется только для документа Чертеж.
2. Свойство доступно только для чтения.


## Name - Имя документа

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


## Path - Путь к файлу документа

Тип данных: строка
Синтаксис Automation:
```
Path = iObject.Path    Получить свойство (* )
Path = iObject.GetPath()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Path (&Path)    Получить свойство
```
Примечание:
Свойство доступно только для чтения. Возвращает путь к файлу документа без имени и расширения файла.


## PathName - Полное имя документа

Тип данных:строка
Синтаксис Automation:
```
PathName = iObject.PathName    Получить свойство (* )
PathName = iObject.GetPathName()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_PathName (&PathName)    Получить свойство
```
Примечание:
Свойство доступно только для чтения. Возвращает полное имя файла документа, состоящее из пути, имени и расширения файла.


## ReadOnly - Только для чтения

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


## Save - Сохранить документ на диске

Синтаксис Automation:
```
void Save();
```
Синтаксис COM:
```
HRESULT Save();
```
Примечание:
Сохраняет все изменения в документе и снимает флаг измененности документа.


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

Синтаксис Automation:
```
void SaveAs (LPCTSTR PathName);
```
Синтаксис COM:
```
HRESULT SaveAs ([in] BSTR PathName);
Входные параметры:
PathName    - полное имя файла документа, состоящее из пути, имени и расширения файла.
```
Примечание:
Позволяет сохранить документ на диск под другим именем.


## SpecificationDescriptions - Описания спецификации

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


## UserDataStoragesMng - Интерфейс Менеджера пользовательских хранилищ

Тип данных: указатель на интерфейс IUserDataStoragesMng Менеджера пользовательских хранилищ
Синтаксис Automation:
```
UserDataStoragesMng = iObject.UserDataStoragesMng    Получить свойство (* )
UserDataStoragesMng = iObject.GetUserDataStoragesMng()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UserDataStoragesMng (&UserDataStoragesMng)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## ActivateToolbarSet - Активизировать набор по идентификатору

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


## ApplyMetadataFromFile - Применить метаданные из файла

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


## Attributes - Массив атрибутов документа в виде массива SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH
Синтаксис Automation:
```
Attributes = Object.Attributes( long Key1, long Key2, long Key3, long Key4, double Numb, VARIANT Objects )    Получить свойство (* )
Attributes = Object.GetAttributes( long Key1, long Key2, long Key3, long Key4, double Numb, VARIANT Objects )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Attributes( long Key1, long Key2, long Key3, long Key4, double Numb, VARIANT Objects, &Attributes )    Получить свойство
Входные параметры:
Key1, Key2, Key3, Key4    - ключи атрибута,
Numb    - уникальный номер типа атрибута,
Objects    - массив VT_ARRAY    VT_DISPATCH объектов, атрибуты которых нужно получить, или указатель на объект VT_DISPATCH.
```
Примечание:
1. Свойство позволяет получать атрибуты документа. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
2. Свойство доступно только для чтения.
3. Чтобы получить все объекты с заданным атрибутом, надо в качестве параметра Objects передать VARIANT с типом VT_EMPTY
4. Чтобы получить атрибуты документа, надо в качестве параметра Objects передать указатель на документ (тип VT_DISPATCH).
5. Чтобы получить все атрибуты объекта, надо в качестве параметра Numb передать 0.
6. Если в качестве параметра Objects будет передан массив объектов, то вернутся групповые атрибуты для этих объектов.


## Author - Автор

Тип данных: BOOL
Синтаксис Automation:
```
Author = Object.Author    Получить свойство (* )
Object.Author = Author    Установить свойство (* )
Author = Object.GetAuthor()    Получить свойство (**)
Object.SetAuthor( Author )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Author( &Author )    Получить свойство
Object.put_Author( Author )    Установить свойство
```


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

Тип данных: BOOL
Синтаксис Automation:
```
Comment = Object.Comment    Получить свойство (* )
Object.Comment = Comment    Установить свойство (* )
Comment = Object.GetComment()    Получить свойство (**)
Object.SetComment( Author )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Comment( &Comment )    Получить свойство
Object.put_Comment( Comment )    Установить свойство
```


## CreateAttr - Создать атрибут по номеру типа атрибута из библиотеки libname

Синтаксис Automation:
```
LPDISPATCH CreateAttr( double AttrID,
BSTR Libname,
VARIANT Objects );
```
Синтаксис COM:
```
HRESULT CreateAttr( AttrID,
Libname,
VARIANT Objects,
IAttribute ** Result );
Входные параметры:
AttrID    - уникальный номер типа атрибута,
Libname    - имя библиотеки типов атрибутов,
Objects    - объект или массив объектов, к которым нужно добавить атрибут ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ).
Возвращаемое значение:
указатель на интерфейс атрибута IAttribute.
```
Примечание:
Метод позволяет создать атрибут по номеру типа из заданной библиотеки.


## CreationDate - Получить дату создания документа

Тип данных: double
Синтаксис Automation:
```
CreationDate = Object.CreationDate    Получить свойство (* )
Object.CreationDate = CreationDate    Установить свойство (* )
CreationDate = Object.GetCreationDate()    Получить свойство (**)
Object.SetCreationDate( CreationDate )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CreationDate( &CreationDate )    Получить свойство
Object.put_CreationDate( CreationDate )    Установить свойство
```


## Delete - Удалить объект или объекты

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


## DocumentTypeId - Идентификатор типа документа

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


## Draw - Отрисовать в окне

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


## ExternalFilesNames - Список внешних файлов

Тип данных: VARIANT типа VT_ARRAY | VT_BSTR
Синтаксис Automation:
```
ExternalFilesNames = Object.ExternalFilesNames    Получить свойство (* )
ExternalFilesNames = Object.GetExternalFilesNames()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ExternalFilesNames( &ExternalFilesNames )    Получить свойство
```
Примечание:
1. Свойство позволяет получать список внешних файлов.
2. Свойство доступно только для чтения.


## FindObjectById - Найти объект по строковому идентификатору

Синтаксис Automation:
```
LPDISPATCH FindObjectById( BSTR Id, IKompasAPIObject * Parent );
```
Синтаксис COM:
```
HRESULT FindObjectById( BSTR Id, IKompasAPIObject * Parent, IKompasAPIObject * * Result );
Возвращаемое значение:
Указатель на интерфейс объекта IKompasAPIObject.
Входные параметры:
Id    - идентификатор объекта, полученный из функции IKompasDocument1::GetObjectId,
Parent    - Владелец объекта, относительно которого нужно сформировать идентификатор. В текущей реализации не используется. Зарезервировано на будущее.
Версия Компас v21
```


## GetDocumentGabarit - Габарит документ

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


## GetExternalFilesNamesEx - Получить список внешних файлов в виде SAFEARRAY BSTR - (VT_ARRAY | VT_BSTR) и их типов в виде SAFEARRAY long - (VT_ARRAY | VT_I4)

Синтаксис Automation:
```
BOOL GetExternalFilesNamesEx( BOOL allFiles, VARIANT * Files, VARIANT * FilesTypes );
```
Синтаксис COM:
```
BOOL GetExternalFilesNamesEx( BOOL allFiles, VARIANT * Files, VARIANT * FilesTypes );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
allFiles    - TRUE - рекурсивно по всем файлам,
- FALSE - только по внешнему уровню.
Выходные параметры:
Files    - массив VT_ARRAY    VT_BSTR имен файлов,
FilesTypes    - массив VT_ARRAY    VT_I4 типов файлов (из перечисления ksExternalFilesTypesEnum).
```


## GetInterface - Получить вспомогательный интерфейс

Синтаксис Automation:
```
LPDISPATCH GetInterface( long Type );
```
Синтаксис COM:
```
HRESULT GetInterface( KompasAPIObjectTypeEnum Type,
IKompasAPIObject ** Result );
Входные параметры:
Type    - тип интерфейса из перечисления KompasAPIObjectTypeEnum.
Возвращаемое значение:
- указатель на интерфейс IKompasAPIObject.
```
Примечание:
Метод позволяет получить вспомогательный интерфейс.
В зависимости от значения параметра Type возвращается указатель на интерфейс:
•в 2D документе:
•ksObjectCopyObjectParam - параметры копирования ICopyObjectParam
•ksObjectCurveCopyObjectParam - параметры копирования по кривой ICurveCopyObjectParam
•ksObjectCircleCopyObjectParam - параметры копирования по окружности ICircleCopyObjectParam
•ksObjectCircularCopyObjectParam - параметры копирования по концентрической сетке ICircularCopyObjectParam
•ksObjectMeshCopyObjectParam - параметры копирования по сетке IMeshCopyObjectParam
•ksObjectFindObjectParameters - интерфейс расширенного поиска объектов IFindObjectParameters
•в 3D документе:
•case ksObjectReportProcess - интерфейс для управления процессом Создать отчетIReportProcess
•ksObjectSaveAsDetailParam - Параметры преобразования в модель ISaveAsDetailParam
•ksObjectFindObject3DParameters - Параметры поиска объектов 3D IFindObject3DParameters
•В 2D, 3D и документе - спецификации
•ksSpecificationObjectCreateParam - Расширенные параметры создания объекта спецификации ISpecificationObjectCreateParam


## GetObjectId - Получить строковый идентификатор объекта

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


## GetTextLength - Определить длину текста

Синтаксис Automation:
```
double GetTextLength( BSTR Text, long Style );
```
Синтаксис COM:
```
HRESULT GetTextLength( BSTR Text, long Style, double * Result );
Возвращаемое значение:
- Длина текста.
Входные параметры:
Text    - текст,
Style    - стиль текста.
Выходные параметры:
Files    - массив VT_ARRAY    VT_BSTR имен файлов,
FilesTypes    - массив VT_ARRAY    VT_I4 типов файлов (из перечисления ksExternalFilesTypesEnum).
КOMPAS v24
```


## IsActiveProcessRunning - Проверить запущен ли в текущем графическом документе построительный процесс

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


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

Тип данных: double
Синтаксис Automation:
```
LastChangeDate = Object.LastChangeDate    Получить свойство (* )
Object.LastChangeDate = LastChangeDate    Установить свойство (* )
LastChangeDate = Object.GetLastChangeDate()    Получить свойство (**)
Object.SetLastChangeDate( LastChangeDate )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LastChangeDate( &LastChangeDate )    Получить свойство
Object.put_LastChangeDate( LastChangeDate )    Установить свойство
```


## Metadata - Метаданные

Тип данных: BSTR
Синтаксис Automation:
```
Metadata = Object.Metadata    Получить свойство (* )
Object.Metadata = Metadata    Установить свойство (* )
Metadata = Object.GetMetadata()    Получить свойство (**)
Object.SetMetadata( Metadata )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Metadata( &Metadata    Получить свойство
Object.put_Metadata( Metadata )    Установить свойство
Свойство позволяет получить и задать метаданные документа.
```


## ObjectNameByType - Вернуть имя объекта по его типу

Тип данных: BSTR
Синтаксис Automation:
```
ObjectNameByType = Object.ObjectNameByType( ObjectType )    Получить свойство (* )
ObjectNameByType = Object.GetObjectNameByType( ObjectType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectNameByType( ObjectType, &ObjectNameByType )    Получить свойство
Входные параметры:
ObjectType    - тип объектов.
```
Примечание:
1.Свойство доступно только для чтения.
2.В зависимости от типа документа нужно использовать значение константы из перечислений:
•    в 3D документе - ksObj3dTypeEnum,
•    в 2D документе - DrawingObjectTypeEnum,
•    в документе спецификации  - ksSpecificationObjectTypeEnum.
КOMPAS v24


## ObjectsByAttr - Массив объектов документа в виде массива SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH
Синтаксис Automation:
```
Attributes = Object.ObjectsByAttr( long Key1, long Key2, long Key3, long Key4, double Numb, VARIANT ObjectType )    Получить свойство (* )
Attributes = Object.ObjectsByAttr( long Key1, long Key2, long Key3, long Key4, double Numb, VARIANT ObjectType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectsByAttr( long Key1, long Key2, long Key3, long Key4, double Numb, VARIANT ObjectType, &Attributes )    Получить свойство
Входные параметры:
Key1, Key2, Key3, Key4    - ключи атрибута,
Numb    - уникальный номер типа атрибута,
ObjectType    - тип объектов.
```
Примечание:
1. Свойство позволяет получать объекты с заданным типом атрибута. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
2. Свойство доступно только для чтения.


## OpenVersion - Версия файла, с которой документ был сохранен

Тип данных: long
Синтаксис Automation:
```
OpenVersion = Object.OpenVersion    Получить свойство (* )
OpenVersion = Object.GetOpenVersion()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_OpenVersion( &OpenVersion )    Получить свойство
```
Примечание:
Свойство доступно только для чтения
Свойство возвращает номер версии Компас, с которой документ был сохранен последний раз в случае открытия документа с диска.
Если документ сохранен в официальных версиях дистрибутива Компас, свойство вернет значение из перечисления ksSaveDocumentVersionEnum.
Если документ сохранен в промежуточных версиях, может вернуться числовая версия потока.


## Organization - Организация

Тип данных: BSTR
Синтаксис Automation:
```
Organization = Object.Organization    Получить свойство (* )
Object.Organization = Organization    Установить свойство (* )
Organization = Object.GetOrganization()    Получить свойство (**)
Object.SetOrganization( Organization )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Organization( &Organization )    Получить свойство
Object.put_Organization( Organization )    Установить свойство
```


## RedrawDocument - Перерисовать окна документа

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


## ReplaceExternalFilesNames - Изменить ссылки на файл в документе

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


## ReportPropertiesMultieditMode - Включить/Выключить режим массовой работы со свойствами объектов

Синтаксис Automation:
```
BOOL ReportPropertiesMultieditMode( BOOL On, BOOL UpdateProps );
```
Синтаксис COM:
```
HRESULT ReportPropertiesMultieditMode( BOOL On, BOOL UpdateProps, BOOL * Result );
Входные параметры:
On    - включить режим,
UpdateProps    - применить изменение свойств.
```


## SaveAsEx - Сохранить документ под другим именем

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


## SaveAsToRasterFormat - Конвертировать окно с входящими дочерними окнами

Синтаксис Automation:
```
BOOL SaveAsToRasterFormat( BSTR FileName, IRasterConvertParameters * Param );
```
Синтаксис COM:
```
HRESULT SaveAsToRasterFormat( BSTR FileName, IRasterConvertParameters * Param, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
FileName    - имя растрового файла,
Param    - интерфейс параметров конвертации в растровые форматы IRasterConvertParameters.
```
Примечание:
Интерфейс IRasterConvertParameters требуется получить с помощью метода IKompasDocument1::GetInterface, используя константу ksObjectRasterConvertParameters.
Версия Компас v21


## SetChanged - Снять\Взвести признак изменения документа

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


## ViewEditAttr - Открыть диалог для просмотра атрибутов объекта

Синтаксис Automation:
```
BOOL ViewEditAttr( OLE_HANDLE HWnd,
VARIANT Objects );
```
Синтаксис COM:
```
HRESULT ViewEditAttr( OLE_HANDLE HWnd,
VARIANT Objects,
BOOL * Result );
Входные параметры:
HWnd    - дескриптор главного окна КОМПАС (можно получить с помощью функции GetHWindow,
Objects    - объект или массив объектов, атрибуты которых нужно просмотреть ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет вывести диалог для просмотра атрибутов объекта.


## WriteMetadataToFile - Записать метаданные в файл

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


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

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


## AddIntervalVariable - Создать интервальную переменную (добавить переменную в массив переменных и документ)

Синтаксис Automation:
```
LPDISPATCH AddIntervalVariable( BSTR Name, double FirstValue, double SecondValue );
```
Синтаксис COM:
```
HRESULT AddIntervalVariable( BSTR Name, double FirstValue, double SecondValue, IVariable7 * * Result );
Возвращаемое значение:
- указатель на интерфейс параметрической переменной IVariable7.
Входные параметры:
Name    - Имя новой переменной,
FirstValue    - Первое значение диапазона,
SecondValue    - Второе значение диапазона.
Версия: Компас v20
```


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

Синтаксис Automation:
```
LPDISPATCH AddUserFuncVariable( BSTR Name, BSTR Expression );
```
Синтаксис COM:
```
HRESULT AddUserFuncVariable( BSTR Name, BSTR Expression, IVariable7 * * Result );
Возвращаемое значение:
- указатель на интерфейс параметрической переменной IVariable7
Входные параметры:
Name    - Имя новой переменной,
Expression    - Выражение.
Версия: Компас v20
```


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

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


## ChangeObjectsOrder - Изменить порядок отрисовки объектов документа

Синтаксис Automation:
```
BOOL ChangeObjectsOrder( VARIANT Objects, IDrawingObject * OrderObject, ksChangeOrderType OrderType );
```
Синтаксис COM:
```
HRESULT ChangeObjectsOrder( VARIANT Objects, IDrawingObject * OrderObject, ksChangeOrderType OrderType, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - список объектов в виде SAFEARRAY'я DISPATCH - VT_ARRAY    VT_DISPATCH,
OrderObject    - объект, относительно которого изменяется отрисовка объектов Objects IDrawingObject,
OrderType    - тип изменения порядка объектов ksChangeOrderType.
Версия КОМПАС v22
```


## CheckAssociation - Проверить и восстановить ассоциативность объектов

Синтаксис Automation:
```
ksCheckAssociationResultEnum CheckAssociation( VARIANT DimensionTypes, ksCheckObjectsTypeEnum CheckType, VARIANT CheckStyle, long * CompleteAssocCount, long * IncompleteAssocCount );
```
Синтаксис COM:
```
HRESULT CheckAssociation( VARIANT DimensionTypes, ksCheckObjectsTypeEnum CheckType, VARIANT CheckStyle, long * CompleteAssocCount, long * IncompleteAssocCount, ksCheckAssociationResultEnum * Result );
Возвращаемое значение:
- Результат проверки ассоциативности объектов из перечисления ksCheckAssociationResultEnum.
Входные параметры:
DimensionTypes    - список типов проверямых размеров из перечисления DrawingObjectTypeEnum,
CheckType    - тип проверяемых объектов из перечисления ksCheckObjectsTypeEnum,
CheckStyle    - стили проверяемых объектов из перечисления ksCheckStyleEnum (ksCheckAllStyles - все стили).
Выходные параметры:
CompleteAssocCount    - количество объектов, для которых создана ассоциативная связь,
IncompleteAssocCount    - количество объектов с неполной ассоциативной связью).
КOMPAS v24
```


## ChooseManager - Менеджер выбора (подсветки) объектов

Тип данных: указатель на интерфейс менеджера выбора IChooseManager
Синтаксис Automation:
```
ChooseManager = Object.ChooseManager    Получить свойство (* )
ChooseManager = Object.GetChooseManager()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ChooseManager( &ChooseManager )    Получить свойство
```
Примечание:
1. Свойство позволяет получать указатель на менеджер выбора.
2. Свойство доступно только для чтения.


## ClearRegion - Очистить область

Синтаксис Automation:
```
BOOL ClearRegion( IDrawingGroup * ClearGroup, IDrawingGroup * RegionGroup, BOOL Inside );
```
Синтаксис COM:
```
HRESULT ClearRegion( IDrawingGroup * ClearGroup, IDrawingGroup * RegionGroup, BOOL Inside, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
ClearGroup    - группа геометрии, которую нужно очистить (0 - просматривать все объекты текущего вида),
RegionGroup    - группа объектов, задающая область очистки,
Inside    - признак расположения удаляемых объектов: TRUE - внутри области, FALSE - снаружи области, ограниченной grRegion.
Версия Компас v23
```


## ClearUndo - Очистить очередь Undo

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


## CopyObjects - Копировать объекты

Синтаксис Automation:
```
VARIANT CopyObjects( VARIANT Objects,
LPDISPATCH * params );
```
Синтаксис COM:
```
HRESULT CopyObjects( VARIANT Objects,
ICopyObjectParam * params,
VARIANT * Result );
Входные параметры:
Objects    - объект или массив объектов для копирования ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ),
params    - указатель на интерфейс параметров копирования ICopyObjectParam.
Возвращаемое значение:
Объект или массив копий объектов ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ).
```
Примечание:
Метод позволяет создать атрибут по номеру типа атрибута.
Способ копирования зависит от типа интерфейса параметров копирования:
•ICopyObjectParam - параметры копирования,
•ICurveCopyObjectParam - параметры копирования по кривой,
•ICircleCopyObjectParam - параметры копирования по окружности,
•ICircularCopyObjectParam - параметры копирования по концентрической сетке,
•IMeshCopyObjectParam - параметры копирования по сетке.
Нужный интерфейс параметров копирования можно получить с помощью функции IKompasDocument1::GetInterface.


## CreateApproximationCurve - Аппроксимировать кривую дугами и отрезками с заданной точностью

Синтаксис Automation:
```
LPDISPATCH CreateApproximationCurve( IDrawingObject * Curve, double Epsilon, BOOL CurentLayer, double MaxRadius, BOOL Smooth );
```
Синтаксис COM:
```
HRESULT CreateApproximationCurve( IDrawingObject * Curve, double Epsilon, BOOL CurentLayer, double MaxRadius, BOOL Smooth, IKompasAPIObject * * Result );
Возвращаемое значение:
- Aппроксимированная кривая (контур, дугу, отрезок) IDrawingObject или группа кривых IDrawingGroup, если в качестве кривой передана эквидистанта.
Входные параметры:
Curve    - кривая для аппроксимации,
Epsilon    - погрешность вычисления,
CurentLayer    - тип размещения (true - в текущий слой, false - на слой кривой),
MaxRadius    - максимальный радиус аппроксимации (0 - ограничение не накладывается),
Smooth    - признак гладкого сопряжения (true - гладкое сопряжение, false - не гладкое сопряжение).
КOMPAS v24
```


## CreateHyperLink - Создать гиперссылку

Синтаксис Automation:
```
BOOL CreateHyperLink( VARIANT Objects,
ksHyperLinkTypeEnum Type,
BSTR Text,
IDrawingObject * LinkObject,
longLevel );
```
Синтаксис COM:
```
HRESULT CreateHyperLink( VARIANT Objects,
ksHyperLinkTypeEnum Type,
BSTR Text,
IDrawingObject * LinkObject,
long Level,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - VT_DISPATCH или массив VT_ARRAY    VT_DISPATCH объектов, содержащих ссылку,
Type    - тип ссылки,
Text    - текст ссылки,
LinkObject    - объект, на который сделана ссылка,
Level    - уровень.
```


## CreateMatrix - Задать матрицу трансформации

Синтаксис Automation:
```
BOOL CreateMatrix( double X, double Y, double Angle, double ScaleX, double ScaleY );
```
Синтаксис COM:
```
HRESULT CreateMatrix( double X, double Y, double Angle, double ScaleX, double ScaleY, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
X, Y    - координаты начала локальной системы координат,
Angle    - угол наклона системы координат в градусах,
ScaleX    - масштаб локальной системы координат по оси Х,
ScaleY    - масштаб локальной системы координат по оси Y.
```
Примечание:
1.Допускается вложение матриц трансформации. В результате вложения действует суммарная матрица, полученная произведением накопленных матриц.
2.Объекты вида, вводимые между операторами IKompasDocument2D1::CreateMatrix и IKompasDocument2D1::DeleteMatrix, подвергаются преобразованию по суммарной матрице.
Версия Компас v23


## CurrentGroup - Текущая группа

Тип данных: указатель на интерфейс группы IDrawingGroup
Синтаксис Automation:
```
CurrentGroup = Object.CurrentGroup    Получить свойство (* )
CurrentGroup = Object.GetCurrentGroup()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_CurrentGroup( &CurrentGroup )    Получить свойство
```
Примечание:
1. Свойство позволяет получать указатель на интерфейс текущей группы.
2. Свойство доступно только для чтения.


## CursorLimit - Радиус окружности, вписанной в ловушку курсора

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


## DecomposeObject - Разбить объект на составляющие части - отрезки, дуги, тексты

Синтаксис Automation:
```
LPDISPATCH DecomposeObject( IKompasAPIObject * Object, ksDecomposeObjectLevelEnum Level, double Arrow, ksDrawingObjectParamTypeEnum DecomposeType );
```
Синтаксис COM:
```
HRESULT DecomposeObject( IKompasAPIObject * Object, ksDecomposeObjectLevelEnum Level, double Arrow, ksDrawingObjectParamTypeEnum DecomposeType, IDrawingGroup * * Result );
Возвращаемое значение:
- Группа временных объектов IDrawingGroup.
Входные параметры:
Object    - указатель на объект,
Level    - уровень декомпозиции из перечисления ksDecomposeObjectLevelEnum,
Arrow    - стрелка прогиба,
DecomposeType    - признак выбранной системы координат из перечисления ksDrawingObjectParamType.
```
Примечание:
1.Метод используется при разработке различных конверторов, преобразующих информацию из системы КОМПАС во внешние форматы.
2.Графический документ разбивается по частям. Такими частями могут быть объекты вида, основная надпись, технические требования, спецификация на листе, знак неуказанной шероховатости.
3.Сложные кривые заменяются набором отрезков и дуг (при Level = ksDOLSegmentsTextsPoints - только набором отрезков).
4.Точность приближения к исходному объекту задается значением параметра arrow - максимальным расстоянием между исходным объектом и аппроксимирующим отрезком.
5.Если Level = ksDOLSegmentsArcsTexts, точки превращаются в графические объекты, служащие для отрисовки этих точек в КОМПАС-ГРАФИК (например, в два отрезка для точки типа "крест"). В остальных случаях точки (в том числе отрисованные в виде "крестов", "треугольников" и т.д.) превращаются в объект типа "точка".
6.Во всех случаях, кроме level = ksDOLSegmentsArcsPoints, сложные тексты (например, тексты, написанные буквами разного начертания - прямого и курсивного) разбиваются на тексты с одинаковыми признаками. При level = ksDOLSegmentsArcsPoints тексты не изменяются.
7. Исходный объект после разбиения не изменяется.
Версия Компас v23


## DeleteHyperLinks - Удалить гиперссылки

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


## DeleteMatrix - Удалить матрицу трансформации

Синтаксис Automation:
```
BOOL DeleteMatrix();;
```
Синтаксис COM:
```
HRESULT DeleteMatrix( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод отменяет режим преобразования координат, линейных и угловых параметров, введенный методом IKompasDocument2D1::CreateMatrix.
Версия Компас v23


## DestroyObjects - Разрушить объекты

Синтаксис Automation:
```
BOOL DestroyObjects( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT DestroyObjects( VARIANT Objects, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - cписок объектов в виде SAFEARRAY'я DISPATCH - VT_ARRAY    VT_DISPATCH.
Версия КОМПАС v22
```


## DrawingGroups - Коллекция групп

Тип данных: указатель на интерфейс коллекции групп IDrawingGroups
Синтаксис Automation:
```
DrawingGroups = Object.DrawingGroups    Получить свойство (* )
DrawingGroups = Object.GetDrawingGroups()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_DrawingGroups( &DrawingGroups )    Получить свойство
```
Примечание:
1. Свойство позволяет получать указатель на коллекцию групп.
2. Свойство доступно только для чтения.


## EditMacroObject - Редактируемый макроэлемент

Тип данных: указатель на интерфейс макроэлемента IMacroObject
Синтаксис Automation:
```
EditMacroObject = Object.EditMacroObject    Получить свойство (* )
EditMacroObject = Object.GetEditMacroObject()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_EditMacroObject( &EditMacroObject )    Получить свойство
```
Примечание:
1. Свойство позволяет получать указатель на редактируемый макроэлемент.
2. Свойство доступно только для чтения.


## EditMacroVisibleRegime - Находится ли документ в режиме редактирования макроэлемента

Тип данных: BOOL
Синтаксис Automation:
```
EditMacroVisibleRegime = Object.EditMacroVisibleRegime    Получить свойство (* )
EditMacroVisibleRegime = Object.GetEditMacroVisibleRegime()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_EditMacroVisibleRegime( &EditMacroVisibleRegime )    Получить свойство
Возвращаемое значение:
TRUE    - режим редактирования макроэлемента включен,
FALSE    - режим редактирования макроэлемента отключен.
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство используется при редактировании макроэлементов.


## EnableUndo - Включить или отключить добавление команд в Undo

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


## ExecuteProcessOfDocumentFromFile - Запустить процесс вставки документа из файла или библиотеки документов

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


## FindObject - Найти объект, ближайший к заданной точке, удовлетворяющий параметрам поиска

Синтаксис Automation:
```
LPDISPATCH FindObject( double X, double Y, double Limit, IFindObjectParameters * Param );
```
Синтаксис COM:
```
HRESULT FindObject( double X, double Y, double Limit, IFindObjectParameters * Param, IDrawingObject * * Result );
Возвращаемое значение:
- указатель на интерфейс объекта IDrawingObject.
Входные параметры:
X    - первая координата точки,
Y    - вторая координата точки,
Limit    - предел поиска и найденное расстояние,
Param    - параметры поиска объектов IFindObjectParameters.
```
Примечание:
Для поиска объектов в точке могут быть заданы расширенные параметры поиска.
Интерфейс расширенных параметров поиска IFindObjectParameters можно получить с помощью метода IKompasDocument1::GetInterface в 2D - документах при использовании константы ksObjectFindObjectParameters.
Если расширенные параметры поиска не требуются, необходимо передать NULL в функцию.


## FindObjects - Найти объекты в заданной точке, удовлетворяющие параметрам поиска

Синтаксис Automation:
```
VARIANT FindObjects( double X, double Y, double Limit, IFindObjectParameters * Param );
```
Синтаксис COM:
```
HRESULT FindObjects( double X, double Y, double Limit, IFindObjectParameters * Param, VARIANT * Result );
Возвращаемое значение:
VARIANT    - объект типа VARIANT на безопасный массив SAFEARRAY: VT_ARRAY    VT_DISPATCH.
Входные параметры:
X    - первая координата точки,
Y    - вторая координата точки,
Limit    - предел поиска и найденное расстояние,
Param    - параметры поиска объектов IFindObjectParameters.
```
Примечание:
Для поиска объектов в точке могут быть заданы расширенные параметры поиска.
Интерфейс расширенных параметров поиска IFindObjectParameters можно получить с помощью метода IKompasDocument1::GetInterface в 2D - документах при использовании константы ksObjectFindObjectParameters.
Если расширенные параметры поиска не требуются, необходимо передать NULL в функцию.


## GetHyperLinkObjects - Получить объекты, имеющие гиперссылку

Синтаксис Automation:
```
VARIANT GetHyperLinkObjects( ksHyperLinkTypeEnum Type,
IDrawingObject * LinkObject,
long Level,
BSTR Text );
```
Синтаксис COM:
```
HRESULT GetHyperLinkObjects( ksHyperLinkTypeEnum Type,
IDrawingObject * LinkObject,
long Level,
BSTR Text,
VARIANT * Result );
Возвращаемое значение:
VT_DISPATCH или массив VT_ARRAY | VT_DISPATCH объектов, содержащих ссылку
Входные параметры:
Type    - тип ссылки,
Text    - текст ссылки,
LinkObject    - объект, на который сделана ссылка,
Level    - уровень.
```


## GetObjectById - Получить объект по его уникальному идентификатору

Синтаксис Automation:
```
LPDISPATCH GetObjectById( int64 Id );
```
Синтаксис COM:
```
HRESULT GetObjectById( int64 Id, IDrawingObject ** Result );
Возвращаемое значение:
- указатель на интерфейс объекта IDrawingObject.
Входные параметры:
Id    - идентификатор объекта.
```


## GetObjectsGabarit - Габарит объекта, вида, слоя, группы или списка объектов

Синтаксис Automation:
```
BOOL GetObjectsGabarit( VARIANT Objects, double * X1, double * Y1, double * X2, double * Y2 );
```
Синтаксис COM:
```
HRESULT GetObjectsGabarit( VARIANT Objects, double * X1, double * Y1, double * X2, double * Y2, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - объект (VT_DISPATCH) или список объектов (VT_APPAY    VT_DISPATCH).
Выходные параметры:
X1, Y1    - первая точка габарита - левая нижняя,
X2, Y2    - вторая точка габарита - правая верхняя.
```
Примечание:
Габаритный прямоугольник возвращается в координатах листа.
Версия Компас v23


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

Тип данных: Указатель на интерфейс IVariable7.
Синтаксис Automation:
```
IntervalVariable = Object.IntervalVariable( Index )    Получить свойство (* )
IntervalVariable = Object.GetIntervalVariable( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IntervalVariable( Index, &IntervalVariable )    Получить свойство
Входные параметры:
VARIANT Index    - Индекс объекта в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - VT_BSTR - имя переменной.
```
Примечание:
Свойство доступно только для чтения.
Версия: Компас v20


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

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


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

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


## KeepTemporaryObjects - Запрет удаления временных объектов после завершения выполнения команды библиотеки

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


## LibProcess - Получить объект процесса

Тип данных: Указатель на интерфейс IProcess2D
Синтаксис Automation:
```
LibProcess = Object.LibProcess( ProcessType )    Получить свойство (* )
LibProcess = Object.GetLibProcess( ProcessType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LibProcess( ProcessType, &LibProcess )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## LibraryEditMode - Режим редактирования библиотечного элемента

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


## MoveObjects - Сдвинуть объекты

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


## NamedGroups - Коллекция именованных групп

Тип данных: указатель на интерфейс коллекции групп IDrawingGroups
Синтаксис Automation:
```
NamedGroups = Object.NamedGroups    Получить свойство (* )
NamedGroups = Object.GetNamedGroups()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NamedGroups( &NamedGroups )    Получить свойство
```
Примечание:
1. Свойство позволяет получать указатель на коллекцию именованных групп.
2. Свойство доступно только для чтения.


## OrthogonalMode - Ортогональное черчение

Тип данных: BOOL
Синтаксис Automation:
```
OrthogonalMode = Object.OrthogonalMode    Получить свойство (* )
Object.OrthogonalMode = OrthogonalMode    Установить свойство (* )
OrthogonalMode = Object.GetOrthogonalMode()    Получить свойство (**)
Object.SetOrthogonalMode( OrthogonalMode )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_OrthogonalMode( &OrthogonalMode )    Получить свойство
Object.put_OrthogonalMode( OrthogonalMode )    Установить свойство
КOMPAS v24
```


## ParametricMode - Параметрический режим

Тип данных: BOOL
Синтаксис Automation:
```
ParametricMode = Object.ParametricMode    Получить свойство (* )
Object.ParametricMode = ParametricMode    Установить свойство (* )
ParametricMode = Object.GetParametricMode()    Получить свойство (**)
Object.SetParametricMode( ParametricMode )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ParametricMode( &ParametricMode )    Получить свойство
Object.put_ParametricMode( ParametricMode )    Установить свойство
КOMPAS v24
```


## ParametrizeObjects - Установить параметрические ограничения на группу объектов

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


## RebuildDocument - Перестроить документ

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


## TreeNeedRebuild - Необходимость перестроения дерева при изменении его состава

Тип данных: BOOL
Синтаксис Automation:
```
TreeNeedRebuild = Object.TreeNeedRebuild    Получить свойство (* )
Object.TreeNeedRebuild = TreeNeedRebuild    Установить свойство (* )
TreeNeedRebuild = Object.GetTreeNeedRebuild()    Получить свойство (**)
Object.SetTreeNeedRebuild( TreeNeedRebuild )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TreeNeedRebuild( &TreeNeedRebuild )    Получить свойство
Object.put_TreeNeedRebuild( TreeNeedRebuild )    Установить свойство
КOMPAS v24
```


## RotateObjects - Повернуть объекты

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


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

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


## SelectionManager - Менеджер выделенных объектов

Тип данных: - указатель на интерфейс менеджера выделенных объектов ISelectionManager
Синтаксис Automation:
```
SelectionManager = Object.SelectionManager    Получить свойство (* )
SelectionManager = Object.GetSelectionManager()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SelectionManager( &SelectionManager )    Получить свойство
```
Примечание:
1. Свойство позволяет получать указатель на менеджер выделенных объектов.
2. Свойство доступно только для чтения.


## SelectObjects - Отобрать объекты рамкой

Синтаксис Automation:
```
VARIANT SelectObjects( ksRegionTypeEnum RegionType, double XMin, double YMin, double XMax, double YMax );
Синтаксис COM :
HRESULT SelectObjects( ksRegionTypeEnum RegionType, double XMin, double YMin, double XMax, double YMax, VARIANT * Result );
Возвращаемое значение:
VARIANT    - объект типа VARIANT на безопасный массив SAFEARRAY: VT_ARRAY    VT_DISPATCH.
Входные параметры:
RegionType    - тип региона,
XMin    - минимальная граница поиска по x
YMin    - минимальная граница поиска по y,
XMax    - максимальная граница поиска по x,
YMax    - максимальная граница поиска по y.
```


## SymmetryObjects - Симметрия объектов относительно оси

Синтаксис Automation:
```
LPDISPATCH SymmetryObjects( VARIANT Objects, double X1, double Y1, double X2, double Y2, BOOL Copy, BOOL TextSymmetry, BOOL CopyAttribytes );
```
Синтаксис COM:
```
HRESULT SymmetryObjects( VARIANT Objects, double X1, double Y1, double X2, double Y2, BOOL Copy, BOOL TextSymmetry, BOOL CopyAttribytes, IKompasAPIObject * * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - объект (VT_DISPATCH) или список объектов (VT_ARRAY    VT_DISPATCH),
X1, Y1    - координаты первой точки на оси,
X2, Y2    - координаты второй точки на оси,
Copy    - режим копирования: •FALSE - исходные объекты удаляются,•TRUE - исходные объекты оставляются,
TextSymmetry    - зеркалировать тексты,
CopyAttribytes    - копировать атрибуты.
Версия Компас v23
```


## TransformAngleFromMatrix - Перевод угла из локальной CK листа в CK вида

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


## TransformAngleIntoMatrix - Перевод угла из CK вида в локальную CK

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


## TransformLengthFromMatrix - Перевести длину из локальной СК

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


## TransformLengthIntoMatrix - Перевести длину в локальную СК

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


## TransformObjects - Трансформировать объекты

Синтаксис Automation:
```
BOOL TransformObjects( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT TransformObjects( VARIANT Objects, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - объект (VT_DISPATCH) или список объектов (VT_ARRAY    VT_DISPATCH).
```
Примечание:
Для работы с матрицами служат методы IKompasDocument2D1::CreateMatrix и IKompasDocument2D1::DeleteMatrix.
Версия Компас v23


## TransformPointFromMatrix - Перевести точку из локальной СК в СК вида

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


## TransformPointIntoMatrix - Перевести точку из СК вида в локальную СК

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


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

Тип данных: BOOL
Синтаксис Automation:
```
TreeNeedUpdateItems = Object.TreeNeedUpdateItems    Получить свойство (* )
Object.TreeNeedUpdateItems = TreeNeedUpdateItems    Установить свойство (* )
TreeNeedUpdateItems = Object.GetTreeNeedUpdateItems()    Получить свойство (**)
Object.SetTreeNeedUpdateItems( TreeNeedUpdateItems )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TreeNeedUpdateItems( &TreeNeedUpdateItems )    Получить свойство
Object.put_TreeNeedUpdateItems( TreeNeedUpdateItems )    Установить свойство
КOMPAS v24
```


## TrimCurve - Усечение кривой

Синтаксис Automation:
```
LPDISPATCH TrimCurve( IDrawingObject * Curve, double X1, double Y1, double X2, double Y2, double X3, double Y3, ksCurveTrimTypeEnum TrimType );
```
Синтаксис COM:
```
HRESULT TrimCurve( IDrawingObject * Curve, double X1, double Y1, double X2, double Y2, double X3, double Y3, ksCurveTrimTypeEnum TrimType, IDrawingObject * * Result );
Возвращаемое значение:
- Указатель на усеченную кривую.
Входные параметры:
Curve    - указатель на усекаемую кривую,
X1, Y1    - координаты начала оставляемого участка,
X2, Y2    - координаты конца оставляемого участка,
X3, Y3    - координаты точки, определяющей направление усечения для замкнутых кривых (эта точка принадлежит оставляемому участку),
TrimType    - способ усечения кривой из перечисления ksCurveTrimTypeEnum.
КOMPAS v24
```


## TrimCurveByParam - Усечение кривой по параметрам

Синтаксис Automation:
```
LPDISPATCH TrimCurveByParam( IDrawingObject * Curve, double TMin, double TMax, double TMiddle, ksCurveTrimTypeEnum TrimType );
```
Синтаксис COM:
```
HRESULT TrimCurveByParam( IDrawingObject * Curve, double TMin, double TMax, double TMiddle, ksCurveTrimTypeEnum TrimType, IDrawingObject * * Result );
Возвращаемое значение:
- Указатель на усеченную кривую.
Входные параметры:
Curve    - указатель на усекаемую кривую,
TMin, TMax    - параметры точек на кривой для усечения,
TMiddle    - параметр точки между первыми двумя для определения направления замкнутой кривой,
TrimType    - способ усечения кривой из перечисления ksCurveTrimTypeEnum.
КOMPAS v24
```


## UndoContainer - Включить или отключить объединение команд в Undo

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


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

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


## UserFuncVariable - Получить интервальную переменную по имени

Тип данных: Указатель на интерфейс IVariable7
Синтаксис Automation:
```
UserFuncVariable = Object.UserFuncVariable( Index )    Получить свойство (* )
UserFuncVariable = Object.GetUserFuncVariable( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_UserFuncVariable( Index, &UserFuncVariable )    Получить свойство
Входные параметры:
VARIANT Index    - Индекс объекта в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - VT_BSTR - имя переменной.
```
Примечание:
Свойство доступно только для чтения.
Версия: Компас v20


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

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


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

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


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

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


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

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


## VariableTable - Таблица переменных

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


## ViewGetObjectsArea - Получить группу графических объектов, определяющих область выделения, используя визуальный процесс

Синтаксис Automation:
```
LPDISPATCH ViewGetObjectsArea();
```
Синтаксис COM:
```
HRESULT ViewGetObjectsArea( IDrawingGroup * * Result );
Возвращаемое значение:
- Группа контуров IDrawingGroup.
КOMPAS v24
```


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

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


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

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


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

Дополнительный интерфейс для 3D документа.
Иерархия:
IDispatch
IKompasDocument3D1


## AddIntervalVariable - Создать интервальную переменную (добавить переменную в массив переменных и документ)

Синтаксис Automation:
```
LPDISPATCH AddIntervalVariable( BSTR Name, double FirstValue, double SecondValue );
```
Синтаксис COM:
```
HRESULT AddIntervalVariable( BSTR Name, double FirstValue, double SecondValue, IVariable7 * * Result );
Возвращаемое значение:
- Указатель на интерфейс переменной IVariable7.
Входные параметры:
Name    - Имя новой переменной,
FirstValue    - первое граничное значение диапазона,
SecondValue    - второе граничное значение диапазона.
```
Примечание:
Для новой переменной можно получить интерфейс интервальной переменной IIntervalVariable.
Версия: Компас v20


## AddUserFuncVariable - Создать функциональную переменную (добавить переменную в массив переменных и документ)

Синтаксис Automation:
```
LPDISPATCH AddUserFuncVariable( BSTR Name, BSTR Expression );
```
Синтаксис COM:
```
HRESULT AddUserFuncVariable( BSTR Name, BSTR Expression, IVariable7 * * Result );
Возвращаемое значение:
- Указатель на интерфейс переменной IVariable7.
Входные параметры:
Name    - Имя новой переменной,
Expression    - Выражение.
Версия: Компас v20
```


## ClearUndo - Очистить очередь Undo

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


## ComponentPositioner - Интерфейс управления положением компонентов в сборке

Тип данных: Указатель на интерфейс IComponentPositioner7
Синтаксис Automation:
```
ComponentPositioner = Object.ComponentPositioner    Получить свойство (* )
ComponentPositioner = Object.GetComponentPositioner()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ComponentPositioner( &ComponentPositioner )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v22


## ConvertFromAdditionFormat - Конвертация документов из дополнительных форматов

Синтаксис Automation:
```
BOOL ConvertFromAdditionFormat( BSTR FileName, IAdditionConvertParameters * Param );
```
Синтаксис COM:
```
HRESULT ConvertFromAdditionFormat( BSTR FileName, IAdditionConvertParameters * Param, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
FileName    - имя файла,
Param    - Параметры конвертации IAdditionConvertParameters.
Версия КОМПАС v22
```


## ConvertToAdditionFormat - Конвертация документа в дополнительные форматы

Синтаксис Automation:
```
BOOL ConvertToAdditionFormat( BSTR FileName, IAdditionConvertParameters * Param );
```
Синтаксис COM:
```
HRESULT ConvertToAdditionFormat( BSTR FileName, IAdditionConvertParameters * Param, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
FileName    - имя файла,
Param    - Параметры конвертации IAdditionConvertParameters.
Версия КОМПАС v22
```


## DeleteHistoryWithParam - Удалить историю построения

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


## DeleteRollbackedObjects - Удалить объекты под указателем в дереве

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


## Document3DManager - Менеджер 3D документа

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


## EditObject - Редактируемый объект

Тип данных: Указатель на интерфейс IFeature7
Синтаксис Automation:
```
EditObject = Object.EditObject    Получить свойство (* )
Object.EditObject = EditObject    Установить свойство (* )
EditObject = Object.GetEditObject()    Получить свойство (**)
Object.SetEditObject( EditObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EditObject( &EditObject )    Получить свойство
Object.put_EditObject( EditObject )    Установить свойство
```


## ExcludeFeaturesAfter - Включить/Исключить из расчета объекты в дереве ниже заданного

Синтаксис Automation:
```
BOOL ExcludeFeaturesAfter( IFeature7 * AfterFeature, BOOL Exclude );
```
Синтаксис COM:
```
HRESULT ExcludeFeaturesAfter( IFeature7 * AfterFeature, BOOL Exclude, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
AfterFeature    - указатель на объект дерева IFeature7, после которого нужно исключить из расчета объекты,
Exclude    - TRUE - выключить объекты, - FALSE - включить объекты. .
КOMPAS v24
```


## ExcludeObjects - Исключить из расчета объект или объекты

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


## ExecuteProcessOfInsertComponentFromFile - Запустить процесс вставки компонента из файла или библиотеки моделей

Синтаксис Automation:
```
BOOL ExecuteProcessOfInsertComponentFromFile( BSTR FileName, ProcessTypeEnum ProcessType );
```
Синтаксис COM:
```
HRESULT ExecuteProcessOfInsertComponentFromFile( BSTR FileName, ProcessTypeEnum ProcessType, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
FileName    - имя файла,
ProcessType    - тип процесса,
prAddPartFromFile    - добавить компонент из файла,
prAddLocalPartFromFile    - добавить локальную деталь из файла,
prAddLayoutGeometryFromFile    - добавить компоновочную геометрию,
prAddBilletPartFromFile    - добавить деталь-заготовку.
```


## ExecuteProcessOfInsertComponentsFromFiles - Запустить процесс вставки компонентов из выбранных файлов

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


## FindNearestObject - Найти ближайший объект

Синтаксис Automation:
```
LPDISPATCH FindNearestObject( VARIANT PickRay, LPDISPATCH FilterParam );
```
Синтаксис COM:
```
HRESULT FindNearestObject( VARIANT PickRay, IFindObject3DParameters * FilterParam, IModelObject * * Result );
Возвращаемое значение:
- Указатель на ближайший найденный объект IModelObject.
Входные параметры:
PickRay    - Параметры вектора взгляда, полученные из функции IDocumentFrame::GetPickRay,
FilterParam    - Интерфейс дополнительных параметров фильтрации IFindObject3DParameters.
```
Примечание
Параметры фильтрации передавать в функцию не обязательно. Если параметры не заданы, то вернется первый ближайший объект.
Параметры фильтрации позволяют отфильтровывать объекты по типу объекта.
Также есть возможность подписаться на события ksFindObject3DParametersNotify, что позволяет делать дополнительные проверки подходящих объектов.
Версия: Компас v20


## FindObjectByAssociationGeometry - Получить 3D объект по геометрии ассоциативного вида

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


## HideLayoutGeometry - Скрыть/показать компоновочную геометрию

Тип данных: BOOL
Синтаксис Automation:
```
HideLayoutGeometry = Object.HideLayoutGeometry    Получить свойство (* )
Object.HideLayoutGeometry = HideLayoutGeometry    Установить свойство (* )
HideLayoutGeometry = Object.GetHideLayoutGeometry()    Получить свойство (**)
Object.SetHideLayoutGeometry( HideLayoutGeometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideLayoutGeometry( &HideLayoutGeometry )    Получить свойство
Object.put_HideLayoutGeometry( HideLayoutGeometry )    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideMeshes - Скрыть / показать полигональные объекты

Тип данных: BOOL
Синтаксис Automation:
```
HideMeshes = Object.HideMeshes    Получить свойство (* )
Object.HideMeshes = HideMeshes    Установить свойство (* )
HideMeshes = Object.GetHideMeshes()    Получить свойство (**)
Object.SetHideMeshes( HideMeshes )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideMeshes( &HideMeshes )    Получить свойство
Object.put_HideMeshes( HideMeshes )    Установить свойство
КOMPAS v24
```


## HideTables - Скрыть / показать таблицы

Тип данных: BOOL
Синтаксис Automation:
```
HideTables = Object.HideTables    Получить свойство (* )
Object.HideTables = HideTables    Установить свойство (* )
HideTables = Object.GetHideTables()    Получить свойство (**)
Object.SetHideTables( HideTables )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideTables( &HideTables )    Получить свойство
Object.put_HideTables( HideTables )    Установить свойство
КOMPAS v24
```


## HideTexts - Скрыть / показать надписи

Тип данных: BOOL
Синтаксис Automation:
```
HideTexts = Object.HideTexts    Получить свойство (* )
Object.HideTexts = HideTexts    Установить свойство (* )
HideTexts = Object.GetHideTexts()    Получить свойство (**)
Object.SetHideTexts( HideTexts )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideTexts( &HideTexts )    Получить свойство
Object.put_HideTexts( HideTexts )    Установить свойство
КOMPAS v24
```


## IntervalVariable - Получить интервальную переменную по имени

Тип данных: Указатель на интерфейс IVariable7.
Синтаксис Automation:
```
IntervalVariable = Object.IntervalVariable( Index )    Получить свойство (* )
IntervalVariable = Object.GetIntervalVariable( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IntervalVariable( Index, &IntervalVariable )    Получить свойство
Входные параметры:
VARIANT Index    Индекс объекта в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - VT_BSTR - имя переменной.
```
Примечание:
Свойство доступно только для чтения.
Версия: Компас v20


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

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


## LastFeature - Получить последний объект в дереве

Тип данных: указатель на интерфейс IFeature7
Синтаксис Automation:
```
LastFeature = Object.LastFeature    Получить свойство (* )
LastFeature = Object.GetLastFeature()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LastFeature( &LastFeature )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v23


## LibProcess - Получить объект процесса

Тип данных: Указатель на интерфейс IProcess3D
Синтаксис Automation:
```
LibProcess = Object.LibProcess( ProcessType )    Получить свойство (* )
LibProcess = Object.GetLibProcess( ProcessType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LibProcess( ProcessType, &LibProcess )    Получить свойство
```
Примечание:
Cвойство доступно только для чтения.


## LibraryEditMode - Режим редактирования библиотечного элемента

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


## LibraryEditObject - Редактируемый библиотечный элемент

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
LibraryEditObject = Object.LibraryEditObject    Получить свойство (* )
LibraryEditObject = Object.GetLibraryEditObject()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LibraryEditObject( &LibraryEditObject )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v23


## MainTopPart - Верхний компонент (независимо от наличия редактирования на месте)

Тип данных: Указатель на интерфейс IPart7
Синтаксис Automation:
```
MainTopPart = Object.MainTopPart    Получить свойство (* )
MainTopPart = Object.GetMainTopPart()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MainTopPart( &MainTopPart )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v23


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

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


## PickModelObjects - Собрать объекты по лучу

Синтаксис Automation:
```
VARIANT PickModelObjects( VARIANT PickRay, LPDISPATCH FilterParam );
```
Синтаксис COM:
```
HRESULT PickModelObjects( VARIANT PickRay, IFindObject3DParameters * FilterParam, VARIANT * Result );
Возвращаемое значение:
- Массив SafeAray VT_ARRAY    VT_DISPATCH найденных объектов.
Входные параметры:
PickRay    - Параметры вектора взгляда, полученные из функции IDocumentFrame::GetPickRay,
FilterParam    - Интерфейс дополнительных параметров фильтрации IFindObject3DParameters.
```
Примечание
Параметры фильтрации передавать в функцию не обязательно. Если параметры не заданы, то вернутся все найденные объекты, которые можно самостоятельно обработать.
Параметры фильтрации позволяют отфильтровывать объекты по типу объекта.
Также есть возможность подписаться на события ksFindObject3DParametersNotify, что позволяет делать дополнительные проверки подходящих объектов.
Версия: Компас v20


## PlaceFeaturesInto - Переместить объект дерева внутрь другого объекта дерева

Синтаксис Automation:
```
BOOL PlaceFeaturesInto( VARIANT MoveFeatures, IFeature7 * IntoFeature );
```
Синтаксис COM:
```
HRESULT PlaceFeaturesInto( VARIANT MoveFeatures, IFeature7 * IntoFeature, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
MoveFeatures    - список перемещаемых объектов,
IntoFeature    - указатель на объект дерева IFeature7, внутрь которого нужно поместить перемещаемые объекты. .
КOMPAS v24
```


## ResetEditObject - Сбросить редактируемый объект

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


## RollBackFeature - Положение указателя в дереве

Тип данных: указатель на интерфейс IFeature7
Синтаксис Automation:
```
RollBackFeature = Object.RollBackFeature    Получить свойство (* )
Object.RollBackFeature = RollBackFeature    Установить свойство (* )
RollBackFeature = Object.GetRollBackFeature()    Получить свойство (**)
Object.SetRollBackFeature( RollBackFeature )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RollBackFeature( &RollBackFeature )    Получить свойство
Object.put_RollBackFeature( RollBackFeature )    Установить свойство
```
Примечание:
Свойство позволяет получить\установить объект дерева, после которого установлен указатель конца построения.
Версия КОМПАС v23


## SetHiddenObjects - Скрыть/показать объект или объекты

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


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

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


## TreeNeedRebuild - Необходимость перестроения дерева при изменении его состава

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


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

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


## UserFuncVariable - Получить функциональную переменную по имени

Тип данных: Указатель на интерфейс IVariable7.
Синтаксис Automation:
```
UserFuncVariable = Object.UserFuncVariable( Index )    Получить свойство (* )
UserFuncVariable = Object.GetUserFuncVariable( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_UserFuncVariable( Index, &UserFuncVariable )    Получить свойство
Входные параметры:
VARIANT Index    - Индекс объекта в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - VT_BSTR - имя переменной.
```
Примечание:
Свойство доступно только для чтения.
Версия: Компас v20


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

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


## ViewProjectionManager - Менеджер проекций отображения модели в окне

Тип данных: Указатель на интерфейс IViewProjectionManager
Синтаксис Automation:
```
ViewProjectionManager = Object.ViewProjectionManager    Получить свойство (* )
ViewProjectionManager = Object.GetViewProjectionManager()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ViewProjectionManager( &ViewProjectionManager )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v22


## WindowNeedRebuild - Необходимость перерисовки окна документа

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