Table des matières

Cristallographie par Rhombo Eric

La cristallographie est la science qui s'attache à l'étude des cristaux. C'est la réalisation de matériel dédié à cette discipline qui est le coeur du projet Cristallographie.

Le projet a nucléé autour d'un premier voeux de fabriquer du matériel pédagogique trimensionnel : des modèles de cristallographie géométrique. Il s'est poursuivi par la réalisation de dessins brodés de cristaux.

 Logo cristallographie

Avant le passage en logiciel libre

Pour se faire, je comptais utiliser ma fraiseuse CNC personnelle: une Heiz-Z 400-S. J'ai acquis cette machine il y a plusieurs années dans le but unique de fabriquer des modèles de cristaux. Elle m'a été livrée avec un logiciel commercial de pilote et de calcul de parcours défectueux et inadapté à mon projet.

Depuis

J'ai jeté l'ensemble des logiciels et le sytème compliqué de commande de ma machine. J'utilise exclusivement Linux CNC et mes routines écrites en Python 3 pour concevoir mes objets, générer le G-code et l'exécuter. Maintenant quand la fraise n'a pas le comportement escompté, c'est simple : c'est mon G-code qui est à revoir. Plus de prise de tête à mettre des rustines sur des logiciels commerciaux bugués, bridés et surtout obsédés par leur licence et la vente de modules complémentaires miracle. Enfin je vois mes objets fabriqués comme je le veux. Et j'en suis fort satisfait.

Broderie

J'ai procédé de la même manière qu'avec la fraiseuse en écrivant des routines en Python 3 générant des fichiers de broderie. Ma brodeuse à commande numérique est une Janome Memory Craft 300E. Construire des fichiers compatibles avec ma brodeuse est aisé, le fabricant n'ayant pas cherché à nuire à ses clients en rendant la création de fichiers difficile. Nul procédé de cryptage, nul protocle torteux n'est employé. La philosophie choisie par le constructeur priviligie la machine, c'est tout. Elle s'éloigne de celle du G-code où un compromis homme-machine a été retenu. Dans cet esprit, le .jef use de fichiers binaires, facilement intelligible pour la machine.

Je la commande à l'aide de fichiers .jef construits de la façon suivante :

  1. Le préambule est formé d'unités de deux mots succesifs, c'est-à-dire 4 octects, 32 bits.
  2. La première unité est constituée d'un premier mot, le nombre d'octets constituant le préambule, suivi d'un mot nul. Le nombre d'octects du préambule est dans mes fichiers 116+8*nombre de changements de couleurs où la couleur initiale est comptée comme un changement de couleur. Le préambule d'un fichier monochrome comporte ainsi 124 octects.
  3. Je mets deux mots nuls dans la deuxième unité.
  4. Les 7 mots suivants comportent usuellement dans les fichiers .jef des indications de type date et heure codés en ASCII. Je fais de même. J'ajoute après ces 7 mots un mot nul.
  5. Le mot suivant est le nombre de changements de couleurs (la couleur initiale est comptée comme un changement de couleur). Il est suivi d'un mot nul qui permet de passer à l'unité suivante.
  6. Viens ensuite, codé sur un mot, le nombre de mots du corps du fichier .jef, c'est-à-dire aux mots d'instructions près, le nombre de points à broder. Un mot nul complète cette unité.
  7. Les 21 unités suivantes de 2 mots, soit 84 octets sont remplis par des octets nuls dans mes fichiers par flemme. Les informations usuellement présentes dans les fichiers .jef à ces emplacements, telles que longueur et hauteur en mm d'un rectangle contenant le motif à broder, ne sont pas nécessaires à la réalisation de la broderie. Ces valeurs sont codées sur les premiers mots des unités, le second étant nul. A l'instar de ce qui est fait pour les points, le codage d'information spatiales commence par un octet x (abscisse) suivi d'un octet y (ordonnée). Comme les valeurs totales peuvent excéder la capacité d'un octect, il arrive que l'unité suivante soit sollicitée pour compléter les valeurs tronquées.
  8. Enfin vient la dernière partie du préambule, celle consacrée aux couleurs. Elles sont indiquées dans l'ordre où elles doivent être brodées, chacune occupant 4 mots, c'est-à-dire, 2 unités. Le premier mot est le code de l'une des 78 couleurs Janome : 1 pour “Noir 002”, 2 pour “Blanc 001”, 3 pour “Jaune 204”, 4 pour “Orange 203”… Comme pour les unités précédentes, un mot nul clôt l'unité. La seconde et dernière unité d'une couleur dans mes fichiers comporte h0D=13=ASCII“fin de ligne” codé sur le premier mot suivi d'un mot nul.

Ouf le préambule est terminé. Un exemple est donné ci-dessous en hexadécimal, il correspond à une broderie monochrome.

  1. En orange : h7C00 = 124. Le préambule comporte 124 octets. 124=116+8*1. La broderie est donc monochrome.
  2. En bleu : du blabla en ASCII “20150903broder” pour “3 septembre 2015” et “broder”. Le contenu de cette zone n'influe pas le processus de broderie proprement dit. J'y mets librement ce que j'ai envie.
  3. En jaune : h0100 = 1. La broderie comporte une seule couleur.
  4. En vert : h5515 = 5461. La broderie comporte 5461 points ou instructions.
  5. En rose : h2600 0D00. h2600=38. La seule couleur a pour n° Janome le 38. C'est donc “Rose Orchidee 240”.

Je n'en utilise pas plus pour broder sur ma machine.