---
title: "Интерфейс IKompasConverter"
type: interface
api: [api7]
tags: [interface, api7, ikompasconverter]
sources:
  - ikompasconverter.html
---

*Создание прикладных библиотек  > Оформление библиотек типа Converter *


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

Стандартный интерфейс импорта/экспорта.
Позволяет связать систему КОМПАС и библиотеки импорт/экспорта документов.
Реализуется в библиотеках типа Конвертор


## CanUnloadLibrary - Разрешение на выгрузку библиотеки из памяти

Тип данных:BOOL.
Значения свойства:
| TRUE | - библиотеку можно выгружать из памяти, |
| --- | --- |
| FALSE | - библиотеку нельзя выгружать из памяти. |
Синтаксис Automation:
```
CanUnloadLibrary = iObject.CanUnloadLibrary    Получить свойство (* )1
CanUnloadLibrary = iObject.GetCanUnloadLibrary( )    Получить свойство (**)2
```
Синтаксис COM:
```
iObject->get_CanUnloadLibrary ( &CanUnloadLibrary )    Получить свойство.
```
Примечание:
Если внутренний интерфейс параметров захвачен другими пользователями, то библиотеку нельзя выгружать из памяти до тех пор, пока он не освободится. Так как в системе КОМПАС предусмотрена автоматическая выгрузка библиотек, то перед выгрузкой будет вызвана эта функция и библиотека будет выгружена, только если она вернет TRUE.


## Convert - Запустить процесс конвертации

Синтаксис Automation:
```
long * Convert ( BSTR inputFile, BSTR outfile, long command, BOOL showParam );
```
Синтаксис COM:
```
HRESULT Convert ( [in] BSTR inputFile,
[in] BSTR outfile,
[in] long command,
[in] VARIANT_BOOL showParam,
[out, retval] long* Result );
Входные параметры:
inputFile    - имя исходного файла документа,
outfile    - новое имя файла документа,
command    - номер команды,
showParam    - TRUE - выдавать диалог параметров конвертации, - FALSE - не выдавать диалог параметров конвертации.
Возвращаемое значение:
1    - в случае успешного завершения,
0    - в случае неудачи.
```
Примечание:
Если имя исходного файла документа не задано, то берётся текущий документ, если новое имя файла документа не задано, то конвертация будет происходить в новый документ системы КОМПАС.


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

Синтаксис Automation:
```
LPDISPATCH ConverterParameters( long command);
```
Синтаксис COM:
```
HRESULT ConverterParameters ( [in] long command, [out, retval] IUnknown** iParam );
Входные параметры:
command    - номер команды.
Возвращаемое значение:
указатель на интерфейс IUnknown    - в случае успешного завершения,
0    - в случае неудачи.
```
Примечание:
Данный метод позволяет получить интерфейс параметров конвертирования.


## GetFilter - Получить фильтр и номер команды по типу документа

Синтаксис Automation:
```
BSTR * GetFilter ( long docType, BOOL saveAs, long * command );
```
Синтаксис COM:
```
HRESULT GetFilter ( [in] long docType,
[in] VARIANT_BOOL saveAs,
[out] long * command,
[out, retval] BSTR* Result );
Входные параметры:
docType    при импорте в КОМПАС-документ - тип документа из перечисления DocumentTypeEnum, при экспорте КОМПАС-документа - тип документа, в который производится экспорт; перечисление типов документов должно быть задано в конверторе. Например, для конвертора в DXF и DWG используются типы: #define FORMAT_DXF 1 // ID команды для работы с DXF #define FORMAT_DWG 2 // ID команды для работы с DWG
saveAs    - TRUE - экспорт документа КОМПАС, - FALSE - импорт в документ КОМПАС.
Выходные параметры:
command    - номер команды.
Возвращаемое значение:
фильтр    - строка с справочным значением (например, "КОМПАС-фрагменты (*.myfrw    *.myfrw    " ), которое используется в диалогах открытия и сохранения файлов.
```


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

Синтаксис Automation:
```
BOOL * VisualEditConvertParam ( OLE_HANDLE parentHwnd, long command );
```
Синтаксис COM:
```
HRESULT VisualEditConvertParam ( [in] OLE_HANDLE parentHwnd,
[in] long command,
[out, retval] VARIANT_BOOL * val );
Входные параметры:
parentHwnd    - дескриптор окна родителя,
command    - номер команды.
Возвращаемое значение:
TRUE    - выход из диалога по кнопке OK,
FALSE    - выход из диалога по кнопке Отмена.
```
