Outils pour utilisateurs

Outils du site


projets:cristallographie:accueil

Ceci est une ancienne révision du document !


Cristallographie par Rhombo Eric

 Logo cristallographie

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.

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. Je la commande à l'aide de fichiers .jef construits de la façon suivante :

  • Mes fichiers comportent successivement 3 parties :
    1. Un préambule de présentation où des paramètres globaux sont indiqués : nombre de changements de couleurs, nombre de points …
    2. Un corps où sont décrits les points à broder.
    3. Une conclusion qui est libre et n'est pas prise en compte lors de la broderie. Elle permet d'adjoindre des commentaires au fichier de broderie ou toute autre information. Aucun format ne la contraint.
  • Mes fichiers sont des fichiers binaires dont l'unité de base est le mot de 16 bits subdivisé en deux octects significatifs. La dernière partie, la conclusion, peut comporter un nombre impair d'octects et donc ne pas se subdiviser en mots. Les deux premières parties comportent toujours un nombre pair d'octets, c'est-à-dire un nombre entier de mots.
  • Un changement de couleur consomme 4 mots, un point 1 mot.
  • La première partie, le préambule, est, dans mes fichiers, structurée 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 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 unité comporte 13 codé sur le premier mot (hexadécimal 0D00) suivi d'un mot nul.
  9. 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 poursuivrai la présentation de mes fichiers .jef un peu plus tard.

projets/cristallographie/accueil.1441875905.txt.gz · Dernière modification: 2017/03/19 14:56 (modification externe)