Создание списка компонентов в Altium Designer

Как создать перечень элементов в альтиуме

Как создать перечень элементов в альтиуме

Список компонентов (BOM – Bill of Materials) в Altium Designer формируется на основе данных из схемы и библиотеки. По умолчанию система использует поля Comment, Designator, Footprint и Value, но для точного соответствия требованиям производства или заказчика часто требуется настройка. Начните с проверки параметров компонентов в редакторе схем: убедитесь, что все необходимые атрибуты заполнены, включая Manufacturer, Manufacturer Part Number и Supplier. Отсутствие этих данных приведет к ошибкам при генерации BOM или необходимости ручной правки.

Чтобы избежать дубликатов, используйте фильтрацию по полю Designator или группировку по Comment. Если компоненты с одинаковыми номиналами должны отображаться отдельно (например, резисторы 1 кОм разных производителей), добавьте в BOM столбец Supplier Part Number. Для сложных проектов с несколькими платами создайте отдельные отчеты для каждой сборки, указав в настройках Variant или Assembly.

Перед финальным экспортом проверьте BOM в режиме предварительного просмотра (Preview). Обратите внимание на сортировку: по умолчанию Altium сортирует по Designator, но для удобства закупок лучше упорядочить по Manufacturer Part Number или Footprint. Если требуется интеграция с ERP-системами, используйте скрипты на языке DelphiScript или Python для автоматического форматирования данных под специфические требования.

Настройка параметров проекта перед формированием BOM

Перед генерацией спецификации (BOM) в Altium Designer критически важно проверить и скорректировать параметры компонентов на уровне проекта. Откройте панель Properties (View → Panels → Properties) и убедитесь, что у каждого компонента заполнены поля Designator, Comment и Description. Отсутствие или некорректное заполнение этих полей приведет к ошибкам в BOM, особенно если используется автоматическая группировка по параметрам. Например, резисторы с одинаковым номиналом, но разными допусками (5%, 1%), должны иметь уникальные значения в поле Comment, иначе они объединятся в одну строку.

Настройте параметры проекта через Project → Project Options. Во вкладке Options установите Output Path для временных файлов, чтобы избежать конфликтов при генерации BOM. В разделе Error Reporting отключите проверки, не влияющие на формирование спецификации, например, «Duplicate Footprints», если это не критично для вашего проекта. Это сократит время компиляции и уменьшит количество ложных предупреждений.

Для корректной группировки компонентов в BOM используйте параметры Variant Management. Перейдите в Project → Variants и создайте варианты сборки, если проект предполагает несколько конфигураций (например, «Basic» и «Pro»). Для каждого варианта укажите, какие компоненты активны, а какие исключены. Это позволит генерировать отдельные BOM для каждой конфигурации без ручного редактирования. Убедитесь, что в свойствах компонентов (Properties → Parameters) добавлены параметры Variant с корректными значениями.

Проверьте настройки BOM Output в Project → Project Options → BOM. Здесь задаются правила группировки и сортировки. По умолчанию Altium группирует компоненты по полю Comment, но для сложных проектов лучше использовать комбинацию полей, например, Comment + Manufacturer + Manufacturer Part Number. Для этого в поле Group By введите: Comment,Manufacturer,Manufacturer Part Number. Это предотвратит объединение компонентов с одинаковыми номиналами, но от разных производителей.

Используйте параметры Parameter Sets для добавления дополнительных данных в BOM. Например, если требуется включить в спецификацию стоимость компонентов, создайте параметр Cost и заполните его для каждого компонента. Для массового редактирования выделите группу компонентов в панели SCH List (View → Panels → SCH List) и измените значения параметров сразу для всех. Это особенно полезно для проектов с сотнями однотипных элементов, таких как резисторы или конденсаторы.

Перед финальной генерацией BOM выполните компиляцию проекта (Project → Compile PCB Project) и проверьте отчеты об ошибках (Messages). Особое внимание уделите предупреждениям о «Missing Parameters» или «Duplicate Designators». Даже незначительные ошибки могут привести к некорректной группировке или пропуску компонентов в спецификации. Исправьте все критичные ошибки, прежде чем переходить к генерации.

Для проектов с импортированными библиотеками убедитесь, что все компоненты имеют уникальные Unique IDs. Проблемы с дубликатами ID могут вызвать непредсказуемое поведение при генерации BOM, особенно если компоненты были скопированы из других проектов. Проверьте уникальность ID через Tools → Convert → Reset Component Unique IDs. Это сбросит все идентификаторы и назначит новые, устранив потенциальные конфликты.

В Altium Designer поля компонентов настраиваются через панель Properties (Ctrl+W) или редактор библиотеки. Для добавления пользовательского поля выберите компонент, перейдите в раздел Parameters и нажмите Add. Укажите имя поля (например, Manufacturer_PN или Tolerance), тип данных (String, Number, Boolean) и значение. Чтобы поле отображалось в отчёте BOM, установите флажок Visible и выберите уровень видимости (Component, Footprint или Library). Для массового редактирования используйте Parameter Manager (Tools → Parameter Manager), где можно фильтровать компоненты по критериям и применять изменения ко всем выбранным элементам одновременно.

Выбор и настройка шаблона списка компонентов под требования заказчика

Шаблон списка компонентов в Altium Designer определяет структуру выходных данных: формат, сортировку, фильтрацию и дополнительные поля. По умолчанию доступны варианты для Excel, CSV и текстовых файлов, но их можно адаптировать через Reports → Bill of Materials. Ключевые параметры для настройки: Grouped Columns (объединение по значениям), Visible Columns (отображаемые столбцы) и Sorting (порядок сортировки). Например, для заказчика, требующего разделение компонентов по категориям (резисторы, конденсаторы, микросхемы), используйте группировку по полю Component Type с добавлением подитогов.

Часто заказчики запрашивают специфические поля, отсутствующие в стандартных шаблонах. Для их добавления откройте редактор шаблона (File → New → Output Job File) и в разделе BOM Configuration нажмите Edit Template. В окне редактора доступны все параметры компонентов из библиотеки Altium, включая пользовательские атрибуты (Parameter). Например, если требуется указать альтернативные поставщики, добавьте столбец с параметром Supplier2 и настройте его отображение через Column Properties → Data Source.

  • Для экспорта в ERP-системы (SAP, 1C) используйте CSV с разделителем «;» и кодировкой UTF-8. В настройках шаблона укажите Delimiter: Semicolon и Encoding: UTF-8. Исключите лишние символы (кавычки, пробелы) через Text Qualifier: None.
  • При работе с зарубежными заказчиками добавьте столбец RoHS Status и заполните его значениями «Compliant» или «Non-Compliant» через параметры компонентов. Это ускорит согласование документации.
  • Для проектов с высокими требованиями к трассировке включите поля Footprint и Layer, чтобы упростить проверку соответствия компонентов топологии платы.

После настройки шаблона сохраните его как пользовательский (Save As → Custom Template) и свяжите с проектом через Project → Project Options → Options → Outputs. Для автоматизации генерации списка добавьте задачу в Output Job File с указанием пути к шаблону и триггером на этапе сборки. Проверьте корректность данных через предварительный просмотр (Preview), особенно если используются сложные условия фильтрации, например, исключение тестовых компонентов (Parameter 'TestPoint' = False).

Фильтрация и группировка элементов в отчёте по категориям

В Altium Designer отчёт по компонентам формируется через *Bill of Materials* (BOM). Для фильтрации по категориям используйте параметр *Grouped Columns* в панели *Report Manager*. Выберите столбец с нужным атрибутом – например, *Component Type* или *Footprint* – и перетащите его в область группировки. Это автоматически объединит элементы с одинаковыми значениями, сокращая объём данных и упрощая анализ. Для уточнения результатов примените фильтры через *Filter* в верхней части окна, указав условия в формате *Parameter=Value* (например, *Manufacturer=Texas Instruments*).

При работе с большими проектами эффективна комбинация нескольких уровней группировки. Сначала сгруппируйте компоненты по *Designator*, затем добавьте второй уровень – *Value* или *Supplier Part Number*. Это позволит выявить дубликаты или несоответствия в спецификациях. Для исключения ненужных данных используйте *Exclude* в контекстном меню столбца, скрывая, например, тестовые точки (*Testpoint*) или крепёжные элементы (*Mounting Hole*).

Для динамической фильтрации в реальном времени активируйте *Live Update* в настройках BOM. Это полезно при редактировании схемы: изменения в атрибутах компонентов сразу отобразятся в отчёте. Если требуется сохранить набор фильтров для повторного использования, экспортируйте конфигурацию через *Save Template* в формате *.BomTemplate*. При импорте шаблона в другой проект все настройки группировки и фильтрации восстановятся без ручной настройки.

При экспорте отчёта в Excel или CSV учитывайте, что группировка сохраняется только в формате *.xlsx* с поддержкой структуры данных. В настройках экспорта выберите *Grouped* для передачи иерархии категорий. Для автоматизации процесса используйте скрипты на DelphiScript или JavaScript, доступные через *Scripting System* в Altium. Пример команды для группировки по *Comment* и фильтрации по *Quantity>1*:

BomDoc.GroupBy("Comment");
BomDoc.Filter("Quantity>1");

Скрипты ускоряют обработку сложных проектов с тысячами компонентов.

Оптимизируйте отчёт, исключая избыточные атрибуты. В *Column Settings* оставьте только критичные параметры: *Designator*, *Value*, *Footprint*, *Manufacturer*, *Supplier*. Удалите столбцы с системными данными (*Unique ID*, *Database Link*), если они не нужны для анализа. Для визуального разделения категорий используйте цветовую маркировку через *Conditional Formatting* в Excel после экспорта, задав правила для разных групп (например, резисторы – зелёным, конденсаторы – синим).

Экспорт списка компонентов в Excel и другие форматы с сохранением структуры

Для экспорта в Excel выберите Export → Excel и укажите путь сохранения. Altium генерирует файл с расширением .xlsx, где данные автоматически разбиваются на листы при превышении 65 536 строк (ограничение старых версий Excel). Если требуется разделить BOM по сборкам, используйте параметр Variant в настройках панели – это создаст отдельные таблицы для каждой конфигурации проекта.

При экспорте в CSV формат (Export → CSV) Altium использует разделитель, заданный в системных настройках Windows. Чтобы избежать проблем с кодировкой, выберите UTF-8 в диалоговом окне экспорта. Этот формат удобен для импорта в ERP-системы или сторонние базы данных, но не сохраняет форматирование ячеек. Для корректной обработки в Python или MATLAB добавьте в начало файла строку с заголовками столбцов.

PDF-экспорт (Export → PDF) полезен для документации, но требует предварительной настройки шаблона. В панели Bill of Materials выберите Template → Edit Template и настройте макет: добавьте логотип компании, колонтитулы с номером ревизии и датой. Убедитесь, что включен параметр Include Group Headers – это сохранит визуальную иерархию компонентов. Для многостраничных BOM используйте автоматическую нумерацию страниц.

Для интеграции с системами управления жизненным циклом изделий (PLM) экспортируйте BOM в XML (Export → XML). Altium генерирует файл с древовидной структурой, где каждый компонент представлен узлом с атрибутами. Чтобы упростить парсинг, добавьте в настройки экспорта параметр Include Schema Reference – это добавит ссылку на XSD-схему, описывающую структуру данных. Для автоматизации процесса используйте скрипты на DelphiScript или Python, вызывая метод Project.BOM.ExportToXML через API Altium.

Автоматизация обновления BOM при изменении схемы или библиотеки

Для синхронизации BOM с изменениями в библиотеках используйте *Parameter Manager*. Откройте его через *Tools → Parameter Manager* и выберите параметры, которые должны обновляться автоматически (например, *Manufacturer*, *Supplier*, *Lifecycle Status*). Нажмите *Update Parameters* и укажите источник – *From Library*. Это позволит переносить актуальные данные из библиотек компонентов в схему и, как следствие, в BOM без ручного вмешательства.

Используйте скрипты на DelphiScript или JavaScript для расширенной автоматизации. Например, скрипт может сравнивать текущий BOM с предыдущей версией, выделять изменения (добавленные/удаленные компоненты) и отправлять уведомление по электронной почте. Для этого создайте файл скрипта (*.pas или *.js) и подключите его к OutJob через *Script Output*. Пример кода для выявления изменений:

if (CurrentBOM.Count <> PreviousBOM.Count) then
ShowMessage('Количество компонентов изменилось: ' + IntToStr(CurrentBOM.Count));

Интегрируйте Altium с системами управления данными (PLM/PDM), такими как Arena Solutions или Windchill, через API. Настройте вебхуки или скрипты, которые будут запускать обновление BOM при изменении статуса компонента в библиотеке (например, переход из *Active* в *Obsolete*). Для этого используйте REST API Altium 365 или локальный Altium Server. Пример запроса для получения актуального BOM:

GET /api/projects/{projectId}/bom?format=excel

Создайте шаблон BOM с динамическими полями, которые обновляются при изменении схемы. В редакторе отчетов (*Report Manager*) добавьте вычисляемые столбцы, например, *Total Cost* (сумма *Quantity* × *Unit Price*). Для этого используйте формулы Excel или встроенные функции Altium, такие как =SUM(Fields!Quantity.Value * Fields!UnitPrice.Value). Сохраните шаблон в формате *.xltx* и подключите его к OutJob – это обеспечит единообразие отчетов и исключит ручной пересчет.

Настройте контроль версий BOM с помощью Git или SVN. Создайте отдельную ветку для отчетов и конфигурируйте OutJob на сохранение BOM в репозиторий при каждом обновлении. Используйте хуки пред-коммита для проверки изменений: например, скрипт может блокировать коммит, если в BOM обнаружены компоненты с устаревшим статусом. Это гарантирует, что все участники проекта работают с актуальной версией отчета, а история изменений хранится централизованно.

Проверка конфликтов и дубликатов в итоговом списке компонентов

Конфликты в списке компонентов возникают, когда один и тот же элемент описан с разными параметрами: например, резистор с номиналом 10 кОм в одном месте указан как «10K», а в другом – «10kΩ». Altium Designer автоматически не объединяет такие записи, что приводит к ошибкам при генерации BOM. Для выявления подобных случаев используйте инструмент Parameter Manager (Tools → Parameter Manager), который группирует компоненты по ключевым атрибутам: Designator, Comment, Value и Footprint. Отсортируйте список по столбцу Comment и вручную проверьте расхождения в формате значений.

Дубликаты чаще всего появляются при импорте библиотек или копировании схемных листов. Чтобы их обнаружить, выполните следующие шаги:

  • Откройте SCH List (View → Panels → SCH List) и выберите режим отображения Components.
  • Добавьте столбцы Library Reference и Unique ID через контекстное меню панели.
  • Отфильтруйте список по Library Reference и сравните Unique ID – одинаковые значения указывают на дубли.

Для массового удаления дубликатов используйте скрипт RemoveDuplicateComponents.PAS, доступный в репозитории Altium Script Library. Скрипт сохраняет первый экземпляр компонента и удаляет последующие, обновляя связи в проекте.

Проблемы с назначением посадочных мест (footprint) – распространённый источник конфликтов. Если в проекте один и тот же компонент (например, конденсатор 0805) привязан к разным футпринтам (0805_Cap vs. CAPC1608X90N), Altium не выдаст ошибку, но сборка платы станет невозможной. Проверьте соответствие через Footprint Manager (Tools → Footprint Manager), где отображаются все назначенные футпринты. Используйте фильтр по Library Reference и исправляйте несоответствия вручную или через массовое редактирование (Edit → Smart Edit).

Кросс-проверка с библиотеками – обязательный этап. Экспортируйте список компонентов в CSV (Reports → Bill of Materials) и сравните его с данными из Component Library. Обратите внимание на:

  1. Расхождения в обозначениях (например, «C» vs. «CAP» для конденсаторов).
  2. Отсутствие обязательных параметров, таких как Manufacturer или Manufacturer Part Number.
  3. Несоответствие футпринтов в проекте и библиотеке (проверяется через Library → Footprint).

Для автоматизации используйте утилиту Altium Vault или сторонние инструменты, например, Octopart, которые интегрируются с Altium и выявляют несоответствия в реальном времени.

Финальная проверка перед генерацией BOM включает анализ на уровне проекта. Запустите Project → Compile PCB Project и изучите сообщения в панели Messages. Ошибки типа Duplicate Designators или Missing Footprint требуют немедленного исправления. Для компонентов с одинаковыми номиналами, но разными Designator (например, R1 и R2 – оба 10 кОм), убедитесь, что они не должны быть объединены в одну позицию. В сомнительных случаях сверяйтесь с принципиальной схемой и спецификацией.

Сохраните отчёт о проверке в формате PDF или HTML (Reports → Report Project Documents) с включёнными параметрами Component Parameters и Footprint Verification. Это позволит отследить историю изменений и избежать повторных ошибок при последующих итерациях проекта. Для критичных проектов настройте Design Rules (Project → Project Options → Error Reporting), добавив правила для дубликатов Duplicate Component Designators и конфликтов футпринтов Footprint Mismatch с уровнем ошибки Fatal.

Ссылка на основную публикацию