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>
16 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IDocuments | interface |
|
|
|
*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 документа, ссылка на документ или индекс в коллекции.
Примечание:
- Свойство доступно только для чтения.
- Полное имя файла документа состоит из пути, имени и расширения файла.
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 - в случае неудачи.
Примечание:
- Открывает существующий документ и добавляет его в коллекцию.
- Для сборки 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.