Перейти к содержанию
    

Толщина проводников

Есть ли возможность создать набор толщин проводников и переключать их по циклу. Каждый раз лазить в меню не всегда удобно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только "3", но перебирать будет между min-pref-max

в большинстве случаев достаточно, если часть классов сигналов правилами зажать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 часов назад, peshkoff сказал:

только "3"

Знаю эту цифирку и использую. Но хочется чуть больше вариантов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, Alex Ko сказал:

Shift + W

я так понял именно это и не нравится автору.

2 часа назад, musa сказал:

Но хочется чуть больше вариантов.

хотелось бы реальный пример. тоже хотелось бы вариант а-ля пикад2000, но в целом и к этому приноровился. 

как я уже писал выше, то задание ширины от класса сигналов сильно упрощает жазнь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 минуты назад, peshkoff сказал:

хотелось бы реальный пример

С класами все понятно. Да реально работает но не всегда оправдано. А пример вот. Цепь питания. Основная толщина 0.6мм, У микроконтроллера 0.2мм. Внутри каскадов как и весь монтаж 0.3мм. И есть несколько силовых цепей где желательно 0.9мм. Да все это можно оформить и класами но если можно проще то почему бы и нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В настройках выбираете ширину трасы брать из правила width/preferred. Ваяете скрипты, которые будут менять значение правила предпочитаемые на нужные вам велечины. Скрипты подвешиваете на горячие клавиши. В режиме трассировке горячими клавишами меняете ширину трассы.

image.png.f0035dc536bf1a5389e0d57408f9428c.png

Обязательные настройки режима трассировки.

В архиве пример скриптов для изменения правил.

Скрипты просто поправил  пример алтиума.

PCB Rules.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, chapt сказал:

В архиве пример скриптов для изменения правил.

Интеесно. По подробнее как этим пользоваться и что менять а то в скриптах не силен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно, вот часть модифицирующая правило
 

  For L := MinLayer To MaxLayer Do
    Begin

        RuleWidth.FavoredWidth(L) := MilsToCoord(4.9213);
    End;

 For L := MinLayer To MaxLayer Do - для этого случая изменение правил идет на всех слоях.

 L := Board.CurrentLayer; - если изменения правила нужны только для текущего слоя.

RuleWidth.FavoredWidth(L) := MilsToCoord(4.9213); - собственно в этой строке вы и задаете нужное значение ширины (в милсах), как задать в миллиметрах нужно поискать в документации на API Altium.

 

как запускать скрипты и подвешивать их на горячие клавиши смотрите Тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, chapt сказал:

Ваяете скрипты, которые будут менять значение правила

ахаха. ловко вы его обогнули :))

думал, как бы подобраться к текущей ширине. впрямую я так понял не подберешься. Нет команд в api, которые регулируют ширину прокладываемой трассы.

Причем оказалось, что и нет в открытом виде команды, которая вызывает окошко по Shift+W. ну или я не нашел.

----

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

----

а почему вы импользуете milstocoord? Есть же MMsToCoord

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, peshkoff said:

ахаха. ловко вы его обогнули :))

думал, как бы подобраться к текущей ширине. впрямую я так понял не подберешься. Нет команд в api, которые регулируют ширину прокладываемой трассы.

Причем оказалось, что и нет в открытом виде команды, которая вызывает окошко по Shift+W. ну или я не нашел.

----

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

----

а почему вы импользуете milstocoord? Есть же MMsToCoord

Потому что  плохо знаю Altium API. Спасибо за подсказку, исправил, вроде все работает.

PCB Rules.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да API его никто не знает, т.к. информации нету, все вот так и выкапываем у скриптописателей по соседству.

1 час назад, chapt сказал:

Потому что  плохо знаю Altium API

Ну за то есть идеи. а то я вот как то застрял.

----

В общем, попробовал я запустить ваш скрипт :)

если вдруг заходите занятся скриптописанием, то:

1. Правила правятся, но обратно не возвращаются. т.е. нужно возвращать предыдущее состояние.

2. Правятся все правила Width (и опять же, не возвращаются) а у меня их несколько, порушил правила для классов.

там есть функция, которая позволяет выделить именно то правило, которое влияет на объект

Board.FindDominantRuleForObject

Правда оно работает с выделенными объектами... надо покопать в общем

 

----

еще подумал.

а как возвращать то? скрипт не знает, что трассировка закончена.

как вариант нужен скрипт, который запустит трассировку сам, тогда он будет знать когда заканчивать. 

(в общем, пока один вопросы)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Altium Designer 24.8 появились read only directives (при их импорте из read only документов). Сам еще не пробовал, читал в примечании к выпуску. Понимаю, что "грязное" решение, но, пока, увы, ничего другого в голову не приходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем вот что получилось сваять на быструю руку.

Срипт меняет ширину проводника на лету, нажатием одной клавиши.

Условия для работы скрипта:

Создать в проекте правила с названиями, начинающимися с  "wScr_", эти правила будут обрабатываться скриптом.

Если были какие другие правила для ширины, их скрипт проигнорирует.

Правила должны располагаться по приоритетам от 1 до N без пропусков.

Одно из правил выбираем работающим, остальные отключаем.

У меня получилось так:

image.thumb.png.8f021bc7c6ac4d30feec3adc9c944794.png

В каждом правиле прописываем нужную нам ширину в FavoriteWidth или можно прописать в мин и макс то же самое.

Зависит от того в каком режиме будем трассировать.

Я разместил только в FavoriteWidth и при трассировки выбираю Pref.

image.thumb.png.425490ae5d1fad779117d26e4d41d931.png

Открываем скрипт, размещаем кнопки.

Кнопок можно разместить две, W- и W+.

Навешиваем на них сооответственно процедуры scrWidthMinus и scrWidthPlus.

И можно, например, одной уменьшать ширину, другой увеличивать.

Либо как в пикаде2000, оставить только W+, при достижении максимума ширины, установится минимум и т.д.

-----

Теперь главная проблема. Какие клавиши использовать. 

Дело в том, что в альтиуме каждая клавиши чего то там вызывает.

Причем некоторые клавиши нельзя перебиндить. Я хотел использовать, например, F7 и F8, но они отказались перезаписываться и на них остались прежние функции.

Как вариант отключить клавиши, вызывающие меню. Меню Window и Help нафик не нужны и их можно отключить.

W нам лучше всего и подходит, если выбираем вариант а-ля Пикад2000.

Для этого с Ctrl щелкаем на заголовке меню Window и убираем символ & из названия и убираем быструю клавишу, верней переназначаем ее на что-нибудь страшное (None нельзя выбрать)

Должно быть так:

image.png.2da54a8861e9437cf58e5fc18f3188d6.png

В меню теперь должно быть так:

image.png.210e1842ed68f4a06160e2dfdb9d1183.png

Без подчеркивания.

На кнопке, которую вытащили для скрипта добавляем быструю клавишу W

должно получиться во так:

image.thumb.png.49008263f0a2f4526c8ce0dd1c88ecaa.png

Готово.

----

в идеале, конечно, нужно сделать W+ и W- где то рядом. Но надо найти свободные клавиши близко.

попробовал вставить видео, не знаю загрузится или нет

ModifyWidthRules.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отличный вариант.

По поводу клавиш.

Alt+shift+x

Alt+shift+z.

Ну и, конечно, на дополнительные клавиши мыши потом подвешиваете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...