Mobile menu

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

Ari Mahpour
|  Создано: 21 Июля, 2023  |  Обновлено: 16 Сентября, 2026
At a Glance

В этой статье Ари Махпур рассказывает о том, как наиболее эффективно использовать ChatGPT для создания скриптов в Altium на языке DelphiScript.

Go Deeper with AI:
Chat GPT для скриптинга в Altium

 

К настоящему моменту у пользователей уже было несколько месяцев, чтобы познакомиться с Generative AI и, в первую очередь, с ChatGPT. В моей прошлой статье Using ChatGPT for Automated Testing я представил сервис 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, перейдите в File > New > Script > Script Project. Щелкните правой кнопкой мыши по только что созданному проекту и выберите Add New to Project > Script Unit. Это создаст новый файл .pas, который и будет вашим скриптом:





Chat GPT

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

Мы захотим сохранить его в нашем рабочем пространстве Altium 365. Сначала убедитесь, что вы сохранили проект локально. После этого снова щелкните правой кнопкой мыши по проекту и перейдите в History & Version Control > Add Project to Version Control…





Chat GPT

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

 

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

Полноценная Generative AI

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





ChatGPT

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

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





ChatGPT

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

 

Я не привожу весь код, который он для меня сгенерировал, но дальше произошло следующее: я запускал код много раз и каждый раз получал в Altium Designer ошибки вроде «Undeclared Identifier: eNet» или «Expected: in For Pin in Component. Pins Do». Все, что я делал, — это несколько раз отправлял ChatGPT эти ошибки, и на пятой попытке он сгенерировал именно тот код, который мне был нужен.

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

Помощник на базе AI

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

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

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





ChatGPT

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

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





Using ChatGPT for Altium Scripting

 

С первой попытки он выдает ошибку Undeclared Identifier:





ChatGPT

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

Я сообщил ему об этом, и он, разумеется, извинился. Затем он снова ошибся, на этот раз с ошибкой «Undeclared identifier: Name», но на третьей попытке я получил свою метку цепи именно там, где она и должна быть:





ChatGPT

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

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

Заключение

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

Об авторе

Об авторе

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

Related Technical Documentation

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

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