Выбор версии DXF при сохранении

Автор gramdee, 05.09.19, 13:35:20

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

gramdee

Сохраняю файл из 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 Извиняюсь, поторопился, не внимательно прочитал в каком разделе тема.

Дмитрий22

На 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

EKosarev

господа получилось ли у вас сменить версию dxf?

p3452

Цитата: Дмитрий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)"

Дмитрий22

Насколько я помню, подключал ACADEXPORTLib.
ACADExport.JPG
Также использовал код:
using ACADEXPORTLib;

p3452

Подключать можно, когда есть что подключать!
Более подробно...