Files
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

16 KiB

title, type, api, tags, sources
title type api tags sources
Интерфейс IDocuments interface
api7
interface
api7
idocuments
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.