Jump to content

    

Правила в Altium Designer

Предлагаю в этоц теме складывать правила для Altium Designer.

Просьба указывать версию вашего AD.

самое удобное будет скриншот окна с описанным правилом и маленькое описание что оно делает.

Share this post


Link to post
Share on other sites
Предлагаю в этоц теме складывать правила для Altium Designer.

Просьба указывать версию вашего AD.

самое удобное будет скриншот окна с описанным правилом и маленькое описание что оно делает.

 

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

 

Затем вторая часть- с учетом проекта, и далее все для много слоек, дифпар и то до чего руки дойдут, если дойдут.

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

Первай особого интереса кроме как общеобразовательного не представляют. Но и конечно просто как примери и систепа построения.

Share this post


Link to post
Share on other sites
В октябре надеюсь выйдет первая часть-- там основные правила без относительно проекта,

 

ёлы палы :07: . я думал в августе уже почитать статейку.

ну чтоже бум ждать.

 

 

вот полезное правило:

позволяет задавать зазор между полигоном и другими объектами трассировки отдельно от основного зазора.post-2848-1217443567_thumb.jpg

Share this post


Link to post
Share on other sites
Дай бог в августе --- использование базы данных в качестве библиотеки.

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

Share this post


Link to post
Share on other sites
О! Давно собираюсь пользовать, только не очень знаю, зачем..

 

Мне понравилось, особенно удобно поиск компонетов.

Правда дольше подгружается. Заметна задержка.

Share this post


Link to post
Share on other sites

вот еще онд правило: (сам сделал)

позволяет PAD отнесенные к определенному классу (у меня на картинке класс GND_PAD) присоединять к полигону напрямую без термопереходов, ну или так как вам надо (т.е. отлично от других PAD)

Работать должно в любой версии.

post-2848-1217529765_thumb.jpg

Share this post


Link to post
Share on other sites
Дай бог в августе --- использование базы данных в качестве библиотеки.

 

А буду какие-нибудь фичи описаны, или только стандартные приемы работы из документации?

 

Ой. кажется я невтой теме не те вопросы задаю. Сори

Share this post


Link to post
Share on other sites

Хочу задать зазоры дифференциальной пары между проводниками.

В обоих окошках записАл: InDifferentialPairClass('All Differential Pairs').

Нормально.

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

В одном из окошек оставляю всё по-старому, в другом пишу:

InDifferentialPairClass('All Differential Pairs') And (Width > 0.2).

Теперь правило не срабатывает. Работает правило по умолчанию. Т.е. ширину проводника он не чует. Приоритеты правил, разумеется, выставил. В переключателе цепей поставил Any net. Версия AD 6.7.9346

Подскажите, пожалуйста, что не так.

 

П.С. пробовал ещё такую строчку: InDifferentialPairClass('All Differential Pairs') And (AsMM(Width) > 0.2) - бесполезно.

Share this post


Link to post
Share on other sites

Вот аналог из одного из проектов

 

InAnyDifferentialPair

 

isTrack And (TraceLength < 100) And (WithinRoom('A2') Or WithinRoom('A4') Or WithinRoom('A5') Or WithinRoom('A8') Or WithinRoom('A9')

 

 

работает

Share this post


Link to post
Share on other sites
InAnyDifferentialPair
Не нашёл такого в query helper'e. А когда вписАл - не ругается. Даже не знал, что такая функция существует.

Попробовал ещё вот так:

_______

isTrack And InDifferentialPairClass('All Differential Pairs') And (Width > 0.2)

_______

InAnyDifferentialPair

_______

Бесполезно...

При том, когда стираю And (Width > 0.2) - правило начинает работать, т.е. соблюдать заданный зазор. Очевидно, что с толщиной линии не понимает...

Владимир, а приведённое Вами правило действовало для зазоров?

Share this post


Link to post
Share on other sites

Увы... сделал вот так:

______

(IsTrack And Width >= 0.4)

______

IsTrack

______

 

Эффект тот же... т.е. нулевой. Срабатывает правило для зазоров по умолчанию, а не это.

Увы... сделал вот так:

______

(IsTrack And Width >= 0.4)

______

IsTrack

______

 

Эффект тот же... т.е. нулевой. Срабатывает правило для зазоров по умолчанию, а не это.

Для точности добавлю, что толщина дорожки дифференциальной пары у меня 0,4, зазор между ними 0,2. А по умолчанию у меня дорожки 0,2 и зазор 0,15. Вот зазор 0,15 я сейчас наблюдаю для дорожек любой толщины. А должен быть 0,2.

Share this post


Link to post
Share on other sites

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

явно писать единицы в формулах не дает.

Во вторых, что бы узнать какое правиде действует--- выделите элемен ЮЮ правая кнопка юю Aplicate binary (unaru) Rules

 

А так перед отпуской апломб. Ничего делать и проверять не хочется. :)

Share this post


Link to post
Share on other sites
Учтите там есть гадость. правила работуют для тех единиц, что являются активными.

явно писать единицы в формулах не дает.

На этот счёт есть такая функция: AsMM(Width), я её тоже использовал - бесполезно. Хотя, у меня активные единицы всё равно миллиметры. И зазоры я ставлю в миллиметрах. Даже если подумать: милсы - это ещё меньше десятых миллиметра, поэтому под это правило у меня должны попадать все дорожки, а этого не происходит. Но на всякий случай я попробовал такой ход: Width < 0.4. Т.е. сделал неравенство наоборот. Всё равно правило не работает.

Во вторых, что бы узнать какое правиде действует--- выделите элемен ЮЮ правая кнопка юю Aplicate binary (unaru) Rules
Спасибо, полезная функция. Ещё раз показала, что моё созданное правило не работает, а работает то, что по умолчанию.

А так перед отпуской апломб. Ничего делать и проверять не хочется. :)
Вам приятного отпуска. Будем надеяться, кто-то ещё сможет что-то подсказать.

_________________________________________________________________

Попробовал сделать просто через панель PCB Filter. Дал запрос Width > 0.2. Выдало ошибку Error Occurred while Running script

Т.е. получается, что слово Width он не любит. Как бы его обмануть...

Если кому-нибудь нетрудно, попробуйте, пожалуйста, на своём АД сделать подобный поиск дорожек с использованием ширины дорожки. Тоже ошибку даст или нет... То ли глюк у меня в самом АД. Может, переустановить его...

 

 

Какие ещё обходные пути кто может предложить? Ещё раз постановка задачи: Дорожка должна иметь большую толщину и большой зазор, но от микросхемы её такой вывести нереально, поэтому недалеко приходится выводить с малой толщиной и малым зазором. Я пытаюсь задать правило для зазора, которое бы в зависимости от толщины дорожки устанавливало бы разный допустимый зазор. Пока в тупике, даже разводить дальше не могу - застрял на этом.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this