вівторок, 11 жовтня 2016 р.

Комп'ютерна вишивка і Linux


Комп'ютерна вишивка - цікавий напрямок розвитку машин з ЧПУ.
На ринку є вишивальні машини різних фірм з різними можливостями. Але обʼєднує їх те, що на вході кожна з них приймає дані лише в своєму форматі і до спільного формату вони поки що так і не дійшли (щоправда, як пишуть деякі фахівці, професійні машини таки притримуються формату *.exp). Для підготовки машинної програми кожен бренд розробляє власне програмне забезпечення.
Це програмне забезпечення доволі вузькоспеціалізоване і розраховане переважно для використання в ОС Windows.
Але, як виявилося, Linux-ові теж є чим повихвалятися.
Розробка машинної програми складається з кількох простих кроків. Ось вони:

Розробляємо шаблон

Для розробки шаблону цілком підходить будь-який векторний редактор.  В Linux (та й у Windows) існує гарний кросплатформений інструмент Inkscape. Саме його я рекомендую використовувати для розробки шаблону. Додатково скажу, що Inkscape може навіть переводити растрові зображення у векторні.

Переводимо зображення у машинний формат

Ось тут виникають перші труднощі. Конкретно мені був потрібен файл під машину Brother (розширення *.PES). Інструментів для його створення обмаль. А ті, що є, не відразу збагнеш, як працюють.
Для переведення картинки в машинні стібки для Inkscape добрі люди написали плагін inkscape-embroidery (розміщений на github). Він зробить за вас основну роботу по герерації тисяч стібків з вашого зображення. Єдине, що в результаті треба або зберігати svg зі стібками (а його немає чим перетворити на *.PES. Тут слід згадати про утиліту svg2pes, яка теж працює, але не так як мені б хотілося. Треба буде здійснити другу спробу) або використовувати проміжний файл, який генерує плагін в своєму каталозі (файл називається embroider-output.exp - як виявилося всі елементи в ньому в 10 разів зменшені по відношенню до оригінального зображення. Це я зрозумів аж на 3 день експериментів. Тепер гадаю: "А, може, svg2pes не працює з тієї ж причини?"). Щоб подолати проблему зменшення достатньо збільшити зображення в 10 разів перед застосуванням плагіну.
Особливості роботи плагіну:
  • він перетворює лінії, шириною >0.5pt в зигзагоподібні стібки. Якщо ж ширина лінії <0.5pt - просто обшивання по контуру. Якщо колір штриха контуру прозорий, то обшивання взагалі відсутнє
  • прозорі ділянки не зашиваються
  • непрозорі внутрішні ділянки контурів зашиваються стібками. Напрямок визначається автоматично
  • згруповані фігури і фігури типу прямокутник чи зірка не обробляються взагалі (тобто все треба розгрупувати і перетворити на штрихи і контури)
  • перед застосуванням плагіну рекомендується згладити лінії за допомогою фільтру Без'є для кращого відтворення кривих штрихів

Перетворюємо *.EXP у *.PES

На щастя є ще добрі люди, які розробляють потужний інструмент embroidmodder2. Це векторний редактор стібків. Він дуже всеядний і може відкривати і зберігати безліч різноманітних форматів файлів машинних програм. Не виключення і embroider-output.exp.
Тож відкривши *.EXP у embroidmoder2 я просто скористався ним як конвертером для перетворення даних в так потрібний мені *.PES.

Перевіряємо правильність конвертації

Для перевірки отриманого *.PES файлу можна скористатися тим же embroidmodder2.
Як варіант можна використати безкоштовний PESView. Він, щоправда, розроблений для Windows, але працює й під Wine.
І останній варіант перевірки - утилітка pesconvert (від Лінуса Торвальдса) - перетворювач *.PES файлів у зображення *.PNG. Нею перетворюєте *.PES файл у картинку і переглядаєте будь-яким переглядачем картинок.
Залишилося перевірити, що ж вийде після виконання машинної вишивки на реальному обладнанні.
Після десятка експериментів вдалося добитися доволі пристойних результатів. Робота швейної машини виглядає приблизно так:
І, нарешті кінцевий варіант:



Процес створення літер за технологією satin column виглядає ось так:
 А перетворення отриманого CSV файлу на машинний PES виглядає так:

Джерела:

http://www.jonh.net/~jonh/inkscape-embroidery/
https://github.com/stesie/inkscape-embroidery
https://github.com/lexelby/inkscape-embroidery
https://github.com/Embroidermodder/Embroidermodder
http://www.joachim-riedel.de/freeware/
http://git.kernel.org/cgit/linux/kernel/git/torvalds/pesconvert.git
https://github.com/MaxKellermann/svg2pes
http://torvalds-family.blogspot.com/2010/01/embroidery-gaah.html
http://svg2embr.wasbo.net/

Немає коментарів:

Дописати коментар