Владимир Морозов
программирование, схемотехника, горный туризм, картография

Модуль для построения корпуса РЭА в AutoCAD


Создание своего электронного устройства состоит из многих этапов: проектирование принципиальной схемы, отрисовка печатной платы, травление, сверление, пайка радиодеталей, настройка. Для микроконтроллерного устройства ещё нужно написать прошивку и отладить её. Но и это ещё полдела.

Потом нужно было ещё сделать корпус для устройства. Вырезать из листового материала боковины, крышку, дно. Пропилить отверстия различной формы под разъёмы, ручки, кнопки, индикаторы. Ровными рядами насверлить кучу вентиляционных отверстий. Точно совместить продольные крепёжные отверстия.

Но появился трёхмерный принтер. Теперь корпус можно начертить на компьютере и распечатать. Можно прочертить отверстия любой формы, массивы дырок под вентиляцию. Красиво утопить крепёжные элементы короба, печатной платы, экрана, радиатора.

Короб корпуса РЭА с отверстиями и креплениями
Короб корпуса РЭА с отверстиями и креплениями
Крышка корпуса РЭА с отверстиями и креплениями
Крышка корпуса РЭА с отверстиями и креплениями

Но и этого мне показалось мало. Не хочется под каждое новое устройство со своими габаритами чертить аналогичный короб, крышку и крепёжные элементы. Хочется это автоматизировать.

Для AutoCAD'а можно разрабатывать дополнительные модули на C#, реализующие новые команды этого векторного редактора. Через API можно делать практически все операции, что и в интерактивном режиме, и даже больше.

Я разработал модуль ElectronicsCase. Он реализует одноимённую команду, запрашивающую у пользователя три габаритных размера печатной платы в будущем корпусе РЭА. Модуль строит корпус с крышкой, четырьмя угловыми крепёжными элементами под саморезы, со стойками для печатной платы. Элементы чертежа раскладывает на слои. Добавляет пользовательские системы координат.

Модуль ElectronicsCase строит корпус РЭА
Модуль ElectronicsCase строит корпус РЭА

Остаётся только прочертить отверстия и крепления, уникальные для конкретного устройства.