Как создать перечень элементов в альтиуме
Главная САПР
Altium Designer
Видео уроки Altium Designer
Как создать перечень элементов по ЕСКД в Altium Designer
В программе Altium Designer можно сформировать перечень элементов в соответствии с требованиями ГОСТ. Для этого необходимо сформировать отчет Bill Of Materials (BOM) по заранее подготовленному шаблону. Для успешного решения данной задачи нужно иметь «правильно оформленные» библиотеки.
Altium — Пранович В. 02. Cистема проектирования Altium Designer 6. Часть 2.
Перед передачей данных желательно задать параметры проекта в целом, так как от этого зависят условия передачи данных. Командой Project\Project Option открываем окно параметров проекта. Мы оставим все установки заданными по умолчанию. Однако, чувствуя себя опытным пользователем, вы можете их установить по вашим требованиям. Те изменения, которые нужно будет делать при создании сложных проектов, будут указаны в соответствующих разделах.
На вкладке Error Reporting можно задать проведение контроля на соответствующие поля и степень ошибки. Число параметров, по которым проводится проверка, очень велико, и не имеет смысла их здесь приводить. В любом случае помните, что лучший контролер — это вы сами.
На вкладке Connection Matrix аналогично задается проверка схем на целостность сигналов.
На вкладках Class Generation задаются методы образования классов NET и ROOM для компонентов на PCB.
На вкладке Comparator задаются правила нахождения различий между схемой и PCB.
На вкладке ECO Generator можно включить или отключить формирование ECO для отдельных классов отличий.
На вкладке Option задаются порядок хранения документов проекта, правила связи иерархических схем, а также функции SWAP.
На вкладке задается порядок имен NET и позиционных номеров для иерархических и сложных схем.
Вкладка Default Prints — вид документов и их наполнение при формировании отчетов и выходных файлов. Удобная вещь: когда вы подготовите уже не один документ, то сможете быстро формировать выходные файлы. Это же касается и вкладки Search Patch.
На вкладке Parameters зададим параметры, общие для всех листов проекта. Например, таким параметром является номер разработки Dec_N = EXAP.EXAMPLE.000.01 Э3. Для PCB нужна только общая часть Dec_N, и для нее вводим параметр Dec_N = EXAP.EXAMPLE.001.01. Для того чтобы общая часть передавалась в схему, проверьте, чтобы у конкретного листа схемы не был прописан собственный параметр Dec_N. Как правило, его забывают удалить при создании TITLE, и он кочует из схемы в схему. Если он есть, его следует удалить.
PCB редактор
(TU0117 Getting Started with PCB Design)
Добавим к проекту новый и сразу сохраним его под именем Example. В начале создадим заготовку проекта, которая в дальнейшем может служить Template при создании новых PCB-проектов.
Создание рамки
Создадим в слое, например, Mechanical16 рамку, идентичными методами, как и для схемы. Учтите, общие названия с рамкой из схемы могут быть автоматически переданы из проекта через его параметры. Для этого при вставке текста перед параметром ставится точка (рис. 14). Для задания рабочего поля (на весь размер выбранного нами листа) используйте команду Design\Board Shape\Redefine Board Shape. После этого его можно сохранить в качестве Template в соответствующую папку.
Рис. 14. Пример заполнения полей при оформлении титульного листа
Передача данных между схемой и PCB и создание простых проектов
Передача данных из схемного редактора в PCB производится командой Design\Update PCB…. Эта команда идентична импорту данных в редакторе PCB из Design\Import Change … из исходного проекта (рис. 15). Для передачи изменений, сделанных в схемный редактор, используется команда Design\ Update Schematic …. Пока нам понадобятся только первые две.
Рис. 15. Связь между компонентами схем проекта и PCB
Связь между компонентами схем проекта и PCB производится по уникальным номерам. В результате многократных изменений в схеме или PCB, связь между проектами может быть нарушена. Для изменения задания связи между компонентами схемы и PCB при активном используется команда Project\Component Link…. В первых двух колонках указаны компоненты схемы и PCB, связь между которыми не установлена, справа — связанные компоненты. Вы легко можете устранить связь, ввести ее вручную или автоматически, указав критерии связи по параметрам (Designator, Comment, Footprint).
Следует всегда следить за однозначностью связи, но при любой передаче данных, если отсутствует такая связь, всегда будет выдано предупреждающее сообщение.
Из схемы всегда передаются параметры Designator, Comment. Установив для параметра Comment значение, например, =ValueSCH, можно передать соответствующий параметр. Для желающих иметь одновременно не один, а несколько параметров компонента при создании Footprint следовало добавить текст, например, .Designator или .Comment указав слой и параметры шрифта. Однако рекомендуем этот прием использовать только чувствуя себя уверенным пользователем. Тем более, что большой необходимости в этом нет.
Контур будущей платы задается линиями и окружностями в одном из слоев Mechanical, область, доступная для разводки в слое Keep Out. Если они совпадают, можно ограничиться последним. Начнем с простого прямоугольного контура. Переключение между слоями производится нажатием «*» на дополнительной клавиатуре или нажатием на закладку соответствующего слоя. Если вы этого слоя не видите, включите его из окна «Контекстное меню \Option\Board layer & colors…» (рис. 16). Здесь же вы можете настроить цвета, добавить слои и т. п. После создания контура платы следует всем элементам контура установить свойство Locked, чтобы избежать случайных перемещений элементов контура.
Рис. 16. Вид окна Board layer & colors…
Перейдем теперь к компонентам. У нас платка маленькая. В ней образована одна Room под именем Example_1, совпадающим с именем листа схемы, так как мы использовали установки по умолчанию. Чтобы поместить/удалить компоненты внутрь Room, используйте команды Tools\Component Placement\Arrange Components Within Room, …\Arrange Components Outside Board. Перемещая Room, мы перемешаем и все компоненты. Нам проще переместить и изменить формы Room по размерам будущей платы, сделать для Room опцию Room Locked, а затем переместить все компоненты внутрь Room. После этого у нас все элементы стоят, как на рис. 17. Для пользователей, знакомых с любой системой проектирования плат, не составит труда получить и конечный продукт разводки.
Рис. 17. Начальное расположение элементов на Board
Отметим только ряд действий, которые придется совершить:
1. Установленный по умолчанию параметр Clearance имеет значение 0,254 мм. Это не позволит провести дорожки, например, к контактным площадкам корпуса Для изменений этого параметра используется команда Design\Rules:Electrical+Clearance, где наглядно устанавливается данный параметр. Делаем его значение равным 0,2 мм. Здесь сразу же можете ознакомиться с большим числом правил при проектировании плат. Определить их значения и есть одно из главных действий для опытных пользователей.
2. Аналогично устанавливаем параметр Design\Rules:Routing+Width (минимальное значение — 0,15 мм, по умолчанию — 0,25 мм, максимальное — 0,5 мм).
Будем считать процесс создания трассировки завершенным (рис. 18).
Рис. 18. Пример разводки
Наиболее часто используемый способ при проектировании — это возможность установки на плату одного из нескольких вариантов корпуса компонента. При этом речь не идет о выборе одного из вариантов корпуса (этот вопрос легко решаем и не вызывает затруднений), а о соответствии компонента сложному посадочному месту, включающему одновременно несколько вариантов исполнения корпуса, например для SMD элементов корпуса типоразмеров 0805 и 1206, для транзисторов — совмещение корпусов SOT23, SOT223, DPACK, для микросхем — SOIC и DIP. Остановимся на создании составного корпуса для микросхемы LM5008, включающего две разновидности MSOP8 и LLP8.
Вернемся в редактор PCB Library (TU0103 Creating Library Components) и дополнительно к существующему посадочному месту MSOP8, которое мы уже использовали, создадим LLP8. Затем создадим совмещенный корпус MSOP8_LLP8 копированием в него изображений его составляющих. Заметьте, что новый корпус будет содержать по два PAD c номером 1, по два PAD c номером 2 и так далее. В слое Top Layer командой Place\Line соединяем PAD с одинаковыми номерами. Новый компонент готов. Таким же образом можно задать сложную форму для контактной площадки, положив сверху полигон. Но при использовании полигона, если требуется освобождение его от маски, соответствующая графика должна быть прорисована отдельно, так как для полигонов, в отличие от PAD, автоматической генерации ее нет.
Теперь подключаем новый компонент в качестве текущего в схему (напрямую, или введя соответствующие изменения в Schematic Library) и обновляем К сожалению, изображение данного составного корпуса не совсем информативно, так как корпус LLP8 можно смонтировать на месте посадочного места MSOP8. Поэтому на рис. 19 показано также и составное посадочное место SOT23_SOT223_DPACK. В последнем примере PAD корпуса SOT23 выполнены полигонами и соединены линиями с PAD корпуса DPACK; PAD корпуса SOT223 совмещены.
Рис. 19. Примеры составных посадочных мест
Подготовка документации и файлов для производства
Для подготовки документации в пакете имеется развитая система их автоматического формирования. Рассмотрим только основные из них. Остальные легко осваиваются по мере надобности.
Формирование файлов для производства печатных плат
Команда File\Fabrication Output\Gerber Files используется для создания Gerber файлов.
— В окне General задаем размерность и формат формируемых файлов.
— В окне Layers задаем слои, для которых формируются выходные данные. В нашем случае (считаем, что плата однослойная) это:
– Top Layer — верхний слой;
– Top Overlay — верхний слой шелкографии (надписей);
– Keep Out Layer — контур обрезки.
— В окне Drill Drawing происходит задание отображения символов сверловки. Мы будем формировать файл сверловки отдельно.
Поэтому можно их не задавать.
— В окне Apertures — задание апертур. Ставим галочку RS274X.
— В окне Advance — размеры фотошаблонов. Оставляем по умолчанию.
При оформлении документации можно прикрепить к формируемым Gerber Files дополнительный слой, скажем, с нашей рамкой, выполненной по ГОСТу.
Команда File\Fabrication Output\\NC Drill Files используется для формирования файла сверловки.
Формирование сборочного и монтажного чертежа
Команда File\Assembly используется при формировании вспомогательных файлов для удобства монтажа печатных плат. Предварительно все слои и тип выводимой информации задаются в окне Project\ProjectOption\ Default Prints:Assembly Output: Assembly Drawing. Здесь же можно задать и вывести на печать большое количество созданных вами заготовок для документов.
Рассмотрим подробнее дополнительные изменения для удобства дальнейшей работы и соответствия требованиям технологических чертежей.
Для подготовки сборочного чертежа для монтажного участка расположение и распечатка позиционных обозначений элементов, используемых в слое Top Layer, не совсем удобна. надписи в этом слое могут иметь малый размер и при выводе на печать, при плотном монтаже они вообще могут не насены на чертеж или плату, что самое принципиальное, они могут иметь не адекватное прочтение, что вызывает некорректную сборку печатной платы. Эту проблему можно решить двумя способами:
— Первый. В редакторе PCB выделим все компоненты и установим свойства для параметра Designator — размещение (autoposition) в центре и нужный слой — и дальше готовим вариант для печати. Это самый простой и очевидный способ, но у него есть несколько недостатков. необходимо делать «откат» от произведенных действий, чтобы не изменить надписи в слое Top Layer (изображение надписей на плате не должно меняться), а про это часто забывают. надписи для удобства чтения лучше сделать максимально большими — по размеру корпуса компонента.
— Второй способ может показаться сложнее. Зато он в принципе позволяет получать независимые изображения Designator для Top Layer и другого технологического слоя, который и может использоваться при создании чертежей для монтажного участка. Более того, таким же способом можно получить и другие чертежи, например, с маркировкой элементов или их номиналами.
Для этого вернемся в редактор PCB Library (TU0103 Creating Library Components).
Здесь для всех компонентов командой Place\String ввести на слой, который будет использоваться при изготовлении чертежа для монтажного участка, например, Mechanical 1, надпись .Designator и выбрать положение шрифта и его размер в соответствии с конкретным корпусом. Будьте внимательны!
Именно точка в начале надписи означает, что данные будут передаваться из схемы Затем все компоненты следует обновить Tool\Update… в соответствии с измененной библиотекой и установить галочку Convert Special String в установках (DXP\Preferences\PCB Editor\Display). Далее останется только провести редактирование тех надписей, которым присвоены значения Designator, состоящие из длинных записей и не вписывающиеся этого в размер корпуса. При грамотном подходе эти надписи править не нужно, и для того, чтобы они были закрыты по умолчанию, для редактирования в свойстве надписи (в PCB Library) следует установить свойство Locked. На рис. 20 приведены рисунки исходного вида чертежа части платы до и после проведения указанных действий.
Рис. 20. Вывод Designator в дополнительном слое
Таким образом, можно из схемы передавать и значения любых других параметров, например, ранее введенный нами параметр MarkPCB (маркировку, нанесенную на корпус элемента). Однако, здесь есть ограничение. Для этого при создании посадочного места используется параметр Comment, а для передачи значения другого параметра из схемы на PCB используется его переопределение Comment=MarkPCB. Это удобно для поиска и определения типа смонтированных компонентов, так как на малых по размеру корпусах наносят несколько символов, по которым можно найти полное название элемента.
Формирование заготовки перечня элементов схемы и спецификации сборочного чертежа
Для этого используется команда Reports\Bill of Materials. Она доступна и из схемного редактора, и из редактора PCB. Типовые настройки показаны на рис. 21. В колонку Grouped Columns из колонки All Columns переместите параметры, по которым должно производиться группирование, при создании спецификации. В обеих этих колонках отметьте галочками те параметры, которые будут присутствовать в спецификации. В правом окошке перетаскиванием колонок создайте их порядок следования в спецификации. Внизу укажите формат сохраняемого файла. Удобно сразу подключить файл, содержащий заготовку спецификации. В этом случае вы получите практически готовый перечень элементов или спецификацию. При использовании EXCEL есть одно ограничение. Для больших проектов надписи, например в колонке Designator, могут не поместиться в ячейку EXCEL, и тогда они игнорируются. На рис. 21 выведены установки для стандартных колонок в перечне элементов.
Рис. 21. Создание перечня элементов
Формирование полного пакета выходных данных
Так как описано выше, вы можете создать указанные документы для вашего проекта. Однако каждый раз формировать и прописывать параметры формируемых документов нет необходимости. Достаточно один раз настроить их для типовых проектов и затем использовать как стандартные. Для этого введем в проект новый документ Project\Add New to Project\Output Job File. В открывшемся документе вы можете подготовить любые формируемые выходные файлы и их параметры, включая различные модификации. В том числе для схем, поддерживающих наличие различных элементов и номиналов, в зависимости от исполнения изделия. Один раз прописанный файл типа Output Job File может быть легко скопирован или добавлен к новому проекту, это дает существенное сокращение времени на подготовку выходных файлов для каждого нового проекта.
Иерархические схемы
Перейдем к одному из принципиальных отличий Altium Designer 6 от PCAD200x — это возможность построения иерархических схем и автоматический перенос трассировки идентичных блоков в PCB-проекте.
Требования к иерархическому проекту и подготовка к его созданию
Итак поставим себе задачу создать проект, включающий в себя 6 DC/DC преобразователей, схема которых нами использовалась в предыдущем проекте, на формирующие уровни питания: один на 3,3 В, четыре на 5,0 В и один на 10 В.
Как уже делали ранее, сформируем новый проект Example2. Хотя проект можно перенести и обычным копированием. Единственное необязательное требование: дайте всем файлам проекта и самому проекту другие имена, откройте его и добавьте к новому проекту переименованные документы. Откроем пока единственный лист нашей схемы и сохраним (перенесем) в новом проекте под именем Example_2_L2 и изменим в свойствах проекта общие параметры …EXAMPLE.000.01 на …EXAMPLE.000.02.
Заменим Template с первого листа рамки ГОСТа на второй. Все это не обязательные требования, а лишь следование требованиям ГОСТа.
Изменение схемы модуля
Изменим частично схему, заменив все Power Port на простые Net Label, так как все изменения в иерархии вначале мы передадим через Port. Добавим ко всем входным и выходным сигналам Port. После преобразований схема выглядит так, как показано на рис. 22.
Рис. 22. Пример схемы
Все модули питания схематично будут выглядеть одинаково, за исключением номиналов некоторых элементов схемы. На этом схему модуля можно считать завершенной.
Создание типовых иерархических схем
Создадим в проекте новый первый лист схемы Example_2_L1. Воспользуемся командой Design\Create Sheet Symbol From Sheet Or HDL. В открывшемся окне в списке листов проекта появится единственный, отличный от этого лист схемы Example_2_L2. Выбираем его и у нас появится на схеме Sheet Symbol. Изменяем значение его Designator на A1 Подключаем лист к Sheet Entry, как показано на рис. 23 и имеем законченную ссылку на модуль DC/DC для аналогового питания на 10 В.
Рис. 23. Пример Sheet Symbol
Переход в иерархии производится при нажатой клавише Ctrl на изображении Sheet Symbol, обратно тоже, но по любому из Port. При этом оба документа должны быть открыты. После этого проделайте операцию Project\Compile PCB Project, и изображение в панели Project для схем проекта будет иметь вложенный характер.
Однако это самый простой, правда, и наиболее распространенный способ применения иерархических схем. Перейдем ко второму случаю — блоку питания на 3,3 В. Он ничем не отличается от первого, за исключением номиналов резисторов R3 и R4. Ради этого нет смысла полностью перерисовывать схему. Осуществим следующие действия (AR0112 Design Concepts).
1. В уже имеющемся Sheet Symbol введем следующие параметры:V_Out=10V; R3=3.01k; R4=1.0k, означающие, что для уровня 10 В номиналы резисторов R3 и R4 имеют указанные значения. Сделаем видимым как само имя параметров, так и его значение.
Отредактируем Sheet Symbol.
2. Скопируем Sheet Symbol, изменим его параметры для условия формирования выходного напряжения 3,3 В и добавим соответствующую обвязку.
3. Перейдем на нижний уровень и в параметрах ValueSCH для резисторов R3 и R4 введем значения, соответственно, =R3 и =R4 и сделаем их видимыми, а параметр Comment невидимым. После чего следует провести компиляцию проекта, и значения из верхней схемы иерархии передадутся в нижнюю. Параметр из Sheet Symbol передается напрямую в указанный параметр конкретного компонента модуля, но через него в Comment нет. Будем надеяться, что в ближайших релизах пакета это будет устранено, что принципиально не меняет сущности этого подхода. Переключаясь между модулями A1 и А2 листа Example_2_L2, вы наглядно видите изменение номинала резистора R3, как и было задано.
Перейдем к введению в схему четырех идентичных модулей на 5 В. После копирования и введения соответствующего параметра для резисторов R3 и R4 нужно указать, что таких модулей у нас 4. Для этого в его Designator делаем запись Repeat(A,3,6), где
— надпись Repeat означает повторяющийся модуль;
— в скобочках первый символ «А» — это и есть значение Designator для модуля;
— 3,6 — первый и последний номер в повторяющейся серии.
Рис. 24. Пример схемы с несколькими одинаковыми модулями
Таким образом, мы создадим четыре идентичных модуля с позиционными номерами A3, A4, A5, A6 (рис. 24). Заметим, что линии связи, подводимые к Sheet Entry с именами In_Vcc (входной уровень питания) и GND («земля») являются общими, а Shutdown (включение питания) и Vcc_Out (выходной уровень питания) в принципе могут отличаться. На последнем и остановимся. Для этих сигналов в Sheet Entry также нужно вписать Repeat(…). Соответственно скорректируем схему: для шинных сигналов в квадратных скобочках указываем начальное и конечное значение сигнала в шине. Так как мы сами формируем имена связей и одному Sheet Entry в нашей схеме соответствуют разные связи, галочку Project\Project Sheet Enter to Name Net следует снять.
Мы сознательно остановимся на незавершенной схеме первого листа, так как принцип иерархии она все равно отображает. В общем случае по завершении нужно сделать операцию Annotate и Compile. При операции Annotate вы можете установить порядок листов при присвоении позиционных номеров, но лучше сделать это при помощи операции Tool\Number Sheets. При Compile у нас создались сообщения об ошибках Floating Power Object. Мы их игнорируем, это связано с незавершенностью схемы.
Связь иерархических проектов
(AR0123 Connectivity Design)
Итак, мы видим, что работа с иерархическими проектами удобна не только при создании схем, но и далее, при трассировке проекта в целом и блоков в отдельности.
Работа в редакторе PCB
Создаем новую заготовку PCB и передаем данные из схемы в PCB. Для этого используем команды Design\Update PCB… при активной схеме или Design\Import Change…. При постоянном внесении изменений в схеме и PCB и для полного согласования компонентов схемы и PCB следует поддерживать и отслеживать связь, используя команду Project\Component Links, доступную при активном документе PCB.
На PCB видим 6 Room. Берем любую из них и, как делали ранее, расставляем компоненты и разводим связи. Делая эти операции, вы могли воспользоваться и результатами предыдущей разводки в проекте Example. Однако сейчас на этом останавливаться не будем. У нас на PCB Designator включает имя Room. Это, с точки зрения автора, дает много ненужной информации, а главное — длинные надписи сложно затем разместить на слое TopSilk. Переключение отображения между физическими позиционными номерами (с включением дополнительной информации) и логическими (только позиционные номера на соответствующем листе схемы модуля) производится командой Design\Board Option.
Перемещаем одну из Room на поле, где и производим расстановку элементов и создание топологии в Room. C остальными поступаем проще, а именно:
— выбираем команду Design\Room\Copy Room Format, мышкой отмечаем Room, формат которого берется за основу, затем один из тех Room, куда нужно перенести формат;
— устанавливаем все галочки в параметрах для копирования формата и все Room (далее вы сможете переносить только формат расположения элементов или разводку, указать конкретные Room для переноса формата).
После выполнения команды все Room приобрели одинаковый вид. Однако возможного большего размера нашей Room, может произойти наложение Room друг на друга. Чтобы этого не произошло, необходимо побеспокоиться об этом заранее и разнести Room вручную. Однако и сейчас это можно сделать в автоматическом режиме:
— выделите все Room;
Рис. 25. Результат трассировки 6 идентичных модулей
— используя команду Design\Room\Arrange Room, расставьте выделенные Room в выбранной вами последовательности. При этом перенесутся только те объекты, которые находятся полностью внутри Room, а находящиеся за пределами (такое может быть, если Room накладывались друг на друга) останутся на месте. В последнем случае операцию …\Copy Room Format следует повторить, а остатки линий удалить. Эти функции существенно сокращают процесс трассировки сложных плат с идентичными блоками. В результате у нас получилась трассировка 6 идентичных блоков (рис. 25). Нам остается вручную произвести трассировку только тех линий связи, которые связывают между собой Room.
1. Пранович В. Система проектирования Altium Designer 6 // Технологии в электронной промышленности. 2006. № 5.
CADmaster

Использование BOM-файла для создания перечня элементов
Скачать статью в формате PDF — 1.06 Мбайт
Главная » CADmaster №6(67) 2012 » Электроника и электротехника Использование BOM-файла для создания перечня элементов
В этой статье мы расскажем о процессе формирования перечня элементов с помощью Менеджера отчетов (Report Manager), об операциях с данными и столбцами, а также об экспорте перечня элементов в шаблон Excel. В Altium Designer некоторые отчеты по компонентам, например, перечни элементов (BOM) и отчеты по перекрестным ссылкам на компоненты (Component CrossReference), можно настраивать с помощью Менеджера отчетов. Этот инструмент позволяет сортировать и группировать данные, получаемые при формировании отчета. Отчеты можно экспортировать в различных форматах, например, в виде документа Microsoft Excel или файла Adobe Acrobat PDF, а также использовать шаблоны Excel для форматирования экспортируемых данных. Отчеты также можно настраивать с помощью файла Output Job Configuration, в котором сохраняются настройки.
В этой статье мы воспользуемся Менеджером отчетов (Report Manager) для настройки перечня элементов в Редакторе принципиальных схем (Schematic Editor). Перечни элементов можно также формировать из Редактора печатных плат (PCB Editor). Для освоения этой операции следует воспользоваться одним из проектов-примеров, находящихся в папке Reference Designs внутри установочного каталога Altium Designer (например, проектом 4PortSerialInterface). Обратите внимание, что диалоговое окно Report Manager будет менять свой заголовок в зависимости от типа отчета, например, на Bill ofMaterialsforProject [имяпроекта] (PCB_документ).
Создание перечня элементов
Чтобы создать перечень элементов в Редакторе принципиальных схем, выполните следующие действия.
- Откройте нужный проект или исходные документы и из меню Reports выберите Bill ofMaterials. Откроется диалоговое окно Bill of Materials for Project [имяпроекта] (PCB_документ). Диалоговое окно поделено на две основные области — список столбцов в левой части окна и данные (содержимое таблицы) в правой части. В области данных отображается информация для каждого включенного столбца. Эта информация формируется при первом запуске отчета.
- С помощью этого диалогового окна вы можете сформировать собственный перечень элементов. К примеру, можно включить в отчет дополнительные столбцы, установив напротив каждого из них флажок Show.

Далее мы рассмотрим способы изменения формата отображения исходных данных для создания пользовательского перечня элементов.
Использование диалогового окна Report Manager
При создании перечней элементов и отчетов по перекрестным ссылкам на компоненты диалоговое окно Report Manager позволяет форматировать данные, содержащиеся в отчете. Вы можете показывать, скрывать, перемещать столбцы, сортировать и фильтровать данные в столбцах перед экспортом отчета.
Манипулирование столбцами
Левая область окна Report Manager содержит два раздела: Grouped Columns и All Columns. В разделе All Columns перечислены все столбцы, которые можно использовать в отчете. Исходные данные для этих столбцов поставляются из свойств всех компонентов документа (или исходного документа, если открыт проект), для которого создается отчет.
Показ столбцов

Чтобы показать столбец в области данных диалогового окна ReportManager, выполните следующие действия.
- Установите в списке флажок Show напротив названия показываемого столбца. Столбец появится в области данных диалогового окна. Покажите столбец Comments в области данных.
- В каждом включенном столбце отображается информация по каждому компоненту, найденному в одной или нескольких исходных принципиальных схемах, если такая информация существует. Если компонент не содержит информации по конкретному свойству, соответствующее поле будет пустым.
Группирование по столбцам

Вы можете группировать компоненты по одному или нескольким столбцам. Например, в перечне элементов можно сгруппировать компоненты по столбцу Footprint или Comment.
- В диалоговом окне Report Manager перетащите нужный столбец из раздела All Columns в раздел Grouped Columns.
- Название столбца появляется в разделе Grouped Columns, а данные обновляются в соответствии с новыми группами.
- Если это необходимо, перетащите в раздел Grouped Columns другие столбцы.

Можно организовать группы таким образом, чтобы сформировать отчет по всем компонентам CAP 2M (столбец LibRef) с одинаковыми значениями (столбец Comment) и одинаковым типом корпуса (столбец Footprint). Для этого перетащите столбцы в раздел Grouped Columns, что бы расположить их в следующем порядке: Footprint, Comment, LibRef.

Путем сортировки и фильтрации данных можно ограничить отображаемую информацию в каждом из этих столбцов.
Сортировка столбцов
Порядок отображения столбцов в области данных можно изменить в разделе All Columns или в самой области данных. Порядок отображения столбцов в разделе All Columns определяет порядок отображения столбцов в области данных до тех пор, пока вы не измените порядок непосредственно в области данных.
Чтобы изменить порядок отображения столбцов в разделе All Columns, выполните следующие операции.

- Перетащите название столбца в разделе All Columns на другую позицию списка. Перетаскивая столбцы таким образом, добейтесь необходимого порядка отображения.
- Порядок отображения столбцов в области данных обновляется. Например, если вы перетащили столбец Quantity в верхнюю позицию списка All Columns и установили флажок Show, этот столбец будет отображаться первым в области данных.
Чтобы изменить порядок отображения столбцов в самой области данных, действуйте следующим образом:
- Перетащите заголовок столбца в области данных на новое место.
- Обратите внимание, что во время перетаскивания столбца на том месте, куда он будет вставлен, появляются две зеленые стрелки.
Если вы хотите отобразить в диалоговом окне Report Manager все столбцы, включите опцию Force Columns to View.
Сортировка данных в столбцах
- Щелкните левой кнопкой мыши на заголовке столбца (подальше от значка со стрелкой вниз, который находится справа) для переключения между сортировкой по возрастанию и по убыванию.
- Порядок строк изменяется во всех столбцах, но строки будут сортироваться на основе информации столбца, на заголовке которого был выполнен щелчок левой кнопкой мыши.
Если данные не умещаются в столбце, щелкните правой кнопкой мыши и выберите Column BestFit (или нажмите CTRL+F), чтобы установить ширину каждого столбца в соответствии с самой длинной записью.
Пользовательские фильтры

Фильтры используются для отображения только заданных типов компонентов.
- Щелкните левой кнопкой мыши на значке со стрелкой вниз в правой части названия столбца, а затем либо укажите отдельные строки, либо выберите (Custom…), чтобы открыть диалоговое окно Custom AutoFilter.
- Теперь необходимо задать параметры фильтра для отображения нужных вам строк в конкретном столбце. В простом примере, представленном выше, этот фильтр будет отображать только те компоненты, параметр LibRef которых содержит буквы RES. Нажмите OK
Значок со стрелкой вниз в заголовке столбца LibRef окрашивается в синий цвет, что сигнализирует об изменении параметров отображения столбца.

Добавле ние в пе речень элементов информации из базы данных
В прошлом исходная информация для перечня элементов формировалась из свойств компонентов, размещенных в проекте. Однако это может привести к тому, что в принципиальной схеме будет храниться лишняя информация, не нужная ни для чего, кроме перечня элементов. Если же компоненты связаны с внешней базой данных, программа может извлекать информацию из этой базы напрямую.
При настройке перечня элементов в диалоговом окне Report Manager включите опцию Include Parametersfrom Database. Эта опция будет доступна, только если один или несколько компонентов в проекте связаны с внешней базой данных. Значок в в списке параметров используется для обозначения параметра, который существует во внешней базе данных для одного или нескольких компонентов.
Совет
Параметры можно брать из внешней базы данных независимо от метода подключения к этой базе — DBLink, DBLib или SVNDBLib.

Добавление в перечень элементов информации из печатной платы
Исходная информация для перечня элементов может формироваться на основе свойств компонентов печатной платы, если требуется создавать такие отчеты и для других целей — например, для формирования данных для манипуляторов, разные типы которых требуют представления данных (таких как координаты X, Y) в упорядоченных по-разному столбцах и в файлах различных форматов.

При настройке перечня элементов в диалоговом окне Report Manager включите опцию Include Parametersfrom PCB. Эта опция будет доступна, только если в файле проекта содержится PCB-документ. Значок
в списке параметров используется для обозначения параметра печатной платы, который существует для одного или нескольких компонентов в проекте. Обратите внимание, что если в проекте содержится несколько печатных плат и опция Include Parameters From PCB включена, то диалоговое окно BOM Report Options автоматически предложит выбрать печатную плату, которую необходимо включить в перечень элементов.
Экспорт отчета
Содержимое таблицы в области данных диалогового окна Report Manager можно экспортировать, нажав кнопку Export.
- Выберите формат файла из выпадающего списка. При экспорте данных с помощью функции Export поддерживаются следующие форматы файлов:
- CSV (с разделением запятой) (*.csv);
- электронная таблица Microsoft Excel (*.xls);
- Portable Document Format (*.pdf);
- текстовый файл с разделителями табуляцией (*.txt);
- web-страница (*.htm;*.html);
- электронная таблица XML (*.xml).
- Если вы хотите, чтобы экспортированный файл открылся в соответствующем приложении, например, в Microsoft Excel, сразу же после его сохранения, убедитесь, что в диалоговом окне ReportManager включена опция Open Exported.
- Если вы хотите, чтобы созданный отчет был добавлен к проекту, в диалоговом окне ReportManager включите опцию Add to Project.
- В диалоговом окне Report Manager нажмите кнопку Export, чтобы сформировать и сохранить отчет в подходящем формате.
Использование шаблонов Excel
Если вы хотите экспортировать данные в шаблон Excel или в PDF, основанный на вашем шаблоне Excel, выберите свой шаблон или один из стандартных шаблонов.
-
Если выбран формат файла Microsoft Excel Worksheet, то в группе параметров Excel Options становится доступным поле Template. Введите имя файла шаблона Excel (*.XLT) в текстовом поле вручную или нажмите кнопку «…», чтобы перейти к папке с файлом. В выпадающем списке Template содержится несколько стандартных шаблонов, поставляющихся вместе с программой.
В этой статье мы воспользуемся шаблоном BOM Default Template.XLT. Он содержится в папке Templates внутри установочного каталога программы. Можно указывать как относительный, так и абсолютный путь к файлу, используя флажок Relative Path to Template File. Подробные сведения о создании шаблонов содержатся в документации по Microsoft Excel.


Использование шаблонов Excel для создания PDF-файлов
Вы можете экспортировать перечень элементов в виде PDF-файла на основе шаблона Excel. Чтобы включить эту опцию, выберите формат файла Microsoft Excel Worksheet и выберите шаблон. Завершите процесс, создав выходной файл PDF в OutputJob Editor.
Altium Designer применяет следующие правила для определения размера электронной таблицы, которая будет напечатана в PDF:
- ячейки, находящиеся правее самого правого заголовка столбца, не включаются в выходной файл;
- ячейки, находящиеся ниже самой нижней ячейки с текстом, не включаются в файл. Исключение составляют ячейки, содержащие горизонтальные границы и/или фоновую заливку и не удаленные от основной части документа более чем на 10 пустых строк.
Включение в перечень элементов параметров документа и проекта
Параметры — универсальные признаки объектов в Altium Designer. Их можно добавлять в проект, документ, компонент и почти в любой другой объект. Параметры проекта и документа можно извлекать из проекта и включать в перечень элементов. Параметры документа содержатся в каждом компоненте, который в нем описан, а параметры проекта можно связать с предварительно заданными полями в шаблоне Excel, используя строку Field=ProjectParameterName. Примеры приведены на рисунке ниже.
- Field=PCBDataSourceFullName — полное имя источника данных печатной платы;
- Field=PCBDataSourceFileName — имя файла источника данных печатной платы.
Подробные сведения о редактировании шаблонов содержатся в документации по Microsoft Excel.
Использование файлов Output Job
Вы можете создать перечень элементов как часть файла Output Job Configuration (*.OutJob). Файл OutJob позволяет создавать выходные данные и настраивать вывод данных для сборки, изготовления, отчетов, таблиц соединений и документации. Управление файлами OutJob осуществляется в диалоговом окне OutputJob Editor. Создайте файл данного типа в активном проекте одним из двух способов:
- из меню File выберите New Output Job File;
- щелкните правой кнопкой мыши на имени проекта на панели Projects и выберите Add New to Project Output Job File из контекстного меню.
В разделе Report Outputs появляется запись Bill ofMaterials. Чтобы создать перечень элементов для всего проекта, для параметра Data Source необходимо задать значение Project. Вы также можете формировать перечни элементов по отдельным документам проекта. Щелкните левой кнопкой мыши в поле Data Source и выберите документ из выпадающего списка.

Дважды щелкните левой кнопкой мыши на пункте списка, чтобы открыть диалоговое окно Report Manager, в котором можно настроить отчет и определить необходимые опции для формата экспорта. Это то же самое окно, которое вызывается командой Reports Bill ofMaterials.
Перед экспортом перечня элементов необходимо определить, будет ли он опубликован в формате PDF или выведен на печать. Это повлияет на тип среды вывода данных (Output Medium). Создайте среду вывода данных или добавьте перечень элементов к текущей среде с учетом ваших требований. Среду вывода данных можно создать одним из следующих способов:
- путем перетаскивания выходных данных в столбец Output Media;
- путем копирования и вставки выходных данных в столбец Output Media;
- выбором опции Add New Output Medium, а затем — Print, PDF или File Generation.
Зеленый отрезок, связывающий выходные данные со средой вывода данных, наглядно демонстрирует, какие данные будут включены в каждое задание вывода данных. Одни и те же данные могут использоваться в нескольких средах вывода данных. Кроме того, вы можете создать несколько перечней элементов с различными конфигурациями с помощью нескольких сред вывода данных.

Чтобы настроить параметры вывода данных на печать или в PDF-файл, щелкните правой кнопкой мыши на среде вывода данных и выберите пункт PDFSetup, Generated Files Setup или Printer Setup.
Если вы публикуете перечень элементов в PDF-файл на основе шаблона Excel, убедитесь, что шаблон соответствует правилам, изложенным в разделе «Использование шаблонов Excel для создания PDF-файлов».
Примечание. Параметры, заданные в диалоговом окне Report Manager при создании перечня элементов по принципиальной схеме или печатной плате, хранятся в файле проекта и отличаются от параметров, заданных при создании файла OutJob.
Генератор перечней элементов по ГОСТ из отчетов BOM Altium Designer

- В Альтиуме выбираем меню Reports->Bill of Materials. Всплывает окно следующего вида:

Делаем сортировку по Description (в своих проектах я указываю название и тип элемента в данном поле, хотя, может, это не совсем верно), отображение Designator и Description. Остальные поля можно добавлять по желанию — подсчет компонентов и вывод их ведется по этим двум полям. Вывод в формате XML. - Запускаем программу GostBomCreator.exe:

Жмем «Открыть файл Altium», выбираем нужный, жмем открыть. - Получаем в результате такой вот перечень:

Смотрим, что все устраивает, жмем «Сохранить результат в Excel». - Ждем… (Приложение однопоточное, пока создается файл, в строке состояния будет написано «Выполняю»).
Создание файла идет через библиотеку Office Excel, то есть, фактически, запускается приложение, создает книгу, создает страницы, рисует таблицы, заполняет. А потом спрашивает, можно ли перезаписать файл, если таковой имеется, повторно (основное сборище магических чисел как раз здесь, кстати). - Дождались, в новом файле формата Excel 1997-2003 видим сформированные листы (первый, последующие), с нумерацией, разметкой и т.п.
Писал программу на C#, для работы требуется .NET 4.0.
Да, еще нужен шрифт «GOST type B», они используется при заполнении полей.
Выкладываю скомпилированный исполняемый файл.
Так же ссылка на гитхаб. Желающие могут посодействовать в допиливании программы до более удобоваримого состояния)
