Полная версия этой страницы:
Правила в Altium Designer
Murzik_6011
Sep 3 2013, 17:24
Цитата(Владимир @ Sep 3 2013, 21:11)

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

Я так понимаю, это такая "фича" АД (не выдерживать зазор у отключеных падов)?
Это о чем?
Если бы зазоры не выдерживались--- один брак при производстве был бы. уже давно бы заклевали
Murzik_6011
Sep 4 2013, 16:38
Тогда почему на картинке (ну и на плате тоже) зазор между выводом С14-2 (рядом с С13) составляет 0.266... мм, хотя в списке правил на зазор, минимальный составляет 0.3 мм? А главное - почему мне не удалось его задать?
Владимир
Sep 4 2013, 17:20
Картинка и проект, суть разные вещи. Ищите ошибку в правилах
Murzik_6011
Sep 4 2013, 18:39
Вот собственно мы к ним и пришли.
Владимир
Sep 5 2013, 02:56
ну еще пара картинок.
1 Текста правил нету.
2. текста сообщено нарушениях нет
3. чем и как измярять нарушение 0.266... мм?
Master of Nature
Sep 5 2013, 05:30
Добавьте в раздел Clearence правило для HasPad('C13_2'), т.к. хотя вы и указали DirectConnect в свойствах полигона, но сработает оно только если полигон и контактная площадка будут подключены к одной цепи.
0.266 - это вы вручную измерили как-то?
Murzik_6011
Sep 5 2013, 06:37
To Владимир
1. Сами правила "расписаны" в колонки "Scope" + "Attributes" (на картинках).
2. Действительно, сообщений о нарушениях нет.
3. Диаметр выреза в полигоне - 2,7316...мм (измерено вручную), а пад - 2,2 мм.
То Master of Nature
И полигон и ноги подключены к одной цепи, поэтому они "коннектятся" без проблем.
Master of Nature
Sep 5 2013, 08:19
Цитата(Murzik_6011 @ Sep 5 2013, 10:37)

И полигон и ноги подключены к одной цепи, поэтому они "коннектятся" без проблем.
У вас полигон называется GND или Top-GND ?
Не могли бы вы выложить файл печатной платы?
Murzik_6011
Sep 5 2013, 09:19
Цитата(Master of Nature @ Sep 5 2013, 12:19)

У вас полигон называется GND или Top-GND ?
Master of Nature
Sep 5 2013, 09:28
Murzik_6011
Попробуйте заменить HasPad на InComponent('C13')
Как мне кажется, этот вариант конструкции более уместен.
Murzik_6011
Sep 5 2013, 09:42
Цитата(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
Sep 5 2013, 10:40
Цитата(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
Sep 5 2013, 12:54
Цитата(Master of Nature @ Sep 5 2013, 14:40)

Зазоры берутся не с потолка, а из настроек правила No Connect. Только эта настройка, почему-то скрыта.
Переключитесь в этом правиле из режима No Connect в режим Relief Connect, настройте Air Gap и нажмите "Применить"
Потом верните No Connect.
Без поллитры не догадаешься. Спасибо за наводку (а также на пиво, на виски, ....)!
Проверил, действительно всЁ заработало. Эх, шайтан-машина!
InHaze
Jan 27 2014, 10:33
хочу задать правила для трассировки линий на несколько микросхем по daisy chain топологии: MK -> ИС1 -> ИС2
например, на участке МК->ИС1: MatchedLengths = 5мм, MaxLenth = 50мм
например, на участке ИС1->ИС2: MatchedLengths = 0,5мм, MaxLenth = 20мм
можно ли в правилах указать участки линий, например от МК до ИС1? InNetClass('NetName') and ...
если можно, то как?
Владимир
Jan 27 2014, 11:02
Цитата(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
Jan 28 2014, 14:04
Цитата(Алексей Сабунин @ Mar 4 2013, 17:18)

from-to не может быть объектом правила Lenght, как бы этого не хотелось.
да, возможно оно так должно быть, но на данный момент - нет!
Цитата(Владимир @ Jan 27 2014, 15:02)

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

'Владимир, а что на данный момент from-to УЖЕ МОЖЕТ быть объектом правила Lenght?
Нет, Был не внимателен. Класс From-to - контроль только через панель PCB.
Хоть что-то.
Я думаю решится враз, когда мафия DDR победит
Rodavion
Jan 28 2014, 14:56
Цитата(Владимир @ Jan 28 2014, 18:54)

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

Здравствуйте.
Можно ли задать правило проверки на незакрытые маской переходные отверстия или выставить по умолчанию закрытие маской всех переходных глобально, а не в настройках конкретной платы?
Варианты:
1) Создайте правило
Design -> Rules -> Mask -> Solder Mask Expansion для переходных (
IsVia) с указанием отрицательного вскрытия больше радиуса самого большого переходного.
2) Через
Find Similar Object (
FSO) выбрать все переходные, открыть инспектор и поставить галочки на
Solder Mask Tenting.
Цитата
глобально, а не в настройках конкретной платы
Создать пустую PCB в которой прописать все необходимые правила (зазоры, вскрытие и тд) и подсунуть её в
New Document Defaults.
Хочу сделать проверку того, чтобы для закрытых паяльной маской переходных отверстий расстояние от края отверстия via до ближайшего окна вскрытия паяльной маски было не менее определенного значения.
Можно ли сделать такое правило?
Hypericum
Feb 21 2014, 01:51
Цитата(BaN @ Feb 20 2014, 18:13)

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

Быть может, сделать проще.
Известен диаметр переходного отверстия, диаметр контактной площадки переходного отверстия, отступ паяльной маски от контактной площадки элемента поверхностного монтажа.
Перевести выражение "расстояние от края отверстия via до ближайшего окна вскрытия паяльной маски" в выражение clearence между элементами топологии в меди - расстояние от КП via до КП SMD. Можно сделать даже в определенном регионе платы.

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

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

Всю эту страшную муть запишите конкретными цифрами - SolderMaskTentingBottom напишите 0.15мм, диаметр отверстия 0,6мм, диаметр КП via 1.2мм и посчитайте по формуле, которую предложил выше. В правиле clearence ПО МЕДИ задайте число.
Хотелось бы, конечно, чтобы этот параметр подстраивался автоматически при изменении SolderMaskExpansion, ViaDiameter и HoleSize, ну да ладно, вот так хотя бы работает.
gia1965
Feb 25 2014, 06:01
Просьба помочь. Хочу выделить проводники с нарушениями , например правило net antennae Записываю в фильтре :
IsWire and OnLayer('L2') and IsRule_NetAntennae = 'true'
Не работает. Что не так?
Владимир
Feb 25 2014, 06:13
не мучайтесь. Для выделения ошибок по правилам (и множество другое) есть специальная панель PCB/PCB rule and Violation
Искомая опция там есть
gia1965
Feb 25 2014, 12:33
Цитата(Владимир @ 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
Feb 25 2014, 13:34
Цитата(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
Feb 28 2014, 05:54
Всем привет.
Прошу прояснить пару вопросов относительно функций из 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
Feb 28 2014, 07:10
Цитата(Sanchelo @ Feb 28 2014, 09:54)

Как я понял jumpers objects – это компонент у которого поле Pad Jumper ID не равно 0.
не так!
IsSubnetJumper это результат команды AutoRoute>Add Subnet Jumper в редакторе плат!
Sanchelo
Feb 28 2014, 10:16
Цитата
не так!
IsSubnetJumper это результат команды AutoRoute>Add Subnet Jumper в редакторе плат!.
Благодарю за ответ.
CatMurr
Mar 20 2014, 07:22
Подскажите, пожалуйста: на плате есть торцевые металлизированные полуотверстия. Для производства передаем их так: делаем в Altium pad с центром, совпадающим с краем платы и говорим сделать фрезеровку по контуру платы.
Как задать правило, чтобы Altium не считал наполовину свисающие с края платы padы ошибкой? Возможно ли это? Как вы выкручиваетесь в таких случаях?
Нажмите для просмотра прикрепленного файла
Владимир
Mar 20 2014, 07:25
у вас "ругается" на линию в слое KeepOut, которая идет поверх PAD
Уберите ее
CatMurr
Mar 20 2014, 08:51
Цитата(Владимир @ Mar 20 2014, 11:25)

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

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

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

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

1. я бы в названии оставил номер механического слоя дабы знать, какой он был изначально
2. Board не адекватно отражает суть, так как бывают и внутренние вырезы. У них тоже контур есть
В сухом остатке -- называют как хотят. Наиболее часто мне попадают из англоязычных BoardOutline
Я называю 4BoardOutline, так как для этого использую 4 мехслой
А ЭТО вы Сабунину скажите

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

А ЭТО вы Сабунину скажите

А поскольку я ОЧЕНЬ долго сидел в ПИКАДе, мне ТОЖЕ Board нравиться. А вообще-то на вкус и цвет, как говориться... Хоть горшком можно назвать, главное, что бы самому было понятно. В САМе то все равно названия другие
я же писал. у меня все варианты были
"мне ТОЖЕ Board нравиться." этот наверное в процентов 30 у чужих, и судя по наполнению-- все они получены путем импортирования из других пакетов.
Мне не нравится только одним. связь между библиотекой посадочных и проектом идет не по имени механического слоя, а по его номеру.
Только поэтому я бы оставлял номер слоя в названии.
У меня много посадочных мест в виде заготовки печатной платы (например PCI)/ Там уже включен механический слой с контуром печатной платы. и я хочу сразу знать на каком слое, ане высчитывать его открывая все механические слои
CatMurr
Mar 21 2014, 02:35
Цитата(Rodavion @ Mar 20 2014, 13:11)

это неправильный подход, контур платы должен быть создан в механическом слое, который желательно так и назвать - Board. Плиз, вот урок Сабунина -
http://www.youtube.com/watch?v=xV11RGg4YsE...eature=youtu.beА зачем тогда слой Keepout нужен? В видео этого не объясняют.
Владимир
Mar 21 2014, 02:49
Цитата(CatMurr @ Mar 21 2014, 05:35)

А зачем тогда слой Keepout нужен? В видео этого не объясняют.
Слой для указания зон запрета для меди на всех слоях. Как частный случай для простых проектов может совпадать и соответственно использоваться как контур платы.
CatMurr
Mar 21 2014, 03:25
Цитата(Владимир @ Mar 21 2014, 06:49)

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

Можно ли задать правило проверки на незакрытые маской переходные отверстия или выставить по умолчанию закрытие маской всех переходных глобально, а не в настройках конкретной платы?
Настройка по-умолчанию меняется в DXP-Preferences-PCB editor-Defaults-Via-Edit values поставить галочки "Force complete tenting on top" и "Force complete tenting on bottom"
З.Ы. Тьфу, чёт я месяцы попутал...
Mikhail.B
May 24 2014, 08:18
Во вкладке tools есть функция outline from selected objects... Как-то так, делает контур по примитивам. Толщина линии этого контура 8 mil, можно ли где-то эту толщину изменить?
Alechek
Jun 24 2014, 12:25
Цитата(Владимир @ 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
Jun 24 2014, 13:33
Я наверное сейчас спрошу по избитой теме, но как черт побери задать правило clearance(электрическое) для объекта типа board cutout сделанного при помощи solid region
Владимир
Jun 24 2014, 13:50
Цитата(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

Никак. так как это не объект проводящего рисунка
Дублируйте keepOut
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.