Используем Altium 9, заплюхался со скриптами уже, кто разбирается, прошу помочь.
Стоит задача синхронизации компонентов между разработчиками и сервером. Компоненты хранятся в виде DBLib, *.SCHLib, *.PCBLib, MySQL. Идея в том, что разработчики создают компоненты и запускают скрипт, который ищет созданные, пишет в отдельный SCHLib(PCBLib) и отправляет на сервер. Новые компоненты на сервере будут проверяться и записываться в базу MySQL.
Имеется "TR0126 DXP RTL Reference.pdf", конечно, некоторые моменты проясняет, но толку мало.
Сейчас пытаюсь синхронизировать хотя бы футпринты, могу получить список футпринтов в библиотеке PCBLib, могу создать новую библиотеку, но, хоть убейте, не могу скопировать их!
Есть такая конструкция
Код
CurrentLib.RegisterComponent(NewPCBLibComp);
но это для вновь созданного компонента, если я туда засуну компонент полученный из другой библиотеки (уже зарегистрированный), то у Альтиума происходит когнитивный диссонанс и выпадение в осадок )) Чего нибудь типа CopyTo или CopyFrom я не нашел.Пробывал с момощью комманд серверу, аналог ручного копирования через контекстное меню
Код
ResetParameters;
RunProcess('PCB:CopyComponent');
переключиться на другую библиотеку
ResetParameters;
RunProcess('PCB:PasteComponent');
но у меня не получается переключаться между библиотеками.RunProcess('PCB:CopyComponent');
переключиться на другую библиотеку
ResetParameters;
RunProcess('PCB:PasteComponent');
Это первая проблема.
Есть еще одна, в возможности решения которой средствами скриптов я сильно сомневаюсь. Это касается проверки скинутых на сервер компонент и записи в базу.
Нужно создать форму в которой можно было бы из списка присланных *.SCHLib, *.PCBLib (с их превьюшками как на панели Libraries) формировать компоненты в базе MySQL. Причем запросы к базе меня не беспокоят, делаю через внешний exe`шник, а вот с панелями просмотра компонент на форме не уверен (а без них как то совсем плохо).
Посоветуйте спецы...