Jump to content

    
Sign in to follow this  
def_rain

Модернизация скрипта переключения между сетками

Recommended Posts

Здравствуйте господа.

В процессе работы в Аллегро часто приходится менять сетку.

Для удобства пользуюсь скриптами, которые в этой ветке любезно поделился 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 как переменную.

 

 

 

Share this post


Link to post
Share on other sites
У меня вызывались скрипты - т.е. вариант 1. Могу попробовать поискать свои готовые скрипты, но это будет не раньше чем завтра.

 

Конечно посмотрите, хоть какой то пример для меня будет! =)

Share this post


Link to post
Share on other sites

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

Нашел!!!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'

Share this post


Link to post
Share on other sites
Нашел у себя, но только половину :(. Вот файл переключающий сетку (их должно быть несколько). А скрипт который вызывает эти файлы я найти не смог...

 

Еще раз большое спасибо! Самое главное теперь я имею направление в котором буду копать дальше.

Единственное вот странно, а почему при установки 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 с разными значениями сеток(чтобы между ними переключаться).

 

 

Edited by def_rain

Share this post


Link to post
Share on other sites

Я не уверен насчет названия файлов переключения сетки - должны ли файлы быть вида "name" или "name.scr"? Уже не помню этих моментов, так что проверьте сами.

Share this post


Link to post
Share on other sites

Все же проще!, в файле 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

 

 

 

 

Share this post


Link to post
Share on other sites
Все же проще!, в файле 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

 

Проверено, работает! Спасибо за опыт.

Share this post


Link to post
Share on other sites
On 4/7/2016 at 8:11 PM, def_rain said:

 

Проверено, работает! Спасибо за опыт.

 

Где можно посмотреть скрипты для аллегро? Хотелось бы иметь скрипт для автосоздания полигонов питания, скажем выделить нужные via, запустить скрипт и в слое питания готов полигон.

Share this post


Link to post
Share on other sites
5 hours ago, Uree said:

Т.е. просто создать одним движением прямоугольник предварительно выбрав нужную цепь сложно?:)

Ни разу не видел полигон питания в виде прямоугольника, правда мне в основном приходится работать с чипами в бга от 400 ножек с числом напряжений питания, начиная с 5.

Share this post


Link to post
Share on other sites
5 hours ago, dmitry-tomsk said:

... и в слое питания готов полигон.

Я понял написанное, как полигон на весь слой. Или как? Или он должен охватывать _только_ выделенные ВИА? Такого пока нет.

Share this post


Link to post
Share on other sites
11 minutes ago, Uree said:

Я понял написанное, как полигон на весь слой. Или как? Или он должен охватывать _только_ выделенные ВИА? Такого пока нет.

Только виа внутри бга и полоска до dc-dc, там тоже виа с десяток, как правило. Ширину полоски по dc drop анализу подрегулировать и готово. А так получается неплохой подход - грамотный plan и ручной бга escape плисины дают качественную разводку на полуавтомате, можно плисину двигать от ревизии к ревизии, при смене форм фактора также, а вот полуавтоматики для полигонов питания нет.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this