Фильтр по тематике

Как создать прикладную программу для Altium Designer?

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

Как создать прикладную программу для Altium Designer?

Современные системы проектирования РЭА позволяют решать широкий круг задач различным категориям пользователей. Однако периодически возникает необходимость в реализации дополнительного функционала, не предусмотренного разработчиками системы. Поэтому разработчики сложных систем, включая Altium Designer, разрабатывают программные API для расширения функциональных возможностей. В Altium Designer такие модули называются Extentions.

Существует два способа создания программных модулей для Altium Designer:

  1. Altium SDK (Software Developer Kit) – модуль поставляется в виде dll, для создания используются языки программирования C++, C#, Delphi;
  2. Altium Designer API (Application Programming Interface) – поставляется в виде исходного кода на языках программирования PascalScrtipt, JScript, VBScript, Query Language.

Два представленных метода кар­динально отличаются подходом к построению прикладных программ, набором доступного функционала и принципом исполнения. 

Использование Altium SDK

Для использования SDK необходимо иметь доступ к программе разработчиков Altium DXP Developer. Доступ открывается после запроса через поставщика решений Altium. После регистрации в данной программе для разработчиков в разделе Extensions & Updates появится дополнительное расширение Altium Developer. Для установки расширения необходимо подключиться к Личному кабинету.

После установки расширения в меню File появится дополнительный раздел (см. рис. 1), с помощью которого можно создать собственный Extension и зарегистрировать его.

Для написания программы с помощью SDK необходимо использовать любое доступное средство для разработки под конкретный язык, например Borland Delphi – при использовании языка Delphi или Visual Studio – для языка C#. В каждом случае при создании собственной программы необходимо использовать SDK под конкретный язык.

На данный момент существует пять версий SDK:

  1. SDK 1.0 для Altium Designer 14.2 и выше;
  2. SDK 2.0 для Altium Designer 15 и выше;
  3. SDK 3.0 для Altium Designer 16 и выше;
  4. SDK 3.1 для Altium Designer 17 и выше;
  5. SDK 4.0 для Altium Designer 18 и выше.

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

Используя меню Extension, необходимо подключить созданный проект на любом доступном языке, задать имя будущего плагина, назначить иконку и другие параметры. Подробнее о формировании Extension можно ознакомиться на сайте Altium [1].

Итогом создания прикладной программы с помощью SDK является библиотека dll, которая встраивается в Altium Designer как обычный Extension и будет загружаться в систему при каждом запуске. Запуск программы будет зависеть от реализации проекта: это может быть кнопка в панели инструментов, отдельная панель или масштабный модуль, затрагивающий множество функциональных возможностей Altium Designer.

Использование SDK – метод, требующий хороших навыков программирования и умения разбираться в сторонних библиотеках для извлечения и использования нужных методов для реализации необходимых прикладных задач.

Менее трудоёмким процессом создания прикладных программ является использование API. 

Использование Altium Designer API

API – интерфейс для создания скриптов средствами самого Altium Designer. В отличии от SDK при этом не требуется сторонних компиляторов для формирования dll­библиотеки, не требуется создания Extension и подключения его. Для запуска и исполнения скрипта необходимо в меню File \ Run Script указать нужный проект с созданной программой и указать исполняемый файл с кодом программы.

Для создания прикладной программы (скрипта) с помощью API в Altium Designer необходимо создать проект PrjScr через меню File. Затем в данный проект необходимо вставить Script Form, и после этого можно приступать к созданию программы. Используя API, сам код и интерфейс скрипта разрабатываются средствами встроенного интерфейса (см. рис. 2). В нижней части рабочей области есть кнопки переключения между визуальной частью скрипта (Form) и исполняемым кодом (Code).

При использовании API имеется описание всех необходимых интерфейсов Altium в документации на сайте [2], там же приведены примеры использования.

Весь представленный программный интерфейс разделён на несколько разделов:

  • System API (работа с файлами);
  • Integrated Library API (работа с библиотеками);
  • FPGA API (работа с FPGA­моделями);
  • PCB API (работа с PCB­редактором);
  • Schematic API (работа со схемотехническим редактором);
  • Workspace Manager API (работа с проектами).

В каждом из разделов есть свой набор интерфейсов со своими методами.

Для создания графического интерфейса скрипта используется панель Tool Palette, в которой есть стандартные визуальные WindowsForms­примитивы для отображения в окне программы. Все объекты, вставленные в форму в редакторе кода, можно обрабатывать и по различным действиям на объекты производить определённый набор необходимых действий. После завершения написания скрипта команду его запуска можно внедрить во вновь созданную строчку меню или кнопку в панели инструментов, для этого в меню Edit Command редактирования кнопки необходимо вставить: 

Process : ScriptingSystem:RunScript
Parameters : ProjectName=[имя проекта]|ProcName=[файл кода].pas>[имя метода] 

Примеры реализации скрипта

В качестве примера приводится код скрипта на языке Delphi с использованием API и на языке С# – с использованием SDK. Программа выполняет поиск переходных отверстий на плате, координаты которых не кратны текущей координатной сетке, и накладывает на такие отверстия маску, тем самым скрывая все остальные примитивы плат. Результат выполнения скрипта представлен на рисунке 3.

Следующий пример создан на языке Delphi. Его можно повторить, используя API: создать файл viagrid.pas, внеся в него следующий код, и вызвать через меню File – Run Script: (см. Листинг 1).

Пример реализации этой же программы на языке С# с использованием SDK приведён в Листинге 2.

Оба приведённых примера доступны для общего пользования в публичном репозитории по адресу https://github.com/glavkondev

Заключение

Открытые средства для разработки прикладных программ для Altium Desinger позволяют решать любые, возникающие у пользователей подзадачи. В руках программистов данные средства могут значительно увеличить эффективность работы с системой проектирования для рядовых пользователей. Скрипты и плагины могут быть различной сложности: от обычного вывода справочной информации до сложных интеграционных систем, позволяющих обеспечить связь Altium Designer с другими внедрёнными на предприятии системами.

За всю историю развития Altium Designer инженерами­энтузиастами было написано множество прикладных программ и скриптов, решающих конкретные узконаправленные задачи. Множество из них находится в открытом доступе [3], их можно установить, модифицировать и использовать для решения любых возникающих задач. 

Литература

  1. Документация Altium DXP Developer. URL: https://www.altium.com/ru/documentation/altium­dxp­developer.
  2. Документация по Altium Designer API. URL: https://techdocs.altium.com/display/SCRT/Altium+Designer+API+Reference.
  3. Сборник скриптов для Altium Designer. URL: https://github.com/Altium­Designer­addons/scripts­libraries.

Комментарии
Рекомендуем

  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться