Форматы файлов вышивки?

У моей жены есть вышивальная машина Bernina, и я хотел бы поэкспериментировать с программным созданием дизайнов. Я хотел бы либо узнать, как выводить данные в формате, который принимает программное обеспечение машины, либо найти бесплатную или недорогую утилиту, которая может преобразовывать из формата, который я могу создать (например, HPGL или что-то еще задокументированное), в формат, который может принять машина. Мое намерение состояло в том, чтобы вывести файл с одной координатой XY для каждого стежка, а также инструкциями по смене потока (пауза для смены потока); Мне не нужно что-то для создания заливки областей, регулировки расстояния между стежками, оптимизации порядка сшивания и т. Д .; Я ожидал, что сам справлюсь с этими вещами.

У кого-нибудь есть предложения?


person supercat    schedule 15.08.2010    source источник


Ответы (4)


Формат .ART Бернины действительно является проприетарным, но Беринина владеет компанией-разработчиком программного обеспечения OESD, которая производит программное обеспечение для преобразования (например, OESD Magic Box). Вы можете создавать файлы, используя документированный формат файлов, например .PES, и использовать их программное обеспечение для преобразования файлов PES в ART.

Вот ресурс о компоновке некоторых форматов файлов вышивки

отказ от ответственности: компания, в которой я работаю, продает продукцию OESD.

person John Douthat    schedule 05.09.2010
comment
Для Aurora 440 я не думаю, что мне нужно читать и писать карты (машина подключается к ПК через USB); Исследования звучат интересно, но на веб-сайте кажется немного неясным, какая версия необходима для обмена файлами. - person supercat; 07.09.2010

Вы можете посмотреть открытый исходный код Embroideryrmodder 2 и его базовую библиотеку, libembroidery. На момент написания он не поддерживает .ART, но .DST - это распространенный формат, поддерживаемый большинством компьютеров, который может вам подойти. Кроме того, вы можете использовать формат .CSV от libembroidery, чтобы довольно легко разложить свои стежки, чтобы все особенности формата были абстрагированы, а затем преобразовать файл с помощью libembroidery-convert в формат вышивки, который поддерживает ваша машина. Формат .CSV позволяет указывать изменения цвета, переходные стежки и обрезку.

большие форматы вышивки

person redteam316    schedule 29.10.2013

Согласно этой ветке (предположительно несколько лет назад , так что, возможно, они недавно открылись) детали формата файла .art тщательно охраняются Берниной и не предоставляются разработчикам, требуя, чтобы вся работа выполнялась с помощью их официальных инструментов проектирования.

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

person G__    schedule 15.08.2010
comment
Я видел рекламу программ других компаний, которые утверждали, что читают и записывают файлы Bernina. В прошлом мне удавалось реконструировать некоторые хитрые форматы файлов, и я считаю, что у меня это неплохо получается, но это действительно утомляет мой мозг, и мне не очень нравится это делать. - person supercat; 15.08.2010

Мне пришло в голову, что на самом деле существует очень большая вероятность того, что вышивальная машина Bernina принимает файлы .DST. Хотя .ART является в некоторой степени стандартным для создания таких файлов, многие вышивальные машины принимают .DST, а их легко код и вывод.


Файлы .art находятся в двоичном формате составных файлов. Вы довольно легко их разделяете. 7zip сделает это. И любой мог написать что угодно, чтобы пройти через это. Однако внутри файлов обычно есть:

  • [5] Сводная информация
  • [5] WilcomDesignInformationDDD
  • AUX_INFO
  • СОДЕРЖАНИЕ
  • DESIGN_ICON

Но пока все хорошо.

Обратите внимание, что это то же самое, что и формат .emb от Wilcom (хотя .art называет эту разбивку Grade C, потому что он не содержит файл векторной графики, который аналогичным образом сжат, когда он существует в emb)

В формате .emb файл содержимого начинается с 4-байтового младшего числа, указывающего размер файла в несжатом формате. За ним следует поток сжатия zlib. Полученные данные явно содержат файл вышивки со строками о нитях и триплетным кодом.

Так что это, конечно, выполнимо, но OP о .art. И здесь есть небольшая загвоздка. Где 00, похоже, что есть D2, который обычно предлагает однобайтовую смену.

F1 47 D2 D2 EE 9C 24 --- should be  
46 2B 00 00 78 9C ED --- (the icon file sizes are always the same)

Битовая перестановка здесь: XOR D2, цикл-сдвиг-влево 1.

Таким образом, элемент содержимого в CFBF должен быть безымянным XOR 0xD2, циклически сдвинутым влево на 1. Затем первые четыре байта - это размер, а остальные - это поток сжатия zlib.


import compoundfiles
import zlib


def swizzle(b):
    b ^= 0xD2
    b <<= 1
    b |= b >> 8
    return b & 0xFF


def parse_art_file(file):
    with open(file, 'rb') as f:
        contents = compoundfiles.CompoundFileReader(f).open('Contents')
        contents.seek(4)  # file size
        return zlib.decompress(bytes([swizzle(b) for b in contents.read()]))

Файлы .emb такие же, но не существует swizzle для содержимого.

Затем вы перепроектируете файл и т. Д.

person Tatarize    schedule 13.12.2016