Сохраняю файл из CDW/FRW в формат DXF с помощью IKompasDocument.SaveAs. Все получается.
Возникла необходимость сохранить в старой версии, а именно в AutoCAD 2000. Есть ли какой-либо способ сохранить с указанием версии или, может быть где-то в интерфейсе Компаса нужно что-то перенастроить, чтобы всегда сохранялось в старой версии?
Вот тут можно задать версию формата (он запомнится):
iConverter = iApplication.Converter(KompasObject.ksSystemPath(1) + '/ImpExp/dwgdxfExp.rtw') # Конвертер файлов КОМПАС
iConverter.VisualEditConvertParam(0, 1) # Запустить визуальное редактирование параметров конвертации - работает
iConverter.Convert('', 'файл.dxf', 1, True) # Последний параметр showParam - TRUE - выдавать диалог параметров конвертации - не работает почему-то.
Но вопрос, как задать версию формата без визуального редактирования?
iConverterParameters = iConverter.ConverterParameters(1) # Получить интерфейс параметров конвертирования
Выдает указатель на интерфейс <COMObject ConverterParameters>
А что дальше делать - не могу найти информацию. Нужно SDK конвертера?
Цитата: gramdee от 05.09.19, 13:35:20...
Возникла необходимость сохранить в старой версии, а именно в AutoCAD 2000. Есть ли какой-либо способ сохранить с указанием версии или, может быть где-то в интерфейсе Компаса нужно что-то перенастроить, чтобы всегда сохранялось в старой версии?
В правом верхнем углу есть кнопка "Параметры".
PS Извиняюсь, поторопился, не внимательно прочитал в каком разделе тема.
На C# делал так:
IConverter pConverterDXF = NewKompasAPI.get_Converter(PathVKompas);
Object convParam = pConverterDXF.ConverterParameters(1);
IAutoCadExportParam DWG1 = (IAutoCadExportParam)convParam;
DWG1.ColorByLayer = true;
switch (numVerDXF)
{
case 0:
DWG1.AcadFileVersion = ksAutoCadFileVersionEnum.ksAutocad_v15; // version 2000
break;
case 4:
DWG1.AcadFileVersion = ksAutoCadFileVersionEnum.ksAutocad_v18; //version 2004
break;
case 7:
DWG1.AcadFileVersion = ksAutoCadFileVersionEnum.ksAutocad_v21; //version 2007
break;
case 10:
DWG1.AcadFileVersion = ksAutoCadFileVersionEnum.ksAutocad_v24; //version 2010
break;
case 13:
DWG1.AcadFileVersion = ksAutoCadFileVersionEnum.ksAutocad_v27; // version 2013
break;
default:
DWG1.AcadFileVersion = ksAutoCadFileVersionEnum.ksAutocad_v27; // version 2013
break;
}
pConverterDXF.Convert(docum.PathName, path + NameOfDXf + ".dxf", 1, false);
Цитата: gramdee от 05.09.19, 13:35:20Сохраняю файл из CDW/FRW в формат DXF с помощью IKompasDocument.SaveAs. Все получается.
Для справки. Через SaveAs можно сохранить только видимый документ. Для невидимых ksSaveToDXF или IConverter.Convert
господа получилось ли у вас сменить версию dxf?
Цитата: Дмитрий22 от 10.01.20, 17:53:12На C# делал так:
IConverter pConverterDXF = NewKompasAPI.get_Converter(PathVKompas);
Object convParam = pConverterDXF.ConverterParameters(1);
IAutoCadExportParam DWG1 = (IAutoCadExportParam)convParam;
Подскажите, что за интерфейс "
IAutoCadExportParam" и от чего (как) его можно получить?
В SDK о нем, ни слова!?
- Как, в прочем и о том, как получить (или где взять) "command" для ConverterParameters!?:
"
LPDISPATCH ConverterParameters (long command)"
Насколько я помню, подключал ACADEXPORTLib.
ACADExport.JPG
Также использовал код:
using ACADEXPORTLib;
Подключать можно, когда есть что подключать!
Более подробно... (https://forum.ascon.ru/index.php?topic=32761.msg290666;topicseen#msg290666)