Прошу прощения у читателей если таковые имеются, что я давно не писал. Так сказать не генерил контент. Но не будем об этом. В этой заметке я бы хотел зафиксировать знания о модуле FreeCAD-PCB
Времена когда мы делали модельки компонентов в wings3d с его ужасным управлением, а если и делали чем другом, то все равно приходилось сохранять через wings потому что kicad читал только wrml от wings3d. Все эти масштабирование на 2.54, они кажется в прошлом и хотя сейчас в самом kicad планируют как то переписать и пересмотреть 3D рендер и формат присоединяемых моделей
Но это уже не важно KiCAD-PCB работает отдельно.
Table of Contents
Изначально модуль назывался (да и сейчас url) eagle2freecad, ну все было понятно пользователи Eagle написали для себя конвертор и им пользуются, но это обманчивое польский разработчик потрудился на славу и теперь софт поддерживает импорт из
- Eagle (*.brd)
- Razen (*.rzp)
- FreePCB (*.fpc)
- gEDA (*.pcb)
- FidoCadJ (*.fcd)
- KiCad (*.kicad_pcb)
- IDF v2/v3
Вопрос о версии FreeCAD
Как известно, разработчики KiCAD где-то года 3 назад заговорили а потом и ввели новый формат S-exp(похоже на лисп), в результате файлы плат стали называться не .pcb а .kicad_pcb
Пересохранил имеющиеся у меня чужие проекты из старого формата в новый который FreeCAD-PCB пока не кушает, так как судя по ответу разработчика верстак пока кушает файлы только 3 версии kicad_pcb , а смена с 3 на 4-ю произошла на ревизии rev4958 2014-06-30.
Ниже я опишу как собрать kicad определенной версии, но тестирование на ревизии 4957 не сработало хотя форма платы был 3
$ bzr branch lp:kicad kicad.bzr $ cd kicad.bzr $ bzr revert -r4957 $ bzr update -r4957 All changes applied successfully. Updated to revision 4957 of branch /home/user/src/kicad.bzr $ bzr revno 5528 $ bzr version-info revision-id: jp.charras@wanadoo.fr-20140629092442-11cb79weyb0t72ms date: 2014-06-29 11:24:42 +0200 build-date: 2015-04-08 00:02:44 +0300 revno: 4957 branch-nick: kicad.bzr #Собираем $ mkdir build $ cd build $ cmake -DKICAD_TESTING_VERSION=ON ../ $ make $ sudo make install
Но в общем эксперименты пока продолжаются а вот заработало оно у меня с версией kicad r4027, все работает но увы в столь старой версии нет ни openGL ни вспомогательного роутера.
Установка
Собственно качаем последнию версию архива(не нашел репозитория автора)
7z x -o~/.FreeCAD/Mod PCB.7z
При обновлении версии FreeCAD-PCB не забудьте сохранить базу данных.
cp ~/.FreeCAD/Mod/PCB/data/database.cfg /tmp 7z x -o~/.FreeCAD/Mod PCB.7z cp /tmp/database.cfg ~/.FreeCAD/Mod/PCB/data/
Модели используемые FreeCAD-PCB должны лежать в ~/.FreeCAD/Mod/PCB/parts/ именно относительно этого пути программа ищет файлы моделей
И скачиваем два архива с моделями
7z x -o models_1.7z cp -r models_1/* ~/.FreeCAD/Mod/PCB/parts/ rm -r models_1 7z x -o models_2.7z cp -r models_2/* ~/.FreeCAD/Mod/PCB/parts/ rm -r models_2
Ещё можно добавить сборник моделей от создателей freecad
$ git clone https://github.com/yorikvanhavre/FreeCAD-library.git $ cd FreeCAD-library $ pwd /home/user/src/FreeCAD-library nano PartsLibrary.FCMacro LIBRARYPATH = "/home/user/src/FreeCAD-library" cp PartsLibrary.FCMacro ~/.FreeCAD
Импорт платы
Открываем FreeCAD , в меню Вид выбираем Рабочий стол/Workbench/Верстак -> Printed Circuit Board
Открываем в FreeCAD на PCB файл, на предлагают выбрать слои из файла которые нужно экспортировать, а также ввести толщину платы.
Теперь выберем деталь которая не добавилась на плату. В моем случае это P106, затем смотрим на свойство Package: PIN_ARRAY_5x2 ,открываем базу данных моделей Assign Models идем в раздел Goldpins и добавляем строку записи с данными что на скриншоте
Теперь о том как обновить модель. Ну во первых есть кнопка глобального обновления. С другой стороны выбрав одно из посадочных мест с этой моделью и кликнув правой клавишей можно выбрать пункт PCB-Model -> Update Model
В меню выше важно правильно указать тип EDA с которым связана запись модели иначе модель просто не добавится.
Вот например добавление совершенно новой записи в базу данных, модельку кнопки позаимствовали из запасника FreeCAD-library, как только они разрастутся можно будет соединить их с папкой parts символьной ссылкой
В конце концов мы получаем набор объектов. К сожалению нормально перемещать задавая координаты не получится,но если выделить все объекты входящие в плату то можно их перемещать например инструментом Draft — Move
Можно ещё всякое разное попробовать, теоретически в этой Верстаке можно создавть платы и экспортировать их в EDA, но по мне так кесарю — кесарево, а слесарю — слесарево.
В архиве PCB.7z находится прексрасно иллюстрируемое руководство, за что огромное спасибо автору FreeCAD-PCB!!
Осталось найти или написать модуль для роботы с проводами и FreeCAD будет готов к электромеханике. Отдельный вопрос как он потянет все то множество объектов и плат.
Добавить комментарий