Как создать 3D-модель для KiCAD [al_fuhrmann al_fuhrmann] (fb2) читать постранично
[Настройки текста] [Cбросить фильтры]
al_fuhrmann Как создать 3D-модель для KiCAD
Как создать 3D-модель для KiCAD не используя платных программ. Для многих это проблема. Один чувак поставил исцеленный SolidWorks и после этого, каждый раз, когда он пытается выходить в сеть, его модем видится как «неизвестное устройство». («Тебя посодют, а ты не воруй!») Геморрой? Для большинства геморрой. Купить солид стоит немеряных бабок. Геморрой? Опять. А всего-то надо нарисовать несколько 3D корпусов радиоэлементов, — в готовых библиотеках вечно что-нибудь не так. Это охота на воробья, так зачем здесь атомная бомба?Как пример решения, возьмем простую задачу. Сделаем транзистор в корпусе TO-92:
Это задача простая и непростая — в ней есть кривые. Ноги иногда изгибают и это надо изобразить. Обычно транзисторы в таком корпусе устанавливают как «треножник», и средняя нога изгибается под посадочное место. Используем тулчейн: librecad, openscad, scadstl, wings. Пойдем по порядку. Кроме третьего пункта все есть в репозиториях линуксовых дистрибутивов (а лучше в ppa у разработчиков, ибо в репах обычно старье), но это не очень большая проблема, я скажу, где взять и как собрать.
LibreCAD
В этой программе мы нарисуем проекции тел, которые требуется выдавить. (Как пользоваться librecad можно найти на сайте программы.)Мы рисуем контуры в слое, отличном от нулевого. Тот по умолчанию, и его нельзя удалить. Я использую его только как вспомогательный, для разного рода направляющих. Также необходим слой для нанесения размеров. Размеры нужны для контроля сделанного построения. Размеры в данном случае указаны в миллиметрах, хотя обычно я использую единицу mil — тысячную долю дюйма, ибо США, ндравится это кому или нет, как и прежде, рулят в области электроники. Сделав обе проекции, сохраняем их как блоки и экспортируем в отдельные файлы dxf: я назвал их can — бочонок корпуса, и pin — вывод. Откроем оба файла и создадим из их содержимого блоки снова, так как в исходном состоянии после экспорта они разорваны. Это приведет к ошибкам при импорте в openscad и поэтому их надо снова преобразовать в блоки, а затем эти файлы можно сохранить и закрыть.
OpenSCAD
Это компилятор трехмерной графики, в нем не рисуют мышкой, а программируют. Это совсем не сложно, если правильно подойти к делу. В самом деле, транзистор в корпусе TO-92 как трехмерный графический объект состоит из четырех тел: корпуса и трех ножек квадратного сечения. Каждое из них можно получить выдавливанием плоского контура. Затем нужно сориентировать каждое тело: это композиция поворотов и параллельных переносов, — и описать это на функциональном языке программирования openscad. И все, пиздец. Разложив задачу на простые операции, переходим к делу. В OpenSCAD пишем следующее:// to-92.scad - модель корпуса TO-92 module pins() { // выводы color([0.8,0.8,0.8]) { // серебристый rotate([0,90,0]) translate([0,0,-0.25]) linear_extrude(0.5) import("pin.dxf", $fn=60); translate([-0.25-1.27,-0.25,-8]) cube([0.5,0.5,8]); translate([-0.25+1.27,-0.25,-8]) cube([0.5,0.5,8]); } } module can() { // корпус color([0.4,0.4,0.4]) { // темно-серый linear_extrude(5) import("can.dxf", $fn=60); } } pins(); // показать выводы can(); // показать корпус
Модули импортируют данные из файлов, выдавливают контуры на заданную толщину, поворачивают кривую ногу и смещают прямые выводы, которые мы выдавливаем из самого openscad. Переменная $fn определяет степень скругления дуг. Ее следует брать компромиссной, слишком много — будут тяжеловатые файлы, слишком мало — дуга будет выглядеть ломаной линией. Результат должен выглядеть как показано на следующем рисунке:
Он получается клавишей F5. Теперь нужно экспортировать результат в файлы .stl, но сделать это по раздельности, поскольку так будет легче работать с цветами в дальнейшем. Комментируем строку с вызовом модуля pins и делаем рендер клавишей F6. Остается только корпус. При этом, информация о цвете у нас исчезает. Выбираем в меню экспорта тип файла и имя: can.stl и нажимаем ОК. Повторяем ту же процедуру для модуля pins. Раскомментируем обращение к pins, а can, наоборот, закомментируем. Снова делаем рендер и экспортируем выводы в файл pins.stl Теперь можно закрыть openscad и продолжить работу с другой программой.
Последние комментарии
3 часов 52 минут назад
4 часов 9 минут назад
4 часов 30 минут назад
7 часов 11 минут назад
14 часов 35 минут назад
20 часов 19 минут назад