Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выделение компонентов на плате
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Turnaev Sergey
Возникло одно пожелание, по повышению удобства выделения компонентов на печатной плате.

Если у нас есть скрытые слои компонента, в частности механические, то было бы удобно сделать так, чтобы щелчок по графике на скрытом слое не приводил к выделению компонента на печатной плате, можно добавить простую галочку на включение и выключение этого игнорирования.

Конкретный пример:
Есть слой контроля зазоров между компонентами (Courtyard Excess), для некоторых компонентов на нём сделано большое расстояние, например для высоких реле или разъёмов, и он используется для контроля зазора между SMD и этим компонентом, однако может не учитываться при расстановке аналогичных компонентов рядом.

Вот три скриншота, для понимания. Если щёлкнуть мышью ближе к краю компонента, то выводится окошко уточнения выбора компонентов, что вполне корректно, однако оно никак не учитывает скрытость неиспользуемых сейчас слоёв.


Вот тут все слои отображаются:
http://prntscr.com/ajc7ny

Если накладывающиеся слои скрыть, ситуация с выделением компонента остаётся аналогичной:
http://prntscr.com/ajc8bu
http://prntscr.com/ajc9i4

На панели PCB Filter я не смог настроить такой способ выделения, задавая например желаемый класс слоёв.

Может конечно такая настройка всё же есть, и я просто не смог её найти. Если её нет, то прошу рассмотреть возможность добавить такую настройку выделения в будущем.
peshkoff
боюсь альтиумовские программеры помрут на этой задаче.

дело в том, что компонент для системы как таковой не виден со всеми его слоями. компонент на плате описан свойством ComponentBoundary. это некий прямоугольник (ведь даже непрямоугольные компоненты обрисовываются прямоугольником). Этот прямоугольник модифицируется только когда компоент загружается или коректируется при при unlock primitive.

вы же предлагаете перестраивать boundary при каждой смене видимости слоев.
т.к. такое описание компонента существуют очень давно, то программисты китайцы поди и не знают как он образовывается. используют готовый dll, который им дает прямоугольник и обрабатывают его.
EvilWrecker
Немного не понял проблему- а что мешает просто двигать компонент именно за механический слой, особенно в контексте выделения того или иного компонента? И если не секрет: зачем такой гигантский courtyard и скругленные углы при прямоугольном аутлайне механики?
Turnaev Sergey
А я не понял, что значит "двигать компонент за механический слой" sm.gif

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

Сourtyard в данном случае большой для высоких компонентов и используется для плат со смешанным монтажом, то есть он отображает зазор от SMD компонентов и не используется при расстановке выводных компонентов между собой. Поэтому разработчикам, которые делают платы с чистым выводным монтажом получается неудобно выделять компоненты. Однако разработчикам, делающим смешанный монтаж, удобней видеть высоту выводного компонента, выраженную в виде зазора Сourtyard.

Зазоры эти исходят в первую очередь от требований ремонтопригодности. Чтобы можно было перепаять SMD компонент, не перепаивая при этом несколько соседних выводных.
EvilWrecker
Цитата
Ещё раз, основной смысл в том, что если механический слой залазит на соседний компонент, то можно как угодно настраивать фильтры выделения, все равно при попытке выделить компонент, будет возникать запрос от Альтиума на выделение этого компонента или его соседа.


Ваш посыл понятен, но если мы говорим именно о courtyard то ничего залазить не должно- максимум что может быть это courtyard edge-to-edge placement как на картинке во вложении.

Цитата
А я не понял, что значит "двигать компонент за механический слой"


Грубо говоря, выделил компонент, а далее двигаете его с привязкой к любой точке на механических слоях, будь то courtyard или что-то другое.

Цитата
Сourtyard в данном случае большой для высоких компонентов и используется для плат со смешанным монтажом, то есть он отображает зазор от SMD компонентов и не используется при расстановке выводных компонентов между собой. Поэтому разработчикам, которые делают платы с чистым выводным монтажом получается неудобно выделять компоненты. Однако разработчикам, делающим смешанный монтаж, удобней видеть высоту выводного компонента, выраженную в виде зазора Сourtyard.


Не совсем понял- а как влияет высота компонента на зазор по отношению к другим деталям? И все еще интересно почему у вас courtyard со скругленными краями при прямоугольном аутлайне корпуса.


Владимир
Цитата(Turnaev Sergey @ Mar 25 2016, 15:02) *
видеть высоту выводного компонента, выраженную в виде зазора Сourtyard.

Вот это не понял.
Подробнее пожалуйста.

Формально это, если хотите делать , нужно делать в отдельном механическом. к Courtyard это не имеет никакого отношения.

Хотя и к решению вашего вопроса тоже
Turnaev Sergey
Цитата(EvilWrecker @ Mar 25 2016, 15:44) *
Грубо говоря, выделил компонент, а далее двигаете его с привязкой к любой точке на механических слоях, будь то courtyard или что-то другое.

Так и делают, неудобство именно в том, что одним щелчком компонент выделить удаётся не всегда, а лишь тогда, когда щёлкают в его центре. Вопрос вообще не в привязке к чему либо, а в самой процедуре выделения.

Цитата
Не совсем понял- а как влияет высота компонента на зазор по отношению к другим деталям? И все еще интересно почему у вас courtyard со скругленными краями при прямоугольном аутлайне корпуса.

Берём большое реле и допустим клеммник, между ними ставим какой-нибудь SMD компонент: транзистор, резистор, не важно. Если высота реле и клеммника 5мм это одно, а если 15мм, это уже совсем другое и добраться до SMD компонента с целью перепайки монтажнику становится значительно сложнее.

Соответственно, когда разводчик сразу видит, рекомендуемый зазор, ему не приходится переходить в 3D режим или лезть в даташит на компонент для того, чтобы прикинуть нужное расстояние. У нас оно составляет четверть высоты компонента, и ограничено величиной 4мм.

По поводу скругления краёв: так уж исторически повелось на предприятии, и скругления сохраняют постоянным расстояние, именно заданной величины.

Цитата(Владимир @ Mar 25 2016, 15:44) *
Вот это не понял.
Подробнее пожалуйста.

Формально это, если хотите делать , нужно делать в отдельном механическом. к Courtyard это не имеет никакого отношения.

Хотя и к решению вашего вопроса тоже

В том то и дело, что можно в каком угодно слое это сделать, но сути проблемы это не изменит. У нас Сourtyard это слои М7 и М8, переименование их у выводных компонентов в "Слой контроля смешанного монтажа" и перенос на любой другой механический слой, никак не изменит обозначенной проблемы.
EvilWrecker
Цитата
Так и делают, неудобство именно в том, что одним щелчком компонент выделить удаётся не всегда, а лишь тогда, когда щёлкают в его центре. Вопрос вообще не в привязке к чему либо, а в самой процедуре выделения.


Хм. А почему именно в центре? Из любой точки вроде вполне себе выделяется компонент.

Цитата
Берём большое реле и допустим клеммник, между ними ставим какой-нибудь SMD компонент: транзистор, резистор, не важно. Если высота реле и клеммника 5мм это одно, а если 15мм, это уже совсем другое и добраться до SMD компонента с целью перепайки монтажнику становится значительно сложнее.


Теперь понятно- это уже не courtyard а непосредственно требования на зазор вызванные особенностью вашего монтажного производства. Тогда если:

Цитата
Соответственно, когда разводчик сразу видит, рекомендуемый зазор, ему не приходится переходить в 3D режим или лезть в даташит на компонент для того, чтобы прикинуть нужное расстояние. У нас оно составляет четверть высоты компонента, и ограничено величиной 4мм.


непонято в чем проблема- компонент может быть выделен из любой точки как уже упоминалось
Turnaev Sergey
Цитата(EvilWrecker @ Mar 25 2016, 16:48) *
Хм. А почему именно в центре? Из любой точки вроде вполне себе выделяется компонент.
...
непонято в чем проблема- компонент может быть выделен из любой точки как уже упоминалось

Ещё раз. Проблема в том, что приходится один раз щёлкать на компоненте, а затем выбирать именно его в списке из 2 или более компонентов, которые немного залазят один на другой, как на скриншотах из первого поста. Именно то, что приходится щёлкать дважды, даже когда выступающие слои вовсе скрыты, разработчикам и не нравится.
Под "центром" я подразумевал область компонента, которая расположена на достаточном удалении от периметра компонента, где уже нет наложения скрытых механических слоёв соседних компонентов на этот.
Владимир
Да не надо не чего переделывать. щелкать нужно в зоне, где нет пересечений. Какие проблемы?
Если Ваш слой Cuurtuad виден-- то это делается на автомате.
Если не виден--- то зоны другой графики всегда еще меньше. И напороться на совмещение не возможно.
EvilWrecker
Цитата
Да не надо не чего переделывать. щелкать нужно в зоне, где нет пересечений. Какие проблемы?
Если Ваш слой Cuurtuad виден-- то это делается на автомате.
Если не виден--- то зоны другой графики всегда еще меньше. И напороться на совмещение не возможно.


Поддерживаю- единственный случай когда неизбежен перебор, это совмещение одинаковых компонентов на противоположных слоях, но тут самое время вспомнить о single layer mode.
Turnaev Sergey
Нет, вы тут не учли того, что есть ещё высокие и узкие компоненты: резисторы, конденсаторы.
У которых такого "центра" уже просто нет.

Цитата(Владимир @ Mar 25 2016, 17:07) *
Да не надо не чего переделывать. щелкать нужно в зоне, где нет пересечений. Какие проблемы?

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

Жалобы есть, и в целом не лишены оснований, поэтому я и поднял тут этот вопрос. Лично мне неудобства это не доставляет, но есть другие люди, которые считают иначе.
Владимир
Сколько людей, столько мнений.

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