Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ворос по написанию правила для автотрассировщика
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Vladimir_T
Подскажите, пожалуйста, как напмсать Rule для цепи, например "общий", чтобы автрассировщик развел ее преимущественно на нижнем слое, не смотря на то, что применяется SMD монтаж. С тем, чтобы затем залить нижний слой сплошным земляным полигоном.
Владимир
Наверное так как на картинке. Только для разных слоев разные приоритеты
Vladimir_T
Спасибо за помощь, теперь у меня все получиться.
ivainc1789
Цитата(Владимир @ Dec 8 2006, 16:34) *
Наверное так как на картинке. Только для разных слоев разные приоритеты

Владимир, извините, что вторгаюсь в разговор, но хорошо помню, когда читал помощь в AD было четко написано, что все правила, формируемые в проекте можно указывать только в объеме helper'а. То есть указать ЛЮБОЕ правило, имеющее смысл с точки зрения query lang нельзя - оно не будет выполняться. В этой связи проблема "развести электролиты только на bottom" нерешаемая - моно только всю цепь так развести. Если я не прав, поправьте - я обязательно проверю...
Владимир
Цитата
(Владимир @ Dec 8 2006, 16:34)

Наверное так как на картинке. Только для разных слоев разные приоритеты


Владимир, извините, что вторгаюсь в разговор, но хорошо помню, когда читал помощь в AD было четко написано, что все правила, формируемые в проекте можно указывать только в объеме helper'а. То есть указать ЛЮБОЕ правило, имеющее смысл с точки зрения query lang нельзя - оно не будет выполняться. В этой связи проблема "развести электролиты только на bottom" нерешаемая - моно только всю цепь так развести. Если я не прав, поправьте - я обязательно проверю...

Пожалуйста.
Развести ВСЕ цепи принадлежащие
1 определенным коппонентам (электролитам)
2 находящимся в заданной ROOM
только на слое BOOT

При этом будет разведена толька часть NET внутри ROOM

Цитата(Владимир @ Feb 24 2007, 17:29) *
Цитата
(Владимир @ Dec 8 2006, 16:34)

Наверное так как на картинке. Только для разных слоев разные приоритеты


Владимир, извините, что вторгаюсь в разговор, но хорошо помню, когда читал помощь в AD было четко написано, что все правила, формируемые в проекте можно указывать только в объеме helper'а. То есть указать ЛЮБОЕ правило, имеющее смысл с точки зрения query lang нельзя - оно не будет выполняться. В этой связи проблема "развести электролиты только на bottom" нерешаемая - моно только всю цепь так развести. Если я не прав, поправьте - я обязательно проверю...

Пожалуйста.
Развести ВСЕ цепи принадлежащие
1 определенным коппонентам (электролитам)
2 находящимся в заданной ROOM
только на слое BOOT

При этом будет разведена толька часть NET внутри ROOM


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

Вот маленький проект мультивибратора. Там создано правило для С1 - разводить только на BOTTOM. Однако упорно не хочет...
Владимир
Я писал различные, а не такое.
Специально не писал. Нету необходимости.
Но пишутся аналогично
ivainc1789
Цитата(Владимир @ Feb 24 2007, 22:47) *
Я писал различные, а не такое.
Специально не писал. Нету необходимости.
Но пишутся аналогично

Ок, ну может кто-нибудь подскажет, потому как вопрос старый, но ответа как-то не встречал...
Hardman
Цитата(ivainc1789 @ Feb 24 2007, 23:08) *
Цитата(Владимир @ Feb 24 2007, 22:47) *

Я писал различные, а не такое.
Специально не писал. Нету необходимости.
Но пишутся аналогично

Ок, ну может кто-нибудь подскажет, потому как вопрос старый, но ответа как-то не встречал...
А как вы думаете, когда (InNet('OUT1') and (InComponent('C1'))) = True для правила слоя, правильно никогда, потому что InComponent('C1') всегда False.
ivainc1789
Цитата(Hardman @ Feb 25 2007, 02:18) *
А как вы думаете, когда (InNet('OUT1') and (InComponent('C1'))) = True для правила слоя, правильно никогда, потому что InComponent('C1') всегда False.

То есть задача нерешаемая? Правило делал с помощью Визарда...
Владимир
Вот из спортивного интереса для OUT1 запрещено подвод на TOP для C1
Пример правила и результат разводки

Хотя ели вам нужен запрет ту лучше в FOOTPRINT сделать KEEPUOT в слое TOP
ivainc1789
Цитата(Владимир @ Feb 25 2007, 22:38) *
Вот из спортивного интереса для OUT1 запрещено подвод на TOP для C1
Пример правила и результат разводки
Хотя ели вам нужен запрет ту лучше в FOOTPRINT сделать KEEPUOT в слое TOP

Не совсем понял... Причем здесь такое правило зазора? Просто, чтобы сделать трассировку на ТОР "невыгодной"?

Насчет кипаута все понятно - метод этот известен. Спасибо.

И напоследок еще маленький вопрос. Недавно в AD ввели таки еще один pad style - rounded rectangle. Есть там такой параметр как радиус скругления (в процентах). По умолчанию 50%. Вот захотелось скопом у Меги8 (например) изменить форму и этот радиус - и что-то я не нашел как!!! То есть сделать соотв запрос и выделить все нужные пады - нет проблем. Проблема - не могу найти в Инспекторе параметр радиуса скругления. Может как-то по-другому надо или плохо смотрел?
Hardman
Цитата(ivainc1789 @ Feb 26 2007, 00:34) *
Цитата(Владимир @ Feb 25 2007, 22:38) *

Вот из спортивного интереса для OUT1 запрещено подвод на TOP для C1
Пример правила и результат разводки
Хотя ели вам нужен запрет ту лучше в FOOTPRINT сделать KEEPUOT в слое TOP

Не совсем понял... Причем здесь такое правило зазора? Просто, чтобы сделать трассировку на ТОР "невыгодной"?

Насчет кипаута все понятно - метод этот известен. Спасибо.

И напоследок еще маленький вопрос. Недавно в AD ввели таки еще один pad style - rounded rectangle. Есть там такой параметр как радиус скругления (в процентах). По умолчанию 50%. Вот захотелось скопом у Меги8 (например) изменить форму и этот радиус - и что-то я не нашел как!!! То есть сделать соотв запрос и выделить все нужные пады - нет проблем. Проблема - не могу найти в Инспекторе параметр радиуса скругления. Может как-то по-другому надо или плохо смотрел?
Для зазора можно написать самые извращенные правила, используя наиболее широкий список опознаваемых объектов. Это к вопросу нет ничего невозможного, не совсем красиво но... Rounded rectangle вообще пока не советую пользоваться, если захотите посмотреть плату в 3д на которой установлен компонент с rounded получите глюк, и не известно где он еще потом выползет.
Владимир
Интересно, а как вы собираетесь.
Все элементы нвходятся на TOP
Значит в какойто момент нужно перейти с Bootm на TOP
Значит резонно, указать минимальное расстояние от Pad до Via, когда это произойдет
Hardman
ИМХО в такой ситуации красивее использовать KeepOut. Вы совершенно правы, прежде чем формулировать правило, надо хотя бы убедиться в его истинности. Жаль, что Altium просто игнорирует условия которые не содержат синтаксических ошибок, а являются невыполнимыми. Поскольку сам может генерить такие своим Wizardом. При этом человек задающий правила должен совершенно четко представлять механизм работы и структуру правил.
Владимир
Цитата
ИМХО в такой ситуации красивее использовать KeepOut.

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



Присоединённые файлы
RUL.zip ( 5.19кб ) Кол-во скачиваний: 22

Спрашивали как их импортировать.

Так как на картинке.
Правый клик, меню import ...
Затем выделить нужные или все правила и импортировать их
Gennaj
Цитата(ivainc1789 @ Feb 25 2007, 06:26) *
То есть задача нерешаемая? Правило делал с помощью Визарда...


Рискну добавить свои "пять копеек".
Мне кажется, что в некоторых случаях можно еще использовать Классы Цепей. То есть, еще на схеме присвоить некоторым цепям определенный ClassName (например, Bottom_Net), а потом создать правило разводки типа: InNetClass('Bottom_Net'). Правда, здесь есть одно большое НО: такое правило не позволит провести автоматически ни одного участка на верхнем слое. Хотя, наверное, для тех случаев, когда вся цепь целиком расположена на одном из слоев, это будет вполне оправданно.

P.S. А Визард, и правда, запросы коряво составляет :-(

P.P.S. Забыл добавить: для генерации классов цепей при передаче в PCB необходимо поставить соответствующую галку в Project Option.
Archivarius
Цитата(Vladimir_T @ Dec 8 2006, 20:18) *
Подскажите, пожалуйста, как напмсать Rule для цепи, например "общий", чтобы автрассировщик развел ее преимущественно на нижнем слое, не смотря на то, что применяется SMD монтаж. С тем, чтобы затем залить нижний слой сплошным земляным полигоном.


Просмативая форум нашел разъяснение по вопросу разводки цепи на нижнем слое (в принципе это и не вызывало затруднений). Вопрос в следующем: как в PCB Rules (или еще где)указать, что бы разводка на нижнем слое проводилась для определенного компанента?
Владимир
Цитата(Archivarius @ Jul 8 2007, 15:00) *
Просмативая форум нашел разъяснение по вопросу разводки цепи на нижнем слое (в принципе это и не вызывало затруднений). Вопрос в следующем: как в PCB Rules (или еще где)указать, что бы разводка на нижнем слое проводилась для определенного компанента?

Правило RoutingLayer поставте галку для нужного слоя, с помощю Helper укажите все цепи принадлежащие "для определенного компанента"

Сам автотрасировщиком не пользуюсь, и писать их нет времени. сорри
Archivarius
Цитата(Vladimir_T @ Dec 8 2006, 20:18) *
Подскажите, пожалуйста, как напмсать Rule для цепи, например "общий", чтобы автрассировщик развел ее преимущественно на нижнем слое, не смотря на то, что применяется SMD монтаж. С тем, чтобы затем залить нижний слой сплошным земляным полигоном.


привожу пример свой очень простой платы при трассировке в слое Bootom. Просто ужас, и как такое может получаться?. Как не бился - в атомате по другому не выходит. В Rules (RoutingLayers) отключил верхний слой.
Владимир
Цитата(Archivarius @ Jul 12 2007, 18:34) *
привожу пример свой очень простой платы при трассировке в слое Bootom. Просто ужас, и как такое может получаться?. Как не бился - в атомате по другому не выходит. В Rules (RoutingLayers) отключил верхний слой.

crying.gif По другому и не надо. sad.gif полчаса работы руками и готово. smile.gif Или неделю правила писать 07.gif и те же полчаса на авторазвадку lol.gif и проверку ее результатов. смотришь к santa2.gif будет и готово.
Vokchap
Цитата(Владимир @ Jul 12 2007, 21:38) *
crying.gif По другому и не надо. sad.gif полчаса работы руками и готово. smile.gif Или неделю правила писать 07.gif и те же полчаса на авторазвадку lol.gif и проверку ее результатов. смотришь к santa2.gif будет и готово.

Зачем же так пугать человека, совсем ведь интерес пропадет. wink.gif
Archivarius
Цитата(Владимир @ Jul 12 2007, 22:38) *
crying.gif По другому и не надо. sad.gif полчаса работы руками и готово. smile.gif Или неделю правила писать 07.gif и те же полчаса на авторазвадку lol.gif и проверку ее результатов. смотришь к santa2.gif будет и готово.


А как спортивный итерес? И потом, надо изучать продукт! С его недостатками и достоинствами. Пускай на плате 4 элемента; проще раскритиковать, чем разобраться в причине. Лучше бы подсказали - программа недорабатывает (и где именно) или руки не те (что нужно подправить?)?
Viktor_
Подскажите как разрешить возможность размещения переходных отверстий под контактными площадками SMD компонентоов? В правилах High Speed, в опции Vias Under SMD ставлю галочку, но переходные отверстия все равно находятся рядом с компонентами, а не под контактными площадками.
Печатная плата сделана в P-Cad 2006, а трассировку делаю в Situs ( Altium Designer 6.5)
amusin
Цитата(Viktor_ @ Aug 10 2007, 12:43) *
Подскажите как разрешить возможность размещения переходных отверстий под контактными площадками SMD компонентоов?


Самое простое и верное - так не делать.
Например, наши контрактники просто не возьмут такую плату с гарантией качества монтажа,
т.к. припой просто "нырнет" в ПО, и вывод останется неприпаянным.
Gennaj
Цитата(amusin @ Aug 10 2007, 10:28) *
Самое простое и верное - так не делать.
Например, наши контрактники просто не возьмут такую плату с гарантией качества монтажа,
т.к. припой просто "нырнет" в ПО, и вывод останется неприпаянным.


Это верно, но иногда бывают и исключения из правил. Например, у нас иногда приходится совершенно сознательно размещать ПП на контактных площадках, так как это необходимо для лучшего теплоотвода (например, контактные площадки под мощными ВЧ-транзисторами). Для таких случаев мы специально указываем в сопроводительной документации, что данные переходные отверстия необходимо дополнительно пропаять вручную, добившись затекания припоя во внутрь их.
При этом все остальные (не "радиаторные" отверстия) размещаем так как положено - на некотором расстоянии от контактной площадки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.