Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правила в Altium Designer
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
EvilWrecker
Просмотрел большую часть этой ветки но так и не понял как решить свою проблему:

- есть псб с замысловатым контуром, который естественно сделан на механическом слое(30,31,32)
- на keep-out layer ничего не рисовал
- есть пады которые стоят по краю платы, но зак контур ее не вылезают- то есть расстояние от границ пада до контура псб равно 0

- границы платы где стоят эти пады образованы объектом solid region имеющего свойство board cutout

И разумеется при DRC выскакивает трилиард сообщения о нарушении зазора между cutout-ами и падами. Есть устойчивое предположении что лечится это правилом- да только не знаю каким.
Rodavion
А КАК создать правило для проверки вот этого зазора?
Murzik_6011
Цитата(Rodavion @ Nov 11 2014, 17:25) *
А КАК создать правило для проверки вот этого зазора?

Посмотрите в правилах Silk to Solder Mask Clereance (группа Manufacturing). Либо же рядом Minimum Solder Mask Sliver.
Rodavion
Цитата(Murzik_6011 @ Nov 11 2014, 18:39) *
Посмотрите в правилах Silk to Solder Mask Clereance (группа Manufacturing). Либо же рядом Minimum Solder Mask Sliver.

проверка работает, только в старых версиях Альтиума (в Summer). А вот в в 14 версии "товарищи" опять накосячили - у меня вот ТАКАЯ лабуда выскакивает
Murzik_6011
Поиграйтесь со слоями. Например, где-то через версию после появления правила контроля зазора между элементами шелкографии, он (контроль) перестал адекватно работать. Пришлось для каждого из объектов (в правиле) указывать слои (TopOverlay, BottomOverlay) и только после этого данное правило работало. Этот косяк помоему до сих пор не вылечен.
Rodavion
Цитата(Murzik_6011 @ Nov 11 2014, 20:06) *
Поиграйтесь со слоями. Например, где-то через версию после появления правила контроля зазора между элементами шелкографии, он (контроль) перестал адекватно работать. Пришлось для каждого из объектов (в правиле) указывать слои (TopOverlay, BottomOverlay) и только после этого данное правило работало. Этот косяк помоему до сих пор не вылечен.

Благодарю за помощь, сделал ТАКОЕ правило - проверка работает biggrin.gif
ЗЫ а почему если поставить галку на 1 позицию - то нет laughing.gif
Murzik_6011
Цитата(Rodavion @ Nov 11 2014, 19:26) *
ЗЫ а почему если поставить галку на 1 позицию - то нет laughing.gif

Сам удивляюсь laughing.gif Надо признать, что мелкие косячки при отработке правил есть. Печально то, что их не лечат. sad.gif
Владимир
Цитата(Murzik_6011 @ Nov 11 2014, 19:33) *
Сам удивляюсь laughing.gif Надо признать, что мелкие косячки при отработке правил есть. Печально то, что их не лечат. sad.gif

Там есть правила до МЕДИ и до ВСКРЫТИЯ МАСКИ.
Так что лечить нечего.
peshkoff
Цитата(Владимир @ Nov 11 2014, 19:53) *
Там есть правила до МЕДИ и до ВСКРЫТИЯ МАСКИ.
Так что лечить нечего.


не вводите людей в заблуждение.
1-ая галка означает, что проверять до меди на местах, вскрытых от маски (там и написано "exposed copper") . и это правило правильно работает в пред версиях
а 14 версия проверяет до всей меди независимо от вскрытия.

так что баг.
Rodavion
Цитата(peshkoff @ Nov 12 2014, 12:22) *
не вводите людей в заблуждение.
1-ая галка означает, что проверять до меди на местах, вскрытых от маски (там и написано "exposed copper") . и это правило правильно работает в пред версиях
а 14 версия проверяет до всей меди независимо от вскрытия.
так что баг.

не совсем так - правило написано для проверки зазора от десигнатора до региона в слое маски - программа так и проверяет. А вот если написать правило для проверки зазора от десигнатора до медного пада в слое Тор - то программа глючит, выдавая ТАКУЮ лабуду. А вообще-то это баг и довольно серьезный, жаль, что не знал его раньше, наехал бы на Илюкина вместе с багами по теме создания регионов малых размеров с закругленными углами для слоя Тор Раste. Тот баг он пообещал исправить в версии 15.2, а сколько этот провисит...
Владимир
Специально
надпись наложена так, что попадает на вскрытую область маски, но до меди в пределах правил
первое правило не дает ошибки
второе правила естественно находит его


В чем проблемы то
Rodavion
Цитата(Владимир @ Nov 12 2014, 13:35) *
Специально
надпись наложена так, что попадает на вскрытую область маски, но до меди в пределах правил
первое правило не дает ошибки
второе правила естественно находит его

ничего подобного! Правило ТАКОЕ. Зазор ТАКОЙ. Программа ошибку НЕ находит!
peshkoff
Цитата(Rodavion @ Nov 12 2014, 12:51) *
ничего подобного! Правило ТАКОЕ. Зазор ТАКОЙ. Программа ошибку НЕ находит!


Значит вы видимо в правилах перемудрили.
Изначально сверху прописаны был "IsPad" а снизу "All". Уж не знаю какой у него алгоритм, но может быть именно сверху нужно описать объекты со вскрытой маской, а снизу объекты с шелкографией?

Попробуйте сверху IsPad or IsRegion
снизу All

(правда у меня в этом случае 14-ый ушел в глубокое раздумье, уже полчаса проверяет там чего то)

В общем пока вывод один. 14 уж ооочень долго делает DRC. я не подумал, подсунул ему текщий проект. не дождался, пришлось терминировать.

Попробовал попроще.

Нужно сверху написать:
IsPad or IsFill or IsRegion (или в чем еще может быть маска у вас)

Снизу
All

все работает. я по первому вашему сообщению понял, что он конфликты с линиями в топе показывает... в общем, упростите правила.


Вы проверяете Регион. а солдер у вас это IsPad
Rodavion
Цитата(peshkoff @ Nov 12 2014, 14:44) *
Нужно сверху написать:
IsPad or IsFill or IsRegion (или в чем еще может быть маска у вас)
Снизу
All
все работает. я по первому вашему сообщению понял, что он конфликты с линиями в топе показывает... в общем, упростите правила.
Вы проверяете Регион. а солдер у вас это IsPad

НЕ РАБОТАЕТ!!!
получается такая картина - программа выдает нарушения любых объектов - track, arc, text от pad D9-14 (и далее 16 и тп), причем находящихся от нее на значительном расстоянии. Это - БАГ.
peshkoff
хм. может что то с падом не так? раз только на него ругается.. проект в студию тогда. где эта микросхема да еще пару элементов оставьте, остальное удалите
Владимир
Цитата(Rodavion @ Nov 12 2014, 12:51) *
ничего подобного! Правило ТАКОЕ. Зазор ТАКОЙ. Программа ошибку НЕ находит!

это правило указанный размер и не проверяет

Цитата(Rodavion @ Nov 12 2014, 14:21) *
НЕ РАБОТАЕТ!!!
получается такая картина - программа выдает нарушения любых объектов - track, arc, text от pad D9-14 (и далее 16 и тп), причем находящихся от нее на значительном расстоянии. Это - БАГ.

пришлите проект
Rodavion
Цитата(peshkoff @ Nov 12 2014, 15:31) *
хм. может что то с падом не так? раз только на него ругается.. проект в студию тогда. где эта микросхема да еще пару элементов оставьте, остальное удалите

разобрался, из-за чего программа глючит - из-за корпуса QFN32. В нем в центральном паде в свойствах маска задается значением отрицательной величины (то есть ее нет вовсе), и маска создана 4 регионами. Сие Altium и не нравиться. Ну тут я уж и не знаю, баг это или не баг - по другому этот корпус сделать нельзя. Наверное, все же баг.
А без этого корпуса ВСЕ проверки работают корректно.
Владимир
Внизу флаг. Закрыть маской. Используйте. В нужный местах вскройте прямоугольником или полигоном
Rodavion
Цитата(Владимир @ Nov 12 2014, 17:25) *
Внизу флаг. Закрыть маской. Используйте. В нужный местах вскройте прямоугольником или полигоном

Благодарю, РАБОТАЕТ!!! 08.gif
Владимир
Цитата(Rodavion @ Nov 12 2014, 16:34) *
Благодарю, РАБОТАЕТ!!! 08.gif

Если площадку 1мм закрыть маской в -5мм, то ее условная граница "вылезет "с другой стороны на 4мм
peshkoff
а зачем такие премудрости с маской?
Владимир
Цитата(peshkoff @ Nov 12 2014, 16:56) *
а зачем такие премудрости с маской?

Производитель рекомендует, производство одобряет,
Rodavion
Цитата(Владимир @ Nov 12 2014, 18:02) *
Производитель рекомендует, производство одобряет,

Ага. Если на ВСЮ центральную площадку положить пасту, то корпус при пайке может "всплыть", со всеми вытекающими. Кроме того, площадку приходиться "утыкивать" виа для лучшего охлаждения, а на виа пасту класть не рекомендуется. Кстати, весь этот геморр (с некорректным созданием пада) - наследство ПИКАДа, корпус оттуда сконвертирован.
peshkoff
паста, да. не должна быть большим квадратом. а маску вы вскрываем полностью.

по поводу пасты на отверстиях: смотря какие отверстия, в отверстия 0.3 и меньше паста не провалится.
Alexey_l
Есть металлизированное крепежное отверстие, подключенное к земле, и маленькое не металлизированное (направляющая для разъема), которое немного попадает на первое. Альтиум ругается, говорит КЗ. Создаю правило - разрешить КЗ между землей и no net, не помогает, ошибка остается. Если no net заменить на all ошибка исчезает, но это неправильно как-то. Кто поможет? AD15
peshkoff
маленькое отверстие сделать металлизированным и подключить к земле
Ariel
Уважаемые знатоки,
два вопроса по component clearance:
1. Если коипоненты развернуты на 45 градусов то альтиум ругается, хотя как видно на рисунке, компоненты друг на друга не налезают.
2. Альтиум проверяет minimum horizontal clearance по слоям top overlay, bottom overlay. Если например у компонента есть линии которые не относятся к его физическим габаритам, а обозначают дополнительную информацию, например "+" полярного конденсатора, то альтиум принимает эти линии за габариты и ругается если например этот "+" налезает на другой элемент. Может надо создать в каком-то другом слое контур который относится только физическим габаритам и чтобы альтиум проверял по нему? Как это сделать?
Uree
Он проверяет зазоры по 3D модели. Шелк проверяется в другом разделе, да у Вас на скриншоте ошибок на оверлеях и нет.
И у меня не ругается, пока корпус на корпус не наедет, при повороте на 45 в том числе:

Нажмите для просмотра прикрепленного файла
Ariel
да нет, у меня он проверяет по шелку. Для этого конкретного элемента 3d я вообще не строил. Что я не так делаю?
И как ему сказать чтобы проверял component clearance не по шелку, а по другоиу слою?
Uree
Проверил - именно так. Для компонентов у которых не определена 3D модель(хоть step, хоть простой extruded) проверка делается по вот той площади, включающей в себя весь компонент.
Расстояние больше, ошибка есть:

Нажмите для просмотра прикрепленного файла

Расстояние меньше, ошибки нет:

Нажмите для просмотра прикрепленного файла

Вывод - рисуйте 3d, в альтиуме других возможностей корректной проверки размещения не предусмотрено.
peshkoff
Только прорисовка 3Д поможет. Можно воспользоваться Tools\Manage 3D Body fo library из библиотеки. Ниже команда, обрабатывает сразу несколько элементов. Добавятся простые кубики, но они помогут.

А без 3Д альтиум проверяет не по шелкографии, а по так называемому Boundingbox. Он берет крайние координаты и описывает вокруг них прямоугольник. И этот прямоугольник не может поворачиваться на произвольные углы, ограничения api. т.к. это свойство описывается только X1 X2 Y1 Y2
Ariel
да, похоже что это так.
Спасибо Uree и peshkoff
Владимир
Цитата(Ariel @ Apr 8 2015, 11:17) *
да, похоже что это так.
Спасибо Uree и peshkoff

Это не похоже, а именно так.
Сто лет прошу добавить проверку по графики слоя Coyrtyard. Это бы сняло кучу проблем. Пока приходится извращаться добавлением фиктивного 3D на этом слоя, чтобы правила заработали как надо, а не как сделано
arhiv6
Есть такой вопрос по правилам: хочу, чтобы полигон соединялся с дорожками напрямую (разумеется, они одной цепи). Но даже если в разделе polygon connect style задать правило All to All direct connect, вокруг дорожек (Track) остаётся зазор. Как мне быть?
Murzik_6011
Цитата(arhiv6 @ Apr 29 2015, 20:05) *
Как мне быть?

Смотреть свойства полигона. Комбо-бокс под "Connect to Net".
arhiv6
Цитата
Комбо-бокс под "Connect to Net".

Спасибо!
pikar
Подскажите, пожалуйста.
Необходимо создать правило, которое обеспечивало бы зазор между дифференциальной парой и другой любой металлизацией. Зазор между проводниками в паре меньше (0.2 мм) чем вышеописанный зазор (0.3 мм).
Причем необходимо, чтобы в районе подключения дифпары к падам, это правило отключалось. Таких мест много на плате и они могут двигаться в процессе разводки, поэтому комнатами пользоваться нежелательно.
Hypericum
Цитата(pikar @ May 6 2015, 12:41) *
Таких мест много на плате и они могут двигаться в процессе разводки, поэтому комнатами пользоваться нежелательно.

Сделайте room из компонента и перемещайте места (компоненты) синхронно с room-ами biggrin.gif .
Поищите на Ютюбе Altium+Сабунин, урок называется 21. Работа с дифференциальными парами, ~11 мин.
Владимир
Без Room тоже можно. Ну пока тут никакой конкретики. Только письмо "на деревню, дедушке"
pikar
Цитата(Владимир @ May 6 2015, 14:37) *
Без Room тоже можно. Ну пока тут никакой конкретики. Только письмо "на деревню, дедушке"

Как задать правило таким образом, чтобы проводник GND, который идет в центр КП не показывал ошибку зазора с дифпарой идущей на соседнюю КП. Но если эти же цепи встретятся на удалении, скажем 20 мм от КП, то ошибка зазора будет иметь место.
Владимир
У вас ругается от Pad, от PAD (принадлежащей дифпаре) до чужого Track
Исключите в условии PAD - и все за работает.
Такие PAD окружены другими PAD и исключение на затронет другие зазоры
peshkoff
нужно написать правило для
Код
(IsTrack or IsArc) and (InDifferentialPairClass('All Differential Pairs'))


пады исключатся, но, возможно, меньше 0.3 будет и между проводниками соседними около падов.
я в этом случае просто отрубаю проверку. с комнатами зашьешься
Владимир
Via добавить
В конце достаточно InAnyDifferentialPairs
peshkoff
Via зачем?
А InAnyDifferentialPairs я не понял как работает. Во всяком случае у меня не работает, не могу понять почему, вот и применяю первый вариант.
Владимир
VIA -- если дифпара содержит переходу на другой слой
Почему не работает у вас InAnyDifferentialPairs надо смотреть.
peshkoff
Цитата(Владимир @ May 7 2015, 08:29) *
VIA -- если дифпара содержит переходу на другой слой


Я понимаю.
Только отступ от виа ни о чем. Он ничего не решает. Все что мы от этого получим, это ненужные дыры в полигоне.

Цитата(Владимир @ May 7 2015, 08:29) *
Почему не работает у вас InAnyDifferentialPairs надо смотреть.


Надо посмотреть. Он как то нестабильно работает. Может от версии зависит.
А InAnyDifferentialPairs внутри самой пары проверять не будет?
Владимир
Цитата(peshkoff @ May 7 2015, 08:50) *
Я понимаю.
Только отступ от виа ни о чем. Он ничего не решает. Все что мы от этого получим, это ненужные дыры в полигоне.



Надо посмотреть. Он как то нестабильно работает. Может от версии зависит.
А InAnyDifferentialPairs внутри самой пары проверять не будет?

По Via -- это решать тому, кто использует

По второму-- нет не будет
pikar
Владимир, peshkoff спасибо за подсказки.
Цитата(peshkoff @ May 7 2015, 08:50) *
А InAnyDifferentialPairs внутри самой пары проверять не будет?

Что бы правило распространяющееся на дифпары не работало внутри дифпары, надо в окошке "Constraints" вместо "Different Nets Only" указать "Different Differential pair". Сам долго искал, чтобы правило внутри дифпары не проверяло.
InHaze
Подскажите, пожалуйста, как задать правило на зазор между дорожками и переходными отверстиями в тех слоях, где у переходных отверстий убран поясок (Remove Unused Pad Shapes).
peshkoff
Цитата(InHaze @ Jul 24 2015, 17:32) *
Подскажите, пожалуйста, как задать правило на зазор между дорожками и переходными отверстиями в тех слоях, где у переходных отверстий убран поясок (Remove Unused Pad Shapes).


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