|
Правила в Altium Designer, выкладываем сюда создаваемые вами правила и вопросы |
|
|
32 страниц
1 2 3 > »
|
 |
Ответов
(1 - 99)
|
Jul 30 2008, 18:21
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата(eXeC001er @ Jul 30 2008, 20:05)  Предлагаю в этоц теме складывать правила для Altium Designer. Просьба указывать версию вашего AD. самое удобное будет скриншот окна с описанным правилом и маленькое описание что оно делает. В октябре надеюсь выйдет первая часть-- там основные правила без относительно проекта, Затем вторая часть- с учетом проекта, и далее все для много слоек, дифпар и то до чего руки дойдут, если дойдут. Именно в последних будет и текст и результат действия, так как именно они сложные. Первай особого интереса кроме как общеобразовательного не представляют. Но и конечно просто как примери и систепа построения.
|
|
|
|
|
Jul 30 2008, 18:46
|

Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 23-02-05
Из: Краснодар
Пользователь №: 2 848

|
Цитата(Владимир @ Jul 30 2008, 22:21)  В октябре надеюсь выйдет первая часть-- там основные правила без относительно проекта, ёлы палы  . я думал в августе уже почитать статейку. ну чтоже бум ждать. вот полезное правило: позволяет задавать зазор между полигоном и другими объектами трассировки отдельно от основного зазора.
|
|
|
|
|
Jul 31 2008, 08:07
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 4-10-05
Из: Москва
Пользователь №: 9 217

|
Цитата(Владимир @ Jul 30 2008, 22:55)  Дай бог в августе --- использование базы данных в качестве библиотеки. О! Давно собираюсь пользовать, только не очень знаю, зачем..
|
|
|
|
|
Jul 31 2008, 18:43
|

Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 23-02-05
Из: Краснодар
Пользователь №: 2 848

|
вот еще онд правило: (сам сделал) позволяет PAD отнесенные к определенному классу (у меня на картинке класс GND_PAD) присоединять к полигону напрямую без термопереходов, ну или так как вам надо (т.е. отлично от других PAD) Работать должно в любой версии.
|
|
|
|
|
Jul 31 2008, 20:37
|
Участник

Группа: Свой
Сообщений: 42
Регистрация: 7-06-07
Из: Россия, Орел
Пользователь №: 28 281

|
Цитата(Владимир @ Jul 30 2008, 22:55)  Дай бог в августе --- использование базы данных в качестве библиотеки. А буду какие-нибудь фичи описаны, или только стандартные приемы работы из документации? Ой. кажется я невтой теме не те вопросы задаю. Сори
|
|
|
|
|
Aug 5 2008, 09:38
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Хочу задать зазоры дифференциальной пары между проводниками. В обоих окошках записАл: 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) - бесполезно.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 5 2008, 10:20
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(Владимир @ Aug 5 2008, 17:07)  InAnyDifferentialPair Не нашёл такого в query helper'e. А когда вписАл - не ругается. Даже не знал, что такая функция существует. Попробовал ещё вот так: _______ isTrack And InDifferentialPairClass('All Differential Pairs') And (Width > 0.2) _______ InAnyDifferentialPair _______ Бесполезно... При том, когда стираю And (Width > 0.2) - правило начинает работать, т.е. соблюдать заданный зазор. Очевидно, что с толщиной линии не понимает... Владимир, а приведённое Вами правило действовало для зазоров?
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 5 2008, 11:31
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Увы... сделал вот так: ______ (IsTrack And Width >= 0.4) ______ IsTrack ______
Эффект тот же... т.е. нулевой. Срабатывает правило для зазоров по умолчанию, а не это. Увы... сделал вот так: ______ (IsTrack And Width >= 0.4) ______ IsTrack ______
Эффект тот же... т.е. нулевой. Срабатывает правило для зазоров по умолчанию, а не это. Для точности добавлю, что толщина дорожки дифференциальной пары у меня 0,4, зазор между ними 0,2. А по умолчанию у меня дорожки 0,2 и зазор 0,15. Вот зазор 0,15 я сейчас наблюдаю для дорожек любой толщины. А должен быть 0,2.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 6 2008, 04:15
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(Владимир @ Aug 5 2008, 18:40)  Учтите там есть гадость. правила работуют для тех единиц, что являются активными. явно писать единицы в формулах не дает. На этот счёт есть такая функция: AsMM(Width), я её тоже использовал - бесполезно. Хотя, у меня активные единицы всё равно миллиметры. И зазоры я ставлю в миллиметрах. Даже если подумать: милсы - это ещё меньше десятых миллиметра, поэтому под это правило у меня должны попадать все дорожки, а этого не происходит. Но на всякий случай я попробовал такой ход: Width < 0.4. Т.е. сделал неравенство наоборот. Всё равно правило не работает. Цитата(Владимир @ Aug 5 2008, 18:40)  Во вторых, что бы узнать какое правиде действует--- выделите элемен ЮЮ правая кнопка юю Aplicate binary (unaru) Rules Спасибо, полезная функция. Ещё раз показала, что моё созданное правило не работает, а работает то, что по умолчанию. Цитата(Владимир @ Aug 5 2008, 18:40)  А так перед отпуской апломб. Ничего делать и проверять не хочется. :) Вам приятного отпуска. Будем надеяться, кто-то ещё сможет что-то подсказать. _________________________________________________________________ Попробовал сделать просто через панель PCB Filter. Дал запрос Width > 0.2. Выдало ошибку Error Occurred while Running script Т.е. получается, что слово Width он не любит. Как бы его обмануть... Если кому-нибудь нетрудно, попробуйте, пожалуйста, на своём АД сделать подобный поиск дорожек с использованием ширины дорожки. Тоже ошибку даст или нет... То ли глюк у меня в самом АД. Может, переустановить его... Какие ещё обходные пути кто может предложить? Ещё раз постановка задачи: Дорожка должна иметь большую толщину и большой зазор, но от микросхемы её такой вывести нереально, поэтому недалеко приходится выводить с малой толщиной и малым зазором. Я пытаюсь задать правило для зазора, которое бы в зависимости от толщины дорожки устанавливало бы разный допустимый зазор. Пока в тупике, даже разводить дальше не могу - застрял на этом.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 6 2008, 07:42
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Увы... рано я порадовался... Один раз сработало тогда, а сейчас также выдрючивается похоже... У меня и с миллиметрами поначалу работало, потом перестало. Похоже, там какая-то одноразовая система. Один раз даёт работать в миллиметрах, потом в милсы переходишь - ещё раз. А потом уже не работает ни в тех, ни в тех единицах :( Спишем всё на версию, она у меня старая, а новую скачать нет возможности пока. Пришлось пока дедовским способом выставлять зазор...
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 15 2008, 06:40
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Беда у меня с этими правилами... Прошлую проблему я решил тупо. Вручную переключал в правилах зазор, когда надо было тянуть дифференциальную пару. Т.е. всегда стоял 0,15, а когда тянул пару, ставил 0,2. Потом обратно. В пикаде в принципе так делал всегда. Но теперь опять появилась проблема, на этот раз с зазором между полигонами и дорожками. Поскольку это была уже вторая проблема при работе в АД версии 6.7, то я таки решился перейти на АД саммер 08. Не изменилось ничего. Вот тут мой файл:
digital_loop.rar ( 283.22 килобайт )
Кол-во скачиваний: 374Задаю правило в разделе Clearance: __________________________________________ IsTrack And InDifferentialPairClass('All Differential Pairs') __________________________________________ InPolygonClass('All Polygons') __________________________________________ Для этого правила зазор 0,2. По умолчанию для всего остального зазор 0,15. АД моего правила внаглую не видит, у всех полигонов до дорожек зазор 0,15, а не 0,2, как требуется. Даю команду Applicable binary rules, выбираю дорожку и полигон - табличка с перечнем правил просто не вылазиит. Хотя правило там хоть какое-то должно быть, ведь зазор 0,15 всё равно откуда-то берётся, хоть и не 0,2. Пробовал я поставить правило таким образом: __________________________________________ IsTrack And InDifferentialPairClass('All Differential Pairs') __________________________________________ All __________________________________________ Так заработало. Разумеется, всё вокруг поменяло цвет, сигнализируя об ошибках в зазорах. Зато полигоны перезалились с зазором 0,2. Попробовал записАть так: __________________________________________ IsTrack And InDifferentialPairClass('All Differential Pairs') __________________________________________ IsPoly __________________________________________ АД сказал, что в правиле ошибка, и не желаю ли я ошибку исправить. Т.е. IsPoly вообще не понимает. Попробовал ещё так: __________________________________________ IsTrack And InDifferentialPairClass('All Differential Pairs') __________________________________________ IsNamedPolygon('top_common_gnd') __________________________________________ Тоже нулевая реакция, т.е. зазор остаётся 0,15 после перезаливки. Я думал, может, АД не видит заданных мной условий для полигонов. Попробовал эти же условия ввести в PCB Filter (по очереди, не все сразу): InPolygonClass('All Polygons') IsPoly IsNamedPolygon('top_common_gnd') В таком виде фильтр выделяет правильно нужные полигоны. Кто может что-нибудь посоветовать? Попробуйте, пожалуйста, у себя мой файл, будет ли такая проблема. АД я поставил свежий только недавно, так что переставлять его можете не советовать. Да, комп уже довольно старенький, 2 ГГц, одноядерник, видюха встроенная какая-то без DirectX 9.0c. Может так видюха влияет? ЗЫ: при переходе на новый АД проблема с заданием зазора в зависимости от ширины трассы также не исчезла. Когда в PCB Filter встречается строка со словом Width, то пишется та же самая ошибка Error Occurred while Running script
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 18 2008, 06:19
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 4-10-05
Из: Москва
Пользователь №: 9 217

|
Цитата(Krys @ Aug 6 2008, 08:15)  Если кому-нибудь нетрудно, попробуйте, пожалуйста, на своём АД сделать подобный поиск дорожек с использованием ширины дорожки. Тоже ошибку даст или нет... То ли глюк у меня в самом АД. Может, переустановить его... Какие ещё обходные пути кто может предложить? Ещё раз постановка задачи: Дорожка должна иметь большую толщину и большой зазор, но от микросхемы её такой вывести нереально, поэтому недалеко приходится выводить с малой толщиной и малым зазором. Я пытаюсь задать правило для зазора, которое бы в зависимости от толщины дорожки устанавливало бы разный допустимый зазор. Пока в тупике, даже разводить дальше не могу - застрял на этом. Поиск - старый баг, в новых версиях остался http://electronix.ru/forum/index.php?showt...4963&st=66#Я делал так: с BGA вывводил пары вручную тонкими одиночными линиями, задав нужный зазор, а выйдя на простор - дифпарами. Хотя глючно всё весьма..
|
|
|
|
|
Aug 18 2008, 06:37
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 6-09-06
Пользователь №: 20 116

|
Добрый день! Вообще в AD не работала  . Но когда у нас на фирме был поднят вопрос выбора пакета Expedition или AD, пришлось немного полазить в последнем для ознакомления. Искала целенаправленно те же возможности, которые используем в Expedition`e. Разные правила для выхода из-под микросхемы и трассировке вне ее в Expedition задаются с помощью Rule Area (и ширина дорожек внутри этой зоны, и зазоры в ней). Поэтому в AD сразу искала аналог и нашла его  Нарисовала Room вокруг требуемой микросхемы. А потом задала правила внутри и вне ее. См. рис.
|
|
|
|
|
Aug 18 2008, 09:26
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 6-08-04
Из: München
Пользователь №: 461

|
Цитата(Krys @ Aug 15 2008, 08:40)  Задаю правило в разделе Clearance: __________________________________________ IsTrack And InDifferentialPairClass('All Differential Pairs') __________________________________________ InPolygonClass('All Polygons') __________________________________________ Я не очень разбирался с Вашими всеми правилами. Если вместо InPolygonClass('All Polygons') написать просто InPoly или InPolygon, то всё должно работать. Удачи.
|
|
|
|
|
Aug 19 2008, 08:32
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(dimay @ Aug 18 2008, 16:26)  Я не очень разбирался с Вашими всеми правилами. Если вместо InPolygonClass('All Polygons') написать просто InPoly или InPolygon, то всё должно работать. Удачи. Да я вижу, что не читали. ПРоверял я это: Цитата Попробовал записАть так: __________________________________________ IsTrack And InDifferentialPairClass('All Differential Pairs') __________________________________________ IsPoly __________________________________________ АД сказал, что в правиле ошибка, и не желаю ли я ошибку исправить. Т.е. IsPoly вообще не понимает. Цитата(Anchic @ Aug 18 2008, 13:37)  Разные правила для выхода из-под микросхемы и трассировке вне ее в Expedition задаются с помощью Rule Area (и ширина дорожек внутри этой зоны, и зазоры в ней). Поэтому в AD сразу искала аналог и нашла его :) Нарисовала Room вокруг требуемой микросхемы. А потом задала правила внутри и вне ее. Спасибо, но это не то, что мне надо. У меня не работает вполне конкретное правило. В целом вроде правилами пользоваться умею давно (в большей или меньшей степени). Цитата(Alex Ko @ Aug 18 2008, 13:19)  Я делал так: с BGA вывводил пары вручную тонкими одиночными линиями, задав нужный зазор, а выйдя на простор - дифпарами. Хотя глючно всё весьма.. Я вообще управиться с differential pair routing не смог. Проводил дифференциальные пары как обычные. Увы... А с полигонами пришлось поступить тупо, как в пикаде. Хотя это мне добавило ооооочень много неудобств. Я создал правило для зазоров между дорожкой и любым объектом и поставил 0,2. Оно работает. Я его включаю на время заливки полигонов. Потом правило приходится отключать, чтобы на все остальные зазоры не ругалось. Для всего остального действует правило по умолчанию 0,15. Короче мой вывод такой, что глюки свели на нет все преимущества AD перед пикадом, потому что в конечном счёте я этими преимуществами (гибкость правил) воспользоваться не смог, и пришлось делать всё по-тупому.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 22 2008, 04:14
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Прошу прощения, не указал один нюанс: мне нужно найти компонент, у которого имеются указанные условия. (ParameterValue = '=Comment') & (ParameterName = 'Value') - я так делал, находит сам параметр, но не компонент. Мне нужно найти сам компонент, т.к. с ним нужно проводить определённые действия. Да, у параметра в SCH List есть колонка Owner, но она мне ничего не даёт. Через неё выделить сами компоненты я не могу. Или я ошибаюсь? Поправьте, пожалуйста, если неправ.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 22 2008, 08:39
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 6-08-04
Из: München
Пользователь №: 461

|
Цитата(Krys @ Aug 19 2008, 10:32)  Да я вижу, что не читали. ПРоверял я это: Да я тоже вижу, что Вы невнимательно читали. Я написал не IsPoly, а InPoly, всего одна буква разница, а имеет большое значение.
|
|
|
|
|
Aug 22 2008, 09:04
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
dimay, простите, пожалуйста, был неправ. Ваше InPoly заработало. Спасибо. Правда, слишком поздно, я уже так намучался, вручную. А плату уже отдал в производство :) Единственное, что расстраивает - не было InPoly в списке Query Helper. Или я не туда смотрел? Получается, что этот хелпер неплолный, и мне нужно перечитывать всю докмуентацию, чтобы найти нужную мне функцию. ___________________________ Ещё раз был неправ. В хелпере нашлась такая функция, но среди attribute check. Кто бы мог догадаться... Ну да ладно, это вопрос стереотипов. ___________________________
Ещё, если нетрудно, разжуйте, пожалуйста, почему не заработало IsPoly? В чём нюанс? И если в моей задаче сработало InPoly, то в каком случае сработает IsPoly? И почему не заработало InPolygonClass? (тоже слово In присутствует).
ЗЫ: а про проблему с Width не сможете что-нибудь посоветовать?
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 22 2008, 11:09
|

Профессионал
    
Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835

|
Цитата(Krys @ Aug 22 2008, 07:14)  Мне нужно найти сам компонент, т.к. с ним нужно проводить определённые действия. Да, у параметра в SCH List есть колонка Owner, но она мне ничего не даёт. Через неё выделить сами компоненты я не могу. Можно если осторожно. После фильтрации (ParameterValue = '=Comment') & (ParameterName = 'Value')
нажимаем Owner в группе Object Specific инспектора. Далее в sch list имеем список требуемых компонентов. Цитата(Krys @ Aug 22 2008, 12:04)  Ещё, если нетрудно, разжуйте, пожалуйста, почему не заработало IsPoly? В чём нюанс? И если в моей задаче сработало InPoly, то в каком случае сработает IsPoly? И почему не заработало InPolygonClass? (тоже слово In присутствует).
ЗЫ: а про проблему с Width не сможете что-нибудь посоветовать? В данном случае нужны объекты, составляющие полигон (дуги, треки), а не сам полигон как объект. Вот и всё отличие. InPolygonClass не будет работать по этой же причине. А проблема с Width она аппаратная, мучает на сильно старых машинах ...
|
|
|
|
|
Aug 22 2008, 13:05
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 6-08-04
Из: München
Пользователь №: 461

|
Vokchap уже написал почему нужно писать именно InPoly. Кстати это правило уже много раз всплывало тут на форуме и даже в этом топике на первой странице. А вот с правилом Width я не знаю, у меня оно тоже не работает, просто игнорируется. Если строка с правилом длинная, то все остальное из этой строки выполняется, а на заданную ширину проводников внимание не обращается. Насчет того, что это аппаратная проблема, я в этом сомневаюсь, хотя у меня пентиум 3 ГГц и 1 Гб памяти, а видеокарта не поддерживает DirectX, что по сегодняшним меркам действительно не ахти.
|
|
|
|
|
Aug 22 2008, 14:13
|

Профессионал
    
Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835

|
Цитата(dimay @ Aug 22 2008, 16:05)  А вот с правилом Width я не знаю, у меня оно тоже не работает, просто игнорируется. Если строка с правилом длинная, то все остальное из этой строки выполняется, а на заданную ширину проводников внимание не обращается. Насчет того, что это аппаратная проблема, я в этом сомневаюсь, хотя у меня пентиум 3 ГГц и 1 Гб памяти, а видеокарта не поддерживает DirectX, что по сегодняшним меркам действительно не ахти. Возможно я что-то упустил в беседе. Под проблемой с Width я подразумевал сообщения об ошибках при работе с фильтром. Регулярно сталкивался с этим на дохленьках машинах с селеронами, чего нет на современных конфигурациях.
|
|
|
|
|
Aug 24 2008, 08:00
|
Группа: Новичок
Сообщений: 4
Регистрация: 24-08-08
Пользователь №: 39 782

|
Пытаюсь создать несколько правил MinimumAnnularRing для разных диаметров отверстий и ничего не выходит. Запрос пишу примерно такой (IsPad OR IsVia) AND (HoleSize between 0.4 AND 0.7). пробовал использовать функции конвертации систем AsMM и AsMIL, задавать другую систему для документа - один фиг. Если отверстия объединить в класс, то запрос работает. Чувствую, что HoleSize так впрямую использовать нельзя, но как сделать иначе не понимаю. Помогите, пожалуйста
|
|
|
|
|
Aug 25 2008, 08:59
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(AndreworNIL @ Aug 24 2008, 15:00)  Пытаюсь создать несколько правил MinimumAnnularRing для разных диаметров отверстий и ничего не выходит. Запрос пишу примерно такой (IsPad OR IsVia) AND (HoleSize between 0.4 AND 0.7). пробовал использовать функции конвертации систем AsMM и AsMIL, задавать другую систему для документа - один фиг. Если отверстия объединить в класс, то запрос работает. Чувствую, что HoleSize так впрямую использовать нельзя, но как сделать иначе не понимаю. Помогите, пожалуйста Нашёл на странице 4 в документе TR0110 Query Language Reference.PDF в папке help в АД вот что: Код Example: HoleDiameter Between 30 And 50 To be returned, an object has to have a Hole Diameter that is greater than or equal to 30, and less than or equal to 50. Т.е. можно попробовать не HoleSize, а HoleDiameter Попробуйте ещё использовать не between, а двойное неравенство типа < и >. А если и так не пойдёт - попробуйте для начала одиночное неравенство и цифры попробуйте очень маленькие и очень большие для пробы: понимает ли он хоть что-нибудь. Цитата(Владимир @ Aug 24 2008, 00:50)  Что-то я пропустил проблему с Width Хотя бог с ней. За неделю я думаю разрешится. Если нет-- тогда решу. C width проблема пока не решилась. Суть тут: http://electronix.ru/forum/index.php?s=&am...st&p=449092Могу выложить свой *.pcb. Я его даже где-то выкладывал.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 25 2008, 10:01
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(Vokchap @ Aug 22 2008, 18:09)  Можно если осторожно. После фильтрации (ParameterValue = '=Comment') & (ParameterName = 'Value') нажимаем Owner в группе Object Specific инспектора. Далее в sch list имеем список требуемых компонентов. Спасибо, сработало. ПРо инспектор я как-то не подумал... Цитата(Vokchap @ Aug 22 2008, 21:13)  Под проблемой с Width я подразумевал сообщения об ошибках при работе с фильтром При упоминании слова Width в любых комбинациях в фильтре выскакивает ошибка сценария. Но это не главное. Проблема в том, что не воспринимается ширина проводника при задании правил, скажем, зазоров.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Aug 25 2008, 20:02
|
Группа: Новичок
Сообщений: 4
Регистрация: 24-08-08
Пользователь №: 39 782

|
Цитата(Krys @ Aug 25 2008, 12:59)  Читал я эти документы. Пробовал и HoleSize и HoleDiameter и Hole и двойное неравенство и between и точное равнество - толку ноль. Такое ощущение, что для правила AnnularRing поле HoleSize невидимо и обратиться к нему нельзя.
|
|
|
|
|
Aug 26 2008, 04:14
|
Группа: Новичок
Сообщений: 4
Регистрация: 24-08-08
Пользователь №: 39 782

|
Цитата(Krys @ Aug 26 2008, 06:45)  Есть там Queue Helper и Queue Builder. И сложилось у меня токое впечатление, что если в билдере параметра нет, то задавать его в запросе бесполезно - система его не опознает.
|
|
|
|
|
Sep 4 2008, 19:19
|
Группа: Новичок
Сообщений: 4
Регистрация: 24-08-08
Пользователь №: 39 782

|
Установил сервис-пак. Стало лучше, но ненамного. Правило HoleDiameter >=1 применяется ко всем отверстиям с целым диаметром. т. е. 1мм, 2мм, 3мм и тд.
|
|
|
|
|
Feb 12 2009, 09:47
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Здравствуйте. У меня вопрос по заданию правила отступа от края платы до топологии. Начало здесь (и не мной начато, я просто натолкнулся). Задача такова: нужно указать, что от любого элемента топологии до края платы должно быть расстояние, не меньше, скажем, 0,3 мм. Я попробовал записАть: Код OnSignal и IsBoardOutline не заработало. По методу, предлагаемому в вышеуказанной теме, всё заработало. А предлагалось там вместо записи IsBoardOutline использовать (IsTrack and OnLayer('Keep-Out Layer')). Но на мой взгляд, было бы более логично использовать IsBoardOutline, потому что, если я конечно не ошибаюсь, это именно для того и предназначено. А (IsTrack and OnLayer('Keep-Out Layer')) - это как бы обходной путь, это называется "выкрутился". И ещё один минус: в случае (IsTrack and OnLayer('Keep-Out Layer')) нужно на заданном слое рисовать границу печатной платы. Это в общем-то несложно, но всё равно, если уж можно было бы обойтись без такой операции (если бы заработало IsBoardOutline), то почему бы и не минимизировать свои действия. Мой вопрос в данной теме прост: почему не заработало с IsBoardOutline? Это бага софта или моё неправильное понимание этой функции? Если неправильное понимание, тогда как правильно понимать фукнцию IsBoardOutline и как её можно применить, например? Заранее спасибо за ответы.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Feb 12 2009, 17:13
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата(Krys @ Feb 12 2009, 11:47)  Здравствуйте. У меня вопрос по заданию правила отступа от края платы до топологии. Начало здесь (и не мной начато, я просто натолкнулся). Задача такова: нужно указать, что от любого элемента топологии до края платы должно быть расстояние, не меньше, скажем, 0,3 мм. Я попробовал записАть: Код OnSignal и IsBoardOutline не заработало. По методу, предлагаемому в вышеуказанной теме, всё заработало. А предлагалось там вместо записи IsBoardOutline использовать (IsTrack and OnLayer('Keep-Out Layer')). Но на мой взгляд, было бы более логично использовать IsBoardOutline, потому что, если я конечно не ошибаюсь, это именно для того и предназначено. А (IsTrack and OnLayer('Keep-Out Layer')) - это как бы обходной путь, это называется "выкрутился". И ещё один минус: в случае (IsTrack and OnLayer('Keep-Out Layer')) нужно на заданном слое рисовать границу печатной платы. Это в общем-то несложно, но всё равно, если уж можно было бы обойтись без такой операции (если бы заработало IsBoardOutline), то почему бы и не минимизировать свои действия. Мой вопрос в данной теме прост: почему не заработало с IsBoardOutline? Это бага софта или моё неправильное понимание этой функции? Если неправильное понимание, тогда как правильно понимать фукнцию IsBoardOutline и как её можно применить, например? Заранее спасибо за ответы. Вроде в последнем релизе (SP1 к AD09) что-то об этом писалось. Не проверял еще
|
|
|
|
|
Feb 13 2009, 06:02
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Поправочка... Цитата Вроде в последнем релизе (SP1 к AD09) что-то об этом писалось Вы, наверное, имели в виду этот документ. Я прочитал, нашёл все строчки, где говорится о board outline. Поправлено многое, некоторое я даже сразу заметил: необычным цветом стала граница платы. Но конкретно, что правила обрабатываются по функции IsBoardOutline, - ничего не говорилось...
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Feb 13 2009, 07:33
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Ещё один вопрос по правилам: как задать правило минимального отступа любого компонента от монтажного отверстия? Попробовал создать правило component clearance с параметрами: Код IsComponentBody и IsPad And InPadClass('MTHole') Не помогает. Аналогично попробовал создать правило в разделе electrical clearance. Тоже не помогает. Хотя сами эти объекты по таким запросам прекрасно ищутся в фильтре. Component body заданы, обычное правило "по умолчанию" для component clearance работает прекрасно.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
May 19 2009, 11:33
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 26-11-07
Пользователь №: 32 693

|
Цитата(musa @ May 11 2009, 12:58)  Подскажите правило. Весь монтаж вести проводниками 0.3мм зазор 0.3мм а цепи отходящие от микроконтроллера 0.2мм - 0.2мм. В примерах из пакета AD нечто подобное было но не понятно как они это сделали. Похожий пример был в статье Алексея Сабунина в СЭ №2 2009. В свою очередь спрошу - создаю правило: Код IsPad and (PadIsPlated <> 'True') and (AsMM(HoleSize) >= 3) т.е. пытаюсь выделить все отверстия для монтажа, но из-за последнего условия правило не срабатывает. Что я делаю не так?
|
|
|
|
|
Dec 17 2009, 13:25
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 25-06-09
Из: г. Минск
Пользователь №: 50 632

|
Цитата(Beginning @ Sep 21 2008, 23:04)  Подскажите, какое правило надо для следующего случая. Изначально правило Component Clearance было вида ALL-ALL. Но есть два компонента X1 и X2 которые должны стоять вплотную друг к другу. Как должно изменится правило, что бы исключить эти два компонента из проверки. Кстати если ставишь клиренц 0 то ошибка всё равно есть. Т.к. компоненты – колодки, одна вставляется в другую, и на плате они окантовками накладываются друг, на друга и даже при 0 клиренсе возникает ошибка. Как их вообще исключить из проверки? Цитата(Владимир @ Sep 22 2008, 07:35)  для этех компоненотов новое правило с более высоким приоритетом и ОТРИЦАТЕЛНЫМ значением зазора, по абсолютной величене превосходящей их реальное пересечение. Хочу развить данную тему. Имеются несколько клемников DG129. Они имеют пазы для соединения друг с другом. При расположении их на плате имеем пересечение компонентов на слое Mechanical1 (STEP-модель), и возникает нарушение правил Clearence Component. Пробовал создавать новое правило с отрицательным зазором не помогает  . Ставил зазор вплоть до -5mm (пересечение 1mm). Что я делаю не так? Маленькое уточнение - элемент имеет Step модель с пазами, которые и должны входить в зацепление. Приведите, пожалуйста, если не сложно, примеры правил для подобных случаев.
|
|
|
|
|
Dec 17 2009, 13:44
|

Местный
  
Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639

|
Цитата(DALVIS @ Dec 17 2009, 15:25)  Приведите, пожалуйста, если не сложно, примеры правил для подобных случаев. 1. Делаете для клемников отдельный класс - туда помещаете свои клемники 2. В правилах (Rules -> Placement -> Component Clerance ) создаете свое правило для класса клемников. Что-то типа: InComponentClass('Klemnik'). Там и делаете отрицательным горизонтальный зазор и 0-вым вертикальный межну первым и вторым компонентом класса
|
|
|
|
|
Dec 17 2009, 14:49
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 25-06-09
Из: г. Минск
Пользователь №: 50 632

|
Цитата(OLEG_BOS @ Dec 17 2009, 15:44)  1. Делаете для клемников отдельный класс - туда помещаете свои клемники 2. В правилах (Rules -> Placement -> Component Clerance ) создаете свое правило для класса клемников. Что-то типа: InComponentClass('Klemnik'). Там и делаете отрицательным горизонтальный зазор и 0-вым вертикальный межну первым и вторым компонентом класса  Спасибо большое!!! Получилось! Самое интересное так и делал, только одно но - по высоте были дефолтовые установки 0,254mm. Не понятно каким боком они участвуют в этом правиле?
|
|
|
|
|
Dec 18 2009, 21:38
|
Мыслящий
    
Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270

|
Цитата(OLEG_BOS @ Dec 17 2009, 17:44)  1. Делаете для клемников отдельный класс - туда помещаете свои клемники 2. В правилах (Rules -> Placement -> Component Clerance ) создаете свое правило для класса клемников. Что-то типа: InComponentClass('Klemnik'). Там и делаете отрицательным горизонтальный зазор и 0-вым вертикальный межну первым и вторым компонентом класса  А можно ли какие-то правила назначить компоненту еще на стадии создания его в библиотеке?
--------------------
FAQ по ADФорум по ADЗнание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью. ...стоит запомнить ...вернее задуматься.
|
|
|
|
|
Jan 4 2010, 15:20
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 25-06-09
Из: г. Минск
Пользователь №: 50 632

|
Подскажите, пожалуйста, а как в правилах описать такую ситуацию: имеются переходные отверстия, маска над ними вскрыта. Как указать минимальный зазор до вскрытых переходных отверстий на слоях шелкографии? А то получается не хорошо маска вскрыта, а на переходном отверстии пишется текст или рисуется линия. Хотелось бы подсветить такие места.
|
|
|
|
|
Jan 5 2010, 07:48
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 25-06-09
Из: г. Минск
Пользователь №: 50 632

|
Цитата(Владимир @ Jan 4 2010, 17:57)  C версии winter09 в разделе mahufactured. появились специальные 2 раздела правил для этого Имеется в виду раздел Silkscreen Over Components Pads. Про него знаю с падами проходит все на ура. А вот с Via не проходит. Почему, не знаю. Пробовал указывать "isVia" не проходит Может кто сталкивался с такой проблемой?
|
|
|
|
|
Jan 5 2010, 08:27
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 25-06-09
Из: г. Минск
Пользователь №: 50 632

|
Цитата(Владимир @ Jan 5 2010, 10:11)  Ну Via лучше маской закрывать. Да если и не закрывать пусть поверх и пишет, их же паять не нужно Да, но это как то неправильно, да и не красиво
|
|
|
|
|
Jan 11 2010, 05:41
|

люблю бегать и орать
    
Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376

|
Цитата(Владимир @ Jan 10 2010, 19:56)  Да? не помогает. Забыл. Не тут. Сделайте правило и укажите отрицательное значение, превосходящее половину диаметра. Так работает и так делал  вроде работает, но вот что-то не дает мне покоя такой способ. хотелось бы чтоб галочки автоматом стояли... думал, что есть решение
|
|
|
|
|
Jan 27 2010, 20:55
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата(Scanner @ Jan 27 2010, 22:31)  Вы имеете ввиду Keep-out? но дорожки под компонентами, меж его выводов должны проходить. Просто начал писать правила для ОПП с перемычками вот и ломаю голову. Ну так мало под компонентами. И над ними перемычку плохо ставить. И вообще она обычно во вертикали или горизонтали. Тут этим не обойдешься. Jimper Попробуйте компонент перемычку создать, у которых 2 отвестиz с одним именем и одинаковым свойством (Jimper не равным 0) для PAD У уж на PCB раздвигайте PAD на нужное расстояние. И правила легче будут
|
|
|
|
|
Mar 12 2010, 11:31
|

Участник

Группа: Участник
Сообщений: 28
Регистрация: 12-03-08
Пользователь №: 35 864

|
Цитата(Master of Nature @ Mar 11 2010, 23:25)  Выделяете все отрезки цепи и нажимаете F11 - инспектор. Потом изменяете ширину как надо. Инспектор. Понятно. Очень жаль, что для такой простой процедуры столько париться нужно. Думаю, не так сложно было бы Altium`у сделать кнопку "подогнать под правила". А можно выделять не каждый отрезок цепи, а всю цепь целиком?
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|