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

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-системах, задавать точные размеры объектов в миллиметрах. Но приноровившись, можно создавать точные модели, пригодные даже для проверки созданных посадочных площадок.
Поделиться публикацией

Комментарии 14

    +1
    Не знаю, о какой версии kicad вы пишите, но по крайней мере в версии 5.0.0-rc2 с форматом step все очень хорошо — он и читается и пишется.
      0

      Да, забыл указать: KiCad версии 4.0.7 для Windows.

        0
        Вообще то официальная стабильная 4.0.7
        5 это только ночные сборки.
          0
          Вы правы… но 5 — это уже другой уровень, реально позволяет делать быстро и качественно проекты. Вообще мне именно нравится в kicad — это самый быстрый и понятный способ довести малый или даже средний проект до запуска в производство!
          Только вот жду не дождусь когда git интегрируют внутрь…
            0
            Есть много крутых дополнений к kicad'у. Но пользоваться ими бывает боязно: если плата делается не как опытный образец для себя, то я бы стал пользоваться только официальной версией. Иначе, к примеру, при передаче работы кому-нибудь другому, придётся указывать версию сборки. А то и прикладывать её вместе с архивом проекта.
              0
              Осталось дождаться релиза:)
              Кстати, Вы не на Linux случайно 5-ю версию гоняете? У неё с производительностью как?
              Сейчас при масштабировании тормозит жутко в pcbnew и схемотехнике.
                0
                да, я работаю под Linux. С производительностью все отлично! Ни разу не притормаживало…
                  0
                  Обновился до Kicad 5 на своей OpenSUSE Thumbleweed. pcbnew с отрисовкой через видеоускоритель просто летает. А вот eeschema тормозит жутко. Ещё и курсор теряет при масштабировании. Лучше не стало.
                  У Вас какой дистрибутив? Не Ubuntu случаем?
                    0
                    конечно, Ubuntu! И, кстати, у меня нет видеоускорителя. Ничего не тормозит и не глючит… Правда, памяти 16 Г (все собираюсь до 32 добрать, но никак не соберусь).
                  0
                  видео radeon? мне помогло от тормозов
                  bugs.launchpad.net/kicad/+bug/1003859
                    0
                    Пробовал уже. Не помогает (вообще всё накрылось).
                    Отключал даже видеокарту (ноутбук Lenovo) оставался один intel Core i5. Тоже обломился. Там даже на маках, встречается проблема с подтормаживанием.
                    Тут, кстати, описана:
                    kicad-pcb.org/help/known-system-related-issues
                    Кикадовцы говорили где-то, что это якобы, проблема X-сервера.
            0
            Ровно две недели назад автор FreeCAD — Yorik van Havre — опубликовал плагин импорта фрикадовских файлов для Блендера. Это снова стало возможным после перехода на третью версию Питона.
            • НЛО прилетело и опубликовало эту надпись здесь
                0
                Несколько устарела методика из статьи.
                Blender не требуется. FreeCAD сам по себе уже почти вот-вот станет стандартом де-факто для подготовки моделей для KiCAD.
                И все благодаря этим проектам:
                Аддон для FreeCAD с кучей примочек для работы и обмена моделями с KiCAD —
                github.com/easyw/kicadStepUpMod
                Репозиторий моделей компонентов —
                github.com/easyw/kicad-3d-models-in-freecad

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое