Руководство Eagle3D
Eagle3D - программа, которая создает трехмерную модель печатной платы, разработанной с помощью программного пакета Eagle. Это позволяет оценить внешний вид и взаимное расположение компонентов на плате еще на этапе проектирования.
Содержание
Установка
Для установки Eagle3D необходимо скачать установочные файлы со страницы [1]. Это может быть либо архив, либо установочная программа для Windows. Использование установочной программы под Windows не имеет каких-либо особенностей. При использовании архивного файла установка заключается в распаковке архива в произвольный каталог на жестком диске, с сохранением структуры подкаталогов.
Eagle3D создает трехмерную модель, для рендеринга (визуализации) которой требуется программа PovRay
Запуск
Для запуска программы необходимо открыть файл печатной платы в редакторе и выполнить команду Run в меню File. Откроется окно выбора файлов, в котором нужно открыть файл 3d41.ulp (подкаталог ulp в установочном каталоге Eagle3D). Программа будет запущена, и появится ее окно.
После установки параметров модели, процесс ее создания запускается нажатием кнопки 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. Теперь открываем файл 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, который будет отрисовывать нашу модель.
Берем даташит, и находим чертеж корпуса.
Анализируем чертеж. Выводы смоделируем в виде параллелепипедов. Корпус сделаем в виде комбинации параллелепипеда, полуцилиндра и полусферы. На самом деле, можно использовать полные сферу и цилиндр, так как часть их окажется внутри параллелепипеда. Полуцилиндр и полусфера использованы здесь для демонстрации того, как можно отсечь часть примитива.
Открываем файл 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, получим следующее:
Модули
Анимация
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. |