Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создание схем для ручного монтажа
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Cadence
Карлсон
Всем привет!

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

Подумал, что можно сделать через Find by name -> More.
Показываю слои Ref_des->Assembly_Top и Package Geometry->Assembly_Top, допустим. Выделяю все компоненты. В форме поиска выбираю интересующий меня Device Type. Нажимаю Apply. Поведение чекбокса для отмены выделения указанного немного странное, но после пары кликов туда-сюда работает. А вот дальше не получается. Пытаюсь удалить оставшиеся выделенные элементы и... удаляется вообще всё. И не выделенные элементы тоже.
16.6.030. В 32 работает у кого-нибудь?

Может кто-нибудь порекомендует, как реализовать такую задумку? Или, может, что-нибудь посоветует?
Разделять плату на квадраты не интересно.

Спасибо!
alexa1973
Честно говоря, Не очень понял, что Вы хотите получить. Выдать сборочный чертеж или список компонентов с координатами? Я не понял зачем делать find.
Карлсон
Цитата(alexa1973 @ Aug 5 2014, 22:19) *
Честно говоря, Не очень понял, что Вы хотите получить. Выдать сборочный чертеж или список компонентов с координатами? Я не понял зачем делать find.


Мда, видимо, плохо изъяснился.
Я хочу сделать комплект сборочных чертежей. Чтобы на один лист приходился только один типономинал компонента.
Есть, к примеру, десять типов конденсаторов, каждого из которых штук по 10-20 на плату и они все разбросаны по разным местам. Вместо того, чтобы монтажник смотрел в перечень и искал, где же эти конкретные конденсаторы находятся, он берет один лист, на котором промаркирован только один номинал. И последовательно все их запаивает. Берет следующий лист и так далее.
Нам показалось, что так можно существенно ускорить процесс. Просто впервые столкнулись с необходимостью ручной напайки полтыщи элементов и слегка приуныли.

Find мне нужен был, чтобы сначала выделить все компоненты на плате, применить find к интересующим, которые должны быть не выбраны (unselect). После чего оставшиеся компоненты удаляются, печатается сборочный чертеж оставшегося типономинала и далее процедура повторяется для всех остальных компонентов.
maugli
А раскрасить в один цвет, хоть цветными карандашами , одинаковые номиналы не вариант ? Видел так монтажницы делали .
Tiro
Цитата(Карлсон @ Aug 5 2014, 23:20) *
Мда, видимо, плохо изъяснился.
Я хочу сделать комплект сборочных чертежей.

Не совсем так, если я Вас правильно понял. Вам нужна таблица соединений, отсортированная поэлементно. В P-CAD это делается элементарно сортировкой, думаю в Каденсе точно так же.
Bear_ku
Можно сделать вариантные исполнения, в каждом из которых присутствуют только нужные элементы. При этом на формирование нужного сборочного чертежа уйдут секунды.
alexa1973
Если надо просто подсветить, то в одном из последних HotFix, есть Find by Query.
Hoodwin
Я вот тоже как-то озадачился этой проблемой, и написал на PHP такой вот скриптик, который умеет по файлу IDF строить сборочный чертеж в браузере. Расчет был на то, что если это смотреть на планшете, то получается очень удобная система прокрутки и масштабирования, которую ни на какой бумажке удобно не сделать.

На данный момент скрипт умеет:
1) Переворачивать плату (кнопка FLIP).
2) Менять режим просмотра с позиционных обозначений на номиналы (кнопка MODE)
3) Выделять компоненты одного типа. (для этого нужно кликнуть в компонент или пальцем ткнуть на планшете)
4) Делать поиск компонента по позиционному обозначению.
5) Автоматически масштабировать и ориентировать текст внутри контуров компонентов (вдоль длинной стороны).


Вот смотрите:
http://www.strategic-it.ru/gbr/render_idf.php

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

Что еще планировалось сделать:
1) Сделать строку состояния, в которой показывать статистику по выбранным компонентам: номинал, количество всего на плату и на текущей стороне.
2) Победить проблему масштабирования зоны меню и статуса. К сожалению, на текущем этапе развития HTML и CSS невозможно стандартными средствами часть документа масштабировать, а часть держать в постоянном размере. В итоге на планшете постоянно строка меню не помещается на экране. Пока не придумал, как эту проблему решить. Собственно, это пока самое неприятное, из-за чего не получается закончить работу над данным проектом.
3) Немного расширить формат IDF, чтобы можно было помечать первый вывод микросхем на картинке. К сожалению, эту информацию из IDF в общем случае не вытащить, там ее нет.
Карлсон
Цитата(maugli @ Aug 6 2014, 01:26) *
А раскрасить в один цвет, хоть цветными карандашами , одинаковые номиналы не вариант ? Видел так монтажницы делали .

Хотелось бы автоматизации процесса.

Цитата(alexa1973 @ Aug 6 2014, 10:53) *
Если надо просто подсветить, то в одном из последних HotFix, есть Find by Query.

А потом делать скриншоты с подсвеченными компонентами? sm.gif
izerg
Hoodwin, а как этот просмотрщик попробовать у себя, автономно?
Я так понимаю, что бы это все работало, нужно где-то запустить сам скрипт,
и откуда-то запросить планшетом итоговую картинку?


Карлсон
Цитата(Hoodwin @ Aug 6 2014, 10:55) *
которую ни на какой бумажке удобно не сделать.


У нас стол рабочий так поставлен и устроен, что комп туда уже не поместится, к сожалению.

Цитата(Hoodwin @ Aug 6 2014, 10:55) *
Вот смотрите:
http://www.strategic-it.ru/gbr/render_idf.php

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


Э... с php очень поверхностно знаком. Мне нужно себе куда-то сохранить Ваш php и отдельно открывать или как? Или Вы просто продемонстрировали, что умеете?
Hoodwin
Ну, ежели кому-то интересно, то есть такие пути развития:

1) Можно сделать форму, куда каждый может зааплоудить свой IDF и BOM, и в ответ получить аналог того что есть.
2) Можно сделать так, чтобы заливая на сервер свои IDF b BOM в ответ скачивался просто архив с неким большушим HTML, который самодостаточен.
3) Сайт с регистрацией и личным кабинетом, в котором сохраняется IDF и BOM, так что можно просто выбрать из менюшки при повторном использовании.

PHP, JS, Ajax и MySQL никому знать не надо sm.gif

Просто как всегда, главный интерес был к тому, удастся ли IDF и векторную графику затащить в html, этот момент был принципиален, а уже все остальное - дело техники.
Карлсон
Цитата(Hoodwin @ Aug 6 2014, 11:45) *
Ну, ежели кому-то интересно, то есть такие пути развития:

1) Можно сделать форму, куда каждый может зааплоудить свой IDF и BOM, и в ответ получить аналог того что есть.
2) Можно сделать так, чтобы заливая на сервер свои IDF b BOM в ответ скачивался просто архив с неким большушим HTML, который самодостаточен.
3) Сайт с регистрацией и личным кабинетом, в котором сохраняется IDF и BOM, так что можно просто выбрать из менюшки при повторном использовании.

PHP, JS, Ajax и MySQL никому знать не надо sm.gif

Просто как всегда, главный интерес был к тому, удастся ли IDF и векторную графику затащить в html, этот момент был принципиален, а уже все остальное - дело техники.


Меня бы интересовал второй вариант!
Возьметесь такое сделать?

Цитата(Bear_ku @ Aug 6 2014, 07:00) *
Можно сделать вариантные исполнения, в каждом из которых присутствуют только нужные элементы. При этом на формирование нужного сборочного чертежа уйдут секунды.


Попробовал, спасибо!
Не так интерактивно, как у товарища Hoodwin, но пока что и так сойдет!
izerg
Интересны все три варианта.
Первый - в оперативной работе.
Второй - в автономной работе.
Третий ... как портфолио ? какие ограничения на объем работ?
... что нужно, что-бы три варианта реализовались? или хотябы первые два?
Hoodwin
Ну, первый самый простой, ничего особо не нужно - форму прикрутить и заменить чтение файлов с внутренних на временные, присланные в HTTP POST.
Второй вариант внешне не отличается от первого, за исключением того, что всю работу по автоматизации страницы нужно сделать на встроенных скриптах, а не на внешних. А на данный момент я сделал все на jQuery, а это внешняя библиотека. И очень мощная. Я без нее не умею на JS писать. не то чтобы это сложно, но очень муторно и хуже поддерживается разными браузерами на разных платформах.

На третий вариант нужно много времени и желания. sm.gif В общем, хуже, чем с музами у Пушкина.

Расскажу историю. Так уж исторически сложилось, что я когда-то решил рисовать сборочные слои по принципу точного соответствия чертежа компонента 1:1. И кроме того, писал текст внутри корпуса, причем одновременно и позиционное обозначение, и номинал, в две строки. Все это было еще в Layout, где сборочный слой был только один (не было display как в Аллегро). Это было удобно тем, что при печати в увеличенном масштабе было сразу видно, что и как стоит. Ну и вообще, картинка глаз радовала. Проблемы начались, когда платы стали 6U, а чип компоненты 0402 и меньше. Производство (ОТК) взбунтовалось, заявив, что им не хватает и формата А2, чтобы увидеть надписи внутри 0402, да еще и в две строки. Попросили увеличить надписи и расставлять вокруг. Тут уже я взбунтовался и сказал, что не готов расставлять на плате увеличенные надписи от всех чипов 0402 по питанию. Распечатал им сборочные слои на PDF принтере, и послал видео, как их проблема решается на практически самом дешевом планшете с 10-дюймовым дисплеем. Однако параллельно с этим упражнялся в веб-программировании, и вот подумалось, что проблему можно было бы решить гораздо более изящно, если бы это был не PDF, а веб-документ. Первым делом пытался отрендерить герберы на PHP и синтезировать битмап. Результат оказался паршивый: качество картинки плохое, а время на рисование слишком большое, чтобы ждать. Ну и опять же, ничем не лучше чем PDF. А главное, в формате GERBER нет никакой информации о том, что там нарисовано; просто тупо: поднять перо, опустить перо, выбрать апертуру провести линию. В общем, куча линий без привязки к компонентам. И вот тогда я стал думать, как бы на гербер наложить зоны, которые могли бы ассоциироваться с компонентами. И где взять описание этих зон. Довольно быстро выбор пал на IDF, там именно размещение и контуры компонентов. И вот, по мере того, как эта идея получала свое развитие, возникло понимание, что собственно гербер то и не нужен совсем. Большинство того, что нужно, и так есть в IDF. IDF умеет делать любой САПР. IDF компактен и легко подправить руками, если что. Собственно, на данный момент там нет только информации об ориентации компонентов, хотя это довольно легко добавить, если ввести в файл библиотеки IDF пару дополнительных команд.

В общем, генератор сборочника по IDF я сделал довольно быстро. Решил показать на реальном производстве. Получил примерно такой ответ: "Идея прекрасная, но к сожалению, ее трудно использовать, потому что официальным документом в жизни принят гербер. Производство не может требовать от клиентов IDF из соображений того, что его ОТК так было бы удобнее. Клиент всегда прав. А 90% клиентов и гербер то себе делают без ляпов с трудом, куда уж там от них требовать IDF, которого они с роду не делали."

Таким образом, идея для масс была заброшена, а сами для себя мы ее потихоньку используем когда опытные платы паяем.
Вот как-то так.

У идеи было продолжение, которое было попробовано еще полгода назад, но тоже никому пока не пригодилось. Задумка была рулить прозрачностью двух слоев, переходя от тотального JPG то тотальной схеме:
http://www.strategic-it.ru/gbr/render_idf_mors8.php
Карлсон
Да, с вариантами получилось просто замечательно!
Не нужно на самом деле в капчуре через part manager делать варианты, это излишне.

Допустим, есть BOM, в котором компоненты размещаются каждый на своей строчке.
Нужно создать файл variants.lst, внутри которого должна быть такая структура:

Код
(
    ("name of variant"

        (base
            ( C1
C2
C3
)
        )


Вместо name of variant пишем что-то понятное для себя.
Вместо C1 и т.д. - вставляем рефдесы своих компонентов.
Первая и последняя скобки, видимо, начало и конец документа. Поэтому, чтобы в одном файле создать сразу все варианты, надо копировать кусок
Код
("name of variant"

        (base
            ( C1
C2
C3
)


Потом в дизайнере через Manufacture->Variants->Create Assembly Drawing делаем нужные слои. Они появятся в Manufacturing слоях под названием, которое вы дали в name of variant.
Соответственно, при создании монтажки нужно, чтобы в текущем окне показывался, допустим, Ref Des->Assembly_Top и Package Geometry->Assembly_Top.
Если не совсем понятно, могу проиллюстрировать.

Bear_ku, еще раз спасибо за идею! cheers.gif
Hoodwin
Выкладываю первый вариант, пробуйте:
http://test.strategic.tmweb.ru/gbr/view_idf.html
SeregaB
Цитата(Hoodwin @ Aug 6 2014, 17:30) *
Выкладываю первый вариант, пробуйте:
http://test.strategic.tmweb.ru/gbr/view_idf.html

Классно! Мне очень понравилось.

Есть небольшие проблемки - отображение русских букв в номинале. Как можно побороть?

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

В .BOM_е конденсаторам соответствует строка

4 16 C1,C2,C3,C4,C5,C6,C7,C10, 0.1мк
C11,C15,C16,C17,C18,C19,
C20,C23


И было-бы просто замечательно, если бы не требовалось подключаться к сети. Иначе монтажники вместо монтажа будут читать новости. sm.gif
Hoodwin
SeregaB

1) Да, про русские буквы я не подумал, у меня все в скриптах в кодировке UTF-8 по умолчанию, а BOM-ы я делаю в латинице. На самом деле скрипт умеет сам заменять uF на мкФ, например (хотя не везде это делает, а только на конце value). В принципе, проблему несложно решить, просто нужно добавить в форму кодировку BOM, скажем CP-1251 или CP-866 и KOI8-R. Ну и дальше перевести это у Unicode внутри скрипта.
Поправлю.

2) BOM у Вас стандартный, но он скорее всего не принялся. И показывались номиналы из IDF, там они тоже частично есть. На самом деле я рассчитывал на BOM, который делает CIS через Part Manager, Reports, Standard BOM. В этом случае получается более структурированный файл, и кроме того, он может учитывать компоненты, которые ставить не нужно.

3) Можно попробовать сделать так, чтобы не подключаться к сети. для этого просто нужно будет все скрипты и стили имплантировать в документ. Он станет заметно толще, но зато станет работать в off-line. Просто с тех пор как я опубликовал ссылку, месяц оно никому не надо было совсем.
Hoodwin
Если кому интересно, то обновил программку:
1) Можно управлять кодировкой исходника
2) Можно попросить ее сделать вариант для автономного просмотра.
SeregaB
Цитата
Просто с тех пор как я опубликовал ссылку, месяц оно никому не надо было совсем.

Про всех не скажу, но в момент появления ссылки я катался по Ладоге. А потом, после отпуска, навалилась куча "неотложных" дел.

Я пользуюсь Capture+LayOut 16.2 Кириллица - это отголоски от потуг на составление ПЭ3 и ВП автоматическим способом.

Толщина файлов, при современных накопителях, ИМХО, никого сильно волновать не будет.

Цитата( @ Sep 17 2014, 20:26) *
Если кому интересно, то обновил программку:
1) Можно управлять кодировкой исходника
2) Можно попросить ее сделать вариант для автономного просмотра.

Мне-мне-мне интересно! sm.gif
  • Не нашел как управлять кодировкой.
  • Не нашел как делать автономный просмотр.


И, самое неприятное, не получается посмотреть вообще ничего, на кнопки не реагирует sad.gif Только радикальный черный цвет, соответствующий контуру платы. Вчера было гораздо лучше. sm.gif
Нажмите для просмотра прикрепленного файла
Hoodwin
Что-то Вы не так делаете. Все опции я добавил на страницу с формой. Возможно, что Вы ее не обновили. Попробуйте ее снова перезагрузить по Ctrl-F5.
Hoodwin
Добавление. С черным цветом разобрался, поправил.
SeregaB
Цитата(Hoodwin @ Sep 18 2014, 10:19) *
Добавление. С черным цветом разобрался, поправил.

Получилось! Большое спасибо!

Остались мелкие непонятки.

Если в Part записать компонент с запятой, то после этого начинаются чудеса (т.е. номинал 2,2к нельзя; 2.2к - можно). Вечером попробую описать поподробнее.

Самое неприятное, что на Андроиде (4.0.4 - Fly IQ440) верхняя часть экрана (где переключения верх/низ и Reference/Part) уезжает при масштабировании и чтобы переключиться приходится возить сборку к левому верхнему углу.

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

На большом компе - все хорошо.

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

По поводу масштабирования. К сожалению - это проблема всех тачскриновских устройств. На сегодняшний день браузеры поддерживают масштабирование на уровне веб-документа, то есть они не могут в веб разметке различать масштабируемые и немасштабируемые зоны. Поэтому люди в основном извращаются, пытаясь перехватить события масштабирования с целью программно вдогонку снова изменить масштаб отдельных зон. Все это приводит к разнообразным глюкам при перерисовке, поскольку автоматическое масштабирование всего документа и программное отдельных зон на уровне скриптов происходят не одновременно. В итоге я решил попробовать вообще запретить масштабирование и ловить руками события тачскрина, чтобы вручную масштабировать только плату. Это лучше получается, но медленно работает.

Что касается переворота платы, то можно это сделать быстро, если пальцем мазнуть быстро справа налево по экрану.
Bear_ku
Решили воспользоваться вашим опытом и сделать нечто подобное для своего участка монтажа. На данный момент стоит вопрос о том как затащить выводы, а может и метку первого вывода. По простому, на сколько я понял получится подгрузить только сквозные отверстия. Может у вас появились какие-то идеи по этому поводу и вы ими поделитесь )?

Смотрел экспорт в IPF, туда можно выгрузить любые объекты, но файл представляет собой набор чисел, которые просто так не читаются и надо разбираться что из себя представляют эти данные.
Hoodwin
Ну, самая простая идея есть уже давно. Нужно в парсере IDF поддержать в библиотечном файле дополнительные команды, описывающие не только контур компонента, но и его ключ.

к при меру
Код
.HEADER
LIBRARY_FILE         3.0  allegro_16.6  2014/11/24.18:44:16  1
.END_HEADER

...

.ELECTRICAL
SOIC-14  74HC14_1_SOIC-14_74HC14  MM       1.750
0      -4.750       3.500       0.000
0      -4.750      -3.500       0.000
0       4.750      -3.500       0.000
0       4.750       3.500       0.000
0      -4.750       3.500       0.000

1    -3.75    -2.5    0 ; КЛЮЧ
1    -3.75    -3.0    360; КЛЮЧ

.END_ELECTRICAL
...


получится отметка ключа...
см. пример.

Ну, это можно еще причесать, чтобы ключ был стилистически оформлен отдельным цветом, заливкой и т.п.
Достоинства:
Можете нарисовать себе любые ключи, какие нравятся: круглые, треугольные квадратные. внутри компонента, снаружи и т.п.
недостатки:
В каждом файле приходится заново ключи вписывать.

Была у меня мысль побороться с недостатком путем запоминания информации о ключах в разных проектах. Так-сказать, обучаемую программу сделать. Идея пока не вполне оформилась, так как даже у меня бывали случаи, что один и тот же компонент в процессе эволюции изменял библиотечный символ. И я не уверен, что принцип умолчания не приведет к какой-нибудь беде с неправильным размещением ключа. Ну и кроме того, нужно разделять эту обучаемость практически на каждого отдельного конструктора, так как у всех свои пристрастия к библиотекам, а названия компонентов могут и совпасть случайно.
Bear_ku
Спасибо, смысл понятен. Я думал изначально об общем файле посадочных мест LDF, в котором уже можно прописать все что угодно. Но получается дополнительная работа по отслеживанию изменений и его редактированию.
Одинаковые имена не проблема, база единая и занимается ей один человек.
Hoodwin
Да, еще хочу добавить, что можно же немного схитрить, - LDF файл сделать один раз, но со всеми компонентами, которые вообще бывают в ваших библиотеках. И подставлять именно его в качестве файла библиотеки IDF. Тогда можно будет все компоненты через этот файл сделать с ключами. А от конкретного проекта брать только BDF.
Bear_ku
Именно об этом я и написал выше )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.