Есть еще вариант - AutoIt.
Позволяет создать глобальные макросы и не ограничиваться одним окном схемы или платы.
Если использовать еще и DBX-интерфейс, то можно было бы вообще конфетки делать.
Но и как чисто замена макросов - просто замечательно.
Просто имитировать нажатие на клавиатуре, для начала.
Вот такой текст:
Код
If Not WinActive("P-CAD 2006 Schematic","") Then _
WinActivate("P-CAD 2006 Schematic","")
WinWaitActive("P-CAD 2006 Schematic","")
Send("!ug")
WinWaitActive("Utils Generate Netlist","")
Send("{ENTER}")
WinWaitActive("Netlist File","")
Send("d:\temp\sch.net")
Send("{TAB}{TAB}{ENTER}")
WinWaitActive("Подтвердить сохранение в виде","")
Send("{TAB}{ENTER}")
WinWaitActive("Utils Generate Netlist","")
Send("{TAB}{TAB}{TAB}{ENTER}")
WinActivate("P-CAD 2006 PCB","")
WinWaitActive("P-CAD 2006 PCB","")
Send("!uc")
WinWaitActive("Netlist Compare","")
Send("{ENTER}")
WinWaitActive("Netlist File","")
Send("d:\temp\sch.net")
Send("{ENTER}")
WinWaitActive("Netlist Compare","")
Send("{TAB}{TAB}{TAB}{TAB}{ENTER}")
делает следующее:
активирует окно "P-CAD 2006 Schematic", при этом программа уже должна быть запущена и открыт нужный файл sch
сохраняет в папке d:\temp файл sch.net, причем есть ограничение - папка и файл уже должны быть ранее созданы, скрипт рассчитан именно на замену имеющегося файла, иначе будет сбой
активизирует окно "P-CAD 2006 PCB", при этом программа уже должна быть запущена и открыт нужный файл pcb
открывает диалог сравнения списка связей, в нем указывает файл sch.net и останавливается, оставляя на экране результат сравнения.
Ограничений много, но после несложных действий всё работает.
Сформировал exe-шник (в программе очень понятный интерфейс), подключил его через меню Utils\Customize и назначил горячую кнопку. Причем сделал это в обоих редакторах. Теперь при открытых файлах проекта для сравнения списка связей надо лишь нажать одну кнопку в одном из редакторов.
Теперь при случае надо будет написать скрипт генерации Netlist и eco-файла с помощью NetSync.
Потом вызов Specctra организую. И так далее, по мере надобности
Жаль, конечно, что DBX не получается использовать, даже не знаю, как подступиться. Ступор какой-то. А можно всё ускорить, добавить проверку на правильность открытия файлов (чтоб были из одного каталога), вообще запускать второй редактор, если не открыт, открывать в нем файл из нужного каталога и выполнять нужные действия.
Вообще, DBX в пикаде - простор для автоматизации рутины. Но...
А вот нажатия мыши - слишком неустойчивый результат, то и дело слетают макросы. Отказался еще под ХР...