Автоматизация задач проектирования с помощью сценариев
Скриптинг предоставляет мощный способ расширить ваши возможности и повысить продуктивность при работе с Altium Designer. Скрипт содержит набор инструкций (автоматизированных команд), которые интерпретируются при его выполнении в Altium Designer. Скрипты можно писать на нескольких языках, создавать для них сложные диалоги и отлаживать прямо в Altium Designer. Скрипты позволяют достигать целей проектирования при минимальном участии пользователя и с меньшим количеством нажатий клавиш и щелчков мышью.
С помощью скриптов можно автоматизировать повторяющиеся задачи и выполнять правки, недоступные существующими командами Altium Designer. Например, можно использовать скрипт для поиска и обновления реперных меток (fiducial) в документе PCB или для экспорта настраиваемого нетлиста.
Скрипты можно сохранять в скриптовом проекте или в проекте разработки. В Altium Designer доступно несколько языков для написания скриптов.
Обзор и настройка системы скриптинга
Система скриптинга Altium Designer предоставляет все инструменты и функции, необходимые для создания скриптов, автоматизирующих задачи в программе.
Скрипты можно писать для автоматизации повторяющихся задач или расширения функциональности Altium Designer. Система скриптинга состоит из двух основных частей: редактора и отладчика. Редактор скриптов, отладчик и панели скриптинга совместно помогают легко писать и отлаживать скрипты. Скрипт можно запускать напрямую из редактора скриптов или назначить его на меню, панель инструментов или горячую клавишу, чтобы применять к текущему документу — например, PCB — в любое время.
► Подробнее о системе скриптинга в Altium Designer
Создание и хранение скриптов
Скрипты Altium Designer обычно создаются и хранятся в Script project (*.PrjScr), но их можно добавлять или хранить в проекте любого типа.
Чтобы начать писать скрипты, сначала создайте новый скриптовый проект и добавьте в него файлы скриптов.
Скриптовый проект помогает управлять скриптами и может быть создан через выбор File » New » Project » Script Project в главном меню. Новый проект будет отображаться в панели Projects panel. Чтобы добавить новый скрипт в проект, щелкните правой кнопкой по имени проекта и выберите Add New to Project в контекстном меню.
При создании нового скрипта доступны два типа в зависимости от требований проекта — script units и script forms. Script units позволяют писать автономные процедуры и функции. Script forms позволяют создавать диалоги с элементами управления и обработчиками событий, а также процедурами и функциями.
► Подробнее о создании и хранении скриптов в Altium Designer
Написание скриптов
Существует ряд ключевых понятий и терминов, относящихся к написанию скриптов:
-
Processes — это командные строки, которые можно использовать для выполнения команд в скриптах.
-
Components — это визуальные объекты управления на панели Tool Palette, которые можно перетаскивать на форму скрипта для управления проектом.
-
Компонент, размещенный на форме скрипта, имеет методы, свойства и события.
-
Object Interfaces — это специальные объектные интерфейсы, которые можно использовать для извлечения и изменения данных в проектных документах из скриптов.
Язык скриптинга по умолчанию — DelphiScript (*.pas). Сам движок скриптинга написан на Embarcadero Delphi, а панель Tool Palette основана на Delphi VCL (Visual Component Library).
► Подробнее о написании скриптов в Altium Designer
Инструменты редактирования и отладки скриптов
Система скриптинга Altium Designer состоит из двух основных частей — редактора и отладчика. Редактор предлагает набор функций помощи при написании кода и инспекции, а отладчик предоставляет доступ к компонентам скрипта и средствам отладки. Инструменты редактора скриптов — ключевой ресурс при отладке.
В системе скриптинга есть набор инструментов, помогающих отлаживать скрипты. К ним относятся установка нескольких точек останова в скрипте, использование панели Watch List для мониторинга значений переменных, использование закладок для более эффективной навигации, а также функции пошагового выполнения (step into/step over) для трассировки выполнения скриптов.
► Подробнее о инструментах редактирования скриптов в Altium Designer
► Подробнее о отладке скриптов в Altium Designer
Запуск скриптов
Хотя система скриптинга Altium Designer предоставляет средства для создания сложных автоматизированных задач, получившиеся скрипты также должны быть легко доступны в процессе проектирования. Например, скрипт, созданный для выполнения сложного набора операций при редактировании PCB, должен быть доступен прямо в PCB-редакторе, чтобы его можно было запустить одним-двумя щелчками мыши.
Altium Designer обеспечивает это, позволяя назначить скрипт на process launcher, то есть на команду, которую можно привязать к меню, панели инструментов и сочетанию клавиш.
Скрипт можно выполнить командой редактора Run, когда он открыт в редакторе скриптов. Для этого скриптовый проект должен быть открыт в Altium Designer, что, например, неудобно, если скрипт нужен во время проектирования PCB. В качестве альтернативы диалог Select Item To Run (File » Run Script) позволяет указать путь к скрипту на локальном диске или в подключенном Workspace, а затем запустить нужный process. Скрипт остается загруженным в течение текущего сеанса.
Более подходящий способ доступа к часто используемому скрипту — установить проект как Global Project на странице Scripting System – Global Projects диалога Preferences. В этом случае проект автоматически загружается при запуске Altium Designer и может быть выполнен в любое время через команду File » Run Script.
► Подробнее о запуске скриптов в Altium Designer
Графические компоненты в скриптах
Визуальные компоненты форм, доступные для использования в скриптах Altium Designer, в основном происходят из Visual Component Library (VCL) компании Embarcadero — набора определенных визуальных компонентов для разработки Windows-приложений на языках Delphi и C++.
Будучи визуальной библиотекой классов, классы VCL наследуются от объекта TComponent (который сам является потомком корневого объекта TObject) в линейной иерархии объектов. Поэтому обычный компонент скрипта, например объект TButton, наследует свойства, методы и события от своих базовых объектов. В этом случае иерархия классов такова: TObject → TPersistent → TComponent → TControl → TWinControl → TButtonControl → TButton.
Обратите внимание: компоненты, наследующиеся от объекта TControl, как правило, являются визуальными компонентами (элементами управления), а распространенные компоненты, наследующиеся от TWinControl, в основном представляют собой обертки над Windows API.
При создании формы в редакторе скриптов Altium Designer доступ к компонентам осуществляется через панель Tool Palette. Формы скриптов имеют связанный файл *.DFM, который содержит сведения о конфигурации формы, расположении ее компонентов и других атрибутах; файл находится в папке-хосте скриптового проекта. Altium Designer позволяет использовать компоненты при проектировании Script forms как в DelphiScript, так и в VBScript.
► Подробнее о графических компонентах в скриптах Altium Designer
Примеры скриптов
Чтобы глубже понять общие аспекты системы скриптинга и использование объектных моделей Delphi и X2 в скриптах, рассматриваются два примерных проекта с точки зрения функциональности — копировщик контура платы и скрипт генерации нетлиста. Скрипты Board Outline Copier и Netlister разработаны с использованием объектных моделей X2, чтобы продемонстрировать возможности системы скриптинга в Altium Designer.
Это существующие скрипты, доступные в коллекции примеров скриптов. Папка Scripts внутри ZIP-файла содержит подпапки, организованные по языкам скриптинга.
Обратите внимание: широкий набор полезных скриптов можно найти в коллекции Altium Designer на GitHub.
► Подробнее о анализе примеров скриптов в Altium Designer
► Подробнее о справочнике примеров скриптов для Altium Designer
Поддержка языков скриптинга
Скрипты для Altium Designer можно писать на нескольких языках. Обратите внимание, что основным языком и наиболее часто упоминаемым в документации по скриптингу является DelphiScript, тесно связанный с Embarcadero Delphi™.
► Подробнее о поддержке языков скриптинга в Altium Designer






