Руководство Eagle3D — различия между версиями
Blindman (обсуждение | вклад) (Новая: Eagle3D - программа, которая создает трехмерную модель печатной платы, разработанной с помощью программн...) |
Blindman (обсуждение | вклад) (→Визуализация) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:Eagle]] | ||
+ | [[Категория:Печатные платы]] | ||
+ | |||
Eagle3D - программа, которая создает трехмерную модель печатной платы, разработанной с помощью программного пакета Eagle. Это позволяет оценить внешний вид и взаимное расположение компонентов на плате еще на этапе проектирования. | Eagle3D - программа, которая создает трехмерную модель печатной платы, разработанной с помощью программного пакета Eagle. Это позволяет оценить внешний вид и взаимное расположение компонентов на плате еще на этапе проектирования. | ||
Строка 90: | Строка 93: | ||
== Выбор 3D-моделей компонентов == | == Выбор 3D-моделей компонентов == | ||
== Визуализация == | == Визуализация == | ||
+ | Для визуализации полученной модели используется программа PovRay. Предположим, что модель платы записана в файл board.pov. Помимо самой модели, нам потребуются библиотеки eagle3d и TrueType-шрифт arial. Первые содержатся в каталоге povray в установочном каталоге Eagle3D. Предположим, что это /usr/share/eagle3d/povray. Будем считать, что шрифт arial.ttf находится в /usr/share/fonts/webcore/. Тогда для визуализации надо ввести в терминале команду | ||
+ | |||
+ | <code>povray -I /usr/share/eagle3d/povray -I /usr/share/fonts/webcore -geometry 800x600 board.pov</code> | ||
+ | |||
+ | Естественно, нужно подставить имена каталогов, соответствующих тому, куда установлены eagle3d и arial.ttf. Под Windows вводится аналогичная команда в окне командной строки. Обратите внимание на параметр geometry - он задает размер изображения. Изображение будет записано в файл board.png. По умолчанию изображение будет создано в черновом режиме. Для получения окончательной версии изображения в более высоком качестве надо добавит к команде параметр +A0.1 - при этом файл будет создаваться дольше. | ||
+ | |||
== Создание простых моделей компонентов == | == Создание простых моделей компонентов == | ||
+ | |||
+ | Для создания новых моделей используется язык описания сцен PovRay. Здесь приводится пример его использования. Для ознакомления с языком следует обратиться на сайт [http://www.povray.org www.povray.org]. | ||
+ | |||
+ | Для примера создадим модель для ИК-датчика TSOP, устанавливаемого на плату вертикально. | ||
+ | |||
+ | Сначала создаем символ и корпус : | ||
+ | |||
+ | [[Изображение:Tsop vertical sym.png]] | ||
+ | [[Изображение:Tsop vertical pac.png]] | ||
+ | |||
+ | Будем считать, что имя корпуса - TSOP_VERTICAL. Теперь открываем файл 3dusrpac.dat, расположенный в каталоге ulp, и добавляем в конец следующую строку: | ||
+ | <code>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(::</code> | ||
+ | Нули и единички нас пока не интересуют (они задают различные параметры модели, такие как смещение, поворот, и другие). TSOP_VERTICAL в начале строки - это имя корпуса в Eagle. TSOP_VERTICAL в конце строки - имя макроса PovRay, который будет отрисовывать нашу модель. | ||
+ | |||
+ | Берем даташит, и находим чертеж корпуса. | ||
+ | |||
+ | [[Изображение:Tsop1736Dimensions.png]] | ||
+ | |||
+ | Анализируем чертеж. Выводы смоделируем в виде параллелепипедов. Корпус сделаем в виде комбинации параллелепипеда, полуцилиндра и полусферы. На самом деле, можно использовать полные сферу и цилиндр, так как часть их окажется внутри параллелепипеда. Полуцилиндр и полусфера использованы здесь для демонстрации того, как можно отсечь часть примитива. | ||
+ | |||
+ | Открываем файл user.inc, расположенный в каталоге pov, и дописываем в конце: | ||
+ | |||
+ | <pre>#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 | ||
+ | </pre> | ||
+ | |||
+ | <code>#macro TSOP_VERTICAL(value)</code> - эта строка задает имя макроса. | ||
+ | |||
+ | <code>#local leg= object {</code> - эта строка определяет локальный объект. Так как один и тот же объект (вывод) повторяется несколько раз, удобно последовательность команд для его отрисовки оформить в виде отдельного объекта. | ||
+ | |||
+ | <code>box {<-0.2,-3,-0.325>,<0.2,1,0.325> texture{col_silver}}</code> - параллелепипед с основанием 0,4x0,65 мм и высотой 4 мм (не забываем, что оси X и Z направлены параллельно поверхности платы, а ось Y - перпендикулярно), и текстурой col_silver(блестящая металлическая поверхность). | ||
+ | |||
+ | <code>union {</code> - означает объединение. Все объекты, перечисленные внутри фигурных скобок, будут рассматриваться как единое целое. | ||
+ | |||
+ | <code>object { leg translate <0,0,-3.81>}</code> - объект leg смещенный по оси Z на -3,81 мм. Повторяется 3 раза для формирования 3 выводов. | ||
+ | |||
+ | <code>box {<-2,1,-5>,<2,13.5,5> }</code> - часть корпуса в виде параллелепипеда. | ||
+ | |||
+ | <code>difference {</code> - отсечение. Будет взят первый объект в фигурных скобках (в нашем случае объединение цилиндра и сферы), и от него отсечены части, которые пересекаются с остальными обектами (в нашем случае параллелепипед). Отрисовываться будет только '''первый''' объект - остальные используются только для отсечения. | ||
+ | |||
+ | <code>cylinder {<1.05,1,0>,<1.05,10.2,0>,2.75}</code> - цилиндр. Задается 2 точками (центры оснований) и радиусом. | ||
+ | |||
+ | <code>sphere { <1.05,10.2,0>, 2.75}</code> - сфера. Задается центром и радиусом. | ||
+ | |||
+ | <code>pigment {Gray10}</code> - цвет объекта (темно-серый, почти черный). | ||
+ | |||
+ | <code>finish { metallic 0.8 }</code> - металлический блеск. | ||
+ | |||
+ | |||
+ | Если теперь визуализировать плату, на которой расположен компонент с корпусом TSOP_VERTICAL, получим следующее: | ||
+ | |||
+ | [[Изображение:TSOP Rendered.png]] | ||
+ | |||
== Модули == | == Модули == | ||
== Анимация == | == Анимация == | ||
+ | |||
+ | {{Stub-meta}} |
Текущая версия на 17:41, 15 апреля 2009
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, получим следующее:
Модули
Анимация
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. |