Как отследить интересующее меня событие?Думаю, что напрямую средствами AutoCAD API - никак.
Отследить попытку открытия чертежа можно - для этого есть события Application.DocumentMeneger.Как я уже писал выше - среди событий DocumentCollection я не нашёл того, о чём спрашивал. У тебя есть какой-то конкретный вариант?
Если попытка открытия файла неудачна, читаем первые 6 байт файла и по ним определяем версию чертежа.Я в курсе того, как определять версию формата. Мой вопрос был не об этом.
Application.DocumentManager.DocumentCreateStartedПо идее - это не то, т.к. прежде чем создавать Document на основе Database, этот самый Database нужно заполнить контентом. Т.е. недостаёт события, сообщающего об [не]успешной операции предварительного чтения содержимого DWG-файла или о попытке начала чтения этого DWG. Документ может открываться и кликом мышки по файлу в проводнике Windows.
Application.DocumentManager.DocumentCreated
Application.DocumentManager.DocumentCreationCanceled
По идее - как раз то, что нужно. Но нужно экспериментировать.
2. Это событие - это-же Exception вроде...
По идее - это не то, т.к. прежде чем создавать Document на основе Database, этот самый Database нужно заполнить контентом.Судя по тому, как работают эти события, то происходит примерно так:
Документ может открываться и кликом мышки по файлу в проводнике Windows.И эти события срабатывают и в этом случае, по крайней мере в версиях 2014-2016.
Проверить смогу только завтра.Можешь не проверять. Это не работает.
Конечно если речь идёт о том, что пользователь открывает файл, а не ты сам это делаешь программно.О том.
Ну и сразу напрашивается следующий вопрос. Ты обнаружил, что файл создан в более новой версии. Что ты будешь делать?Конечно если речь идёт о том, что пользователь открывает файл, а не ты сам это делаешь программно.О том.
Ну и сразу напрашивается следующий вопрос. Ты обнаружил, что файл создан в более новой версии. Что ты будешь делать?Программно пересохраню файл, понизив версию DWG до нужной и продолжу открытие документа.
Программно пересохраню файл, понизив версию DWG до нужной и продолжу открытие документа.Я не буду тебя спрашивать какими средствами ты собираешься это сделать, так как это будет наверняка оффтопом на этом форуме.
Хотелось сделать это максимально прозрачно для пользователя, без создания отдельной команды под это дело.А я бы так делать принципиально не стал:
1) Чертеж становится не 100%-совместимым с AutoCAD.Несколько лет активной практики проблем не выявили.
2) Если в чертеже есть объекты/примитивы вертикального приложения, то совсем будет беда.