PVS-Studio и ГОСТы. Как появилось приложение КОМПАС-Эксперт для проверки чертежей

Недавно мы выпустили новое приложение КОМПАС-Эксперт для поиска ошибок в чертежах и моделях, разработанных в КОМПАС-3D. Идеей для него послужил анализатор кода PVS-Studio. Что общего в продуктах для программистов и инженеров и как классифицируются ошибки проектирования, рассказывает Олег Волков.

В свое время меня вдохновил Viva64 для проверки кода C++ (сейчас этот прекрасный продукт называется PVS-Studio). Он выполняет анализ кода на различные правила: логические/нелогические, конструктор/деструктор, сравнение переменных и другие. Возникла мысль применить похожую идеологию в КОМПАС-3D: на выходе проверять результат — чертеж или 3D-модель — некими правилами. Тем более, что в других САПР подобные проверки реализованы.

Вообще в IT инфраструктура разработки налажена гораздо лучше, чем в инженерном проектировании. Подробно описано, как сдавать код, как его верифицировать, как версионировать, в какие моменты какие проверки проводить (SWEBOOK вам в помощь). Почему бы не применить этот подход к работе конструктора в САПР?

В свое время, когда компьютеры были большими и рабочее время за ними дорогим, среди программистов было принято не допускать ошибки на этапе написания кода, чтобы он проходил с первого раза. Сейчас мы лишний раз проведем компиляцию, она выдаст кучу ошибок, исправим, еще раз проведем. Так и в работе конструктора — не надо пытаться с первого раза получить идеальный чертеж. Перед тем как идти получать подпись, проверь, исправь, еще раз проверь. Думать надо над своим изделием, а не над оформлением чертежа, «Эксперт» поможет.

Все возможные ошибки (дефекты документа) мы разбили на области знаний и стали под них «подкладывать» конкретные проверки. На данный момент в проекте сделано более 140 проверок.

Стандарты оформления конструкторской документации (ГОСТ/ЕСКД)


Первыми для реализации были выбраны проверки оформления. Начиная работать над «Экспертом», мы естественно посмотрели какие решения на данный момент есть у конкурентов. В основном аналогичные системы выполняют стандартные проверки по стилям оформления: стиль линии, названия и цвета слоев, вид стрелки, стиль шрифта и т.д. В нашем приложении мы решили пойти дальше и проверять действительно по стандартам, поскольку КОМПАС-3D всегда отличался близостью к ним. Разработчиками приложения решено было эту традицию поддержать и сделать полноценные проверки исходя из стандартов ЕСКД.

В проверке на соответствие тому или иному стандарту прописываются нормы этого стандарта. Если в документе есть элементы, относящиеся к стандарту, то они проверяются на соответствие — допустим, оформление размеров, стилистика оформления, простановка предельных отклонений, квалитетов, простановка шероховатостей, сварных обозначений. В качестве справочных материалов в проверках приведены ссылки на стандарты. Мы работаем с сайтом «ТехЭксперт» (http://www.cntd.ru/), на котором выложена фундаментальная база стандартов ГОСТ. Если пользователь хочет убедиться в ошибке, которую показал КОМПАС-Эксперт, он может перейти на конкретный стандарт, конкретный его пункт, по которому выполнялась проверка.

g5ec27yeaqzzucthiva9ehbdw9s.png

В проверках оформления проделана большая работа по интеллектуализации анализа текстов. В любом конструкторском документе обязательно должны присутствовать технические требования. ГОСТ рекомендует определенную последовательность при их перечислении: сначала данные по материалу, затем размеры, качество поверхности и покрытие, настройка изделия и далее до особых условий эксплуатации. Мы сделали проверку на правильность составления техтребований. Есть набор ключевых слов, которые ищутся в техтребованиях. Если оказывается, что ключевое слово по покрытию находится раньше, чем по материалу, то выдается предупреждение об ошибке.

Корпоративные стандарты оформления документации


Предприятия могут выдвигать собственные стандарты оформления документации: шаблоны слоев, единые корпоративные стили (кто работал со строительными чертежами в AuotCAD, поймет).
Также пользователь может сужать рекомендуемые ГОСТом требования исходя из располагаемого инструмента и оборудования. Это касается как размеров и их допусков, резьб, параметров шероховатостей (если не позволяет станочный парк), так и форматов листов для вывода документов на печать (если банально нет большого плоттера). Такие внутренние «сужения» стандартов могут быть заданы в КОМПАС-Эксперте самими пользователями.

Правила использования КОМПАС-3D


Это тот класс ошибок, который никогда не увидит нормоконтроль, проверяющий «бумагу». Даже если документ внешне соответствует стандартам, неправильное применение инструмента усложняет работу самого конструктора и тех специалистов, которые получают от него документы.
Одно из таких правил — объект «Осевая линия» вместо отрезков со стилем «Осевая линия». При использовании параметризации объект сразу правильно параметризуется, правильно укладывается в модель. Отрезок этими свойствами не обладает и будет нагружать параметрическую модель в эскизе, затрудняя работу пользователя.

Кстати в старых версиях КОМПАС-3D объекта «Осевая линия» еще не было. Поэтому имеет смысл проверять чертежи, взятые в работу из архива, во избежание тиражирования таких вынужденных ошибок.

Другие подобные правила — использование ассоциативности в аннотационных объектах, включение текстовой автосортировки, использование, где надо, текстовых гиперссылок.
Уж если вы считаете себя профессионалами, то и инструмент используйте профессионально.

Защита информации


Практически на всех предприятиях есть специально обученные люди, главной задачей которых является «Бдить» (кое где они даже собраны в «Специальные Отделы» и являются представителями «Органов»). Так вот, держаться подальше от таковых в сфере их профессионального интереса поможет КОМПАС-Эксперт.

Чтобы предотвратить непредумышленные утечки информации, предусмотрены проверки на неудаленные «черновики», скрытые объекты, ссылки на закрытые ресурсы предприятия.
Например, потенциальная ошибка — вставить вид с документа с именем файла C:\\Отдел ААА\Проект БББ\чертеж изделия №ХХХХ.cdw и отправить «на сторону» (а у вас разве по другому организована «структура проекта»?).

-kp9ptc1me0j3ez_qbgyazdmlda.png
Обнаружен скрытый компонент

Небрежность и проектирование в режиме «давай побыстрей»


Тут все как у программистов: основная беда — использование «копипастинга». Еще хуже — «копипастинг» с чертежа, содержащего ошибки. Как правило, его автор «Великий Гуру» и его компетентность во всех вопросах не подлежит сомнению, а выпущенная Им документация «по умолчанию» не проверяется на ошибки.

Еще проблема — чертят чуть-ли не «от руки»: не по размерам, без привязок и т.д, а затем сдают этот «эскиз» как чертеж. Однако, контура не собираются, размеры не перестраиваются, линии выноски отваливаются. Зато «сдали» вовремя.

Технологический контроль


В этом направлении мы только начинаем двигаться. Особенно хотелось бы сделать технологические проверки в 3D-моделях, чтобы на этапе создания конструкции выявлять потенциальные сложности с ее изготовлением. А для этого нужно знать технологию производства. Например, если деталь будет изготавливаться литьем, нужно анализировать толщину ее стенок.

Как это работает


И собственно, как выглядит и работает продукт. Для пользователя «Эксперт» реализован в виде web-приложения. Работает независимо от КОМПАС-3D, но его наличие на рабочем месте необходимо. После запуска загружается страница, содержащая панель инструментов и окно результатов.

Документ можно проверять прямо в процессе работы над ним в КОМПАС-3D, в режиме «двух окон» (а лучше — двух мониторов). Либо указать перечень файлов или рабочую папку своего проекта и запустить проверку. На 8-ядерном процессоре проверка 200 документов занимает 3–5 минут.

ultpaxb8p9dttosyikighxok4hg.jpeg
Результаты проверки

Результат выдается в виде списка ошибок, разделенных на группы. Если выбрать конкретную ошибку, то проверенный документ откроется в КОМПАС-3D с указанием места/объекта, где эта ошибка обнаружена. Согласившись с рекомендацией «Эксперта», пользователь может сразу перейти к внесению исправлений.

Заключение

1. Сразу после выхода приложения нам стали поступать запросы: «Хотим получать статистику — сколько документов проверено, сколько ошибок выявлено». Теоретически «Эксперт» мог бы давать такую оценку, но мы намеренно отказываемся делать его карательным инструментом и не рекомендуем использовать в нормоконтроле. Пусть конструктор сам проверит, исправит и отдаст документ без ошибок.

2. Использование КОМПАС-Эксперта никоим образом не отменяет других техник/методик проверки технической документации? существующих (или планируемых) на предприятии. Тем более, что есть в основной надписи загадочная графа с надписью «Проверил». Но об этом в следующий раз.

-m1woyelw9dlvx8c8hlnuvldjrc.png Олег Волков, начальник отдела программирования, дивизион Приложения Аскон.

© Habrahabr.ru