Как стать автором
Обновить

Использвание Blender и FreeCad для импорта 3D-моделей компонентов в KiCad

Время на прочтение5 мин
Количество просмотров13K
KiCad отличная программа для проектирования печатных плат, позволяющая создавать достаточно сложные проекты. Она поддерживает трёхмерную визуализацию изделия, что может быть очень полезно для нахождения ошибок в топологии или конструкции.

Есть лишь одно неудобство: KiCad не поддерживает широкораспространенный формат step. Многие производители электронных компонентов предоставляют 3D-модели своих изделий именно в этом виде. И, чтобы воспользоваться этими файлами, приходится конвертировать их в формат vrml, понимаемый KiCad’ом.

Способы конвертирования и подключения модели не совсем очевидны, особенно при использовании свободно распространяемого программного обеспечения.


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

Если Вы решили ознакомиться с приведённым ниже материалом, то смею предположить, что KiCad у Вас уже установлен и имеется некий опыт создания печатных плат. Поэтому описывать особенности создания библиотек и посадочных площадок не буду.

Для работы нам понадобятся две программы – Blender и FreeCad.

Blender мы будем использовать для подгонки и конвертации модели в формат vrml, понимаемый KiCad’ом.

А FreeCad для промежуточной конвертации step-формата в stl-формат, поскольку blender не умеет работать с первым из них.

На самом деле FreeCad может сразу преобразовать step в vrml. Но делает он это не всегда корректно: иногда преобразованный файл не читатется KiCad’ом, и зачастую подгонка по размеру и положению объекта требует достаточно много времени. Blender значительно упрощает процесс привязки 3D-модели к посадочной площадке.

Есть ещё одна особенность связанная с тем, что KiCad интерпретирует все размеры объектов в vrml-файле в дюймах. Поэтому импортированные модели без масштабирования зачастую отображаются в увеличенном виде. Заодно они еще почти всегда смещены относительно центра и не правильно повёрнуты относительно платы и посадочной площадки. Чтобы сделать отображение корректным, нужно задать масштаб и положение либо в vrml-модели, либо в настройках компонента в библиотеке KiCad. На мой взгляд, правильнее подогонять коэффициенты в vrml-файле. Готовый файл должен открываться в любой библиотеке KiCad’а без последующих преобразований.

Принцип привязки 3D-модели рассмотрим на примере не сложного разъёма фирмы Molex 505433-1071

image

Вся необходимая информация – чертёж посадочной площадки и 3D-модель имеется на сайте производителя. Скачиваем требуемую step-модель.

Для начала полученную Step-модель конвертируем в stl-формат. Для этого запускаем FreeCad и открываем файл с разъёмом.

image

Для экспорта в формат stl нам нужно выделить твердотельную модель и с помощью File->Export сохранить её в нужном нам формате.



FreeCad нам больше не понадобится, можем его закрывать, запускаем Blender.

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

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



Выделяем все три элемента можно с помощью клавиши «A» (щдно нажатие снимет выделения со всех объектов, второе – выделит все объекты на сцене). Далее с помощью клавиши «X» удаляем все не нужные объекты.



Теперь можем импортировать нашу stl-модель: File-> Import->Stl.

Если такого меню нет, то идём в File->User Preferences…->Add-ons. В поиске вбиваем stl и устанавливаем флажок напротив Import-Export STL format



После импорта некоторых моделей (как и в нашем случае), можем наблюдать абсолютно пустую сцену:



Скорее всего объект находится за пределами сцены, а в центре находится лишь точка привязки объекта. Уменьшаем масштаб и видим, что разъем в самом деле находится далеко от начала координат.



Переместим его для удобства в центр.

Нажимаем клавишу «5» (переключаем вид на изометрическую проекцию) и «1» (переключаем вид на вид спереди) на дополнительной цифровой клавиатуре.

Выделив разъем, жмём клавишы «G» (переместить) и «Z» (двигать только по оси Z). Далее перемещаем объект приблизительно в начало координат по оси Z.

Потом переходим к виду справа – нажав кнопку «3» на дополнитльной клавиатуре. И с помощью комбинации «G» + «Y» двигаем объект в начало координат по оси «Y».

И в заключении ту же самую операцию проделываем для вида сверху: клавиши «7», «G», «X».

В итоге наша модель располагается приблизительно в центре координат. Только точка её привязки находится далеко за пределами самого объекта, что нас не устраивает. Поэтому переводим 3D-курсор в начало координат с помощью комбинации «Shift» + «C» и устанавливаем эту точку, как точку привязки Edit->Set Origin->Origin to 3D Cursor:



Теперь с разъемом удобнее работать как в Blender'е так и в KiCad'е. Для того чтобы в данном случае разъём было проще импортировать в KiCad, лучше всего разместить его так, что бы начало координат находилось на его поверхности среднего контакта в его центре. Переключаясь между разными видами способом, описанным ранее, подгоняем его местоположение к необходимому.

Завершив предварительное расположение, экспортируем модель в виде vrml.
File->Export->VRML2.

Если такого меню нет, то сначала идём в File->User Preferences…->Add-ons. В поиске вбиваем vrml и устанавливаем флажок напротив Import-Export VRML2 и Import-Export Web3D X3D/VRML2 format.



Выбираем путь, куда необходимо сохранить файл, задаём имя. В поле Scale – вводим магическое число 0,393701. Дело в том, что KiCad хочет видеть все измерения в дюймах, а у нас они, хм… в условных единицах — сантиметрах. В одном сантиметре – 0,393701 дюйма.
Жмём кнопку экспорт и смотрим результат в KiCad.

Создаём новый компонент. И сразу в настройках можем привязать нашу модель:
Edit->Footprint Properties-> 3D settings -> Add 3D Shape.

Открываем просмотр 3D и видим, что наша модель успешно загрузилась



Если модель повёрнута относительно платы в каком-либо направлении, то исправляем это в Blender’e: жмём клавишу «R» – для вращения объекта, и «X», «Y» или «Z» для вращения только в одной из соответственно выбранной плоскости. Далее вбиваем угол поворота – «90», "-90" или любой другой угол, и завершаем операцию нажатием enter. Ещё раз экспортируем модель, и обновляем вид в 3D-просмотре KiCad’а.

Все действия по смещению модели удобнее производить в Blender’е. В KiCad’е все изменения нужно задавать числами в дюймах, что совсем не дружелюбно для нас, привыкших везде видеть миллиметры.

Если в Blender’е мы расположили центр координат точно под средним выводом разъема, то и соответствующий контакт мы можем расположить точно по центру нашего нового компонента.

Создав посадочную площадку можно оценить, правильно ли расположены выводы будущей микросхемы в PCB, сравнивая расположение контактных площадок с трёхмерным изображением.



В следующей статье я опишу способ создания точной модели электронного компонента в Blender для его последующего импорта в KiCad. Задача на первый взгляд простая. Но есть несколько особенностей связанных с тем, что в Blender'е нельзя, как в современных CAD-системах, задавать точные размеры объектов в миллиметрах. Но приноровившись, можно создавать точные модели, пригодные даже для проверки созданных посадочных площадок.
Теги:
Хабы:
Всего голосов 12: ↑11 и ↓1+10
Комментарии14

Публикации