Использование ChatGPT для скриптов в Altium

Ari Mahpour
|  Создано: 21 Июля, 2023  |  Обновлено: 6 Июля, 2024
Chat GPT для скриптов в Altium

 

К настоящему времени люди уже несколько месяцев знакомятся с Generative AI и, наиболее известным, ChatGPT. В моей последней статье, Использование ChatGPT для автоматизированного тестирования, я представил сервис ChatGPT, показал, как с ним ознакомиться и использовать его для генерации кода для тестирования вашего оборудования. В этой статье мы рассмотрим, как наилучшим образом использовать ChatGPT для написания кода на DelphiScript для автоматизации функций в самом Altium с использованием Altium Scripting.

Начало работы

Прежде чем мы погрузимся в реализацию, важно понять, с чем мы работаем. Altium Scripting лучше всего поддерживается с использованием DelphiScript (по сравнению с другими языками). Хотя быстрый поиск в интернете дает результаты вроде "Это 2022 год — не пора ли вам начать программировать на Delphi?" и привлекательные заголовки, такие как "Язык Pascal, используемый в Delphi, является одним из самых популярных и универсальных языков программирования", я никогда не видел использования Delphi вне Altium Designer. Это не значит, что язык плохой - он просто не так широко используется, как Python, C++ и т.д. С новым языком многое предстоит изучить (особенно если вы не программист), поэтому Altium собрал множество ресурсов и даже инструментов для программирования на DelphiScript здесь. Если вы хотите глубже погрузиться в язык, эти ресурсы могут быть полезны.

Сохранение вашего проекта

Как только вы начнете работать с Altium Scripting, вы очень быстро создадите большой репозиторий скриптов, которые захотите сохранить и/или поделиться. Чтобы создать новый проект Scripting в Altium Designer, перейдите в Файл > Создать > Скрипт > Проект скрипта. Щелкните правой кнопкой мыши по только что созданному проекту и перейдите к Добавить новое в проект > Модуль скрипта. Это создаст новый файл .pas, который будет вашим скриптом:

Chat GPT

Рисунок 1: Добавление файла скрипта в существующий проект

Мы захотим сохранить это в нашем рабочем пространстве Altium 365. Сначала убедитесь, что вы сохранили проект локально. После этого щелкните правой кнопкой мыши по проекту снова и перейдите к История & Контроль версий > Добавить проект в контроль версий…

Chat GPT

Рисунок 2: Добавление проекта в рабочее пространство Altium 365

 

Следуйте подсказкам, чтобы сохранить проект в вашем рабочем пространстве Altium 365. Для получения дополнительных инструкций о том, как писать, запускать и отлаживать код на DelphiScript в Altium Designer, смотрите документацию Altium.

Полноценный генеративный ИИ

Теперь, когда мы все настроили, мы готовы погрузиться в работу. У ChatGPT есть "потенциал" полностью написать DelphiScript с начала и до конца. Я использую слово "потенциал" вместо "способность", потому что он не всегда все делает правильно. Давайте рассмотрим простой пример, когда мы просим ChatGPT сгенерировать скрипт на DelphiScript для перечисления всех сетей в моем проекте. Я начал с запроса, который, честно говоря, был очень расплывчатым:

ChatGPT

Рисунок 3: Начальный ответ ChatGPT

Он автоматически понял, что я хочу перечислить все сети из PcbDoc. На самом деле мне это было нужно из схемы, поэтому я его исправил:

ChatGPT

Рисунок 4: Одна из многих попыток ChatGPT написать правильный скрипт

 

Я не показал весь код, который он сгенерировал для меня, но после этого я запускал код несколько раз, только чтобы Altium Designer выдавал ошибки вроде "Необъявленный идентификатор: eNet" или "Ожидается: in For Pin in Component. Pins Do." Все, что я делал, - это несколько раз сообщал об этих ошибках ChatGPT, и на пятой попытке он сгенерировал код, который мне был нужен.

Что ясно, так это то, что он не идеален в генерации DelphiScript с нуля, но способен это делать. Помните об этом, прежде чем кидать клавиатуру об стену от разочарования.

Помощник ИИ

ChatGPT также может быть использован как помощник или коллега-программист. Вы можете использовать ChatGPT для анализа вашего кода, поиска ошибок или помощи в настройке конкретных функций. Мы можем взять существующий пример скрипта Altium и попросить ChatGPT адаптировать его под наши нужды.

В интернете есть ресурсы (особенно размещенные на GitHub), которые предоставляют примеры скриптов Altium. Я собираюсь использовать те, которые официально предоставлены Altium. Их можно найти здесь.

Я начинаю с примера PlaceAPort, расположенного в \DelphiScript Scripts\SCH\Sch_Scripts.PrjScr. Я дал ChatGPT очень простую задачу:

ChatGPT

ChatGPT дал мне код, который точно соответствовал этому запросу. Честно говоря, это довольно просто, если вы в какой-то мере уверенно владеете программированием. Давайте усложним задачу, требующую контекстного знания скриптов Altium.

Вот мой обновленный запрос к ChatGPT:

Использование ChatGPT для скриптов в Altium

 

С первой попытки возникает ошибка из-за Необъявленного Идентификатора:

ChatGPT

Рисунок 5: Ошибка отладчика от Altium Designer

Я сообщаю об этом, и, конечно, получаю извинения. Следующая попытка снова завершается ошибкой "Необъявленный идентификатор: Name", но с третьей попытки я получаю метку сети точно там, где она должна быть:

ChatGPT

Рисунок 6: Новая метка сети и порт, созданные модифицированными скриптами

Очевидно, что с увеличением сложности у ChatGPT меньше шансов с первой попытки правильно выполнить ваш скрипт. Я обнаружил, что с настойчивостью он в конечном итоге способен добиться правильного результата, особенно если вы немного поможете ему (предполагая, что вы понимаете генерируемый им код).

Заключение

В этой статье мы начали с введения в скрипты Altium, как создать проект и сохранить его в вашем рабочем пространстве Altium 365. Мы рассмотрели примеры с ChatGPT, где он полностью генерировал скрипты с нуля, а также модифицировал скрипты, которые мы ему предоставили. Мы продемонстрировали его возможности и то, что он не всегда справляется с задачами. Хотя он и не идеален, он определенно может служить руководством на протяжении вашего пути использования скриптов в Altium. Что наиболее важно, лучше иметь его, чем вовсе обходиться без него.

Об авторе

Об авторе

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

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.