Ma femme a une machine à broder Bernina et j'aimerais expérimenter avec la création de designs de manière programmatique. J'aimerais soit savoir comment sortir des données dans un format que le logiciel de la machine acceptera, sinon trouver un utilitaire gratuit ou peu coûteux pouvant convertir d'un format que je peux produire (tel que HPGL ou autre chose documentée) à un Format La machine peut accepter. Mon intention serait de produire un fichier avec une coordonnée XY par point de point, plus des instructions pour modifier le fil (pause pour le changement de fil); Je n'ai pas besoin de quelque chose pour générer des remplissages de zone, ajuster l'espacement de point, optimiser l'ordre de couture, etc.; Je m'attendrais à gérer ces choses moi-même. P>
Quelqu'un a des suggestions? P>
4 Réponses :
Selon Ce fil (certes un Peu d'années, alors peut-être qu'ils ont ouvert récemment) les détails du format de fichier .art sont particulièrement surveillés par Bernina et non mis à la disposition des développeurs, nécessitant que tous les travaux sont effectués via leurs outils de conception officiels. p>
Je penserais que vous pourriez inverser l'ingénieur le format de fichier avec une modification de fichier d'essai et d'erreur des octets de fichier .art, mais l'astuce consiste à récupérer ces fichiers modifiés dans la machine. Peut-être qu'un bon démarrage serait de modifier certains octets, puis d'essayer d'obtenir leur logiciel de conception pour ré-ouvrir le fichier. Le grand gotcha avec cette approche serait si ils utilisent une somme de contrôle. P>
J'ai vu des annonces pour les programmes d'autres sociétés qui prétendent lire et écrire les fichiers Bernina. J'ai réussi à inverser l'ingénieur quelques formats de fichiers difficiles dans le passé et que je me considère très bien, mais c'est vraiment taxable sur mon cerveau et je n'aime pas particulièrement de le faire.
Le format de Bernina de Bernina est en effet propriétaire, mais Berinina possède une société de logiciels, OESD, qui fait un logiciel de conversion (par exemple, la boîte de magie OESD). Vous pouvez créer des fichiers à l'aide d'un format de fichier documenté, tel que .PES, et utilisez leur logiciel pour convertir les fichiers PSE en art. P>
Voici une ressource sur la mise en page de certains des formats de fichier de broderie < / p>
Disclaimer: La société que je travaille pour vendre des produits OESD. P>
Pour l'Aurora 440, je ne pense pas que je dois lire et écrire des cartes (la machine se connecte au PC via USB); Les explorations sonnent intéressant, mais le site Web semble un peu flou à la version requise pour l'échange de fichiers.
Vous pouvez regarder la source open source brodermodder 2 et sa bibliothèque sous-jacente, libembroiderie. Au moment de la rédaction, cela ne prend pas en charge .Art, mais .dst est un format commun que la plupart des machines soutiennent ce qui peut fonctionner pour vous. De plus, vous pouvez utiliser le format de fichier .csv de libembembroiderie pour établir vos points de points assez facilement afin que tous les spécificités de format soient abstraits, puis convertissent le fichier avec libembroidery-convertir en un format de broderie que votre machine prend en charge. Le format .csv a la capacité de spécifier des changements de couleur, de sauter des points de suture et de la coupe. P>
P>
Cela me surprendait qu'il y a une très forte possibilité qu'une machine à broder Bernina accepte des fichiers. Tandis que .ART est un peu standard pour faire de tels fichiers, beaucoup de machines de broderie acceptent .dst et celles-là sont facile à CODE UP ET SORTIE .
.Art Les fichiers sont dans "Format binaire de fichier composé". Vous les divisez assez facilement. 7ZIP fera cela. Et n'importe qui pourrait écrire quoi que ce soit pour traverser cela. À l'intérieur des fichiers Cependant, il y a généralement: p>
jusqu'à présent cependant, si bon. p>
Notez que cela est identique au format .EMB par WILCOM (Tho .Art appelle cette grade de panne C, car il ne contient pas Le fichier d'art vectoriel qui est similaire à compressé lorsqu'il existe dans EMB) p>
In .EMB Le fichier de contenu commence par un petit nombre d'endans d'octet indiquant la taille du fichier au format non compressé. Suivi d'un courant de compression zlib. Les données résultantes ont clairement un fichier de broderie avec des chaînes sur les threads et un code triplet. P>
donc c'est certainement faisable, mais l'OP est sur .Art .Art. Et voici là où il y a un léger accrochage. Où le 00 est on dirait qu'il y ait D2 qui suggérerait généralement un seul swizzle d'octets. P>
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()]))