реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Модернизация скрипта переключения между сетками
def_rain
сообщение Mar 31 2016, 07:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 223
Регистрация: 23-09-15
Из: Спб
Пользователь №: 88 520



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

Как организовано переключение между сетками сейчас:
В файле env назначил горячие клавиши
alias CF9 replay grid_01
alias CF10 replay grid_1
и т.д.

Данные горячие клавиши вызывают скрипты .scr содержание которых следующее:

# Allegro script
# file: E:/_IKra/M22_ADBA/DESIGN/MAIN/work/worklib/silver_grove/physical/grid_01.scr
# start time: Fri Jul 02 11:08:21 2010
# Version: 16.3 S011 (v16-3-85AN) i86
version 16.6

define grid
setwindow form.grid
FORM grid non_etch non_etch_x_grids .01
FORM grid non_etch non_etch_y_grids .01
FORM grid all_etch all_etch_x_grids .01
FORM grid all_etch all_etch_y_grids .01
FORM grid done

# stop time: Fri Jul 02 11:09:09 2010

Хочу освободить горячие клавиши, для этого назначить все переключения сетки на одну допустим CF9. Чтобы при повторном нажатии на CF9 вызывалась следующая по порядку сетка (перебераем по очереди пока не установится нужная).
На подобии такого примера:
funckey w 'settoggle width 0.15 0.2 0.25 0.35 0.5 0.75 1.0; echo "Using width"$width; options acon_line_width $width' (перебор различной толщины дороги при повторных нажатиях W)

Возможно ли такое сделать?
Как проще:
1. Изменять файл env, чтобы при повторном нажатии CF9 вызывался следующий скрипт .scr
2. Или править сам скрипт, задавая grid all_etch all_etch_y_grids .01 как переменную.


Go to the top of the page
 
+Quote Post
Ant_m
сообщение Mar 31 2016, 11:23
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



У меня вызывались скрипты - т.е. вариант 1. Могу попробовать поискать свои готовые скрипты, но это будет не раньше чем завтра.
Go to the top of the page
 
+Quote Post
def_rain
сообщение Mar 31 2016, 11:31
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 223
Регистрация: 23-09-15
Из: Спб
Пользователь №: 88 520



Цитата(Ant_m @ Apr 1 2016, 00:23) *
У меня вызывались скрипты - т.е. вариант 1. Могу попробовать поискать свои готовые скрипты, но это будет не раньше чем завтра.


Конечно посмотрите, хоть какой то пример для меня будет! =)
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Mar 31 2016, 12:31
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Нашел у себя, но только половину sad.gif. Вот файл переключающий сетку (их должно быть несколько). А скрипт который вызывает эти файлы я найти не смог...
Нашел!!!1111100
вот пример файла "set_grid_1"
Код
# Allegro script
version 16.3
setwindow pcb
trapsize 456
define grid
setwindow form.grid
FORM grid non_etch non_etch_x_grids 0.1
FORM grid non_etch non_etch_y_grids 0.1
FORM grid all_etch all_etch_x_grids 0.1 0.1 0.1 0.1 0.1
FORM grid all_etch all_etch_y_grids 0.1 0.1 0.1 0.1 0.1
FORM grid done  
setwindow pcb


Вот кусок файла с вызовом быстрой клавишей
Код
alias CF10   'settoggle scr set_grid_1 set_grid_2 set_grid_3; replay $scr; echo grid = $scr'
Go to the top of the page
 
+Quote Post
def_rain
сообщение Mar 31 2016, 12:33
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 223
Регистрация: 23-09-15
Из: Спб
Пользователь №: 88 520



Цитата(Ant_m @ Apr 1 2016, 01:31) *
Нашел у себя, но только половину sad.gif. Вот файл переключающий сетку (их должно быть несколько). А скрипт который вызывает эти файлы я найти не смог...


Еще раз большое спасибо! Самое главное теперь я имею направление в котором буду копать дальше.
Единственное вот странно, а почему при установки all etch сетки значение 0.1 повторяется 5 раз?
FORM grid all_etch all_etch_x_grids 0.1 0.1 0.1 0.1 0.1
FORM grid all_etch all_etch_y_grids 0.1 0.1 0.1 0.1 0.1

Эти файлы про которые Вы говорите, как я понимаю и есть скрипты, у них расширение .scr и их действительно должно быть минимум 2 с разными значениями сеток(чтобы между ними переключаться).



Сообщение отредактировал def_rain - Mar 31 2016, 12:50
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Mar 31 2016, 12:41
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



сетку можно делать не равномерную для этих слоев. Попробуйте другие цифры и увидите.
Go to the top of the page
 
+Quote Post
def_rain
сообщение Apr 1 2016, 07:44
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 223
Регистрация: 23-09-15
Из: Спб
Пользователь №: 88 520



Ant_m
Спасибо. Это именно то что нужно, в точку попали!
Теперь все ясно, на днях попробую себе сделать.
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Apr 1 2016, 08:08
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Я не уверен насчет названия файлов переключения сетки - должны ли файлы быть вида "name" или "name.scr"? Уже не помню этих моментов, так что проверьте сами.
Go to the top of the page
 
+Quote Post
Budaev
сообщение Apr 2 2016, 17:41
Сообщение #9





Группа: Validating
Сообщений: 6
Регистрация: 9-12-15
Пользователь №: 89 628



Все же проще!, в файле env добавить:

funckey v 'settoggle grid_val 0.05 0.1 0.25 0.5 1 1.25 5; echo "Using grid " $grid_val; replay C:\SPB_Data\pcbenv\script\set_grid.scr'
#где funckey v - клавиша на клаве, присвоить.
#grid_val - шаги сетки, разделить просто пробел.

а в файле скрипта, полное содержание такое:

scriptmode +i +n
define grid
setwindow form.grid
FORM grid non_etch non_etch_x_grids $grid_val
FORM grid non_etch non_etch_y_grids $grid_val
FORM grid all_etch all_etch_x_grids $grid_val
FORM grid all_etch all_etch_y_grids $grid_val
FORM grid done
setwindow pcb
redraw



Go to the top of the page
 
+Quote Post
def_rain
сообщение Apr 7 2016, 14:11
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 223
Регистрация: 23-09-15
Из: Спб
Пользователь №: 88 520



Цитата(Budaev @ Apr 3 2016, 07:41) *
Все же проще!, в файле env добавить:

funckey v 'settoggle grid_val 0.05 0.1 0.25 0.5 1 1.25 5; echo "Using grid " $grid_val; replay C:\SPB_Data\pcbenv\script\set_grid.scr'
#где funckey v - клавиша на клаве, присвоить.
#grid_val - шаги сетки, разделить просто пробел.

а в файле скрипта, полное содержание такое:

scriptmode +i +n
define grid
setwindow form.grid
FORM grid non_etch non_etch_x_grids $grid_val
FORM grid non_etch non_etch_y_grids $grid_val
FORM grid all_etch all_etch_x_grids $grid_val
FORM grid all_etch all_etch_y_grids $grid_val
FORM grid done
setwindow pcb
redraw


Проверено, работает! Спасибо за опыт.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016