Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Андрей Бушман от 28-04-2014, 12:28:15
-
Запускаем AutoCAD 2015 и на основе шаблона acadiso.dwt создаём новый файл. Тут же выполняем команду AUDIT:
Command: AUDIT
Fix any errors detected? [Yes/No] <N>:
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 100 objects audited
Auditing Entities Pass 2
Pass 2 100 objects audited
Auditing Blocks
1 Blocks audited
Auditing AcDsRecords
Total errors found 0 fixed 0
Erased 0 objects
Previous selection set contains 7536754 paper space 7274610 model space objects
Однако, если я предварительно запущу AutoCAD 2009, создам в нём новый файл и затем не сохраняя, завершу сеанс работы AutoCAD 2009, то при последующем запуске AutoCAD 2015, вызов команды Audit выполнился нормально, без подсвеченной мною выше строки:
Command: AUDIT
Fix any errors detected? [Yes/No] <N>:
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 100 objects audited
Auditing Entities Pass 2
Pass 2 100 objects audited
Auditing Blocks
1 Blocks audited
Auditing AcDsRecords
Total errors found 0 fixed 0
Erased 0 objects
Проверял несколько раз. Что это за орда объектов "paper space" и "model space"? В каких таких особых отношениях AutoCAD 2015 состоит с предыдущими версиями продукта?
-
Обозначенный выше фокус с 2009-м срабатывает лишь один раз: второй, третий и т.д. запуски 2015-го снова показывают орду объектов. Если повторно запускаю\выключаю 2009-й - снова в следующей сессии у 2015-го отчёт нормальный. перезапускаю 2015-й и снова всё по новой: у попа была собака.
Подобное поведение беспокоит меня в виду того, что это порождает вопрос: а действительно ли audit в 2015-м работает корректно? Учитывая то, что это почти единственный инструмент исправления базы данных чертежей - это было бы весьма чревато...
-
Причём "статистика" орды может меняться не только от сессии к сессии AutoCAD 2015 для одного и того же DWT файла, но даже в рамках одной сессии, банально раз за разом, последовательно выполняя AUDIT с опцией N:
Previous selection set contains 7536754 paper space 7274610 model space objects
Previous selection set contains 2097260 paper space 6357108 model space objects
Previous selection set contains 2097260 paper space 6357108 model space objects
Как видим, второй вызов показывает иные цифры (хотя audit вызывался с опцией N) и уже начиная со второго повтора последовательного вызова AUDIT, цифры перестают скакать. Во всяком случае на моей машинке...
Причём начиная со второго вызова AUDIT цифры одни и те же (для одного и того же DWT) даже в рамках разный сессий AutoCAD. А вот первый вызов Audit может временами для разных сессий показывать и разные цифры.
Regenerating model.
AutoCAD menu utilities loaded.*Cancel*
Command:
Command:
Command:
Command: AUDIT
Fix any errors detected? [Yes/No] <N>:
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 100 objects audited
Auditing Entities Pass 2
Pass 2 100 objects audited
Auditing Blocks
1 Blocks audited
Auditing AcDsRecords
Total errors found 0 fixed 0
Erased 0 objects
Previous selection set contains 6357091 paper space 7274572 model space objects
Command: AUDIT
Fix any errors detected? [Yes/No] <N>:
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 100 objects audited
Auditing Entities Pass 2
Pass 2 100 objects audited
Auditing Blocks
1 Blocks audited
Auditing AcDsRecords
Total errors found 0 fixed 0
Erased 0 objects
Previous selection set contains 2097260 paper space 6357108 model space objects
Command: AUDIT
Fix any errors detected? [Yes/No] <N>:
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 100 objects audited
Auditing Entities Pass 2
Pass 2 100 objects audited
Auditing Blocks
1 Blocks audited
Auditing AcDsRecords
Total errors found 0 fixed 0
Erased 0 objects
Previous selection set contains 2097260 paper space 6357108 model space objects
Command: AUDIT
Fix any errors detected? [Yes/No] <N>:
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 100 objects audited
Auditing Entities Pass 2
Pass 2 100 objects audited
Auditing Blocks
1 Blocks audited
Auditing AcDsRecords
Total errors found 0 fixed 0
Erased 0 objects
Previous selection set contains 2097260 paper space 6357108 model space objects
Не знаю, кого как, но меня это несколько беспокоит...
P.S. Проверял на всякий случай и в др. версиях (выборочно): в 2009-ом и 2014-ом, но там всё нормально.
-
Баг подтверждаю. Выглядит это как-то так:
Отправлю в ADN DevHelp
-
Честно говоря, меня интересует не столько та муть про легион объектов-призраков, сколько вопрос корректности работы AUDIT в целом... А то так возьмётся юзер восстанавливать повреждённый чертёж, а на выходе получит такой, что уж лучше бы и не восстанавливал... Информация, выводимая AUDIT в 2015-й версии, заставляет меня несколько напрягаться на счёт корректности его работы... Хотя, собственно, чего мне-то напрягаться... Это должен напрягаться Autodesk и те, кто юзает 2015-й. :)
-
Если ты правильно переведешь сообщение, то поймешь, что тут AutoCAD неправильно считает количество примитивов в наборе предварительного выбора. Совершенно непонятно зачем он их считает, если:
1) Набор предварительного выбора в этот момент пуст
2) В чертеже нет ни одного примитива ни в пространстве Модели, ни в пространстве Листа.
К непосредственной проверке чертежа это не имеет никакого отношения.
-
тут AutoCAD неправильно считает
А вы уверены, что AutoCAD, а не AUDIT? :) Я вот не уверен... Сообщение выводится Audit'ом... И не факт, что это не отражается коим-то боком на результатах его работы.
1) Набор предварительного выбора в этот момент пуст
2) В чертеже нет ни одного примитива ни в пространстве Модели, ни в пространстве Листа.
Я в курсе.
Совершенно непонятно зачем он их считает
Полагаю, что раз считает, то зачем-то ему может быть и нужно... И ежели на основе этого "набора" он берётся обрабатывать несуществующие объекты, то в случае использования опции _Y может получиться "больно"...
-
А вы уверены, что AutoCAD, а не AUDIT?
А что AUDIT это уже не команда AutoCAD? :)
В данном случае я имел в виду следующее: AUDIT проверяют базу базу чертежа и набор предварительного выбора, который к базе чертежа не имеет никакого отношения, а является одной из характеристик редактора AutoCAD.
-
Т.е. существует угроза, что в AutoCAD 2015 через одно место работает предварительный выбор объектов? :)
-
Т.е. существует угроза, что в AutoCAD 2015 через одно место работает предварительный выбор объектов? :)
Да. И вот это меня в данном случае смущает значительно больше, чем это сообщение в командной строке AutoCAD, так как может повлиять как на встроенные команды AutoCAD, так и на многие сторонние приложения.
P.S.: Баг отправил.