Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/idocuments.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

364 lines
16 KiB
Markdown

---
title: "Интерфейс IDocuments"
type: interface
api: [api7]
tags: [interface, api7, idocuments]
sources:
- idocuments.html
---
*API интерфейсов. Версия 7 > Приложение > Коллекция документов *
## Интерфейс IDocuments
Коллекция документов, открытых в приложении КОМПАС-3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IDocuments
Примечание:
Данный интерфейс может быть получен от интерфейса приложения IApplication с помощью свойства IApplication::Documents.
## Add - Создать новый документ и добавить его в коллекцию
Синтаксис Automation:
```
LPDISPATCH Add (long Type, BOOL Visible);
```
Синтаксис COM:
```
HRESULT Add([in] DocumentTypeEnum Type, [in, defaultvalue(TRUE)] VARIANT_BOOL Visible, [out, retval] IKompasDocument** Result);
Входные параметры:
Type - тип документа из перечисления DocumentTypeEnum,
Visible - видимость документа: TRUE создавать документ в видимом режиме, FALSE в слепом.
Возвращаемое значение:
указатель на интерфейс IKompasDocument
```
## AddCustomDocument - Создать новый документ по идентификатору и добавить его в коллекцию
Синтаксис Automation:
```
LPDISPATCH AddCustomDocument( BSTR DocumentTypeId );
```
Синтаксис COM:
```
HRESULT AddCustomDocument( BSTR DocumentTypeId, IKompasDocument** Result);
Возвращаемое значение:
указатель на интерфейс IKompasDocument
```
## AddCustomDocumentEx - Создать новый документ и добавить его в коллекцию
Синтаксис Automation:
```
LPDISPATCH AddCustomDocumentEx( BSTR DocumentTypeId, BOOL Visible );
```
Синтаксис COM:
```
HRESULT AddCustomDocumentEx( BSTR DocumentTypeId, BOOL Visible, IKompasDocument * * Result );
Возвращаемое значение:
указатель на интерфейс IKompasDocument
Входные параметры:
DocumentTypeId - идентификатор специализации документа,
Visible - TRUE - видимый документ, FALSE - скрытый документ.
Версия КОМПАС v22
```
## AddNewDocumentFromTemplate - Создать новый документ по шаблону и добавить его в коллекцию
Синтаксис Automation:
```
LPDISPATCH AddNewDocumentFromTemplate( BSTR TemplateFileName );
```
Синтаксис COM:
```
HRESULT AddNewDocumentFromTemplate( BSTR TemplateFileName, IKompasDocument** Result);
Возвращаемое значение:
указатель на интерфейс IKompasDocument
```
## AddNewDocumentFromTemplateEx - Создать новый документ по шаблону и добавить его в коллекцию
Синтаксис Automation:
```
LPDISPATCH AddNewDocumentFromTemplateEx( BSTR TemplateFileName, BOOL Visible );
```
Синтаксис COM:
```
HRESULT AddNewDocumentFromTemplateEx( BSTR TemplateFileName, BOOL Visible, IKompasDocument * * Result );
Возвращаемое значение:
указатель на интерфейс IKompasDocument
Входные параметры:
TemplateFileName - путь к файлу шаблона,
Visible - TRUE - видимый документ, FALSE - скрытый документ.
Версия КОМПАС v22
```
## AddWithDefaultSettings - Создать новый документ с параметрами из настроек для новых документов
Синтаксис Automation:
```
LPDISPATCH AddWithDefaultSettings( DocumentTypeEnum Type, BOOL Visible );
```
Синтаксис COM:
```
HRESULT AddWithDefaultSettings( DocumentTypeEnum Type, BOOL Visible, IKompasDocument** Result );
Входные параметры:
Type - тип документа DocumentTypeEnum,
Visible - TRUE видимый, - FALSE - невидимый.
Возвращаемое значение:
индекс линии разрыва,
указатель на интерфейс IKompasDocument.
```
## DocumentSynchronize - Синхронизировать с зависимыми документами
Тип данных: BOOL
Синтаксис Automation:
```
DocumentSynchronize = Object.DocumentSynchronize Получить свойство (* )
Object.DocumentSynchronize = DocumentSynchronize Установить свойство (* )
DocumentSynchronize = Object.GetDocumentSynchronize() Получить свойство(**)
Object.SetDocumentSynchronize( DocumentSynchronize ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DocumentSynchronize( &DocumentSynchronize ) Получить свойство
Object.put_DocumentSynchronize( DocumentSynchronize ) Установить свойство
Свойство позволяет устанавливать и получать признак синхронизации с зависимыми документами. Реализовано только для спецификации.
```
## GetEmbodimentsTree - Дерево исполнений
Синтаксис Automation:
```
VARIANT GetEmbodimentsTree( BSTR FileName, ksVariantMarkingTypeEnum MarkingType, BOOL AddSystemDelimer, BOOL AddSpaces, long * CurrentEmbodiment );
```
Синтаксис COM:
```
HRESULT GetEmbodimentsTree( BSTR FileName, ksVariantMarkingTypeEnum MarkingType, BOOL AddSystemDelimer, BOOL AddSpaces, long * CurrentEmbodiment, VARIANT * Tree );
Входные параметры:
FileName - Имя файла,
MarkingType - Формат возвращаемых обозначений ksVariantMarkingTypeEnum,
AddSystemDelimer - Возвращать системные разделители в обозначении,
AddSpaces - Добавить пробелы для определения уровня исполнения в дереве исполнений,
CurrentEmbodiment - Индекс текущего исполнения в списке исполнений.
Возвращаемое значение:
- Дерево исполнений. Массив узлов дерева исполнений. SAFEARRAY BSTR - (VT_ARRAY | VT_BSTR)
```
## GetLoadCombinations - Получить массив типов загрузки в виде массива SAFEARRAY BSTR - (VT_ARRAY | VT_BSTR)
Синтаксис Automation:
```
VARIANT GetLoadCombinations (LPCTSTR PathName, long * CurrentIndex);
```
Синтаксис COM:
```
HRESULT GetLoadCombinations([in] BSTR PathName, [out] long * CurrentIndex, [out, retval] VARIANT * Value );
Входные параметры:
PathName - полное имя файла документа, состоящее из пути, имени и расширения файла.
Выходные параметры:
CurrentIndex - текущий индекс типа загрузки, по которому загружается документ по умолчанию.
Возвращаемое значение:
тип значения VARIANT - массив типов загрузки в виде массива SAFEARRAY BSTR - (VT_ARRAY VT_BSTR)
```
Примечание:
Метод позволяет получить массив типов загрузки документа до открытия документа.
Метод в настоящее время используется только для сборки 3D. У сборки 3D есть три умолчательных способа загрузки, индексы которых соответствуют перечислению ksLoadStateEnum:
| Полная | 0 | - полная загрузка, |
| --- | --- | --- |
| Пустая | 1 | - все компоненты не загружены, |
| Упрощенная | 2 | - все компоненты загружены частично. |
Кроме этого, могут быть еще и пользовательские типы загрузки.
## GetLoadCombinationsParam - Получить интерфейс типов загрузки документа
Синтаксис Automation:
```
LPDISPATCH GetLoadCombinationsParam (BSTR PathName);
```
Синтаксис COM:
```
HRESULT GetLoadCombinationsParam (BSTR PathName, ILoadCombinationsParam ** Result );
Входные параметры:
PathName - имя документа
Возвращаемое значение:
Указатель на интерфейс ILoadCombinationsParam
```
## GetOpenDocumentParam - Получить интерфейс параметров открытия документа
Синтаксис Automation:
```
LPDISPATCH GetOpenDocumentParam();
```
Синтаксис COM:
```
HRESULT GetOpenDocumentParam( IOpenDocumentParam ** Result );
Возвращаемое значение:
Указатель на интерфейс IOpenDocumentParam
```
## Item - Документ, заданный по имени, ссылке или по индексу
Тип данных: указатель на интерфейс документа IKompasDocument
Синтаксис Automation:
```
document = iObject.Item (Index) Получить свойство(* )
document = iObject.GetItem (Index) Получить свойство(**)
```
Синтаксис COM:
```
iObject->get_IItem ( Index, &Document ) Получить свойство
Входные параметры:
Index - Тип VARIANT, полное имя PathName документа, ссылка на документ или индекс в коллекции.
```
Примечание:
1. Свойство доступно только для чтения.
2. Полное имя файла документа состоит из пути, имени и расширения файла.
## LockTemplatesSettings - Игнорировать настройки шаблонов новых документов при создании документов через функции API
Тип данных: BOOL
Синтаксис Automation:
```
LockTemplatesSettings = Object.LockTemplatesSettings Получить свойство (* )
Object.LockTemplatesSettings = LockTemplatesSettings Установить свойство (* )
LockTemplatesSettings = Object.GetLockTemplatesSettings() Получить свойство(**)
Object.SetLockTemplatesSettings( LockTemplatesSettings ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LockTemplatesSettings( &LockTemplatesSettings ) Получить свойство
Object.put_LockTemplatesSettings( LockTemplatesSettings ) Установить свойство
Версия КОМПАС v22
```
## Open - Открыть документ
Синтаксис Automation:
```
LPDISPATCH Open (LPCTSTR PathName, BOOL Visible, BOOL ReadOnly);
```
Синтаксис COM:
```
HRESULT Open([in] BSTR PathName, [in, defaultvalue(TRUE)] VARIANT_BOOL Visible, [in, defaultvalue(FALSE)] VARIANT_BOOL ReadOnly, [out, retval] IKompasDocument** Result);
Входные параметры:
PathName - полное имя файла документа, состоящее из пути, имени и расширения файла,
Visible - видимость документа: TRUE создавать документ в видимом режиме, FALSE в невидимом,
ReadOnly - TRUE - открыть документ только для чтения.
Возвращаемое значение:
указатель на интерфейс IKompasDocument - в случае успешного завершения,
NULL - в случае неудачи.
```
Примечание:
Открывает существующий документ и добавляет его в коллекцию.
## OpenDocument - Открыть документ с заданными параметрами открытия документа
Синтаксис Automation:
```
LPDISPATCH OpenDocument( BSTR FileName, IOpenDocumentParam * Param )
```
Синтаксис COM:
```
HRESULT OpenDocument( BSTR FileName, IOpenDocumentParam * Param, IKompasDocument ** Result );
Возвращаемое значение:
Указатель на интерфейс документа IKompasDocument
Входные параметры:
FileName - имя файла документа
Param - указатель на интерфейс параметров открытия документа IOpenDocumentParam
```
## OpenEx - Открыть документ
Синтаксис Automation:
```
LPDISPATCH OpenEx (LPCTSTR PathName, BOOL Visible, BOOL ReadOnly, VARIANT LoadCombinationIndex);
```
Синтаксис COM:
```
HRESULT OpenEx([in] BSTR PathName, [in, defaultvalue(TRUE)] VARIANT_BOOL Visible, [in, defaultvalue(FALSE)] VARIANT_BOOL ReadOnly, [in]VARIANT LoadCombinationIndex, [out, retval] IKompasDocument** Result);
Входные параметры:
PathName - полное имя файла документа, состоящее из пути, имени и расширения файла,
Visible - видимость документа: TRUE создавать документ в видимом режиме, FALSE в невидимом,
ReadOnly - TRUE - открыть документ только для чтения,
LoadCombinationIndex - тип VARIANT - индекс загружаемого набора или имя набора.
Возвращаемое значение:
указатель на интерфейс IKompasDocument - в случае успешного завершения,
NULL - в случае неудачи.
```
Примечание:
1. Открывает существующий документ и добавляет его в коллекцию.
2. Для сборки 3D можно задать индекс набора для загрузки. Для других типов документов индекс загружаемого набора игнорируется.
## RecoverError - Признак ошибки после открытия файла с восстановлением
Тип данных: ksRecoverErrorEnum
Синтаксис Automation:
```
RecoverError = Object.RecoverError Получить свойство (* )
Object.RecoverError = RecoverError Установить свойство (* )
RecoverError = Object.GetRecoverError() Получить свойство(**)
Object.SetRecoverError( RecoverError ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RecoverError( &RecoverError ) Получить свойство
Object.put_RecoverError( RecoverError ) Установить свойство
```
## RecoverMode - Признак открытия файлов в режиме восстановления
Тип данных: BOOL
Синтаксис Automation:
```
RecoverMode = Object.RecoverMode Получить свойство (* )
Object.RecoverMode = RecoverMode Установить свойство (* )
RecoverMode = Object.GetRecoverMode() Получить свойство(**)
Object.SetRecoverMode( RecoverMode ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RecoverMode( &RecoverMode ) Получить свойство
Object.put_RecoverMode( RecoverMode ) Установить свойство
```
## RecoverModeErrorList - Список ошибок, исправленных при открытии файла с восстановлением
Тип данных: VARIANT
Синтаксис Automation:
```
RecoverModeErrorList = Object.RecoverModeErrorList( ) Получить свойство(* )
RecoverModeErrorList = Object.GetRecoverModeErrorList() Получить свойство(**)
```
Синтаксис COM:
```
Object.get_RecoverModeErrorList( &RecoverModeErrorList ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Список ошибок возвращается в виде массива VT_ARRAY | VT_I4.