Все нормально
Лазерная установка для засветки фоторезиста от AlphaCrow
- Сообщения: 5725
- Зарегистрирован: Чт июн 09, 2011 17:17:47
- Реклама
[uquote="HeadLess",url="/forum/viewtopic.php?p=3183693#p3183693"]Гербер из PCAD в предыдущей версии открывается, а в актуальной - нет ([/uquote]
Все нормально

Все нормально
вопрос к тем кто будет дорабатывать софт на комп, реально ли сделать вращение бмп-шки на определенный угол? тогда можно было бы выбросить камеру из установки,а позиционирование по реперным отверстиям сделать следующим образом:
на стол под заготовкой поставить светопроводящую пластину из оргстекла с фотодиодом,распечатав первую сторону, переворачиваем плату, кладем так чтоб реперы попали на фотодатчик, отьезжаем столом назад и начинаем молотить лазером с подачей стола в перед, как только лазер просвечивает одно из отверстий снимаем координаты зная точно расстояние между реперами высчитываем угол и положение платы на столе, соответственно готовим растр под этот угол и продолжаем печать с нужным нам углом, даже если реперное отверстие будет диаметром больше луча снимаем массив засветки и выбираем среднее значение...
на стол под заготовкой поставить светопроводящую пластину из оргстекла с фотодиодом,распечатав первую сторону, переворачиваем плату, кладем так чтоб реперы попали на фотодатчик, отьезжаем столом назад и начинаем молотить лазером с подачей стола в перед, как только лазер просвечивает одно из отверстий снимаем координаты зная точно расстояние между реперами высчитываем угол и положение платы на столе, соответственно готовим растр под этот угол и продолжаем печать с нужным нам углом, даже если реперное отверстие будет диаметром больше луча снимаем массив засветки и выбираем среднее значение...
А у меня говорит
Открываем файл: D:\ПП\MB-01.GRB
Ищем репперы:
репперы найдены
Делаем отрисовку изображения по репперам
Ошибка при отрисовке изображения:
Parameter is not valid.
Открываем файл: D:\ПП\MB-01.GRB
Ищем репперы:
репперы найдены
Делаем отрисовку изображения по репперам
Ошибка при отрисовке изображения:
Parameter is not valid.
- Сообщения: 445
- Зарегистрирован: Вс апр 20, 2014 14:18:07
- Реклама
- Сообщения: 5725
- Зарегистрирован: Чт июн 09, 2011 17:17:47
Forward
Это может потому, что нет реперов?
Это может потому, что нет реперов?
- Сообщения: 445
- Зарегистрирован: Вс апр 20, 2014 14:18:07
Реперы, естественно, помогут в данном случае, но нужно посмотреть и на правильность алгоритма обработки граничных значений массива.Ruzik писал(а):Это может потому, что нет реперов?
2 SDimok почитал историю оказывается у тебя уже реализован поворот по реперам, ты исходник на git не вкладывал? былоб интересно глянуть может что добавить
Я кста свою софтинку тоже потихоньку пилю. Весьма вероятно, что в следующий год мы войдем с тремя программами
https://drive.google.com/open?id=0BwY4I ... XpBY1VRX1E
https://drive.google.com/open?id=0BwY4I ... XpBY1VRX1E
[uquote="Forward",url="/forum/viewtopic.php?p=3183888#p3183888"]Не совсем...
При низком разрешении пропала правая граница...[/uquote]
После разбора гербера имеем некие размеры в миллиметрах.
Переводим в соответствии с разрешением в точки.
Само собой там есть численные ошибки
Вот их и округлили ...
Добавил к конечному битмапу по 1 пикселу...

А на счет алгоритма поиска границ.... он там элементарный.
При низком разрешении пропала правая граница...[/uquote]
После разбора гербера имеем некие размеры в миллиметрах.
Переводим в соответствии с разрешением в точки.
Само собой там есть численные ошибки
Добавил к конечному битмапу по 1 пикселу...
А на счет алгоритма поиска границ.... он там элементарный.
Спойлер
Код: Выделить всё
private Polygon ParseBorderSize(GraphicsItem image)
{
Polygon boardSize = new Polygon(4);
double maxX = 0;
double maxY = 0;
double minX = 100000000;
double minY = 100000000;
foreach (Polygons pgs in image)
{
foreach (Polygon pg in pgs)
{
foreach (PointD p in pg)
{
if (p.x > maxX) maxX = p.x;
if (p.y > maxY) maxY = p.y;
if (p.x < minX) minX = p.x;
if (p.y < minY) minY = p.y;
}
}
}
if (minX == 100000000) { minX = 0; }
if (minY == 100000000) { minY = 0; }
boardSize.Add(new PointD(minX, minY)); //0
boardSize.Add(new PointD(maxX, minY)); //1
boardSize.Add(new PointD(maxX, maxY)); //2
boardSize.Add(new PointD(minX, maxY)); //3
return boardSize;
}
- Сообщения: 445
- Зарегистрирован: Вс апр 20, 2014 14:18:07
[uquote="SDimok",url="/forum/viewtopic.php?p=3184149#p3184149"]После разбора гербера имеем некие размеры в миллиметрах.
Переводим в соответствии с разрешением в точки.
Само собой там есть численные ошибки
Вот их и округлили ...[/uquote]
Собственно, что мне показалось странным: ширина "пропавшей" линии - 10mil = 0.254 мм, разрешение системы - 0.042 мм. То есть 6 точек. Нет ни одной.
То есть, если при округлении размеров пропадает 1 точка - это ошибка округления (не вопрос), но если целых 6 - то значит не отрисовалась целая линия из-за наложения на границу, а это - ошибка алгоритма. Но проблема решена ...
А сколько их еще будет... 
Переводим в соответствии с разрешением в точки.
Само собой там есть численные ошибки
Собственно, что мне показалось странным: ширина "пропавшей" линии - 10mil = 0.254 мм, разрешение системы - 0.042 мм. То есть 6 точек. Нет ни одной.
То есть, если при округлении размеров пропадает 1 точка - это ошибка округления (не вопрос), но если целых 6 - то значит не отрисовалась целая линия из-за наложения на границу, а это - ошибка алгоритма. Но проблема решена ...
[uquote="Forward",url="/forum/viewtopic.php?p=3184164#p3184164"]Собственно, что мне показалось странным: ширина "пропавшей" линии - 10mil = 0.254 мм, разрешение системы - 0.042 мм. То есть 6 точек. Нет ни одной.[/uquote]
Полигон порвался и не залился, вот и все.
А если бы не отыскались крайние точки, не создался бы битмап (по этим точкам определяется его высота и ширина)
Добавлено after 10 minutes 29 seconds:
[uquote="tihohod",url="/forum/viewtopic.php?p=3184093#p3184093"]Я кста свою софтинку тоже потихоньку пилю.[/uquote]
Обмен с HLDI уже реализовал?
Полигон порвался и не залился, вот и все.
А если бы не отыскались крайние точки, не создался бы битмап (по этим точкам определяется его высота и ширина)
Добавлено after 10 minutes 29 seconds:
[uquote="tihohod",url="/forum/viewtopic.php?p=3184093#p3184093"]Я кста свою софтинку тоже потихоньку пилю.[/uquote]
Обмен с HLDI уже реализовал?
[uquote="SDimok",url="/forum/viewtopic.php?p=3183524#p3183524"]Переделал графику на однобитный формат.[/uquote] В прицепе гербер который раньше открывался... сейчас уже нет.
Такой лог выдает "Ищем репперы:
репперы не найдены
Делаем отрисовку изображения по границам примитивов
Ошибка при отрисовке изображения:
Недопустимый параметр."
Правда, если быть честным, этот гербер не для той установки, но все же...
Сейчас проверил, сломалось еще наверное версии две-три назад.
удалил файл...
Такой лог выдает "Ищем репперы:
репперы не найдены
Делаем отрисовку изображения по границам примитивов
Ошибка при отрисовке изображения:
Недопустимый параметр."
Правда, если быть честным, этот гербер не для той установки, но все же...
Сейчас проверил, сломалось еще наверное версии две-три назад.
удалил файл...
Последний раз редактировалось vilkin Сб сен 16, 2017 13:13:03, всего редактировалось 1 раз.
[uquote="vilkin",url="/forum/viewtopic.php?p=3184267#p3184267"]Сейчас проверил, сломалось еще наверное версии две-три назад.[/uquote]
Предыдущей версией открылся (отсюда). Правда, не знаю, насколько корректно
Возможно, проблема в том, что в этом гербере несколько слоев? Это видно, если открыть его в GerbMagic.
Предыдущей версией открылся (отсюда). Правда, не знаю, насколько корректно
Возможно, проблема в том, что в этом гербере несколько слоев? Это видно, если открыть его в GerbMagic.

В мире нет вредных веществ, в мире есть вредные количества © Д.И.Менделеев
Когда на форуме переходят на "Вы", в реальной жизни уже давно бьют морду © автор неизвестен.
[uquote="vsteshak",url="/forum/viewtopic.php?p=3184048#p3184048"]читайте дальше, там написано, среди прочего, - лучше установку собирать на нормальном железе[/uquote]
Ой. Специалисты. Не вводите людей в заблуждение своими "мудрыми" советами. Прекрасно работает установка и на железе от принтера. Это и дёшево, и просто. А если ещё использовать дешевые модули из китайшопов, то доступно любому желающему. Не пугайте людей своими надуманными сложностями. Пусть не боятся и делают. А потом каждый решит, нужна ли ему крутая распальцовка для 5 плат в месяц.
Ой. Специалисты. Не вводите людей в заблуждение своими "мудрыми" советами. Прекрасно работает установка и на железе от принтера. Это и дёшево, и просто. А если ещё использовать дешевые модули из китайшопов, то доступно любому желающему. Не пугайте людей своими надуманными сложностями. Пусть не боятся и делают. А потом каждый решит, нужна ли ему крутая распальцовка для 5 плат в месяц.
Общаюсь на ТЫ. Без расшаркиваний.
[uquote="vilkin",url="/forum/viewtopic.php?p=3184267#p3184267"]В прицепе гербер который раньше открывался... сейчас уже нет.[/uquote]
Да проблема с выделением памяти для битмапа.
Вернул как было - открывается нормально
Да проблема с выделением памяти для битмапа.
Вернул как было - открывается нормально
[uquote="tihohod",url="/forum/viewtopic.php?p=3184093#p3184093"]Я кста свою софтинку тоже потихоньку пилю. Весьма вероятно, что в следующий год мы войдем с тремя программами
https://drive.google.com/open?id=0BwY4I ... XpBY1VRX1E[/uquote]
Что планируется сделать?
https://drive.google.com/open?id=0BwY4I ... XpBY1VRX1E[/uquote]
Что планируется сделать?
@ „Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.“ Козьма Петрович Прутков
[uquote="KPG",url="/forum/viewtopic.php?p=3184486#p3184486"][uquote="tihohod",url="/forum/viewtopic.php?p=3184093#p3184093"]Я кста свою софтинку тоже потихоньку пилю. Весьма вероятно, что в следующий год мы войдем с тремя программами
https://drive.google.com/open?id=0BwY4I ... XpBY1VRX1E[/uquote]
Что планируется сделать?[/uquote]
Пока видится продвинутый вьюер со всеми зумами и рулерсами, возможность открывать несколько файлов (топ-боттом-маски) с возможностью наложения слоёв при просмотре, возможность ручного редактирования растра (наложение картинки, текста, примитивов квадрат-круг, мелкая ретушь карандашом/резинкой)) с последюйщим сохранением патча к оригинальному герберу в отдельном файле, автопоиск сомнительных мест типа узких дорожек/просветов. Вынесение всего, что связано с управлением станком в отдельную dll, с возможностью написания любым желающим плагина для управления своим железом. Кроме того не оставляет идея контроллера на стандартных компонентах ардуино-мегашилд.
https://drive.google.com/open?id=0BwY4I ... XpBY1VRX1E[/uquote]
Что планируется сделать?[/uquote]
Пока видится продвинутый вьюер со всеми зумами и рулерсами, возможность открывать несколько файлов (топ-боттом-маски) с возможностью наложения слоёв при просмотре, возможность ручного редактирования растра (наложение картинки, текста, примитивов квадрат-круг, мелкая ретушь карандашом/резинкой)) с последюйщим сохранением патча к оригинальному герберу в отдельном файле, автопоиск сомнительных мест типа узких дорожек/просветов. Вынесение всего, что связано с управлением станком в отдельную dll, с возможностью написания любым желающим плагина для управления своим железом. Кроме того не оставляет идея контроллера на стандартных компонентах ардуино-мегашилд.
- Сообщения: 5725
- Зарегистрирован: Чт июн 09, 2011 17:17:47
SDimok
Кстати, можешь сделать открытие 2 герберов, независимую инвертацию каждого и наложение их друг на друга (верней, чтобы можно выделив гербер, переместить его слой на вверх или вниз) ?
Это нужно для маркировки, на случай, если она "наезжает" на пады, на слой припоя. Вот пример косяка..

А это уже правильный, после манипуляций с герберами в GerbMagic (плата правда другая, но суть понятна)..

А вот видео этих манипуляций (пример)..
Хотелось бы исключить сторонний софт для данной процедуры.
Еще бы и с BMP также, только не знаю, можно ли их накладывать?
Кстати, можешь сделать открытие 2 герберов, независимую инвертацию каждого и наложение их друг на друга (верней, чтобы можно выделив гербер, переместить его слой на вверх или вниз) ?
Это нужно для маркировки, на случай, если она "наезжает" на пады, на слой припоя. Вот пример косяка..

А это уже правильный, после манипуляций с герберами в GerbMagic (плата правда другая, но суть понятна)..

А вот видео этих манипуляций (пример)..
Хотелось бы исключить сторонний софт для данной процедуры.
Еще бы и с BMP также, только не знаю, можно ли их накладывать?
- Сообщения: 92
- Зарегистрирован: Вс ноя 04, 2012 14:40:58
[uquote="Alex62",url="/forum/viewtopic.php?p=3184342#p3184342"][uquote="vsteshak",url="/forum/viewtopic.php?p=3184048#p3184048"]читайте дальше, там написано, среди прочего, - лучше установку собирать на нормальном железе[/uquote]
Ой. Специалисты. Не вводите людей в заблуждение своими "мудрыми" советами. Прекрасно работает установка и на железе от принтера. Это и дёшево, и просто. А если ещё использовать дешевые модули из китайшопов, то доступно любому желающему. Не пугайте людей своими надуманными сложностями. Пусть не боятся и делают. А потом каждый решит, нужна ли ему крутая распальцовка для 5 плат в месяц.[/uquote]
Вот за это спасибо, как раз мой случай, только пять не в месяц а в год. Как раз по причине мороки с фотошаблоном.
Ой. Специалисты. Не вводите людей в заблуждение своими "мудрыми" советами. Прекрасно работает установка и на железе от принтера. Это и дёшево, и просто. А если ещё использовать дешевые модули из китайшопов, то доступно любому желающему. Не пугайте людей своими надуманными сложностями. Пусть не боятся и делают. А потом каждый решит, нужна ли ему крутая распальцовка для 5 плат в месяц.[/uquote]
Вот за это спасибо, как раз мой случай, только пять не в месяц а в год. Как раз по причине мороки с фотошаблоном.



