e1337e4016
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>
364 lines
16 KiB
Markdown
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.
|