Николай пишет: ну прочитать и записать - это разные варианты.
помни только о том, что передать в функцию нужно один из вариантов SaveFormat.
acDocManager->setDefaultFormatForSave(AcApDocument::SaveFormat)
В принципе никто не мешает пользоваться и своим енумом, хотя я б пользовался std::map на основе самого последнего варианта SaveFormat.
В любом случае прийдется под каждый автокад ставить затычки, чтоб не вылазили лишние варианты сохранения.
PS: лучше пользуйся просто цифрами а не их символьными обозначениями, т.к. например акад 2000 ничего не знает про, например, k2010_dwg, но вот к цифре 48 будет абсолютно равнодушен при компиляции, и в ходе работы прогаммы если ты поставишь правильную заглушку и он не попытается сохранить документ в этом формате
Да, Николай, здесь ты полностью прав.
Вот только до меня, глупого, никак не доходит следующее:
Kак мне создать список расширений, как это сделано в AutoCadе?
Я имею ввиду выпадающий список типа:
AutoCAD 2007 DWG (*.dwg)
AutoCAD 2007 DXF (*.dxf)
AutoCAD 2000 Drawing (*.dwg)
AutoCAD 2000 DXF (*.dxf)
и т.д.
Пробовал вот так
CString strFormat("AutoCAD 2000 Drawing (*.dwg);AutoCAD 2000 DXF (*.dxf);AutoCAD 2007 DWG (*.dwg);AutoCAD 2007 DXF (*.dxf)");
acedGetFileNavDialog(NULL, vollpfad, strFormat, NULL, 33, &result);
AutoCad кричит, что такой формат не поддерживается.
А в виде
acedGetFileNavDialog(NULL, vollpfad, _Т("dwg;dxf"), NULL, 33, &result)
я не смогу определить версию, в которой нужно сохранить чертеж.
Какой-то замкнутый круг.