Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Закрашивание компонентов на сборочном чертеже
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
uriy
Мне кажется уже поднимался вопрос автоматизации раскраски компонентов разными цветами на сборочном чертеже для удобства монтажниц.
Не смог найти. Пришли ли к чему то? Или все так и осталось в ручном режиме маркером?
Владимир
много лет назад раскрашивал. Но у каждой монтажницы своя цветовая гамма--- отказался
uriy
Вам удалось раскрашивать средствами альтиума или в стороннем графическом редакторе?
Ведь если есть способ разукрасить в альтиуме можно это автоматизировать скриптом.
V_G
А каков требуемый принцип раскраски? Если по типу футпринта, то раскрасьте на уровне библиотек в каком-нибудь своем слое. Потом просто выводите этот слой на печать
peshkoff
Цитата(V_G @ Dec 3 2015, 09:09) *
А каков требуемый принцип раскраски? Если по типу футпринта, то раскрасьте на уровне библиотек в каком-нибудь своем слое. Потом просто выводите этот слой на печать


для монтажника элементы отличаются друг от друга не только по футпринту

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

И еще: любые нововведения для монтажников ну или для других сборщиков бывает что очень им нравятся sm.gif И тогда они это начинают требовать на каждом проекте, бывает даже отказываются работать sm.gif А конструкторам доп нагрузка, так что подумайте прежде чем нагружать себя лишний раз
uriy
У нас раскрашивают только когда партия плат не большая. Когда надо вручную ставить компоненты.
Понятно что для установщика в этом нет никакой надобности.

По поводу количества добавляемых слоев. Мне подсказали идею что можно раскрашивать только те компоненты которых на плате скажем больше 10 штук. Платы у нас не очень сложные.
Добавление слоев при таком способе не перевалит за 20. Из мех слоев я использую штук 6.

Допустим скриптом определяем количество каждого компонента. Затем для него добавляем контур в мех слое (как-то надо сделать заливку) и потом отправляем в pdf.

В скрипте нам нужно уметь считывать параметры компонента, а именно partnumber, определять координаты компонента на плате. Уметь рисовать примитивы по координатам в произвольном слое.
Доступны ли эти функции для скриптов? Я еще не писал сам.

По поводу визуального контроля. Видел в китае штуку, которая втягивает в себя плату и проверяет углы установки компонентов, ключи, возможно что-то еще. На плату с десятком микросхем BGA, QFN и несколькими сотнями 0402 уходит полминуты. Проблемные места показывает на своем мониторе.
peshkoff
Цитата(uriy @ Dec 3 2015, 10:27) *
У нас раскрашивают только когда партия плат не большая. Когда надо вручную ставить компоненты.
Понятно что для установщика в этом нет никакой надобности.

По поводу количества добавляемых слоев. Мне подсказали идею что можно раскрашивать только те компоненты которых на плате скажем больше 10 штук. Платы у нас не очень сложные.
Добавление слоев при таком способе не перевалит за 20. Из мех слоев я использую штук 6.

Допустим скриптом определяем количество каждого компонента. Затем для него добавляем контур в мех слое (как-то надо сделать заливку) и потом отправляем в pdf.

В скрипте нам нужно уметь считывать параметры компонента, а именно partnumber, определять координаты компонента на плате. Уметь рисовать примитивы по координатам в произвольном слое.
Доступны ли эти функции для скриптов? Я еще не писал сам.


конечно, доступно. Причем не надо высчитывать координаты, у каждого компонента есть свойство Bounding Rectangle.
пишем что-то типа NewRect = CompNN.BoundingRectangle
далее все дело техники.


Цитата
По поводу визуального контроля. Видел в китае штуку, которая втягивает в себя плату и проверяет углы установки компонентов, ключи, возможно что-то еще. На плату с десятком микросхем BGA, QFN и несколькими сотнями 0402 уходит полминуты. Проблемные места показывает на своем мониторе.


Такая штука у меня за стенкой стоит. Техническое зрение называется.
полминуты на проверку уйдет только после уймы времени на настройку.
Но это уже отдельная песня
uriy
В альтиуме доступны
DelphiScript
EnableBasic
VB Script
JavaScript
Не отличается ли набор API функций доступных в каждом из языков?
Альтиум пишут на делфи, поэтому мне кажется там будет больше всего возможностей.
Но я ненавижу делфи я поклонник C#.
Из доступных тут языков предпочитаю JavaScript, на втором месте VB.
Есть ли разница какой язык выбрать?
peshkoff
Цитата(uriy @ Dec 3 2015, 11:38) *
В альтиуме доступны
DelphiScript
EnableBasic
VB Script
JavaScript
Не отличается ли набор API функций доступных в каждом из языков?
Альтиум пишут на делфи, поэтому мне кажется там будет больше всего возможностей.
Но я ненавижу делфи я поклонник C#.
Из доступных тут языков предпочитаю JavaScript, на втором месте VB.
Есть ли разница какой язык выбрать?


Ну если уж прям ненавидите, тогда любой другой.
На дельфи написано 90% всех альтиумовских скриптов. Большая база исходников + хелп и т.д.
Набор вроде как одинаковый обещают.
Пишите на C, почитаем исходники, а то я ни одного пока не видел кроме идущих в комплекте
uriy
А где вы нашли на С в комплекте?
Поддержки С не заявлено вовсе.
peshkoff
Цитата(uriy @ Dec 3 2015, 11:56) *
А где вы нашли на С в комплекте?
Поддержки С не заявлено вовсе.


Да точно, затупил. Видимо дальше дельфи не читал sm.gif
Там куча перечислена, я не стал смотреть думал, что C есть...
(в голове уже все смешалось, видимо я смотрел исходники к другому ПО)

тогда остается совсем мало кроме паскаля, vb ?
В общем тут не до холиваров.
выбирать язык чтобы прямоугольник нарисовать... все таки на скрипт надо смотреть как на скрипт, а не полновесное ПО со всеми вытекающими
fill
Цитата(uriy @ Dec 2 2015, 20:04) *
Мне кажется уже поднимался вопрос автоматизации раскраски компонентов разными цветами на сборочном чертеже для удобства монтажниц.
Не смог найти. Пришли ли к чему то? Или все так и осталось в ручном режиме маркером?


Можно и автоматом видео

В рамках реальной организации процесс выглядит например так:
На производстве стоит visECAD которым пользуются монтажники и ОТК. В него можно загрузить схему-топологию-BOM с кросс-пробом и сравнением их между собой. Файл загружаемый в visECAD из xPCB Layout можно получить напрямую, а для AD (и т.п.) можно транслировать через CAMCAD PCB Translator.
uriy
Похоже моя идея рисовать на неиспользуемых мех слоях пролетает.
альтиум не знает значения eMechanical32.
В скриптах доступны только мех слои с 1 по 16 и это соответствует документации http://techdocs.altium.com/display/SCRT/PC...echanicalLayers
Наверняка большинство кто польузуются альтиумом помнят когда мех слоев было только 16. И вряд ли используют слои с номерами выше 16.
Соотвественно количество свободных слоев доступных для моего замысла очень и очень мало.
Наверно нет смысла дальше разбираться в этом направлении.
Надо думать что-то другое.
Код
function GetUnusedLayers()
{

    PCBBoard = PCBServer.GetCurrentPCBBoard;
    if (PCBBoard != Null)
    {
    LS = "";
    var Layer;
    for (Layer = eMechanical1; Layer <= eMechanical32; Layer++)
    {
        if (!PCBBoard.LayerIsUsed(Layer))
                LS = LS + Layer2String(Layer) + " unused\r\n";
    }
    ShowInfo(LS);
    }
    else
    showmessage("Please open PCB");
}

peshkoff
Для слоев далее 16 сделан костыль sm.gif
Board.LayerStack.LayerObject_V7.

Нашел здесь:
http://altium-designer-addons.googlecode.c...chLayerPair.pas
uriy
Спасибо!
Только лучше не стало. Не могу понять кто такой ILayer
Его объявления не вижу.
Altium о нем тоже ничего не знает, на сайте в описании не находится.

Странно. Немного переписал не меняя сути. Теперь нормально находит неиспользуемые слои до 32го
Код
function GetUnusedLayers()
{
    //ColoredAssemblyDrawing.ShowModal;
    Board = PCBServer.GetCurrentPCBBoard;
    if (Board != Null)
    {
       LS = "";
       var Layer;
       var Stack = Board.LayerStack_V7;

       for (i = 1; i <= 32; i++)
       {
           if (!Stack.LayerObject_V7(ILayer.MechanicalLayer(i)).GetState_MechLayerEnabled)
                LS = LS + Layer2String(ILayer.MechanicalLayer(i)) + " unused\r\n";
       }
       ShowInfo(LS);
    }
    else
        showmessage("Please open PCB");
}
uriy
Что-то уже пропадает всякое желание разбираться с API. В документации на сайте я не могу ничего найти.
Копание в примерах гораздо результативней.
У меня у одного такая проблема?
Владимир
Цитата(uriy @ Dec 4 2015, 19:34) *
Теперь нормально находит неиспользуемые слои до 32го

Вообще число слоев может быть и больше, у меня как-то было 168.
Значит как минимум 256 может быть
peshkoff
Цитата(uriy @ Dec 5 2015, 20:58) *
Что-то уже пропадает всякое желание разбираться с API. В документации на сайте я не могу ничего найти.
Копание в примерах гораздо результативней.
У меня у одного такая проблема?


нет, не у одного sm.gif

документация со времен 6го альтиума не редактировалась.
Программисты порой вводят новые функции, но их описания уже не найдешь.
Вроде поговаривают, что есть закрытый форум, вроде как там активно общаются такие писатели.
Но как туда попасть не понятно, говорят 100 лицензий надо иметь.
У нас куплено 15, я попасть туда не могу.
Остается только эти исходники копать.
Ну или изучать возможности после точки, тоже много полезного обнаруживается.

Цитата(Владимир @ Dec 5 2015, 21:35) *
Вообще число слоев может быть и больше, у меня как-то было 168.
Значит как минимум 256 может быть


механических? еще чтоли добавили?
Владимир
Механических
Их не добавляли. Они всегда были.
Просто по умолчанию отображалось 16, потом 32.
Но можно и больше.
Это скрытые возможности
musa
Цитата(peshkoff @ Dec 7 2015, 10:07) *
документация со времен 6го альтиума не редактировалась.


Очень большое упущение. Получается программисты для самих себя придумывают навороты а остальные про все это понятия не имеют. И давно пора делать документацию на русском языке так как подозреваю что основные потребители в России. Была бы русская документация спрос только увеличился. А так приходится изучать по книгам описывающим какие то древние версии и совершенно неиспользовать возможности последних версий
Владимир
Цитата(musa @ Dec 7 2015, 12:23) *
... так как подозреваю что основные потребители в России.

Не преувеличивайте. Россия далеко не пуп земли.
Вроде европейское отделение (куда относится и Россия) только на третьем месте.
И в Европейском отделении она далеко не первая.
Siargy
Владимир былобы интересно увидеть статистику использования по миру,
Владимир
Так на конференции приводили
uriy
Цитата
Вообще число слоев может быть и больше, у меня как-то было 168.
Значит как минимум 256 может быть
Может быть вы имеете ввиду общее число слоев? А не только механических.

Цитата
И давно пора делать документацию на русском языке
Я всегда был против перевода документации на русских. Это дополнительная возможность внести ошибки.
И кроме этого проблема перевода устоявшихся терминов.
Владимир
Нет, именно механических
peshkoff
Цитата(uriy @ Dec 8 2015, 19:04) *
Я всегда был против перевода документации на русских. Это дополнительная возможность внести ошибки.
И кроме этого проблема перевода устоявшихся терминов.


+
Еще зачастую переводчики что-то "недопереводят". Считают, что одного абзаца достаточно.
Так что смысла в переводе нет никакого.
musa
Цитата(uriy @ Dec 8 2015, 19:04) *
И кроме этого проблема перевода устоявшихся терминов.


Начнем с того что и английской актуальной тоже нет. А по поводу специфических терминов тоже проблема. Читаешь английскую документацию попадаешь на такой термин и ни в одном словаре нет адекватного перевода. Так уж лучше пусть прфессионал который в теме переведет правильно.
Ну а по поводу распространенности в Европе и далее. Если уж мы в россии плюёмся на глюки и баги и недоумеваем по этому поводу. Неужели буржуи с этим мирятся ведь у них в отличие от нас есть выбор. Или у них другая версия без глюков и багов?
Владимир
Цитата(peshkoff @ Dec 10 2015, 09:46) *
+
Еще зачастую переводчики что-то "недопереводят". Считают, что одного абзаца достаточно.
Так что смысла в переводе нет никакого.

У меня к ним примерно похожее отношение . Но не настолько.
А так уж совсем изничтожили русские варианты.
Как улучшенный подстрочник для исходного текста любой перевод всегда лучше чем никакого.
Кому не надо-- тот не пользуется.
Кому это подсказывает--- для того польза
Владимир
Цитата(musa @ Dec 10 2015, 10:14) *
Если уж мы в россии плюёмся на глюки и баги и недоумеваем по этому поводу. Неужели буржуи с этим мирятся ведь у них в отличие от нас есть выбор. Или у них другая версия без глюков и багов?

Версия такая же. Не мирятся.
Но 90% глюков у нас связано с ГОСТ и прочим не понятно кому нужным оформлением, не влияющим на производство печатных плат, закупку комплектующих и прочим оформлением, ради оформления.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.