Привет, Хабр!

Меня зовут Илья, я руководитель группы инженеров по внедрению в компании ЭРЕМЕКС.

Одним из неотъемлемых этапов любого из проектов по тестированию и внедрению наших программных продуктов является этап конвертации данных из исторических систем заказчика. В этой статье я хотел бы описать один из показательных примеров импорта проекта из Altium Designer(R)  в Delta Design(ТМ), который мы проводили для нашего заказчика УП «АТОМТЕХ». Порядок и методы импорта в зависимости от используемых версий САПР или подходов к разработке могут отличаться. Тем не менее, представленный в статье вариант вы сможете использовать как список рекомендаций или инструкцию описывающую значительную часть возможных дополнительных операций, которые необходимо будет проделать помимо самой процедуры импорта/экспорта.

Процесс конвертации содержит следующие ключевые моменты:

Подготовка исходного проекта в Altium Designer.

  • Проведена верификация проекта.

Для верификации в  Altium Designer  требуется настройка в окне Error Reporting: события Missing components models, Floating net labels, Floating power objects, Nets with multiple names, Nets with only one pin переводятся в разряд Error/Fatal Error. 

В моем случае из-за особенностей проектирования Э3 некоторые объекты (выводы соединителей, ТТ) попадают в список ошибок по ERC:

Объекты схемы с ошибкой по ERC
Объекты схемы с ошибкой по ERC

С точки зрения импорта данная ситуация может быть проигнорирована. 

  • Проверка графических и электрических объектов на схеме и плате.

Также следует обратить внимание, что часть объектов Э3 могут быть выполнены не электрическими, а графическими объектами (например, групповая линия передачи цепей), что является особенностью оформления схем согласно требованиям ГОСТ в Altium Designer. В дальнейшем, после импорта, необходимо с особым вниманием отнестись к верификации этих объектов.

На плате в  Altium Designer присутствует область запрета, размещенная в multi-layer в виде region – на текущий момент такой объект корректно перенесен не будет, его необходимо отрисовать линией по периметру на keep-out слое, а после импорта – восстановить как регион запрета.

Область запрета в Altium Designer(R)
Область запрета в Altium Designer(R)
  • Синхронизация схемы с платой 

В случае если синхронизация схемы и платы критичных расхождений не выявила, проект может быть передан в полном объеме.

Формирование библиотеки на основе проекта для предварительной ее передачи в Delta Design.

Данная процедура позволяет заранее передать библиотеку, верифицировать ее после передачи, сделать «глобальной» библиотекой и уже затем осуществлять импорт проекта с привязкой к ней. Для удобства выбран формат библиотеки intlib.

Ремарка. Самый правильной маршрут импорта – предварительно подготовить и передать исходную библиотеку AD в DD, если у вас она ведется централизованно. В моем случае, так как библиотека не предоставлена, импорт был произведен с применением описанного выше подхода.

Из особенностей: полученная библиотека может содержать компоненты, не имеющие префикса позиционного обозначения, и по своей логике не вписывающиеся в формат ведения компонентной базы DD. В моем случае это Voltage Description Vertical и Led Arrow. Рекомендация: сформировать полноценные компоненты на основе УГО диодов/резисторов.

Некоторые компоненты могут иметь скрытые выводы, не подкрепленные КП в ПМ. К этим объектам после импорта необходимо отнестись с особым вниманием.

Импорт библиотеки в Delta Design.

  • Активируются опции «Рассортировать компоненты по семействам» и «Импорт 3D моделей».

Таблица соответствия семейств компонентов
Таблица соответствия семейств компонентов

Пустая строка – это мои Voltage Description Vertical и Led Arrow.

Для передачи значений основных атрибутов необходим ряд подготовительных действий: корректировка стандарта Семейства компонентов в DD либо приведение к общему виду всех атрибутов на стороне AD. В рамках текущей задачи импорта в качестве примера для компонентов типов Резистор, Конденсатор и Диод, стабилитрон добавлены соответствующие заполненным в AD параметрам атрибуты.

По результатам передачи данных в отчет помещены 4 события:
По результатам передачи данных в отчет помещены 4 события:
  • 108 – отсутствие ПМ, 

  • 156 – дублирование выводов УГО, 

  • 355 и 356 - вызваны использованием скрытых выводов в УГО, устранены вручную после импорта.

Библиотека импортирована с разнесением компонентов по каталогу согласно принадлежности к семействам в формате «как было в AD». При необходимости можно объединить однотипные компоненты в радиодетали одного элемента. Проделать это можно либо вручную после импорта, либо, предварительно сформировав таблицу компонентов на стороне AD, импортировать ее в DD в состав радиодеталей отдельного компонента.

  • После импорта библиотек проделано следующее:

УГО резисторов неверно передается и требуют корректировки. Подобное поведение связано, в первую очередь, с шагом сетки 100 мил и нулевой длиной выводов – при пересчете на сетку 2.5 произошла модификация графики. Устраняется такое вручную. В дальнейшем рекомендуется подобные резисторы импортировать в виде таблицы радиодеталей, тогда УГО может быть использовано готовое из «Стандартов» Delta Design и будет общим для однотипных компонентов.

УГО резистора после импорта
УГО резистора после импорта

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

Импорт проекта в Delta Design.

Предварительный рекомендуемый шаг – сформировать в стандартах системы необходимые классы слоев, соответствующие используемым опорным (экранным) слоям, а также вспомогательным механическим слоям. В моем примере имеющиеся в исходнике слои:

  • M1 и M2 – 3D модели компонентов.

  • M5 и M6 – сборочные слои.

  • M11 и M12 – вспомогательные слои.

Меню "Классы слоев" в Delta Design
Меню "Классы слоев" в Delta Design

Такой подход облегчает читаемость платы и позволяет максимально приблизить результат импорта к исходнику.

  • На первом шаге мастера импорта следует отключить импорт вспомогательных плат мультизаготовки. При необходимости подобная заготовка может быть сформирована отдельно на основе проекта ПУ в системе DeltaCAM (наш аналог CAM350) 

Выбор файлов для импорта
Выбор файлов для импорта
  • На втором шаге система проводит анализ импортируемого проекта и формирует список найденных ошибок и предупреждений. В текущем проекте в раздел предупреждений попадают события типа:

Список предупреждений по результатам анализа
Список предупреждений по результатам анализа

Для импорта эти события ошибками не являются, т.к. подобным образом DD реагирует на составные (многосекционные) компоненты.

  • На третьем шаге необходимо установить соответствие семейств компонентов проекта с семействами DD – настраивается аналогично соответствующему шагу мастера импорта библиотек.

  • Четвертый шаг – необходимо выбрать формат импорта компонентов проекта – в виде отдельной (локальной) библиотеки либо же с установкой соответствия с уже имеющейся библиотекой. После выбора имеющейся библиотеки система снова сигнализирует об ошибках в компоненте:

Окно сопоставления компонентов
Окно сопоставления компонентов

Остальные элементы библиотеки найдены автоматически, т.к. наименования не менялись. В случае корректировки наименований (либо объединения радиодеталей в один компонент) соответствия можно установить вручную.

  • Пятый, заключительный шаг – установка соответствия между механическими слоями AD и документирующими слоями DD. 

Работа после импорта

Необходимо восстановить область запрета объектом типа Регион.

Регион запрета в Delta Design
Регион запрета в Delta Design

Области металлизации повторяют форму внешней границы полигонов, однако залиты без применения правил заливки. Эти настройки необходимо перенести вручную в раздел Стили металлизации DD. Пример для области металлизации слоя питания Int2 приведен ниже.

Настройка правил заливки в Altium Designer
Настройка правил заливки в Altium Designer
Настройка правил заливки в Delta Design
Настройка правил заливки в Delta Design

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

Исходный вариант платы в Altium Desogner
Исходный вариант платы в Altium Desogner
Результат после заливки металлизации в Delta Design
Результат после заливки металлизации в Delta Design

Из изображений видно, что области металлизации не соответствуют оригиналу в части отступов (зазоров) до других цепей. Для устранения необходимо перенести в DD используемые в AD правила проектирования, т.к. на текущий момент автоматического импорта не предусмотрено.

Меню DRC в Altium Designer
Меню DRC в Altium Designer

Также важно сформировать правило запрета размещения металлизации при ее заливке в областях запретов (Регион в DD).

После перезаливки областей металлизации плата приобретает следующий вид:

Результат с учетом применения правил проектирования
Результат с учетом применения правил проектирования

Области металлизации не на 100% идентичны исходной меди, но с высокой степенью ей подобны.

Проект содержит варианты исполнения. В актуальной версии DD 4.2 исполнения реализованы на уровне схемы и КД, однако перенос при импорте пока не реализован, поэтому таблицу Variants необходимо перенести вручную в интерфейс свойств проекта DD.

Таблица вариантов в Altium Designer
Таблица вариантов в Altium Designer
Таблица вариантов в Delta Design
Таблица вариантов в Delta Design
 Визуализация одного из вариантов в Altium Designer
Визуализация одного из вариантов в Altium Designer
 Визуализация одного из вариантов в Delta Design
Визуализация одного из вариантов в Delta Design

Отчеты и сборочный чертеж ПП для проекта после импорта можно сформировать в автоматизированном режиме при помощи мастера создания КД.

Заключение

Практический опыт внедрения и миграции данных между любыми САПР показывает, что идеального, полностью автоматизированного переноса «в один клик» не существует.

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

Наша задача как вендора и внедренцев в этом случае заключается не в обещании 100% автоматизации, а, скорее, в максимальном сокращении объема таких ручных операций.

Наша команда как разработчик/интегратор видит своей задачей именно такую работу: не просто предоставить инструмент, а стать вашим технологическим партнёром. Мы готовы предложить комплексный подход — от глубокого анализа ваших задач и процессов до полного сопровождения проекта внедрения, включая в том числе и доработки нашей САПР. 

Давайте обсудим, как мы можем оптимизировать и автоматизировать именно ваш рабочий процесс.

Комментарии (12)


  1. Arhammon
    01.07.2026 03:21

    И опять чудо-юдо без пользовательской версии? Чтоб инженеры пользовались kikad, easyeda, а у конторы была никому, кроме отдела К, не нужная лицензия?


    1. IlyaSkvortsov Автор
      01.07.2026 03:21

      Спасибо, справедливое замечание! Наши инженеры кстати тоже с ностальгией вздыхают о возможность заказать плату в easyeda/jlcpcb, как говорится, не отходя от САПР. Но этот отдел К обычно так убедительно хлопает глазками, что очень сложно удержаться и не поставить лицензии :)

      Шучу конечно, а если серьезно, мы стараемся работать активно, чтобы угодить всем, особенно по части функционала системы. И в первую очередь это всегда касается инженеров на рабочих местах.


  1. Karlson_rwa
    01.07.2026 03:21

    А можете разницу после всех манипуляций гербером показать? Это будет нагляднее картинок.

    И из чего сейчас поддерживается импорт?


    1. IlyaSkvortsov Автор
      01.07.2026 03:21

      Добрый день! Тут в статье, по условиям работы с коллегами-авторами проекта в altium, я не могу публиковать файлы проекта. Но если пришлете свой - можем показать :)

      Сейчас кроме AD импорт поддерживается еще и из P-CAD и Mentor PADS


      1. Karlson_rwa
        01.07.2026 03:21

        Я не работаю в альтиуме, к счастью. А с герберами, может сделаете вычитание преобразованного из оригинала, например, и покажете разницу?

        Аллегро не планируете добавлять?

        Ментор весь поддерживается или есть ограничения?

        Альтиум, кстати, надо в аски пересохранять, из бинаря не втащить?


        1. IlyaSkvortsov Автор
          01.07.2026 03:21

          По вопросам

          Аллегро и Ментор экспедишн не поддерживаем, но планируем поддержать на уровне библиотек.

          Альтиум поддерживаем все форматы. Пересохронять не нужно


          1. Karlson_rwa
            01.07.2026 03:21

            Вы же в курсе, что не поддерживая аллегро и ментор вы отсекаете 90% референсов сложных плат?

            Хорошо, а импорт герберов, odb++ или ipc2351 есть?


            1. IlyaSkvortsov Автор
              01.07.2026 03:21

              Мы понимаем конечно, но если смотреть на рынок в РФ подавляющее большинство разработчиков (по нашей статистике) используют AD.
              Есть еще технические трудности: у вышеупомянутого ПО проприетарные форматы данных + для процедуры импорта необходимо иметь лицензию на САПР на ПК, где ты этот импорт делаешь.

              Поэтому пока для проектов внедрения там где это требуется используем импорт ментор-альтиум-ДД

              Импорт герберов, odb++ или ipc-d-356a(b) есть в DeltaCAM - это наш аналог CAM350. В ДД - экспорт.


              1. Karlson_rwa
                01.07.2026 03:21

                в РФ подавляющее большинство разработчиков (по нашей статистике) используют AD

                В котором импорт как раз есть

                для процедуры импорта необходимо иметь лицензию на САПР на ПК, где ты этот импорт делаешь

                Вы ж понимаете, йо-хо-хо!

                используем импорт ментор-альтиум-ДД

                Мда, понятно. Это работает? Вы проверяли?

                Импорт герберов, odb++ или ipc-d-356a(b) есть в DeltaCAM

                Так а в DD можно герберы втянуть? Хоть графикой какой-нибудь. Или предложите через dxf втягивать и перерисовывать?


                1. IlyaSkvortsov Автор
                  01.07.2026 03:21

                  Мда, понятно. Это работает? Вы проверяли?

                  Проверяли, работает. Но танцев будет много. Поэтому и ведем работу по методу Йо-хо-хо, но пока инструменты не готовы увы.

                  Так а в DD можно герберы втянуть? Хоть графикой какой-нибудь. Или предложите через dxf втягивать и перерисовывать?

                  А какую задачу нужно решить? Если корректировать гербер готового проекта - лучше уже делать это в каме. Если стащить готовую топологию - импортнуть dxf на проводящий слой, перерисовывать не нужно.


  1. IlyaSkvortsov Автор
    01.07.2026 03:21

    Вот сделали сравнение на примере верхнего проводящего слоя.


    1. IlyaSkvortsov Автор
      01.07.2026 03:21

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

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