--- title: "Интерфейс IСonverter" type: interface api: [api7] tags: [interface, api7, iconverter] sources: - iconverter.html --- *API интерфейсов. Версия 7 > Конвертер файлов КОМПАС * ## Интерфейс IСonverter Конвертер файлов КОМПАС. Иерархия: IKompasAPIObject IConverter Примечание: 1. Интерфейс позволяет управлять конвертером системы КОМПАС, задавать параметры конвертирования, получать фильтр и выполнять конвертацию документа системы КОМПАС. 2. Данный интерфейс может быть получен от интерфейса приложения IApplication с помощью свойства IApplication::Converter. ## 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 - в случае неудачи. ``` Примечание: Если имя исходного файла документа не задано, то берется текущий документ. Если новое имя файла документа не задано, то конвертация будет происходить в новый документ системы КОМПАС. ## ConverterParameters - Получить интерфейс параметров конвертирования Синтаксис Automation: ``` LPDISPATCH ConverterParameters (long command); ``` Синтаксис COM: ``` HRESULT ConverterParameters ([in] long command, [out, retval] IUnknown ** PVal); Входные параметры: 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 '), которое используется в диалогах Открыть файл и Сохранить файл. ``` ## VisualEditConvertParam - Запустить визуальное редактирование параметров конвертации Синтаксис 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 - выход из диалога по кнопке Отмена. ```