Руководство Eagle3D

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск


Eagle3D - программа, которая создает трехмерную модель печатной платы, разработанной с помощью программного пакета Eagle. Это позволяет оценить внешний вид и взаимное расположение компонентов на плате еще на этапе проектирования.

Пример изображения платы, созданного с помощью Eagle3D

Установка

Для установки Eagle3D необходимо скачать установочные файлы со страницы [1]. Это может быть либо архив, либо установочная программа для Windows. Использование установочной программы под Windows не имеет каких-либо особенностей. При использовании архивного файла установка заключается в распаковке архива в произвольный каталог на жестком диске, с сохранением структуры подкаталогов.

Eagle3D создает трехмерную модель, для рендеринга (визуализации) которой требуется программа PovRay

Запуск

Для запуска программы необходимо открыть файл печатной платы в редакторе и выполнить команду Run в меню File. Откроется окно выбора файлов, в котором нужно открыть файл 3d41.ulp (подкаталог ulp в установочном каталоге Eagle3D). Программа будет запущена, и появится ее окно.

Eagle3DStartScreen.png

После установки параметров модели, процесс ее создания запускается нажатием кнопки Create POV-file, после этого окно Eagle3D останется открытым. При нажатии кнопки Create POV-file and Exit после создания файла окно будет закрыто.

Элементы управления

Вкладка "Global"

В группе Render находятся флажки, которые определяют, какие элементы будут включены в модель

  • Parts - компоненты
  • Wires - проводники
  • Pads_SMD - контактные площадки SMD-компонентов и площадки вокруг переходных отверстий
  • Unknown Parts - компоненты, для которых отсутствуют 3D модели. Для таких компонентов будет возможность выбрать подходящие модели из библиотеки
  • User Assigned Models - компоненты, для которых 3D модели были ранее выбраны пользователем
  • Short Pins - при выборе этого флажка выводы компонентов будут показаны обрезанными (как это делается после монтажа платы).
  • Silk Screen - шелкография
  • Polygons - полигоны. Полигоны в модели представляются в виде набора многоугольников, причем их количество находится в прямой зависимости от толщины линии, использованной при создании полигона. Чем тоньше линия и больше размер полигона - тем больше будет количество многоугольников. Очень тонкие линии могут привести к созданию огромного файла модели!
  • Holes (real) - отверстия в плате будут визуализированы
  • Holes (fast mode) - отверстия в плате будут представлены в виде черных цилинров
  • Board - визуализация материала платы
  • Surrounding - в качестве фона будет использована текстура в виде облаков
  • Cut outs - если в плате имеются вырезы (представленные в виде прямоугольников, окружностей или многоугольников в слое Dimension), они будут визуализированы.

Элементы в группе Destination file определяют файл, в который будет записана созданная модель. Можно непосревственно ввести имя файла в текстовое поле, выбрать существующий файл, нажав кнопку Browse, или установить имя файла, совпадающее с именем файла печатной платы (но с расширением .pov) при нажатии кнопки Set To Board-Path

Вкладка "Board"

  • PCB Board Thickness - толщина материала платы в миллиметрах
  • PCB Copper Thickness - толщина слоя фольги в миллиметрах
  • Real holes from (mm) - отверстия диаметром меньше этого значения будут представлены в виде черных цилиндров. Большие отверстия будут "настоящими", то есть будут видны металлизация отверстий и фон.
  • Solder Mask over VIA's up to (mm) - диаметр участка вокруг переходного отверстия, не покрытого маской
  • Rotation Angle Board X,Y,Z - углы поворота платы

Вкладка "Camera"

  • Camera position - положение камеры
  • Camera target - положение точки, в которую "смотрит" камера
  • Lens Cone angle - угол зрения камеры

При задании параметров необходимо иметь в виду следующее:

  • оси X и Z параллельны поверхности платы
  • ось Y перпендикулярна поверхности платы
  • точка (0, 0, 0) расположена в центре платы на ее поверхности

Вкладки "Light"

Параметры на этих вкладках определяют источники света. Можно задать до 4 источников.

  • Activate - "включть" источник света
  • Spot position - положение источника света
  • Spotlight - источник света является прожектором
  • Spot target - для прожектора, определяет напрвление света
  • Radius - для прожектора, угол светового пятна. Определяет конус, внутри которого свет прожектора имеет одинаковую (максимальную) интенсивность
  • Falloff - для прожектора, угол зоны освещенности. Определяет конус, внутри которого интенсивность света плавно убывает от максимума до нуля, начиная от границ светового пятна
  • No Shadows - источник света не отбрасывает теней
  • Intensity - интенсивность тени

Вкладка "Miscellaneous"

Группа These layers are used for silk screen задает номера слоев, которые определяют шелкографию. Слои с нечетными номерами переносятся на нижний слой шелкографии, с четными - на верхний.

Группа Animation задает параметры создания анимаций. TODO : добавить описание параметров и пример анимации

Вкладка "Colors"

Параметры на этой вкладке задают цвета элементов платы

  • Select color preset - выбор одного из предопределенных наборов цветов. При выборе User defined будут использованы цвета, выбранные в группе Manual selection.

Группа Manual selection

  • Board - материал платы
  • Wires - проводники
  • Pads and SMD - площадки вокруг переходных отверстий и контактные площадки SMD-компонентов
  • Holes - отверстия
  • Background - фон
  • Silk Screen - шелкография
  • Through Holes

Выбор 3D-моделей компонентов

Визуализация

Для визуализации полученной модели используется программа PovRay. Предположим, что модель платы записана в файл board.pov. Помимо самой модели, нам потребуются библиотеки eagle3d и TrueType-шрифт arial. Первые содержатся в каталоге povray в установочном каталоге Eagle3D. Предположим, что это /usr/share/eagle3d/povray. Будем считать, что шрифт arial.ttf находится в /usr/share/fonts/webcore/. Тогда для визуализации надо ввести в терминале команду

povray -I /usr/share/eagle3d/povray -I /usr/share/fonts/webcore -geometry 800x600 board.pov

Естественно, нужно подставить имена каталогов, соответствующих тому, куда установлены eagle3d и arial.ttf. Под Windows вводится аналогичная команда в окне командной строки. Обратите внимание на параметр geometry - он задает размер изображения. Изображение будет записано в файл board.png. По умолчанию изображение будет создано в черновом режиме. Для получения окончательной версии изображения в более высоком качестве надо добавит к команде параметр +A0.1 - при этом файл будет создаваться дольше.

Создание простых моделей компонентов

Для создания новых моделей используется язык описания сцен PovRay. Здесь приводится пример его использования. Для ознакомления с языком следует обратиться на сайт www.povray.org.

Для примера создадим модель для ИК-датчика TSOP, устанавливаемого на плату вертикально.

Сначала создаем символ и корпус :

Tsop vertical sym.png Tsop vertical pac.png

Будем считать, что имя корпуса - TSOP_VERTICAL. Теперь открываем файл 3dusrpac.dat, расположенный в каталоге ulp, и добавляем в конец следующую строку: TSOP_VERTICAL:0:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:TSOP_VERTICAL(:: Нули и единички нас пока не интересуют (они задают различные параметры модели, такие как смещение, поворот, и другие). TSOP_VERTICAL в начале строки - это имя корпуса в Eagle. TSOP_VERTICAL в конце строки - имя макроса PovRay, который будет отрисовывать нашу модель.

Берем даташит, и находим чертеж корпуса.

Tsop1736Dimensions.png

Анализируем чертеж. Выводы смоделируем в виде параллелепипедов. Корпус сделаем в виде комбинации параллелепипеда, полуцилиндра и полусферы. На самом деле, можно использовать полные сферу и цилиндр, так как часть их окажется внутри параллелепипеда. Полуцилиндр и полусфера использованы здесь для демонстрации того, как можно отсечь часть примитива.

Открываем файл user.inc, расположенный в каталоге pov, и дописываем в конце:

#macro TSOP_VERTICAL(value)
    #local leg = object {
        box {<-0.2,-3,-0.325>,<0.2,1,0.325> texture{col_silver}}
    }
    union {
        object { leg translate <0,0,-3.81>}
        object { leg translate <0,0,-1.27>}
        object { leg translate <0,0,3.81>}
        union {
            box {<-2,1,-5>,<2,13.5,5> }
            difference {
                union {
                    cylinder {<1.05,1,0>,<1.05,10.2,0>,2.75}
                    sphere { <1.05,10.2,0>, 2.75}
                }
                box {<0,1,-10>,<-10,15,10>}
            }
            pigment {Gray10}
            finish { metallic 0.8 }
        }
    }
#end

#macro TSOP_VERTICAL(value) - эта строка задает имя макроса.

#local leg= object { - эта строка определяет локальный объект. Так как один и тот же объект (вывод) повторяется несколько раз, удобно последовательность команд для его отрисовки оформить в виде отдельного объекта.

box {<-0.2,-3,-0.325>,<0.2,1,0.325> texture{col_silver}} - параллелепипед с основанием 0,4x0,65 мм и высотой 4 мм (не забываем, что оси X и Z направлены параллельно поверхности платы, а ось Y - перпендикулярно), и текстурой col_silver(блестящая металлическая поверхность).

union { - означает объединение. Все объекты, перечисленные внутри фигурных скобок, будут рассматриваться как единое целое.

object { leg translate <0,0,-3.81>} - объект leg смещенный по оси Z на -3,81 мм. Повторяется 3 раза для формирования 3 выводов.

box {<-2,1,-5>,<2,13.5,5> } - часть корпуса в виде параллелепипеда.

difference { - отсечение. Будет взят первый объект в фигурных скобках (в нашем случае объединение цилиндра и сферы), и от него отсечены части, которые пересекаются с остальными обектами (в нашем случае параллелепипед). Отрисовываться будет только первый объект - остальные используются только для отсечения.

cylinder {<1.05,1,0>,<1.05,10.2,0>,2.75} - цилиндр. Задается 2 точками (центры оснований) и радиусом.

sphere { <1.05,10.2,0>, 2.75} - сфера. Задается центром и радиусом.

pigment {Gray10} - цвет объекта (темно-серый, почти черный).

finish { metallic 0.8 } - металлический блеск.


Если теперь визуализировать плату, на которой расположен компонент с корпусом TSOP_VERTICAL, получим следующее:

TSOP Rendered.png

Модули

Анимация