Проверил в AutoCAD 2013, 2014, 2015 (в составе С3D) - фатал возникает только с 1.dwg и только когда он открыт один, с 2.dwg фатал не возникает если открыт только он.Проверил в AutoCAD 2015 - ошибка не возникает ни с 1.dwg, ни с 2.dwg
у вас я полагаю что просто AutoCAD 2015Уже проверил с Civil3D 2015 - ошибка есть. Более того (чего никогда у меня не было ни в одной из версий в чистом AutoCAD) - после аварийного завершения сбрасывается в 0 системная переменная FILEDIA. Это с учетом того, что у меня "девственно чистый" Civil3D без никаких дополнений и изменений конфигурации.
Подскажите пожалуйста каким образом создать пустой dwg и закрыть его после выполнения действий, чтобы обойти данную проблему?Закрывать его не нужно. Пусть один открытый пустой болтается:
Приведённый вариант выше не работаетПриведённый выше вариант я, перед тем как опубликовать, проверил - работает. Ты проверял именно тот код, который я написал?
Вот так работаетНу и хорошо.
acDocTmp = Application.DocumentManager.Add("acadiso.dwt");
только как работать с документом такой БД, получить на него ссылку и сделать текущим?Никак. Если бы воспользовался поиском, то нашёл бы что нет API для создания документа на основе базы.
нет API для создания документа на основе базыт.е. второй параметр в new Database(true, false) не задействован?
т.е. второй параметр в new Database(true, false) не задействован?Задействован, но не так, как ты это понимаешь. Фактически он привязывает его к текущему документу.
Задействован, но не так, как ты это понимаешь. Фактически он привязывает его к текущему документу.
Почитай эту тему: http://adn-cis.org/forum/index.php?topic=721.0
И это обсуждение: http://adn-cis.org/forum/index.php?topic=490.msg7629#msg7629
1. Насколько понимаю отследить есть ошибки или нет в чертеже, можно только открыв чертеж, запустить соответствующую команду и перехватывать сообщения в editor.API для восстановления чертежа - новый API в AutoCAD 2015 (http://adn-cis.org/api-dlya-vosstanovleniya-chertezha-novyij-api-v-autocad-2015.html)
Или есть другие возможности?
API для восстановления чертежа - новый API в AutoCAD 2015Это я видел и протестировал.
API для проверки чертежа - новый в AutoCAD 2015
В этом то и ограничение.Записывай log-файл и потом считывай его и ищи ошибки. Если для чертежа требуется recover, то ReadDwgFile должно вызывать исключение, что и есть признаком ошибки.