Компания purelogic позволила мне сохранить копию архива с дистрибутивом проекта на их сайте.
Ссылка для скачивания теперь http://www.purelogic.ru/SOFT/mnc.zip
Огромное спасибо purelogic!
11.09.2008
Открываю исходники MNC
Всвязи с разработкой новой улучшенной версии программы решил выложить исходные коды старой программы MNC. Проект писан на Delphi. Писался по настроению, всё в кучу.
Скачать можно здесь http://lipkij.narod.ru/sourceproject.zip
Скачать можно здесь http://lipkij.narod.ru/sourceproject.zip
19.05.2008
Новое решение мозаичного портала
Сегодня нашел очень простое и дешевое а главное практически готовое решение для мозаичного портала. Как сделаю - выложу здесь
16.05.2008
Электросхема автоматического мозаичного портала
Рассмотрим работу схемы. Фотореле 1 вырабатывает сигнал говорящий о том, что портал пуст (то есть мозаика в обойме закончилась,фотоэлемент засвечен). Этот сигнал можно "повесить" на вход контроллера для сигнала Enable или даже на любой из концевых выключателей. Это фотореле также выключает двигатель портала.
Фотореле2 срабатывает если оно освещено, то есть в зоне отбора станка нет элемента. Это фотореле включает двигатель, который совершает поступательные перемещения "каретки". При прохождении каретки под обоймой в выемку "проваливается" следующая мозаика, которая перемещается кареткой в зону отбора и собой закрывает фотоэлемент второго реле - и двигатель останавливается.
Несколько дополнений: Каретка должна быть из прозрачного материала, может быть и не вся каретка, а только лишь "выемка" для мозаичного элемента, чтобы освещение попадало на фотоэлементы.
Размеры "выемки", а также обоймы должны быть приблизительно подогнаны под размер мозаичного элемента - 10х10, 20х20 и тд. мм.
Такая простая схема обеспечит полностью автоматическую подачу мозаики пока обойма заполнена.
Обновление MNC
Новая версия MNC - проведена корректировка алгоритмов движения.
Добавлена обработка концевых выключателей в процессе работы и отладки.
Добавлена обработка концевых выключателей в процессе работы и отладки.
15.05.2008
Испытание
Вчера после переделки станка испытывал новшевства в программе, а именно - влияние параметра приоритета выполнения потока программы.
Теперь могу сказать точно - влияние положительное. При работе в режиме обычного приоритета заметны как бы "рывки" в работе двигателей без нагрузок. Установив приоритет в критический, эти рывки практически исчезли! Операционная система никак специально не настраивалась, службы работали те что работают по умолчанию в системе.
Ну чтоже - я думаю это хорошая фича для программки!
Думаю над дальнейшими усовершенствованиями. Хотелось бы конечно исключить этапы правки изображений в сторонних редакторах, но для этого мне нужны хорошие алгоритмы оптимизации количетства цветов в палитре изображения. Таких я пока не нашел, а сам пока сильно не разбирался. Приходится оптимизировать путем преобразования в GIF формат а затем пересохранением в BMP.
Вообщем подумать есть над чем.
Теперь могу сказать точно - влияние положительное. При работе в режиме обычного приоритета заметны как бы "рывки" в работе двигателей без нагрузок. Установив приоритет в критический, эти рывки практически исчезли! Операционная система никак специально не настраивалась, службы работали те что работают по умолчанию в системе.
Ну чтоже - я думаю это хорошая фича для программки!
Думаю над дальнейшими усовершенствованиями. Хотелось бы конечно исключить этапы правки изображений в сторонних редакторах, но для этого мне нужны хорошие алгоритмы оптимизации количетства цветов в палитре изображения. Таких я пока не нашел, а сам пока сильно не разбирался. Приходится оптимизировать путем преобразования в GIF формат а затем пересохранением в BMP.
Вообщем подумать есть над чем.
08.05.2008
Обновление MNC
Очередное обновление программы MNC. Небольшие доработки.
Введен параметр приоритета потока исполнения программы.
При работе над проектом (раскладке или выжигании) программа управления станком работает в отдельном потоке от самой программы MNC - поэтому вы можете контролировать процесс и менять некоторые параметры станка "на лету". Я ввел параметр приоритета исполнения потока - вы можете выбрать его в списке на закладке Работа с проектом Мозаика. Пока не испытывал его влияние. Приоритет устанавливается от низшего до высшего и даже критического по времени.
Позже раскажу о его влиянии на работу программы в среде Windows - надеюсь это отразится на ее работе в лучшую сторону.
А Вы можете сами скачать программу как обычно в том же месте. Рад буду услышать Ваши отзывы.
Введен параметр приоритета потока исполнения программы.
При работе над проектом (раскладке или выжигании) программа управления станком работает в отдельном потоке от самой программы MNC - поэтому вы можете контролировать процесс и менять некоторые параметры станка "на лету". Я ввел параметр приоритета исполнения потока - вы можете выбрать его в списке на закладке Работа с проектом Мозаика. Пока не испытывал его влияние. Приоритет устанавливается от низшего до высшего и даже критического по времени.
Позже раскажу о его влиянии на работу программы в среде Windows - надеюсь это отразится на ее работе в лучшую сторону.
А Вы можете сами скачать программу как обычно в том же месте. Рад буду услышать Ваши отзывы.
05.05.2008
Скоро в программе :)
Предполагаю улучшить функцию раскладки (и выжигания). Необходимо чтобы после прохода одной "строки" от начала до конца станок переходил к следующей, но обрабатывал с конца к началу. Очень сэкономит время, исключит холостой ход.
Необходимо также доработать редактирование изображений во встроенном редакторе, добавить возможные форматы для импорта, добавить эффекты, улучшить работу с палитрой цветов, добавить побольше функций ее оптимизации.
Возможно в программу будет включаться поддержка векторных форматов.
Необходимо также доработать редактирование изображений во встроенном редакторе, добавить возможные форматы для импорта, добавить эффекты, улучшить работу с палитрой цветов, добавить побольше функций ее оптимизации.
Возможно в программу будет включаться поддержка векторных форматов.
Обновление MNC
Улучшения и дополнения.
Немного изменил генерируемый файл проекта. Повыкидывал избыточную информацию. Теперь файлы проекта будут поменьше. Расширение файлов как и прежде - mnc, формат хранимой информации - XML.
Улучшен механизм простого выжигания. Как всегда он полнофункционален как и в предыдущей версии программы.
При генерации проекта для выжигания размер шва может быть нулевым. Улучшен механизм генерации проекта. Добавлен индикатор прогресса генерации каждой матрицы.
Скачать программу можно как и прежде с http://lipkij.narod.ru/DemoMNC.zip
Немного изменил генерируемый файл проекта. Повыкидывал избыточную информацию. Теперь файлы проекта будут поменьше. Расширение файлов как и прежде - mnc, формат хранимой информации - XML.
Улучшен механизм простого выжигания. Как всегда он полнофункционален как и в предыдущей версии программы.
При генерации проекта для выжигания размер шва может быть нулевым. Улучшен механизм генерации проекта. Добавлен индикатор прогресса генерации каждой матрицы.
Скачать программу можно как и прежде с http://lipkij.narod.ru/DemoMNC.zip
03.05.2008
Новая версия MNC. Дополнения и исправления.
Поработал над ошибками, добавил полезностей. Итак:
1. Исправлены ошибки, приводившие к внезапному завершению работы программы.
2. В архив добавлен файл lptwdmio.sys без которого работа программы невозможна (сори большое, забыл)
3. Подправлен алгоритм генерации проекта. Не идеален, надо дорабатывать.
4. НОВОЕ! Введена функция выжигания (сверления). В демо версии эта функция не ограничена! Подробности ниже.
Подробнее о выжигании.
Итак, для выжигания эту программу теперь можно употреблять. Алгоритм самый простой, далее будет усовершенствован, дабы скорость увеличить.
Процедура генерирования файла для выжигания немного отлична от мозаичной.
Берем картинку, допустим черно-белую. В любом редакторе обводим картинку рамкой скажем красного цвета толщиной в 1 точку (это минимум). Так мы обозначим края картинки.
На закладке Цвета также нажимаем кнопку Получить палитру (сам рисунок уже должен быть открыт на этой закладке). Если рисунок черно-белый с красной рамкой, то увидим что в палитре появилось 3 цвета - черный белый и красный. Идем на закладку подготовки палитры.
На закладке подготовки палитры нажимаем Загрузить палитру из цветов. В табличке увидим три строчки с тремя цветами. Теперь самое хитрое. Для выжигания нам понадобится три портала. Для белого цвета, для черного и для красного. Создадим их на закладке Настройки (добавим то есть). Параметры порталов для белого и красного цвета нам не важны. А вот для портала черного цвета мы поставим в его свойствах Z координаты нужную нам "высоту" прожига. Например -1 мм. Именно высотой портала черного цвета будет руководствоваться программа при выжигании.
Вернемся на закладку Подготовка Палитры. Сопоставим цвета рисунка и наши порталы. Для белого - белый, для красного - красный, для черного цвета рисунка выбирем наш портал с черным цветом (с "высотой" -1 мм).
После сопоставления идем на закладку Оцифровка. Нажимаем Получить данные для оцифровки. Ставим размеры элемента по X,Y,Z - по 1 мм, размер шва также 1 мм.
Нажимаем Расчитать размер матрицы. Затем нажимаем Расчитать количество матриц мозаики. Затем выбираем файл для сохранения проекта.
Нажимаем кнопку Генерация проекта.
Ждем, генерация завершится сообщением.
Итак, наш файл проекта для выжигания готов. В чем состоит дальнейшая хитрость?
Идем на закладку Работа с проектом Мозаика. Открываем созданный нами файл проекта.
У нас появится наша матрица в списке. Выбираем ее. В списке порталов матрицы появятся наши три портала - красный, черный и белый. Для выжигания нам нужен только черный портал. Выбирем его в списке и нажмем кнопку >+. Он появится в списке выбранных порталов.
Теперь выбираем Вид работы -опцию Простое выжигание.
Обработка порталов матрицы - оцию Обрабатывать только выбранные порталы.
Все! Нажимаем Старт.
Выжигание происходит построчно. С возвращением после конца строки к началу следующей. Позже я добавлю функию, с помощью которой станок буде сразу переходить к следущей строчке и выжигать ее с конца к началу, чтобы не было холостого хода к началу следующей строке. Должно получится гораздо быстрее.
Немного не доработан алгоритм формирования проекта, чтобы размеры элемента (точки выжигания и ширина шва) и шва не были только целыми числами.
Вообщем пока все.
1. Исправлены ошибки, приводившие к внезапному завершению работы программы.
2. В архив добавлен файл lptwdmio.sys без которого работа программы невозможна (сори большое, забыл)
3. Подправлен алгоритм генерации проекта. Не идеален, надо дорабатывать.
4. НОВОЕ! Введена функция выжигания (сверления). В демо версии эта функция не ограничена! Подробности ниже.
Подробнее о выжигании.
Итак, для выжигания эту программу теперь можно употреблять. Алгоритм самый простой, далее будет усовершенствован, дабы скорость увеличить.
Процедура генерирования файла для выжигания немного отлична от мозаичной.
Берем картинку, допустим черно-белую. В любом редакторе обводим картинку рамкой скажем красного цвета толщиной в 1 точку (это минимум). Так мы обозначим края картинки.
На закладке Цвета также нажимаем кнопку Получить палитру (сам рисунок уже должен быть открыт на этой закладке). Если рисунок черно-белый с красной рамкой, то увидим что в палитре появилось 3 цвета - черный белый и красный. Идем на закладку подготовки палитры.
На закладке подготовки палитры нажимаем Загрузить палитру из цветов. В табличке увидим три строчки с тремя цветами. Теперь самое хитрое. Для выжигания нам понадобится три портала. Для белого цвета, для черного и для красного. Создадим их на закладке Настройки (добавим то есть). Параметры порталов для белого и красного цвета нам не важны. А вот для портала черного цвета мы поставим в его свойствах Z координаты нужную нам "высоту" прожига. Например -1 мм. Именно высотой портала черного цвета будет руководствоваться программа при выжигании.
Вернемся на закладку Подготовка Палитры. Сопоставим цвета рисунка и наши порталы. Для белого - белый, для красного - красный, для черного цвета рисунка выбирем наш портал с черным цветом (с "высотой" -1 мм).
После сопоставления идем на закладку Оцифровка. Нажимаем Получить данные для оцифровки. Ставим размеры элемента по X,Y,Z - по 1 мм, размер шва также 1 мм.
Нажимаем Расчитать размер матрицы. Затем нажимаем Расчитать количество матриц мозаики. Затем выбираем файл для сохранения проекта.
Нажимаем кнопку Генерация проекта.
Ждем, генерация завершится сообщением.
Итак, наш файл проекта для выжигания готов. В чем состоит дальнейшая хитрость?
Идем на закладку Работа с проектом Мозаика. Открываем созданный нами файл проекта.
У нас появится наша матрица в списке. Выбираем ее. В списке порталов матрицы появятся наши три портала - красный, черный и белый. Для выжигания нам нужен только черный портал. Выбирем его в списке и нажмем кнопку >+. Он появится в списке выбранных порталов.
Теперь выбираем Вид работы -опцию Простое выжигание.
Обработка порталов матрицы - оцию Обрабатывать только выбранные порталы.
Все! Нажимаем Старт.
Выжигание происходит построчно. С возвращением после конца строки к началу следующей. Позже я добавлю функию, с помощью которой станок буде сразу переходить к следущей строчке и выжигать ее с конца к началу, чтобы не было холостого хода к началу следующей строке. Должно получится гораздо быстрее.
Немного не доработан алгоритм формирования проекта, чтобы размеры элемента (точки выжигания и ширина шва) и шва не были только целыми числами.
Вообщем пока все.
02.05.2008
Мозаичная "обойма"
01.05.2008
Мозаичный портал
В ближайшее время выложу свои мысли о механизме, который будет "подавать" мозаику для станка. Я назвал этот механизм порталом. Собственно созрело два варианта - барабанного типа и типа обойма. Какой лучше - не знаю, надо сделать "лабораторный" образец :) и поиспытывать
30.04.2008
Стартовал мой блог-проект "Мозаика-2"
Хочу сообщить об открытии моего второго блог-проекта Мозаика-2.
В этом проекте будет вестись создание еще одной программы для раскладки сложной мозаики, элементы которой могут раскладываться не только по "сетке" как в первом проекте, а произвольно и иметь произвольную форму
Адрес проекта
В этом проекте будет вестись создание еще одной программы для раскладки сложной мозаики, элементы которой могут раскладываться не только по "сетке" как в первом проекте, а произвольно и иметь произвольную форму
Адрес проекта
"Побочные" возможности программы MNC
Я собираюсь немного доработать программу MNC, чтобы с помощью нее можно было выжигать рисунки.
Особенность состоит в том, что при выжигании порталы будут использоваться для указания глубины прожига. Таким образом, можно будет самому выбирать, какие оттенки серого как прожигать. Само собой, картинка болжна быть в оттенках серого, так проще для вас и программы, хотя можно будет прожигать и просто цветной рисунок, указав какой цвет с какой глубиной прожигать
Особенность состоит в том, что при выжигании порталы будут использоваться для указания глубины прожига. Таким образом, можно будет самому выбирать, какие оттенки серого как прожигать. Само собой, картинка болжна быть в оттенках серого, так проще для вас и программы, хотя можно будет прожигать и просто цветной рисунок, указав какой цвет с какой глубиной прожигать
29.04.2008
Моя программа MNC
Для разработки и составления мозаики с помощью станка с ЧПУ мне пришлось написать специальную программу. Я назвал ее MNC.
Что может сейчас эта программа?
Она ориентирована на управление станком с драйверами типа Step-Dir. Эти драйвера легко управляются, их легко найти в продаже.
Так как у разных пользователей станки с разными механическими параметрами я ввел в программу возможность создания так называемых Профилей. Профиль это простой ini файл, в котором записываются данные станка, которые вы сами должны знать. Профили можно сохранять, загружать. В профиле помимо характеристик станка также записываются порталы. Портал - это специальное устройство, подающее мозаику определенного цвета. Данные портала это его координаты, номер а также цвет мозаики, которую "отдает" этот портал. Порталы используются при сопоставлении палитры мозаичного рисунка и тех цветов мозаики, которые мы имеем. Порталов может быть один а может быть несколько - количество их неограничено в принципе.
В программе предусмотрен простой графический редактор, с его помощью можно "обработать" изображение. Эффектов там пока немного, но их список будет расширятся.
Далее, после обработки изображения или без нее рисунок необходимо загрузить (или взять из редактора) в окно Цветов. Может быть оно и лишнее, но с его помощью вы сможете получить всю цветовую палитру рисунка. Позже туда будет добавлен оптимизатор цветовой палитры и различные эффекты с цветами. Вы также можете вручную отредактировать палитру.
После получения палитры изображения мы переходим на закладку "Подготовка палитры". На этой закладке делается сопоставление цветов палитры рисунка и цветов мозаики которую мы имеем. После сопоставления цветов мы переходим на главную закладку - Оцифровка. На этой закладке мы вводим данные станка и мозаики, выбираем файл, в который будет сохранен проект. Нажатием кнопки "Генерация проекта" создается файл в формате XML. В него записывается раскладка мозаики для рисунка с указанием порталов.
Теперь, когда наш проект готов, мы можем приступить к собственно раскладке.
Переходим на закладку "Работа с проектом".
Выбираем файл проекта, который мы создали в предыдущем шаге.
Часто рисунок не умещается на рабочее поле станка, поэтому он разбивается на матрицы.
Вы выбираете нужную матрицу для раскладки, затем выбираете те порталы (будет реализовано позже) мозаику которых необходимо разложить или все порталы (уже реализовано)для этой матрицы . Нажимаете кнопку Старт и поехали...
Станок начнет раскладывать мозаику из порталов по ячейкам, так как вы ему задали. Вы можете в любой момент прервать или остановить работу станка. Работа выполняется в отдельном потоке и не подвешивает основную программу.
Позже будут добавлены возможности выбора порталов для раскладки, пока что программа использует все заданные порталы, а также добавится возможность начала раскладки с выбранного ряда и колонки матрицы, чтобы вы могли продолжить раскладку не с самого начала, если вдруг работа прервется.
Что может сейчас эта программа?
Она ориентирована на управление станком с драйверами типа Step-Dir. Эти драйвера легко управляются, их легко найти в продаже.
Так как у разных пользователей станки с разными механическими параметрами я ввел в программу возможность создания так называемых Профилей. Профиль это простой ini файл, в котором записываются данные станка, которые вы сами должны знать. Профили можно сохранять, загружать. В профиле помимо характеристик станка также записываются порталы. Портал - это специальное устройство, подающее мозаику определенного цвета. Данные портала это его координаты, номер а также цвет мозаики, которую "отдает" этот портал. Порталы используются при сопоставлении палитры мозаичного рисунка и тех цветов мозаики, которые мы имеем. Порталов может быть один а может быть несколько - количество их неограничено в принципе.
В программе предусмотрен простой графический редактор, с его помощью можно "обработать" изображение. Эффектов там пока немного, но их список будет расширятся.
Далее, после обработки изображения или без нее рисунок необходимо загрузить (или взять из редактора) в окно Цветов. Может быть оно и лишнее, но с его помощью вы сможете получить всю цветовую палитру рисунка. Позже туда будет добавлен оптимизатор цветовой палитры и различные эффекты с цветами. Вы также можете вручную отредактировать палитру.
После получения палитры изображения мы переходим на закладку "Подготовка палитры". На этой закладке делается сопоставление цветов палитры рисунка и цветов мозаики которую мы имеем. После сопоставления цветов мы переходим на главную закладку - Оцифровка. На этой закладке мы вводим данные станка и мозаики, выбираем файл, в который будет сохранен проект. Нажатием кнопки "Генерация проекта" создается файл в формате XML. В него записывается раскладка мозаики для рисунка с указанием порталов.
Теперь, когда наш проект готов, мы можем приступить к собственно раскладке.
Переходим на закладку "Работа с проектом".
Выбираем файл проекта, который мы создали в предыдущем шаге.
Часто рисунок не умещается на рабочее поле станка, поэтому он разбивается на матрицы.
Вы выбираете нужную матрицу для раскладки, затем выбираете те порталы (будет реализовано позже) мозаику которых необходимо разложить или все порталы (уже реализовано)для этой матрицы . Нажимаете кнопку Старт и поехали...
Станок начнет раскладывать мозаику из порталов по ячейкам, так как вы ему задали. Вы можете в любой момент прервать или остановить работу станка. Работа выполняется в отдельном потоке и не подвешивает основную программу.
Позже будут добавлены возможности выбора порталов для раскладки, пока что программа использует все заданные порталы, а также добавится возможность начала раскладки с выбранного ряда и колонки матрицы, чтобы вы могли продолжить раскладку не с самого начала, если вдруг работа прервется.
Старт
Этот проект появился в результате слияния нескольких моих интересов.
С помощью него я надеюсь получить замечательный инструмент, аналогов которому не знаю и не видел.
А так как этого никто еще не видел, будем считать что я первый :)
С помощью него я надеюсь получить замечательный инструмент, аналогов которому не знаю и не видел.
А так как этого никто еще не видел, будем считать что я первый :)
Подписаться на:
Сообщения (Atom)