Pull to refresh

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

Reading time5 min
Views13K
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-системах, задавать точные размеры объектов в миллиметрах. Но приноровившись, можно создавать точные модели, пригодные даже для проверки созданных посадочных площадок.
Tags:
Hubs:
Total votes 12: ↑11 and ↓1+10
Comments14

Articles