Приветствую всех, кто заглядывает ко мне на огонёк! Приспичило тут мне добавить модель дисплея в КиКад для моего эмулятора дисковода на Ардуино. В плане тренировки решил отрисовать плату, все элементы в КиКаде нашёл, а вот дисплея на 1,3 дюйма нет. Возможно, где-то в сторонних библиотеках можно найти, но я решил пойти своим путём, а заодно разобраться, как всё это работает. Сразу говорю, я не спец, всё делаю, возможно, неправильно и через одно место.
Итак, расскажу пошагово, что, как и зачем я всё делал.
OpenSCAD
Началось с того, что я искал готовую модель для «КиКад», не нашел ничего путного, зато нашел архив с моделью дисплея в формате STL, но этот формат «КиКад» не принимает. Смотрю, а в архиве ещё есть файл SCAD, и, порывшись в интернете, понял, что это и есть основной файл модели, который создается программой OpenSCAD. Скачал, загрузил и вот что увидел:
Данная программа работает со специальным кодом, который описывает модель, очень похоже на язык программирования. Стал «методом тыка» изучать, комментируя определённые строки, выяснил, где тут что находится, и вычленил несколько нужных мне блоков, это — сама плата, экран, металлизация отверстий по краям платы и пинов. Для работы понадобятся три основные кнопки:
F5 — это предпросмотр, то есть после каких-то изменений жмём, смотрим, что получается.
F6 — это рендеринг, модель подготавливается к следующему этапу — экспорту.
F7 — это экспорт созданной после рендера модели в формат STL.
Алгоритм такой: комментирую весь код, кроме нужного участка, жму F5, смотрю, что получилось, если что-то не так, снова корректирую код. Далее жму F6 и после рендера F7.
В коде модели прямо в первой строке находится параметр, указывающий на гладкость модели, чем он выше, тем более ровная будет модель, чем меньше, тем более квадратная. Соответственно с этим меняется и размер файла. Я этот параметр чуть убавил, отверстия стали не такие круглые, но для КиКада пойдёт. Вот так выглядит модель платы ещё без рендера:
Видно, что отверстия довольно сегментированы. Осталось нажать F6 и F7, и файл готов.
FreeCad
Далее полученные STL-файлы я закинул в FreeCAD и как бы уже получил нужную мне картину. Присвоив каждому элементу свой цвет, я был «щаслив», но тут облом, STL-файлы не захотели экспортироваться в формат STEP (который мне нужен). Да и вообще в любой другой не получалось. Ошибка была в том, что FreeCAD не видел поверхности на моих моделях. Начался поиск, как устранить, и вот что нужно делать:
Выбираем инструмент «Part», далее в выпадающем меню находим и жмём параметр «Создание фигуры из полигональной сетки».
Потом в появившемся окне поставить галочку на «Сшивание фигуры», значение допуска не трогал, 0,10 по умолчанию.
После этого ищем иконку «Построитель форм». Старый элемент можно удалить, он уже будет не нужен.
В построителе форм выбрать «Твердое тело из оболочки», при этом щёлкнуть куда-нибудь на самой модели.
Далее жмём «Создать», и наша фигура преобразилась! Все промежуточные модели теперь можно удалить, а вновь созданный можно переименовать и придать ему цвет.
Для этого щёлкнуть на нём правой кнопкой мыши, выбрать «Внешний вид», далее выбрать понравившийся цвет, результат будет на экране.
Вот что у меня получилось, 10 элементов, и это ещё без пинов. С пинами ситуация следующая, их я тоже делал, там даже есть капельки припоя, причем с двух сторон. Пины идут в изначальной модели не как каждый по отдельности, а дублируются формулой из одного. И перенос сразу четырёх пинов не получился, FreeCAD отказался создавать такую разделённую модель из полигонов. Это ладно, я сделал на одном пине и размножил его уже на месте. Но у пинов ещё есть пластиковое основание, вот с ним такая штука не покатила. Как ни пытался, всё время ошибка была, и я бросил это занятие. Подумал, ведь в «Кикаде» есть модель таких пинов, и её можно применить прямо на месте.
Осталось только экспортировать все части в единую модель, как уже говорил выше, экспортирую в STEP.
KiCad
Настала пора перейти в КиКад. Загружаю свой проект, выглядит следующим образом:
Мне нужно изменить элемент J1 OLED, жмакаю на нем, потом жму «Е» и попадаю в свойства посадочного места, сверху выбираю вкладку «3D-модели»:
Далее, сначала добавляю пины, это делается иконкой папки, а свою модель добавляю через иконку «+» и потом уже выбираю свою модель. После некоторых манипуляций с позиционированием получаем готовый результат:
Не знаю почему, но надпись на посадочном месте вверх ногами, так и не смог её перевернуть. На самой плате всё нормально. Просто из-за этого сначала не той стороной поставил дисплей, так что тут надо ориентироваться на первый пин, а не на надпись.
Ну и результат:
Дисплей немного наклонил, на живом прототипе точно так же у меня.
Что ж, на этом заканчиваю. Спасибо всем, кто дочитал, оставляйте комментарии, конструктивная критика приветствуется.
Оставляю свои наработки в архиве: OLED1.3_RahostEd.zip