ВЭЛАН
velan.ru →
«ВЭЛАН» – производитель взрывозащищенного электрооборудования, в основном для нефтяной, газовой и обрабатывающей промышленности. В кейсе рассказываем о том, как мы реализовали для компании систему САПР.
Задача
Заказчик столкнулся с необходимостью автоматизации процесса проектирования клеммных коробок. Готовое изделие индивидуально проектируется из комплектующих для каждого заказчика. Существующий процесс проектирования выполнялся в КОМПАС-3D. Сложность программы привела к существенным затратам времени инженеров-конструкторов на проектирование и подготовку документации по каждому изделию.
ВЭЛАН обратились к нам для разработки САПР, который позволит ускорить создание чертежей, сократить процесс соответствия спецификациям и визуализации продукции, а также снизить нагрузку на конструкторский и планово-экономический отделы.
Изначально требования заказчика включали следующие характеристики:
- интуитивно понятный интерфейс,
- возможность экспорта данных в различные форматы: PDF, JPEG, таблиц, выгрузка координат отверстий,
- работа системы на Windows 7 и выше в двух режимах: внутренней версии с возможностью редактирования и внешней версии с ограниченным функционалом,
- возможность работы с базовыми данными чертежей и компонентов, построения чертежей и спецификаций в соответствии с требованиями ЕСКД,
- поддержка автоматического и ручного размещения вводов, заглушек и прочих элементов.
Рабочее пространство САПРа должно включать следующие компоненты:

Система должна быть доступна для пользователей без знаний в области проектирования и навыков работы в специализированном ПО, должна минимизировать возможность ошибок при построении чертежей.
Заказчик выступал за наше активное участие в формировании ТЗ, потому что доверял нашему опыту в продуктовой разработке для промышленных предприятий. Поэтому мы посетили производство для изучения внутренних процессов, взаимодействия инженеров с чертежами, специфики документооборота. О том, как это исследование отразилось на реализации, расскажем далее.
Работа с базами данных
Изначально база данных клиента хранилась в системе из множества разрозненных Excel-файлов с общим числом колонок порядка 10 тыс. Мы консолидировали эти файлы в единую систему и предложили перенести ее в SQLite, чтобы упростить дальнейшую работу с базой.
На данный момент база содержит связи совместимости компонентов изделий с корпусами и между собой. Также учитываются характеристики компонентов, используемые на штампованных чертежах и в характеристиках изделий. Набор дополнительных корпусов или установочных изделий может быть в любой момент отредактирован и расширен путь загрузки обновленных данных базы данных.
Заказчик предполагал, что потребуется две версии программы - внутренняя и внешняя. Мы предложили другое решение: логику master (полноценный режим изменений для сотрудников компании)/slave (режим просмотра для внешних пользователей). Кроме того, мы реализовали отдельное ПО для шифрования и расшифровки чертежей. Это позволило уйти от необходимости поддерживать две версии САПРа, реализовав два режима работы в одной системе.

Работа с чертежами
Изначально клиент использовал чертежи компонентов в формате .cdw (КОМПАС 3D), однако API не позволял работать со слоями изображений, поэтому мы предложили переход на AutoCAD-чертежи, где эта функция доступна.
Новую графическую систему мы разработали с нуля. Для этого изучили все типы обозначений, которые использованы на чертежах, выполнили парсинг графических примитивов, реализовали перенос изображений в систему координат X/Y, которая используется в AutoCAD. Затем выполнили пересчет локальной автокадовской системы координат в экранную, учитывая масштабирование и инверсию Y. Добились корректного построения эллипсов, дуг и кривых, а также перерисовали некоторые элементы вручную. Чертежи автоматически вырезаются с фона, выравниваются и приводятся к единому формату. Мы также отказались от размещения объектов на прямоугольной сетке, реализовав карту расстановки отверстий. Для этого мы написали отдельную библиотеку, внутри которой все координаты разворачиваются относительно заданных точек на базовый угол.
Чертежи содержат все проекции компонентов изделий с многослойными уровнями. Каждый уровень определяет требования или свойства компонента: зона сверления отверстий, проверка расстояний до контактной группы элементов управления, фланец корпуса и мн. др.
Загруженные чертежи интерпретируются и по слоям отображаются в интерфейсе рабочей области программы для дальнейшего проектирования продукции. Доступно переключение между окнами и масштабированием компонентов в рабочей области. Информация со слоёв используется для определения возможностей и ограничения размещения компонентов при проектировании изделия. При наведении курсора на деталь всплывают подсказки с необходимой технической информацией.
Процесс проектирования изделия
В САПР разработана концепция, состоящая из зонально разрешающих и запрещающих монтажных элементов (кабельные вводы, клеммы, таблички и др.) на корпусе изделия по каждой проекции чертежа. Интерфейсная программа подсвечивает пользователя, когда тот попытается установить компонент в запрещенную зону. Связи, определяющие совместимость компонентов между собой, прописаны в базе данных компонентов. Для установки компонентов (кабельных вводов, заглушек, табличек и т.д.) на внешних сторонах изделия предусмотрено два режима: автоматический и ручной.
Автоматический режим редактирования — это режим установки компонентов, который берет за основу шаблоны с точками установки компонентов. Ручной режим регулирования — это режим установки компонентов, который принимается за основу зоны, разрешающие и запрещающие установку компонентов. Установка внутренних компонентов (рейки, разъемы, линии заземления), а также имеет возможность редактирования по их расположению.
Интерфейс
Основной упор был сделан на создание понятного интерфейса, который позволял бы пользователям легко перемещать компоненты из библиотеки, собирать продукты в визуализированном рабочем пространстве и автоматически формировать необходимую документацию. Система была разработана с учетом двух режимов работы: для внутреннего использования с полной базой данных и для внешних пользователей с ограниченным доступом к данным. Это обеспечивает гибкость использования систем как внутри компании, так и для взаимодействия с клиентами.

При запуске программы вы выбираете тип проектируемого изделия, после чего откроется окно сборки. В разделе «Библиотека» пользователь выбирает выбранные компоненты раздела — «Корпуса», «Кабельные вводы», «Клеммные соединения», «Элементы управления» и д.р. При выборе необходимого раздела, например «Корпус» — появляется дерево с раскрытием некоторых элементов, в которых вы подбираете компоненты для добавления в рабочую область. Раздел «Основные сведения» содержит пункты для запроса данных, которые затем относятся к стандартному образцу сформированного чертежа (согласно ЕСКД), а также дополнительные данные в технических требованиях к чертежу.
Для минимизации ошибок при проектировании реализованы алгоритмы, которые автоматически проверяют установку компонентов зоны и запрещают установку в недопустимых местах.
Мы решили адаптировать интерфейс под все версии Windows и Linux, не ограничиваясь только новыми версиями Windows, поскольку новое законодательство РФ предполагает использование Linux на промышленных производствах.

Экспорт чертежей и спецификаций
В системе экспорта доступны чертежи и спецификации на продукцию. Оформление чертежей и спецификаций соответствуют требованиям ЕСКД, ГОСТ 2.104-2006. Доступны следующие форматы экспорта: сохранение проекта в файле с собственным расширением *.velan сохранение в формате *.jpeg или *.pdf всех листов (сборочный чертеж СБ, спецификация СП) предварительно с сохранением выбора формата формата A3 или A4; экспортные спецификации в формате *.xlsx.
Результат
Система автоматически контролирует совместимость компонентов, допустимые зоны их размещения на корпусах и относительно друг друга. Интерфейс системы понятен и удобен для ряда пользователей ПК. Внедрение САПР значительно сократило временные затраты на проектирование продукции в соответствии с требованиями заказчика. В частности, снизилась требовательность со стороны инженеров конструкторского отдела, большая часть данного процесса в САПР может выполняться менеджерами компании самостоятельно. Программное обеспечение реализовано как кроссплатформенное десктопное ПО — используется OC Windows (7 и выше), а также OC Linux разных модификаций (в том числе Astra Linux).
Стек технологий
C#
AvaloniaUI
Сотрудники
Антон Воловод
Менеджер проектовАлександр Чебоксаров
C#-разработчикКсения Калганова
ДизайнерДмитрий Абт
C#-разработчик