Jump to content

EXP Embroidery File Format/fr

From Appropedia
330px-Exp_write_commands.png
Tableau des commandes Stitch pour un accès rapide

J'ai créé cette page pour documenter le format de fichier .exp. J'espère ainsi faciliter l'utilisation des fichiers .exp et permettre à d'autres d'en créer de nouveaux selon leurs besoins.

Informations de base

Les fichiers .exp sont des fichiers de broderie conçus pour être utilisés avec les systèmes Melco ou Bravo.

Ces fichiers sont écrits en code binaire. Le code est composé de groupes de 8 bits. Un bit est le nombre binaire 0 ou 1. Ces groupes de 8 bits sont appelés octets. Ces octets contiennent les informations nécessaires à chaque opération de point. Il existe 256 combinaisons possibles de bits pour former un octet. Ces octets représentent des nombres compris entre 0 et 255. Chaque nombre correspond à une commande envoyée à la machine à broder.

Les octets sont écrits dans le fichier par paires de deux. Ces paires correspondent généralement aux commandes de déplacement selon les axes x (gauche/droite) et y (haut/bas). Le premier octet représente la commande de déplacement selon l'axe x et le second, celle selon l'axe y.

La résolution minimale d'un point de broderie au format .exp est de 0,1 mm. Comme tous les mouvements sont basés sur cette résolution, il est plus pratique de considérer 0,1 mm comme unité de mesure de base lors du traitement des données à broder.

Le déplacement maximal dans une commande de point est de 12,7 mm. Tout déplacement souhaité supérieur à cette longueur entre les points doit être créé avec un ou plusieurs mouvements de « saut », expliqués ci-dessous.

Commandes de mouvement et de point

Un déplacement de 0 en x ou y est représenté par la valeur d'octet 0.

Un déplacement positif en x ou y, exprimé en mm × 10⁻¹, est représenté par la même valeur d'octet. Par exemple, un déplacement de +0,3 mm est représenté par la valeur d'octet 3, un déplacement de +7,1 mm par la valeur d'octet 71, etc.

Un mouvement négatif en x ou y en mm*10^-1 est représenté par la valeur absolue du mouvement soustraite de 256. Par exemple, un mouvement de -0,3 mm est représenté par la valeur d'octet 253, un mouvement de -7,1 mm est représenté par la valeur d'octet 185, etc.

Les opérations spéciales sont également représentées par des octets de 2 octets. Ces opérations spéciales incluent « changer de couleur / arrêter », « sauter » et « terminer / couper le fil ». Elles commencent toujours par 128 comme premier octet, le second octet indiquant l'opération spéciale à effectuer.

  • La fonction « Changer de couleur / Arrêt » indique à la machine de s’arrêter afin que l’opérateur puisse changer la couleur du fil à broder ou ajuster les paramètres de la machine en cours d’impression.
    • Représentation en octets : (128,1)* *suivi de la commande de déplacement (0,0) si aucun saut n'est souhaité. Puis, une autre commande (0,0) indique la création d'un point de départ pour les commandes suivantes.
  • « Sauter » signifie que les instructions de déplacement x et y suivantes ne doivent pas être suivies d'une couture. Cela permet à la machine d'espacer davantage les points ou de créer des objets distincts sans coudre le tissu entre eux.
    • Représentation binaire : (128,4)*, suivi de la commande de coordonnées (x,y) pour le saut souhaité. Enchaînez les commandes de saut et de coordonnées de saut pour parcourir une distance supplémentaire. Une fois le saut ou la série de sauts terminé(e), utilisez la commande de coordonnées (0,0) pour définir l’origine de l’opération d’assemblage suivante.
  • « Fin / Couper le fil » indique que le fil doit être coupé. Cette fonction peut être utilisée pour terminer une étape d'une broderie et/ou à la fin du fichier. Il est recommandé de toujours terminer un fichier avec cette commande. Elle permet une coupe nette à la fin de la broderie et évite ainsi les fils qui dépassent.
    • Représentation en octets - (128,128)* *doit être suivi d'une commande (0,0).

Reportez-vous au tableau des commandes de point pour une explication plus visuelle de ces commandes.

Explication du processus d'écriture

330px-Exp_write_example.png
Exemple du processus d'écriture de points de suture dans un fichier .exp

Le fichier .exp commence toujours au centre de coordonnées (0,0) et liste ensuite les commandes permettant de tracer le motif de point. Sauf indication contraire, la machine suivra les instructions de déplacement (x,y) et réalisera un point normal. Lorsqu'une commande d'opération spéciale est rencontrée, la machine exécutera la commande de déplacement suivante après la configuration de l'octet correspondant, puis appliquera l'opération spéciale.

L'image ci-dessus donne un exemple visuel permettant de relier les commandes physiques à leur représentation en octets.

Convertie en binaire, cette série de points de suture s'écrirait sous forme de chaîne continue comme suit :

Pour rappel, la commande « chr(0),chr(0) » est placée après la commande « cut/end » car cette commande spéciale doit être suivie d'un double zéro.

Codage

Il est important de noter que l'encodage utilisé pour écrire les données dans les fichiers .exp peut engendrer de nombreux problèmes. Si les encodages « ASCII » ou « UTF-8 » sont utilisés, le fichier sera complètement corrompu. Avec Python 3.8, les meilleurs résultats ont été obtenus avec l'encodage « latin-1 ». Même avec cet encodage, des problèmes subsistent, notamment avec le nombre 10. Si la commande 10 est utilisée à la place de x, elle provoque un déplacement et une reliure de (+1,3 ; +1,0) mm pour (x, y) dans une seule commande octet. Le système réinitialise ensuite la lecture des octets par paires. Ainsi, la commande y suivante est lue comme une commande x, et ce biais se poursuit pour le reste du fichier. Si 10 est reçu comme commande ay, deux reliures sont créées : la première correspond à un déplacement et une reliure de (0 ; +1,3) mm, la seconde à un déplacement et une reliure de (+1,0 ; 0) mm. Les points de suture qui suivent ces points seront également complètement différents des commandes données, même si ces dernières fonctionnent normalement sans problème. Généralement, il y aura un saut important dans une direction indésirable. En conclusion, utilisez toujours l'encodage « latin-1 » lors de l'écriture de fichiers avec Python et n'utilisez pas la commande 10.

Écriture de fichiers EXP pour la fabrication de résistances électriques sur tissu

Voici une application d'écriture de fichiers EXP. Utilisez-la comme exemple si vous souhaitez apprendre à écrire des fichiers EXP en Python. Il s'agit du projet sur lequel je travaillais et qui m'a obligé à apprendre à créer des fichiers EXP. Consultez la page pour plus d'informations.

Ressources

J'ai utilisé la page wiki edutech sur le format de broderie EXP pour me familiariser avec ce format. À l'heure où j'écris ces lignes, cette page est encore assez incomplète, mais elle m'a permis de bien démarrer la création d'une documentation plus complète. Un grand merci à son auteur !

Données de la page
Mots clésbroderie , électronique , code binaire
ODD
AuteursSomerset Schrock
LicenceCC-BY-SA-4.0
OrganisationsLA PLUPART
LangueAnglais (en)
TraductionsNéerlandais , français , russe , espagnol
En rapport4 sous-pages , 7 pages : lien ici
Vues849 pages vues ( analyse )
Créé1er juillet 2021 par Somerset Schrock
Dernière modification13 octobre 2025 par Felipe Schenone
Cookies help us deliver our services. By using our services, you agree to our use of cookies.