Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правила в Altium Designer
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Murzik_6011
Цитата(Владимир @ Sep 3 2013, 21:11) *
Поверх Pad Place/Rectance или твердый полигон
Так будет быстрее

Вы имеете ввиду "Fill" или "Solid Region"?
И всЁ таки, может можно как то правилами "добиться". Я так понимаю, это такая "фича" АД (не выдерживать зазор у отключеных падов)?
Владимир
Цитата(Murzik_6011 @ Sep 3 2013, 20:24) *
Я так понимаю, это такая "фича" АД (не выдерживать зазор у отключеных падов)?

Это о чем?
Если бы зазоры не выдерживались--- один брак при производстве был бы. уже давно бы заклевали

Murzik_6011
Тогда почему на картинке (ну и на плате тоже) зазор между выводом С14-2 (рядом с С13) составляет 0.266... мм, хотя в списке правил на зазор, минимальный составляет 0.3 мм? А главное - почему мне не удалось его задать?
Владимир
Картинка и проект, суть разные вещи. Ищите ошибку в правилах
Murzik_6011
Вот собственно мы к ним и пришли.
Владимир
ну еще пара картинок.
1 Текста правил нету.
2. текста сообщено нарушениях нет
3. чем и как измярять нарушение 0.266... мм?
Master of Nature
Добавьте в раздел Clearence правило для HasPad('C13_2'), т.к. хотя вы и указали DirectConnect в свойствах полигона, но сработает оно только если полигон и контактная площадка будут подключены к одной цепи.
0.266 - это вы вручную измерили как-то?
Murzik_6011
To Владимир
1. Сами правила "расписаны" в колонки "Scope" + "Attributes" (на картинках).
2. Действительно, сообщений о нарушениях нет.
3. Диаметр выреза в полигоне - 2,7316...мм (измерено вручную), а пад - 2,2 мм.

То Master of Nature
И полигон и ноги подключены к одной цепи, поэтому они "коннектятся" без проблем.
Master of Nature
Цитата(Murzik_6011 @ Sep 5 2013, 10:37) *
И полигон и ноги подключены к одной цепи, поэтому они "коннектятся" без проблем.

У вас полигон называется GND или Top-GND ?

Не могли бы вы выложить файл печатной платы?
Murzik_6011
Цитата(Master of Nature @ Sep 5 2013, 12:19) *
У вас полигон называется GND или Top-GND ?

Master of Nature
Murzik_6011

Попробуйте заменить HasPad на InComponent('C13')
Как мне кажется, этот вариант конструкции более уместен.
Murzik_6011
Цитата(Master of Nature @ Sep 5 2013, 13:28) *
Попробуйте заменить HasPad на InComponent('C13')

Проблема то не с С13-2. Он то как раз коннектится нормально. Проблема с остальными падами этой цепи.
В правилах:
PolygonConnect_Top-GND-Pads: (IsPad), (IsNamedPolygon('Top-GND')) Style - No Connect
АД отрывает остальные пады от полигона "Top-GND", но зазор берЁт "от балды". Посмотрите на соседний электролит С14-2.
У меня складывается такое впечатление, что АД заливает полигон следуя правилам по зазорам, но в этот момент пады GND подключены к полигону Top-GND. А затем он смотрит правила на тип подключения падов к полигону и отрывает их от полигона с зазором, который берЁт "с потолка" (может какой то предустановленный внутри "ядра").
Master of Nature
Цитата(Murzik_6011 @ Sep 5 2013, 13:42) *
Проблема то не с С13-2. Он то как раз коннектится нормально. Проблема с остальными падами этой цепи.
В правилах:
PolygonConnect_Top-GND-Pads: (IsPad), (IsNamedPolygon('Top-GND')) Style - No Connect
АД отрывает остальные пады от полигона "Top-GND", но зазор берЁт "от балды". Посмотрите на соседний электролит С14-2.
У меня складывается такое впечатление, что АД заливает полигон следуя правилам по зазорам, но в этот момент пады GND подключены к полигону Top-GND. А затем он смотрит правила на тип подключения падов к полигону и отрывает их от полигона с зазором, который берЁт "с потолка" (может какой то предустановленный внутри "ядра").

Зазоры берутся не с потолка, а из настроек правила No Connect. Только эта настройка, почему-то скрыта.
Переключитесь в этом правиле из режима No Connect в режим Relief Connect, настройте Air Gap и нажмите "Применить"
Потом верните No Connect.

Советую написать пост об этом на оф.русский форум, чтобы информация о глюке ушла к разработчикам.
Murzik_6011
Цитата(Master of Nature @ Sep 5 2013, 14:40) *
Зазоры берутся не с потолка, а из настроек правила No Connect. Только эта настройка, почему-то скрыта.
Переключитесь в этом правиле из режима No Connect в режим Relief Connect, настройте Air Gap и нажмите "Применить"
Потом верните No Connect.

Без поллитры не догадаешься. Спасибо за наводку (а также на пиво, на виски, ....)!

Проверил, действительно всЁ заработало. Эх, шайтан-машина!
InHaze
хочу задать правила для трассировки линий на несколько микросхем по daisy chain топологии: MK -> ИС1 -> ИС2
например, на участке МК->ИС1: MatchedLengths = 5мм, MaxLenth = 50мм
например, на участке ИС1->ИС2: MatchedLengths = 0,5мм, MaxLenth = 20мм

можно ли в правилах указать участки линий, например от МК до ИС1? InNetClass('NetName') and ...
если можно, то как?
Владимир
Цитата(InHaze @ Jan 27 2014, 13:33) *
хочу задать правила для трассировки линий на несколько микросхем по daisy chain топологии: MK -> ИС1 -> ИС2
например, на участке МК->ИС1: MatchedLengths = 5мм, MaxLenth = 50мм
например, на участке ИС1->ИС2: MatchedLengths = 0,5мм, MaxLenth = 20мм

можно ли в правилах указать участки линий, например от МК до ИС1? InNetClass('NetName') and ...
если можно, то как?

Только через классы FromTo
Rodavion
Цитата(Алексей Сабунин @ Mar 4 2013, 17:18) *
from-to не может быть объектом правила Lenght, как бы этого не хотелось.
да, возможно оно так должно быть, но на данный момент - нет!

Цитата(Владимир @ Jan 27 2014, 15:02) *
Только через классы FromTo

'Владимир, а что на данный момент from-to УЖЕ МОЖЕТ быть объектом правила Lenght?
Владимир
Цитата(Rodavion @ Jan 28 2014, 17:04) *
'Владимир, а что на данный момент from-to УЖЕ МОЖЕТ быть объектом правила Lenght?

Нет, Был не внимателен. Класс From-to - контроль только через панель PCB.
Хоть что-то.

Я думаю решится враз, когда мафия DDR победит
Rodavion
Цитата(Владимир @ Jan 28 2014, 18:54) *
Я думаю решится враз, когда мафия DDR победит

Ждем-с 08.gif
Олеся
Здравствуйте.

Можно ли задать правило проверки на незакрытые маской переходные отверстия или выставить по умолчанию закрытие маской всех переходных глобально, а не в настройках конкретной платы?
Master of Nature
Цитата(Олеся @ Feb 11 2014, 10:59) *
Здравствуйте.

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

Варианты:
1) Создайте правило Design -> Rules -> Mask -> Solder Mask Expansion для переходных (IsVia) с указанием отрицательного вскрытия больше радиуса самого большого переходного.
2) Через Find Similar Object (FSO) выбрать все переходные, открыть инспектор и поставить галочки на Solder Mask Tenting.
filmi
Цитата
глобально, а не в настройках конкретной платы

Создать пустую PCB в которой прописать все необходимые правила (зазоры, вскрытие и тд) и подсунуть её в New Document Defaults.

BaN
Хочу сделать проверку того, чтобы для закрытых паяльной маской переходных отверстий расстояние от края отверстия via до ближайшего окна вскрытия паяльной маски было не менее определенного значения.
Можно ли сделать такое правило?
Hypericum
Цитата(BaN @ Feb 20 2014, 18:13) *
Хочу сделать проверку того, чтобы для закрытых паяльной маской переходных отверстий расстояние от края отверстия via до ближайшего окна вскрытия паяльной маски было не менее определенного значения.
Можно ли сделать такое правило?

Быть может, сделать проще.
Известен диаметр переходного отверстия, диаметр контактной площадки переходного отверстия, отступ паяльной маски от контактной площадки элемента поверхностного монтажа.
Перевести выражение "расстояние от края отверстия via до ближайшего окна вскрытия паяльной маски" в выражение clearence между элементами топологии в меди - расстояние от КП via до КП SMD. Можно сделать даже в определенном регионе платы. laughing.gif
BaN
Цитата(Hypericum @ Feb 21 2014, 08:51) *
Быть может, сделать проще.
Известен диаметр переходного отверстия, диаметр контактной площадки переходного отверстия, отступ паяльной маски от контактной площадки элемента поверхностного монтажа.
Перевести выражение "расстояние от края отверстия via до ближайшего окна вскрытия паяльной маски" в выражение clearence между элементами топологии в меди - расстояние от КП via до КП SMD. Можно сделать даже в определенном регионе платы. laughing.gif

А как можно параметр Minimum clearance задать в зависимости от переменных параметров?
Я так понял, что в правилах можно указывать только объекты, которые потом будут проверяться по заданному параметру. Т.е. если задать первым объектом IsVia And ((SolderMaskTentingBottom = True) Or (SolderMaskTentingTop = True)), вторым HasSolderMask, то правило будет жестко проверять расстояние между краями меди этих объектов, при этом параметр Minimum clearance можно задать только числом без переменных параметров.
Hypericum
Цитата(BaN @ Feb 21 2014, 10:26) *
А как можно параметр Minimum clearance задать в зависимости от переменных параметров?

Всю эту страшную муть запишите конкретными цифрами - SolderMaskTentingBottom напишите 0.15мм, диаметр отверстия 0,6мм, диаметр КП via 1.2мм и посчитайте по формуле, которую предложил выше. В правиле clearence ПО МЕДИ задайте число.
BaN
Цитата(Hypericum @ Feb 21 2014, 11:56) *
Всю эту страшную муть запишите конкретными цифрами - SolderMaskTentingBottom напишите 0.15мм, диаметр отверстия 0,6мм, диаметр КП via 1.2мм и посчитайте по формуле, которую предложил выше. В правиле clearence ПО МЕДИ задайте число.

Хотелось бы, конечно, чтобы этот параметр подстраивался автоматически при изменении SolderMaskExpansion, ViaDiameter и HoleSize, ну да ладно, вот так хотя бы работает.
gia1965
Просьба помочь. Хочу выделить проводники с нарушениями , например правило net antennae Записываю в фильтре :
IsWire and OnLayer('L2') and IsRule_NetAntennae = 'true'
Не работает. Что не так?
Владимир
не мучайтесь. Для выделения ошибок по правилам (и множество другое) есть специальная панель PCB/PCB rule and Violation

Искомая опция там есть
gia1965
Цитата(Владимир @ Feb 25 2014, 10:13) *
не мучайтесь. Для выделения ошибок по правилам (и множество другое) есть специальная панель PCB/PCB rule and Violation

Искомая опция там есть

Спасибо. Но панель не помогает. При запуске через данную панель правила NetAntenne (содержимое правила: OnLayer('Bottom Layer') при Tolerance 0.1mm) выделяется вся медь на слое - все линии и PAD. ??? версия Altium 13.3.4
Потребность в выделении объектов нарушающих правила возникла по причине переделки 26 слойной платы . Изменилась схема, и хотелосьбы удалить на плате те дорожки которые поменялись (порядка более 500 шт.) Цепи к сожелению не стали NoNet , а присвоили новые имена. Но разводка у них не та. Вот и пытался сделать это через Net Antenne или Clearance.
gia1965
Цитата(gia1965 @ Feb 25 2014, 16:33) *
Спасибо. Но панель не помогает. При запуске через данную панель правила NetAntenne (содержимое правила: OnLayer('Bottom Layer') при Tolerance 0.1mm) выделяется вся медь на слое - все линии и PAD. ??? версия Altium 13.3.4
Потребность в выделении объектов нарушающих правила возникла по причине переделки 26 слойной платы . Изменилась схема, и хотелосьбы удалить на плате те дорожки которые поменялись (порядка более 500 шт.) Цепи к сожелению не стали NoNet , а присвоили новые имена. Но разводка у них не та. Вот и пытался сделать это через Net Antenne или Clearance.

Violation только маскирует проблемные цепи но не позволяет из разом удалить. Ну или я чего-то не понимаю
Sanchelo
Всем привет.
Прошу прояснить пару вопросов относительно функций из Query Language, а точнее из раздела PCB Query.

IsSubnetJumper

Description

Returns subnet jumpers as specified by the query statement.
Возвращает подсети перемычек.

Examples

IsSubnetJumper
Returns subnet jumpers objects (usually track objects).
Возвращает подсети перемычек (обычно объекты трасса)

Not IsSubnetJumper
Returns all objects except subnet jumpers.
Возвращает все объекты исключая подсети перемычек

Как я понял jumpers objects – это компонент у которого поле Pad Jumper ID не равно 0. Далее я вставляю компонент в схему, перехожу в
документ pcb, и пробую выделить компонент используя PCB Filter, но он не выделяется jumpers objects. В чём ошибка?



PS: Перевод мой, сильно не пинайте.
Alexey Sabunin
Цитата(Sanchelo @ Feb 28 2014, 09:54) *
Как я понял jumpers objects – это компонент у которого поле Pad Jumper ID не равно 0.

не так!
IsSubnetJumper это результат команды AutoRoute>Add Subnet Jumper в редакторе плат!
Sanchelo
Цитата
не так!
IsSubnetJumper это результат команды AutoRoute>Add Subnet Jumper в редакторе плат!.


Благодарю за ответ.
CatMurr
Подскажите, пожалуйста: на плате есть торцевые металлизированные полуотверстия. Для производства передаем их так: делаем в Altium pad с центром, совпадающим с краем платы и говорим сделать фрезеровку по контуру платы.
Как задать правило, чтобы Altium не считал наполовину свисающие с края платы padы ошибкой? Возможно ли это? Как вы выкручиваетесь в таких случаях?
Нажмите для просмотра прикрепленного файла
Владимир
у вас "ругается" на линию в слое KeepOut, которая идет поверх PAD
Уберите ее
CatMurr
Цитата(Владимир @ Mar 20 2014, 11:25) *
у вас "ругается" на линию в слое KeepOut, которая идет поверх PAD
Уберите ее

Ну дык это BoardOutline, по этому слою на производстве делают фрезеровку по контуру + необходимых вырезов.
Turnaev Sergey
Цитата(CatMurr @ Mar 20 2014, 12:51) *
Ну дык это BoardOutline, по этому слою на производстве делают фрезеровку по контуру + необходимых вырезов.

А что мешает сделать отдельный механический слой с контуром платы?
Rodavion
Цитата(CatMurr @ Mar 20 2014, 12:51) *
Ну дык это BoardOutline, по этому слою на производстве делают фрезеровку по контуру + необходимых вырезов.

это неправильный подход, контур платы должен быть создан в механическом слое, который желательно так и назвать - Board. Плиз, вот урок Сабунина - http://www.youtube.com/watch?v=xV11RGg4YsE...eature=youtu.be
Владимир
Цитата(Rodavion @ Mar 20 2014, 12:11) *
который желательно так и назвать - Board.

1. я бы в названии оставил номер механического слоя дабы знать, какой он был изначально
2. Board не адекватно отражает суть, так как бывают и внутренние вырезы. У них тоже контур есть
В сухом остатке -- называют как хотят. Наиболее часто мне попадают из англоязычных BoardOutline
Я называю 4BoardOutline, так как для этого использую 4 мехслой
Rodavion
Цитата(Владимир @ Mar 20 2014, 15:24) *
1. я бы в названии оставил номер механического слоя дабы знать, какой он был изначально
2. Board не адекватно отражает суть, так как бывают и внутренние вырезы. У них тоже контур есть
В сухом остатке -- называют как хотят. Наиболее часто мне попадают из англоязычных BoardOutline
Я называю 4BoardOutline, так как для этого использую 4 мехслой

А ЭТО вы Сабунину скажите biggrin.gif А поскольку я ОЧЕНЬ долго сидел в ПИКАДе, мне ТОЖЕ Board нравиться. А вообще-то на вкус и цвет, как говориться... Хоть горшком можно назвать, главное, что бы самому было понятно. В САМе то все равно названия другие
Владимир
Цитата(Rodavion @ Mar 20 2014, 15:28) *
А ЭТО вы Сабунину скажите biggrin.gif А поскольку я ОЧЕНЬ долго сидел в ПИКАДе, мне ТОЖЕ Board нравиться. А вообще-то на вкус и цвет, как говориться... Хоть горшком можно назвать, главное, что бы самому было понятно. В САМе то все равно названия другие

я же писал. у меня все варианты были
"мне ТОЖЕ Board нравиться." этот наверное в процентов 30 у чужих, и судя по наполнению-- все они получены путем импортирования из других пакетов.

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

У меня много посадочных мест в виде заготовки печатной платы (например PCI)/ Там уже включен механический слой с контуром печатной платы. и я хочу сразу знать на каком слое, ане высчитывать его открывая все механические слои

CatMurr
Цитата(Rodavion @ Mar 20 2014, 13:11) *
это неправильный подход, контур платы должен быть создан в механическом слое, который желательно так и назвать - Board. Плиз, вот урок Сабунина - http://www.youtube.com/watch?v=xV11RGg4YsE...eature=youtu.be

А зачем тогда слой Keepout нужен? В видео этого не объясняют.
Владимир
Цитата(CatMurr @ Mar 21 2014, 05:35) *
А зачем тогда слой Keepout нужен? В видео этого не объясняют.

Слой для указания зон запрета для меди на всех слоях. Как частный случай для простых проектов может совпадать и соответственно использоваться как контур платы.
CatMurr
Цитата(Владимир @ Mar 21 2014, 06:49) *
Слой для указания зон запрета для меди на всех слоях. Как частный случай для простых проектов может совпадать и соответственно использоваться как контур платы.

Спасибо! Теперь понятно.
Turnaev Sergey
Цитата(Олеся @ Feb 11 2014, 10:59) *
Можно ли задать правило проверки на незакрытые маской переходные отверстия или выставить по умолчанию закрытие маской всех переходных глобально, а не в настройках конкретной платы?


Настройка по-умолчанию меняется в DXP-Preferences-PCB editor-Defaults-Via-Edit values поставить галочки "Force complete tenting on top" и "Force complete tenting on bottom"

З.Ы. Тьфу, чёт я месяцы попутал... sad.gif
Mikhail.B
Во вкладке tools есть функция outline from selected objects... Как-то так, делает контур по примитивам. Толщина линии этого контура 8 mil, можно ли где-то эту толщину изменить?
Alechek
Цитата(Владимир @ Mar 21 2014, 08:49) *
Цитата(CatMurr @ Mar 21 2014, 05:35) *
Цитата

А зачем тогда слой Keepout нужен? В видео этого не объясняют.

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


Вот у меня вопрос большой по этому слою.

1.
Для производства надо чтобы от меди до края платы было, скажем, 0.4 мм.
Если использовать правило OnLayer('Keep-Out Layer') - OnSignal = 0.4мм, то итоговый зазор будет больше на половину толщины линии в 'Keep-Out Layer'. А в 14.3 так и вообще ошибку выдает между линией и непонятно чем на чистой плате!!!
Как правильно?

2.
Под компонентом в определенной зоне не должно быть проводников.
Делаю IsKeepOut - All = 0мм. Полигоны заливает правильно, но вот в DRC пишет ошибку, что зазор <0
Как быть?
EvilWrecker
Я наверное сейчас спрошу по избитой теме, но как черт побери задать правило clearance(электрическое) для объекта типа board cutout сделанного при помощи solid region wacko.gif
Владимир
Цитата(Alechek @ Jun 24 2014, 15:25) *
Слой для указания зон запрета для меди на всех слоях. Как частный случай для простых проектов может совпадать и соответственно использоваться как контур платы.


Вот у меня вопрос большой по этому слою.

1.
Для производства надо чтобы от меди до края платы было, скажем, 0.4 мм.
Если использовать правило OnLayer('Keep-Out Layer') - OnSignal = 0.4мм, то итоговый зазор будет больше на половину толщины линии в 'Keep-Out Layer'. А в 14.3 так и вообще ошибку выдает между линией и непонятно чем на чистой плате!!!
Как правильно?

2.
Под компонентом в определенной зоне не должно быть проводников.
Делаю IsKeepOut - All = 0мм. Полигоны заливает правильно, но вот в DRC пишет ошибку, что зазор <0
Как быть?

1 да так. Или используйте 0 ширину линии или учитывайте ее толщину в правилах
2. не используйте 0 зазор в правилах


Цитата(EvilWrecker @ Jun 24 2014, 16:33) *
Я наверное сейчас спрошу по избитой теме, но как черт побери задать правило clearance(электрическое) для объекта типа board cutout сделанного при помощи solid region wacko.gif

Никак. так как это не объект проводящего рисунка
Дублируйте keepOut
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.