Img4Dat
ex : Img2Dat, Img2LDraw, Img3Dat

Mise à jour de la page : 12 décembre 2019.
    Set 700/1 de 1950
J.C. Tchang
Original Version
On LDraw.org Forum

Img4Dat est un programme de Rolf Osterthun, permettant de générer en semi-automatique les motifs de décoration de pièces Lego pour les insérer dans la bibliothèque des pièces LDraw.

 

Navigation rapide

 

Description d'Img4Dat

Il y a longtemps, j'ai (dixit l'auteur) commencé à implémenter un outil permettant de convertir des images en fichiers .dat compatibles LDraw. Le premier nom a été Img2Dat, mais au cours du temps la "version" s'est étoffée pour devenir Img4Dat.

 

Téléchargement

Vous pouvez télécharger l'outil ici (désolé, mais je dois écrire ceci : l'application peut être téléchargée telle quelle. Je (dixit l'auteur) ne prend pas en charge les erreurs ni aucun type de dommage causé à votre système par ce logiciel.) :
Img4Dat.zip (304 Ko).

C'est une version bêta - il y a des problèmes qui nécessitent une amélioration. Mais je pense que c'est assez stable pour jouer avec. Il est écrit en C# pour .NET Framework 3.5 (donc Windows).

 

Historique

 

Installation

Décompresser le fichier .zip et déplacer le dossier obtenu dans votre dossier contenant vos autres programmes.
Personnellement : C:\LEGO\Img4Dat.

 

Utilisation

Chargement d'une image

Si vous ouvrez l'application, vous pouvez ouvrir une image bitmap (actuellement uniquement .bmp par défaut). Elle sera affichée dans la moitié gauche de l'interface graphique.

Il est possible de charger d'autres types d'images en sélectionnant "Alle(*.*)" dans la fenêtre "Ouvrir". Si le format n'est pas reconnu, le programme se ferme et se relance.
Testé avec succès : .png, .jpg, .gif.
Testé sans succès : .ico.

Cette image peut avoir été traitée au préalable par un programme externe ou aussi sauvegardée en interne (image de droite).

On peut zoomer/dé-zoomer avec les boutons "+" et "-" et avec la molette de la souris. On ne peut descendre en-dessous de l'échelle 1.

Sélection des zones de couleur

Maintenant, vous pouvez choisir les zones de couleurs pour leur quantification en faisant un clic droit sur chaque couleur différente de l'image source (image de gauche).

Le résultat s'affiche au fur et à mesure dans la moitié droite de l'interface graphique, ainsi que dans la liste des couleurs sélectionnées.

C'est la base pour la découverte des chemins (autour des zones de même couleur).

Nota : Chaque couleur est définie par le clic et une fourchette des couleurs approchantes. La valeur de la couleur s'affiche dans la barre de statut : RGB: 0; 103; 193.

Nota : Pour désélectionner une couleur, faire un clic droit sur cette couleur dans l'image de droite ou dans la liste des couleurs.

Si "Fixed", au-dessus de la liste des couleurs sélectionnées, est coché, cette liste devient temporairement non modifiable. Cela évite des modifications non voulues.

Modification des zones de couleur

Après avoir choisi les couleurs, il est possible de nettoyer un peu le résultat, et de supprimer les zones inutiles en arrière-plan.

Nota : L'annulation se fait avec Ctrl-U.

Vous pouvez enregistrer l'image du résultat pour la retravailler dans un autre outil ou tout simplement pour en faire une sauvegarde, avec "File / Save Bitmap".

Couleurs LDraw

Vous pouvez affecter des numéros de couleur LDraw aux couleurs du motif en affectant ce numéro dans chaque champ coloré de la table. Ces numéros seront pris en compte lors de la création des triangles.

Nota : Avant d'entrer un nouveau numéro dans un champ il faut supprimer l'ancien avec la touche de suppression "Sup" ou "Del".

Voir la liste des couleurs : Format des fichiers LDraw : Couleurs.

Recherche des chemins

Vous pouvez rechercher maintenant automatiquement les chemins, en cliquant sur le bouton "FindPaths". Le résultat sera affiché au dessus de l'image d'origine.

Encore une fois, un peu de nettoyage peut être fait. Ici, annuler est possible.

Modification des chemins

Il est possible de modifier les chemins en déplaçant, ajoutant ou supprimant des points de passage.

Sélection de points

Nota : Les points sont par défaut rouges et passent en vert s'ils sont sélectionnés.

Déplacement de points

Former une courbe de Bézier

  
De gauche à droite : Sélection des points sur un chemin.
Ajout automatique de points pour former une courbe de Bézier.

Alignement de points sur une droite


De gauche à droite : Sélection des points dans l'ordre, résultat rectiligne.
Nota : Dans ce cas la suppression de points permettrait de simplifier le maillage.

  
De gauche à droite : Sélection des points sur des chemins différents, résultat rectiligne.
Nota : Dans ce cas il faut espérer que le premier et le dernier point soient alignés en Y.

Alignement de points sur un cercle


De gauche à droite : Sélection des points, avec "PutPointsOnCircle", avec "CreateCircle" pour comparer.

Avec "PutPointsOnCircle", les angles ne changent pas, mais les points ont maintenant tous la même distance par rapport à un point fictif central. Dans ce cas, le premier et le dernier point ne changent pas de position. Exemple de situation favorable à cette utilisation :


De gauche à droite : Sélection des points autour du moyeu, résultat circulaire sans être à angle constant.

Rendre un chemin circulaire


De gauche à droite : Sélection d'un point, avec la valeur -1 dans le champ nombre de points, avec la valeur 16, avec la valeur 6.

Nota : Attention de prendre le point sur une courbe qui ne risque pas de créer des points en dehors de l'image, sinon il y a risque de générer un message d'erreur au moment de la création des triangles.

Nota : Avec la version testée, la création de triangles ne génère pas de primitives "disc", mais seulement des triangles.

Rendre un chemin d'arc circulaire


De gauche à droite : Sélection des points, résultat.

Arrondir un chemin

  
De gauche à droite : Sélection des points sur un chemin, résultat.

Ajouter un point

Fusionner en pointe

Nota : Le point résultant passe en bleu (hors sélection) et ne peut plus être fusionné avec un autre point.

Nota : Le point résultant passe en rouge (hors sélection) et peut être fusionné avec un autre point.

Fusionner à mi-chemin

Nota : Le point résultant passe en rouge (hors sélection) et peut être fusionné avec un autre point.

Supprimer des points

Annuler les modifications

Sauvegarder les chemins

Sauvegarder les chemins avec le menu : "File / Save Paths".

Avec la version testée le fichier porte le nom de l'image avec l'extension "_edges.dat". Attention, chaque sauvegarde écrase la version précédente.

Le fichier contient une succession de lignes LDraw. Pour l'instant son usage reste à trouver :-).

Les chemins sauvegardés peuvent-être rechargés avec le menu : "File / Load Paths".

Ajouter un gabarit

Vous pouvez également ajouter un "gabarit" dont l’image doit en être le motif. Le mettre à l'échelle et l’ajuster.

Aller dans le menu "Template / Load Template" et Sélectionner le gabarit voulu. Attention, avec la version testée on ne peut enlever un gabarit sélectionné, donc en cas de mauvais choix il faut sortir du programme.

Créer un gabarit

Pour créer un gabarit il faut créer un fichier .txt .dat dans le dossier "Templates" du dossier d'installation d'Img4Dat.

Ce fichier contient la définition LDraw des triangles qui composent le gabarit dans le plan X/Y. Les coordonnées en Z sont ignorées. Le sens des triangles doivent suivre le standard BFC CW (sens horaire).

Exemple pour la grande face d'une brique 1x3 (fichier : 3622_Brick__1_x__3.dat) :

0 Brick  1 x  3

3 16 -30 0 0 -30 24 0 30 24 0
3 16 30 24 0 30 0 0 -30 0 0

Nota : Depuis le 27-06-2019, il est possible d'ajouter des bords "durs" dans les gabarits en utilisant des lignes de type 2 dans le fichier gabarit. Ces bords "durs" doivent se trouver sur des arêtes de triangles (non testé).

Création du maillage

Lorsque le résultat est correct, vous pouvez créer les triangles du maillage en cliquant sur le bouton "CreateTriangles". Un fichier .dat portant le nom de l'image source est créé dans le dossier de l'image source. Les couleurs doivent être ajustées aux couleurs LDraw.

Nota : La génération de triangles ne fonctionnera pas correctement lorsque deux lignes se croisent après le nettoyage des chemins ou l'ajout du gabarit.

Exploitation du résultat

Analyse du fichier .ldr :
  • Le programme a généré beaucoup de fichiers .ldr (dans notre cas de Point001.ldr à Point218.ldr).
  • Le dernier est à renommer en .dat (c'est celui qui nous intéresse).
  • Le programme a généré un fichier .dat correspondant au nom de l'image (dans notre cas 973pb3155.dat), dans le dossier contenant l'image chargée.
  • J'ai utilisé MLCad pour générer la suite, mais d'autres programmes sont possibles.
Sélection du bord :
  • Colorer l'extérieur du motif (ici en jaune) pour pouvoir l'éliminer facilement.
Coloration finale :
  • Les couleurs dans le fichier généré ne sont pas les vrais couleurs mais des couleurs définies par leur numéro d'ordre.
  • Changer les couleurs d'origine par leur couleur définitive (dans MLCad, Utiliser "Sélectionner la même couleur", puis affecter une autre couleur dans "Couleur pièce...".
  • Nota : Le bleu et le noir étant ici inversées, passer par une troisième couleur pour assurer l'inversion.
  • Certains triangles n'ont pas la bonne couleur d'origine.
  • Nota : avec la version v1.0.7019, si les couleurs LDraw ont été définies le résultat en tient compte. Voir : Couleurs LDraw.
Intégration sur la pièce :
  • Ajouter les sous-modèles de base (ici 973s01.dat et 973s00.dat).
  • Mettre le fond du motif en couleur 16.
  • Mettre le motif à la bonne taille et à la bonne position.

 

Menu

 

Barre d'outils

 

Améliorations souhaitables

Voici une liste d'améliorations souhaitables ou à envisager qui amélioreraient les possibilités du programme et sa facilité d'utilisation.

 

Copyright

Le programme Img4Dat appartient à Rolf Osterthun.

Traduction et adaptation de ce manuel : J.C. Tchang.