|
KiCad Scripting, Цели и пути |
|
|
|
Nov 22 2016, 13:35
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Всем привет! Как известно с некоторых пор KiCad предоставляет возможность автоматизации работы путём использования скриптов. Пока только в редакторе печатных плат, но всё же. Некоторое знакомство с этой темой показало следующее: - запуск скрипта возможен только из специальной консоли;
- API документирован очень скудно, для нормальной работы явно недостаточно;
- примеров от разработчиков почти нет, всё, что можно найти, это частный опыт отдельных энтузиастов;
- не ясно, можно ли применить скрипт не просто ко всей плате, а только к выделенным компонентам;
- не понятно, как сделать, чтобы изменения внесённые работой скрипта, сразу отображались на плате (приходится режим Canvas переключать руками).
В связи с этим возникает резонный вопрос: а что такого позволяет делать скриптовый API, чего нельзя сделать (и куда проще) простым редактированием файла, благо он текстовый и понятный, хотя и не очень читабельный? Например, вот скажем, если бы можно было повесить запуск того или иного скрипта на пункт меню или кнопку тулбара, и чтобы скрипт применялся в контексте выделения объектов платы, и затем результат тут же бы отображался на плате, то это было бы понятно и рулезно. Но ничего этого нет. И вот захотелось мне поменять размер шрифта текстовых полей посадочных, накопал скрипт на гитхабе, чуть-чуть его подрихтовал, чтобы запускалось... работает. Т.е. уменьшил размер шрифта, как и хотел. Но при этом пришлось править скрипт, а не задать размеры шрифта из редактора ПП, после отработки скрипта пришлось переключать режим Canvas, чтобы вид обновился. И даже после этого pcbnew не "врубился", что в плате есть изменения, т.е. он "считает", что плата не изменилась и поэтому сохранить файл в данный момент не даёт (пришлось подвигать посадочное, чтобы до него "дошло"). (Да, конкретно изменить размеры шрифта текстовых полей можно из из редактора ПП, но тут речь не об этом, а про принцип) В то же время изменить размер текстовых полей можно в текстовом редакторе, который поддерживает регулярные выражения (например, в том же geany). И делается это куда проще и быстрее. Таким же образом можно менять что угодно, только заготовить соответствующие паттерны regex. В общем, кто этим реально пользуется, поделитесь опытом. И вообще, что думаете про перспективы этой фичи?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
 |
Ответов
|
Nov 22 2016, 14:13
|

Местный
  
Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747

|
Пользовался KiCad давно, могу высказать только самые общие соображения. Цитата(dxp @ Nov 22 2016, 13:35)  В связи с этим возникает резонный вопрос: а что такого позволяет делать скриптовый API, чего нельзя сделать (и куда проще) простым редактированием файла, благо он текстовый и понятный, хотя и не очень читабельный? Поддержка скриптов дает почти неограниченные возможности шаманства. Могучие скрипты могут растягиваться на тысячи и тысячи строк кода, добавляя фичи по инженерным расчетам чего-либо, например. У текстовых файлов возможности более скромные. Цитата(dxp @ Nov 22 2016, 13:35)  Например, вот скажем, если бы можно было повесить запуск того или иного скрипта на пункт меню или кнопку тулбара, и чтобы скрипт применялся в контексте выделения объектов платы, и затем результат тут же бы отображался на плате, то это было бы понятно и рулезно. Но ничего этого нет. Проект живой, дышит, развивается. Дамаю, усё будет. Цитата(dxp @ Nov 22 2016, 13:35)  И вообще, что думаете про перспективы этой фичи? Фича не мешающая работе и ничего не ломающая в уже существующем коде полезна по-любому. Пока пробный шар, потом народ подтянется. Можете сами к разработке подключиться или высказать пожелания команде.
--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу. И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам. Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании. Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать." Вячеслав Мальцев
|
|
|
|
|
Nov 22 2016, 14:31
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (BackEnd @ Nov 22 2016, 21:13)  Поддержка скриптов дает почти неограниченные возможности шаманства. Могучие скрипты могут растягиваться на тысячи и тысячи строк кода, добавляя фичи по инженерным расчетам чего-либо, например. У текстовых файлов возможности более скромные. Да, я не вполне корректно выразился. Имел в виду не столько редактирование в текстовом редакторе, сколько обработку файлов снаружи пакета, в первую очередь, конечно же, скриптами (текстовый редактор тут упомянут просто как самое простое средство). Собственно вопрос ставится: "Встроенные средства" vs "Внешние средства". Что фича есть не просит, оно так. Но вопрос в том, стоит ли изучать, если вдруг она бесполезная.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Nov 23 2016, 08:03
|
Частый гость
 
Группа: Validating
Сообщений: 124
Регистрация: 10-08-05
Пользователь №: 7 502

|
Цитата(dxp @ Nov 22 2016, 21:31)  Собственно вопрос ставится: "Встроенные средства" vs "Внешние средства". Я год или полтора назад смотрел на этот API и тогда он мне показался недостаточно функциональным. Если он Вас сейчас не устраивает, то и связываться с ним, на мой взгляд, не стоит. Судя по соседней ветке, у Вас уже есть опыт создания своих внешних инструментов и есть время на всё это, поэтому я бы на Вашем месте продожил в этом же направлении.
|
|
|
|
Сообщений в этой теме
dxp KiCad Scripting Nov 22 2016, 13:35  BackEnd Цитата(dxp @ Nov 22 2016, 14:31) Но вопро... Nov 22 2016, 15:05   dxp QUOTE (nill @ Nov 23 2016, 15:03) Я год и... Nov 23 2016, 09:11    nill Цитата(dxp @ Nov 23 2016, 15:11) Например... Nov 24 2016, 07:25     dxp QUOTE (nill @ Nov 24 2016, 14:25) Получит... Nov 24 2016, 08:28 dxp Боюсь, долго ждать придётся. Уж года три как анонс... Nov 22 2016, 15:31 BackEnd Если выбешивает что-то конкретное, можно попробова... Nov 22 2016, 15:45 Барановский Константин Цитата(dxp @ Nov 23 2016, 11:11) Правильн... Nov 23 2016, 10:25 dxp QUOTE (Барановский Константин @ Nov 23 2016, ... Nov 23 2016, 11:41 dxp По поводу Python Scripting. Попробовал кое-что, в ... Nov 24 2016, 12:08 op3op3 Цитата(dxp @ Nov 24 2016, 19:08) По повод... Aug 16 2017, 07:12  dxp QUOTE (op3op3 @ Aug 16 2017, 14:12) Поясн... Aug 17 2017, 08:52   op3op3 Цитата(dxp @ Aug 17 2017, 15:52) А это:
с... Aug 18 2017, 02:49    dxp QUOTE (op3op3 @ Aug 18 2017, 09:49) PyShe... Aug 18 2017, 05:28     op3op3 Цитата(dxp @ Aug 18 2017, 12:28) Ну, в са... Aug 18 2017, 05:55      dxp QUOTE (op3op3 @ Aug 18 2017, 12:55) в pcb... Aug 21 2017, 05:02       op3op3 Цитата(dxp @ Aug 21 2017, 12:02) У меня э... Aug 22 2017, 00:48        dxp QUOTE (op3op3 @ Aug 22 2017, 07:48) У мен... Aug 22 2017, 05:11 Эдди Я для себя начал было делать утилитку для копирова... Aug 16 2017, 07:56
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|