Aperçu

J'ai créé cette page pour documenter le format de fichier .exp. Avec cela, j'espère qu'il sera plus facile pour d'autres de travailler avec des fichiers .exp et d'écrire les leurs si nécessaire.

Informations de base/framework pour .exp

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 écrit par jeux de 8 bits. Un bit est le nombre binaire 0 ou 1. Ces ensembles de 8 bits sont appelés octets. Ces octets contiennent les informations pour chaque opération de point. Il existe 256 combinaisons possibles de bits pour constituer un octet. Ces octets représentent des nombres allant de 0 à 255. Chacun de ces nombres signifie une commande adressée à la machine à broder.

Les octets sont écrits dans le fichier par paires de 2. Ces paires sont généralement les commandes pour un mouvement dans les directions x (gauche/droite) et y (haut/bas). Le premier octet est la commande de mouvement pour x et le deuxième octet est pour y.

La résolution minimale d'un mouvement de point au format de fichier .exp est de 0,1 mm. Comme les mouvements sont tous basés sur cette résolution, il est plus pratique de considérer 0,1 mm comme unité de mesure de base lorsque vous travaillez avec des données à écrire sur la broderie.

Le mouvement maximum dans une commande de point est de 12,7 mm. Tout mouvement souhaité plus grand que cette longueur entre les points doit être créé avec un ou plusieurs mouvements de « saut », expliqués ci-dessous.

Commandes de mouvement/point

Tableau de commandes de points pour un accès rapide

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

Un mouvement positif en x ou y en mm*10^-1 est représenté par la même valeur d'octet. Par exemple, un mouvement de +0,3 mm est représenté par la valeur d'octet 3, un mouvement de +7,1 mm est représenté 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 de 185, etc.

Les opérations spéciales sont également données sous forme d’ensemble de 2 octets. Ces opérations spéciales incluent « changer de couleur/arrêter », « sauter » et « terminer/couper le fil ». Ces opérations spéciales commencent toujours par 128 comme premier octet, et le deuxième octet indique laquelle des opérations spéciales effectuer.

  • « Changer de couleur/arrêter » indique à la machine de faire une pause afin que l'opérateur puisse changer les couleurs du fil à broder ou ajuster les paramètres de la machine comme il le souhaite au milieu d'une impression.
    • Représentation en octets - (128,1)* *suivi d'une commande de mouvement (0,0) si aucun saut n'est souhaité avec la commande. Suivi d'une autre commande de (0,0) pour signifier qu'il faut créer un point à ce stade à partir duquel démarrer les commandes suivantes.
  • "Sauter" signifie que l'ensemble suivant de commandes de mouvement x et y ne doit pas recevoir de point. Cela permet à la machine de mettre un plus grand espacement entre les points ou de fabriquer des objets séparés sans coudre le tissu entre eux.
    • Représentation en octets - (128,4)* *suivi de la commande de coordonnées (x,y) pour le saut prévu. Enchaînez successivement 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é, utilisez la commande de point de coordonnées (0,0) pour créer l'origine de l'opération de point suivante.
  • « Fin/couper le fil » signifie que le fil doit être coupé. Il peut être utilisé lors de la finition d’une partie d’un processus de broderie et/ou à la fin du fichier. used Il est recommandé de toujours terminer un fichier avec cette commande. Il donne une coupe nette à la fin du processus de broderie pour éviter d'avoir des fils lâches.
    • 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 des commandes de point.

Explication du processus d'écriture

Exemple du processus d'écriture de points dans un fichier .exp

Le fichier .exp commence toujours au centre de coordonnées (0,0) puis répertorie la série de commandes pour tracer le motif de point. À moins qu'une opération spéciale ne soit lue, la machine suivra les instructions pour le mouvement (x, y) et créera un point normal. Lorsque la machine arrive à une commande d'opération spéciale, elle exécute la commande de mouvement suivante après l'ensemble d'octets d'opération spéciale, puis se conforme à l'opération spéciale.

Un exemple visuel permettant de relier les commandes physiques à la représentation en octets est donné dans l'image ci-dessus.

Convertie en binaire, cette série de points serait écrite sous forme de chaîne continue comme : chr(7),chr(0),chr(0),chr(244),chr(253),chr(0),chr(0) ,chr(251),chr(128),chr(128),chr(0),chr(0)

^pour rappel, le "chr(0),chr(0)" est listé après la commande "cut/end", car la commande spéciale doit être suivie d'un double zéro

Codage

Une remarque importante concernant l'écriture de fichiers .exp est que le langage de codage utilisé pour écrire les données dans le fichier peut provoquer de nombreux problèmes. Si les langages "ASCII" ou "UTF-8" sont utilisés, le fichier sera complètement bâclé. En utilisant Python 3.8 pour écrire des fichiers .exp, les meilleurs résultats sont venus du langage de codage « latin-1 ». Même avec ce langage, il y a quelques problèmes, notamment avec le chiffre 10. L'utilisation de la commande 10 provoque un mouvement et un point de (+1,3, +1,0) mm pour (x, y) dans une commande d'un octet si elle est donnée à la place de X. Il réinitialise ensuite sa lecture des octets par paires de deux. Ainsi, la commande y suivante est ensuite lue comme un x et ce biais continue pour le reste du fichier. Si 10 est reçu comme commande ay, deux points sont créés à partir de la commande. Le premier est un mouvement et un point de (0,+1,3) mm, le second est un mouvement et un point de (+1,0,0) mm. Les points qui suivent ces points seront également complètement différents des commandes données, même si les commandes fonctionnent normalement parfaitement. Généralement avec un grand saut dans une direction indésirable. Donc en conclusion, utilisez toujours le langage d'encodage "latin-1" lors de l'écriture de fichiers avec Python et n'écrivez pas la commande 10.

Écriture de fichiers EXP pour fabriquer des résistances électriques sur du tissu

Génération de résistances électriques brodées

^Voici une application de l'écriture EXP. Utilisez-le comme exemple si vous voulez voir comment écrire des fichiers EXP en Python. C'est le projet sur lequel je travaillais et qui nécessitait que j'apprenne à créer des fichiers EXP. Voir la page pour plus d'informations.

Ressources

J'ai utilisé la page edutech wiki Embroidery Format EXP pour avoir une première compréhension du format de fichier EXP. Au moins au moment de la publication de cet article, cette page est assez incomplète, mais elle m'a donné un début utile dans la création d'un ensemble de documentation plus complet. Merci donc à l'auteur original.

Icône d'information FA.svgIcône d'angle vers le bas.svgDonnées de page
Mots clésbroderie , électronique , code binaire
AuteursSomerset R. Schrock
LicenceCC-BY-SA-4.0
OrganisationsLA PLUPART
Langueanglais (fr)
TraductionsEspagnol
En rapport1 sous-pages , 4 pages lien ici
Impact508 pages vues
Créé1 juillet 2021 par Somerset R. Schrock
Modifié29 janvier 2024 par le bot StandardWikitext
Cookies help us deliver our services. By using our services, you agree to our use of cookies.