LDInspector

Mise à jour de la page : 27 mars 2022.
    
J.C. Tchang
Original Version :
On Stefan Frenz Site
On LDraw.org Wiki Site

LDInspector est un est un programme écrit en Java par Stefan Frenz pour récupérer des informations en interactif sur des pièces et modèles LDraw, principalement ceux disponibles dans la bibliothèque OMR : Official Model Repository (référentiel officiel des modèles LDraw) ou avant d'y soumettre votre modèle.

Ce manuel est basé sur la version 2022-03-18_11-13 avec Java et JavaFX 13.02 Java et JavaFX 17.0.2 sous Windows 10.

 

Navigation rapide

 

Téléchargement

Il n'y a pas de version officielle jusqu'à présent, mais vous pouvez essayer la dernière mouture de la version beta.
La version officielle :

 

Historique

 

Installation

Vous aurez besoin de Java (version >= 11) et JavaFX (version >= 11) pour fonctionner. Il est indiqué qu'il démarre avec succès sous Linux, Windows et MacOS.

Si vous n'aimez pas vous battre contre le système de modules Java inventé dans la version 9, vous pouvez également essayer l'installateur Java (pour le moment, Linux et Windows sont pris en charge). Cela téléchargera Java et JavaFX dans le dossier où le programme d'installation est démarré, et cela créera également un script de démarrage en prenant soin des chemins, des modules, etc...

Le programme a été testé par l'auteur sous Linux (XUbuntu et Mint) et Windows (8.1 et 10).

Prérequis

Pour utiliser le programme de façon efficace les bibliothèques de pièces LDraw officielle et non officielle doivent être installées.

Voir : Pièces disponibles sur LDraw.org.

Préparation

Premier lancement

Lancer le programme avec run.bat.

Un message s'affiche :

Cliquer sur "Yes" pour configurer l'espace de travail (voir chapitre : Configuration), puis en faire la sauvegarde pour ne plus avoir le message au démarrage du programme.

Mise à jour

Remplacer dans le dossier d'installation du programme les fichiers ldinsp.jar et ldiver.txt par les nouveaux.

Eventuellement, supprimer le fichier LDInspector.ldi pour réinitialiser la configuration.

Depuis la version v0.2, cliquer sur le bouton "Check" de la barre d'outils pour savoir si une mise à jour du programme a été publiée.

Un message s'affiche si vous utilisez la dernière version :

Nota : Si le lancement du programme ne fonctionne pas correctement après une mise à jour, c'est sans doute que la version de java a changé ou que l'adresse de lancement dans run.bat n'est plus le même. Dans ce cas refaire une installation complète.

 

Fonctionnalités

Gestion de pièce unitaire

Information de pièce officielle

Prix de pièce

Nota : Cette fonctionnalité n'existe plus. Elle ne donnait pas de résultats probants.

Gestion de liste de pièces ou inventaire

Le but de cette fonctionnalité est de gérer des inventaires de pièces. Ces inventaires peuvent être récupérés sur BrickLink ou créées de toutes pièces puis modifiés en fonction du besoin final, en particulier pour des différences de numérotation des pièces en fonction des sources. En final ces listes peuvent être exportées vers LDCad pour servir à créer un modèle virtuel ou vers BrickLink pour commander des pièces.

Création de liste de pièces

Visualisation de liste de pièces

Comparaison de listes de pièces

Inventaire de modèle officiel

Prix de liste de pièces

Nota : Cette fonctionnalité n'existe plus. Elle ne donnait pas de résultats probants.

Modification de liste de pièces

Exportation de liste de pièces

Gestion de modèle

Modification de fichier

Mise à jour des pièces renommées

Incorporation des pièces dans le modèle

Exportation au format OBJ

Vérification des collisions

Validation du modèle au format OMR

Visualisation du modèle

Liste des fichiers

Code source du fichier

Information de modèle officiel

Gestion de bibliothèque

 

Barres d'outils

Entités traitées (Items)

Pour effacer ou ajouter un nouvel élément à la liste des éléments de l'espace de travail.

Manipuler une liste de modèles :
A votre liste d'éléments, ajouter un élément dossier pointant vers le dossier ou sous-dossier contenant les modèles. Enregistrer la configuration de votre espace de travail si ce dossier est utilisé le plus souvent. En cliquant sur le triangle devant le nom de l'élément dossier, les sous-éléments peuvent être utilisés directement pour tous les autres cas d'utilisation.

Configuration du programme (Workspace)

Actions du programme (LDI)

Pour amener LDInspector à faire quelque chose.

Cache

Le cache est un dossier qui contient de nombreuses données (images, ...) téléchargées sur Internet et utilisées dans les affichages.

Pendant le téléchargement le nombre restant s'affiche dans la barre d'outils :

Pour fonctionner ce dossier doit être déclaré dans la configuration dans le champ "Use cache for web resources".

 

Espace de travail (Workspace)

Sur la gauche, il y a un panneau contenant une liste d'entités à traiter.

Panneau Espace de travail

Cliquer sur un entête de colonne pour classer suivant (avant/arrière) cette colonne.

Ce panneau contient la liste des éléments. Vous pouvez toujours sélectionner exactement un élément, certains d'entre eux comme les éléments dossier peuvent avoir des sous-éléments.

A l'heure actuelle, il existe quatre types d'éléments :

Configuration

Cliquer sur le bouton "Config." pour ouvrir ce panneau.

Permet de configurer les bibliothèques de pièces LDraw (Officielle et Non officielle), le cache, l'auteur par défaut et la liste des couleurs.

Ne pas oublier de sauvegarder la config en cliquant sur le bouton "Save".

Si le fichier est nommé LDInspector.ldi cette configuration sera utilisée à chaque nouveau lancement du programme.

Le fichier LDInspector.ldi contient la configuration de base ainsi que la liste actuelle des éléments dans l'espace de travail. Vous pouvez donc ajouter certains éléments et enregistrer à nouveau la configuration.

 

Onglets

Sur la droite, il y a un panneau à onglets. Sélectionner un onglet en fonction de ce que vous souhaitez faire.

Entité (Item)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "Item".

Nota : Les boutons peuvent varier en fonction du type d'entité sélectionné. Ici pour un fichier modèle multiple.

Pour obtenir des informations de base sur l'élément sélectionné. Ici, vous pouvez supprimer cet élément unique de votre liste d'éléments ("Remove item"), actualiser son contenu ("Refresh item", par exemple après avoir modifié un fichier dans un autre programme), changer son nom et, en fonction du type d'élément, il existe d'autres actions disponibles :

Sélectionner une liste de pièces dans la liste puis cliquer sur l'onglet "Item".

Edition (Edit)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "Edit".

Attention! En cliquant sur un des boutons rouges cela modifie votre fichier d'origine sans autre confirmation.

Conseil J.C. Tchang : Toujours travailler sur une copie du fichier mis dans un dossier particulier : C:/LEGO/LDInspector/perso par exemple.

Validation OMR (OMR-Check)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "OMR-Check".

Si vous avez sélectionné un modèle, LDInspector effectue quelques vérifications et rapporte leurs résultats dans la zone de texte. Pour le moment, il n'y a pas de fonction "quick-fix" disponible (prévue dans une future version).

Vérifier la conformité OMR :

  1. Assurez-vous que vos chemins LDraw sont correctement configurés (voir «Configuration de base» ci-dessus).
  2. Ajoutez une référence de fichier ou une référence de répertoire à votre espace de travail.
  3. Sélectionnez l'onglet OMR-Check.
  4. Vous obtiendrez un bref aperçu de tous les contrôles effectués, chacun ayant l'un des états suivants:
    1. ign : Le contrôle est démarré mais n'a rien fait, peut-être parce que ce contrôle n'est pas disponible pour l'élément sélectionné.
    2. ok : La vérification n'a rien trouvé à redire.
    3. hint : Indice de problème. Il y a quelque chose qui pourrait être optimisé, mais selon la définition, c'est bon. Peut-être que l'indice doit être ignoré avec raison, comme avoir une pièce dans une couleur spécifique même si le nom de la pièce contient "tyre" (pneu).
    4. warn : Attention. Il y a quelque chose qui devrait être optimisé, par exemple le modèle contient un sous-fichier qui n'est jamais utilisé.
    5. error : Erreur. Il y a quelque chose qui doit être corrigé car il viole les règles OMR, par exemple si une pièce référencée n'est pas trouvée.
  5. Pour le moment, vous devrez modifier votre fichier avec un autre outil. Il existe des plans permettant à LDInspector d'offrir des options de correction rapide pour les problèmes qui peuvent être résolus automatiquement comme les lignes de licence manquantes.
    Certaines erreurs peuvent être corrigées avec les boutons sous "Quick-Fix" et d'autres avec un éditeur externe.

Rendu (Render)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "Render".

Obtenir un aperçu du modèle que vous avez sélectionné. Noter qu'il existe plusieurs options non explicites :

Liste des pièces (PartList)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "PartList".

Permet d'obtenir une liste de toutes les pièces de l'élément sélectionné : Soit une liste de pièces, soit un modèle LDraw. Il existe de nombreux cas d'utilisation, entre autres pour obtenir le prix des pièces (disparu sur la version actuelle).

Menu contextuel de l'entête de colonne CS

Ce menu est accessible en cliquant avec le bouton droit de la souris sur l'entête de colonne "CS" de l'onglet "PartList".

Menu contextuel de l'entête de colonne C1...

Ce menu est accessible en cliquant avec le bouton droit de la souris sur l'entête de colonne supplémentaire "C1, C2, ..." de l'onglet "PartList".

Liste courte des pièces (PartGrid)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "PartGrid".

Permet d'obtenir un aperçu très court et en lecture seule de toutes les pièces de l'élément sélectionné : Soit une liste de pièces soit un modèle LDraw.

Liste des fichiers (UsedFiles)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "UsedFiles".

Affiche la liste de tous les fichiers utilisés : Modèle, sous-modèle, pièce, partie de pièce, primitive.

Sinon une sélection dans la liste, puis "Copier" avec bouton droit de la souris, permet de mettre cette sélection dans le presse-papier.

Toutes les pièces utilisées de manière transitoire sont affichées dans la zone de texte, par exemple si vous voulez vérifier s'il y a des pièces "indésirables" ou si vous souhaitez les traiter avec un autre outil.

Source des fichiers (Source)

Sélectionner une entité dans la liste puis cliquer sur l'onglet "Source".

Affiche le contenu du fichier sélectionné.

Sinon une sélection dans la liste, puis "Copier" avec bouton droit de la souris, permet de mettre cette sélection dans le presse-papier.

Il suffit d'imprimer le code source de l'élément sélectionné.

Recherche dans les fichiers des bibliothèques (Search)

Cliquer sur l'onglet "Search".

Recherche multicritères dans les fichiers des bibliothèques.

Rechercher une pièce par nom de fichier, description, auteur ou origine. Si vous avez sélectionné une liste de pièces modifiable dans l'espace de travail et que vous avez trouvé la pièce que vous cherchiez, vous pouvez l'ajouter directement à votre liste de pièces.

Recherche de ressources sur Internet (Web)

Cliquer sur l'onglet "Web".

Permet d'obtenir des informations, comme une image, une description, une liste de pièces, un modèle LDraw sur les sites Internet BL (BrickLink), RB (Rebrickable) ou LDraw.org.

Obtenir des inventaires de sources externes

  1. S'assurer que les chemins des bibliothèques LDraw sont correctement configurées (voir le chapitre : Configuration).
  2. Il est probablement souhaitable que le chemin du cache Web soit configuré (voir le chapitre : Configuration).
  3. Sélectionner l'onglet "Web".
  4. Entrer votre numéro d'ensemble dans le champ "Key".
  5. Rechercher sur BrickLink et/ou Rebrickable avec l'un des boutons suivants (ou faites-les tous en cliquant sur "All") :
    1. Ass. BL seach : Rechercher sur BrickLink, comme si vous l'aviez saisi dans la recherche BrickLink sur sa page principale.
    2. Full BL product search : Rechercher dans BrickLink tous les produits répertoriés avec la clé donnée.
    3. Ass. RB search : Rechercher sur Rebrickable, comme si vous l'aviez saisi dans la recherche Rebrickable sur sa page principale.
    4. RB set search : Rechercher directement sur Rebrickable un ensemble avec la clé donnée.
  6. Plonger récursivement dans les résultats. Si vous avez terminé, vous pouvez ajouter des pièces uniques à une liste de pièces modifiable ou créer une nouvelle liste de pièces complète.

Boutons dans les résultats

La manipulation et la plongée dans les résultats peuvent être effectuées avec les actions suivantes:

Si vous souhaitez avoir toutes les images le plus tôt possible et toutes à côté d'une description, sélectionnez "Img.: integrated" et appuyez sur "Load all images" s'il y a de nouveaux éléments sans image.

Pièce de rechange

Avec le bouton S une recherche est faite dans les bibliothèques de pièce de rechange. Un panneau similaire au panneau de l'onglet "Search" s'affiche :

Une sélection puis validation sur "OK" valide la substitution de pièce.

Infos sur le fonctionnement du programme (Log)

Cliquer sur l'onglet "Log".

Journal : Si quelque chose s'est mal passé ou si vous êtes intéressé par les statistiques, jeter un coup d'œil dans cet onglet.

Sinon une sélection dans la liste, puis "Copier" avec bouton droit de la souris, permet de mettre cette sélection dans le presse-papier.

 

Sortie du programme

Cliquer sur le bouton "Exit".

Nota : Avant de sortir, en cas de modification de la configuration, la sauvegarder avec le bouton "Save".

 

Tutoriels

 

Obtenir une liste de pièces de BrickLink et la traiter

Au préalable, cliquer sur le bouton "Config." ...
..., puis, s'assurer que le cache est coché avec un préfix ou un dossier de réception valide (voir le chapitre configuration pour plus d'informations).
Sélectionner l'onglet "Web".
Taper dans le champ "Key" le numéro d'un ensemble valide, ici 603 pour exemple, ...
..., puis cliquer sur "Ass. BL search" (Recherche d'ensemble sur BrickLink).
Une liste de résultats s'affiche en dessous.
Rechercher une ligne contenant le bouton "Product" correspondant à l'ensemble recherché.
et supprimer les autres avec leur bouton "X".
puis cliquer sur le "Product" restant. Ne fonctionne pas sur l'ensemble pris en exemple.
Puis, télécharger l'inventaire de l'ensemble en cliquant sur "Inv.Reg". Nota : Pour plus de détails sur la différence entre "Inv.Reg." et "Inv.All." voir la description de texte de LDInspector.
Nous obtenons une liste de pièces. La plupart d'entre-elles sont marquées d'un disque vert indiquant qu’ils sont des pièces officielles. Pour les pièces non officielles (orange) et manquantes (rouges) qui ont des sous-inventaires, cliquer à nouveau sur "Inv.Reg.".
A la fin, nous obtenons une liste structurée ayant des indicateurs verts aux éléments, sauf pour les feuilles 8c02 et la pièce manquante pln025 à la fin de la liste.
Dans l’inventaire pln025 il n’y a pas de sous-inventaire pour la pièce manquante 193au, nous devons donc rechercher un remplacement, donc cliquez sur "S" pour le casque headgear 193au.
Dans la fenêtre de recherche, le premier résultat est exactement ce que nous recherchions, alors nous le sélectionnons et appuyons sur le bouton "OK".
La pièce de remplacement est ajoutée en dessous de 193au, la 973c02 a un inventaire - prendre soin de la 981982 avec disque rouge pour indicateur "manquant". Pour cet exemple, nous "oublions" de résoudre ce problème et de considérer la recherche effectuée.
En haut de la liste, le bouton "C.List" créera un nouvel élément de liste de pièce à la liste des éléments de l'espace de travail.
La liste créée est élargie ici, et pour certaines raisons, nous observons maintenant que nous avons oublié de résoudre la pièce 981982 qui n’est pas une pièce LDraw.
Par conséquent, sélectionner la liste et aller au bas du résultat de recherche web et "Inv.Reg." le 981982.
Après avoir sélectionné le numéro de la pièce de 981982, tous les sous-éléments de cet article sont ajoutés à la liste des éléments.
Pour supprimer le mauvais 981982, sélectionnez-le dans la liste des pièces et dans la partie active de l’article, où vous pouvez "Remove item".
En regardant la liste des pièces dans l'onglet "PartList", certaines des pièces sont renommées (~moved). Pour résoudre ce problème, cliquer avec le bouton droit de la souris sur "CS" et sélectionner "Resolve ~moved parts".
Fait : une liste des pièces officielles créées à partir de la base de données BrickLink. Cette liste peut être exportée en cliquant avec le bouton droit de la souris sur "CS" ou sur l'onglet "Item". Ou tout simplement enregistrer l’espace de travail pour avoir cette liste en permanence.

 

Comparer plusieurs listes de pièces et/ou modèles les uns avec les autres

Sélectionner la première liste de pièces et faites un clic droit sur "CS" dans l'en-tête du tableau. Dans le menu contextuel qui apparaît, sélectionner "Copy column" (copie colonne).
Cela se traduira par une copie de CS nommé C1.
Sélectionner la deuxième liste de pièces, cliquer également avec le bouton droit sur "CS" et sélectionner "Copy column".
Enfin, sélectionner la liste de pièces avec laquelle vous souhaitez comparer.
Changer "Show all" en "Show diff" qui n'affichera que les éléments qui diffèrent - ici le PBG Rebrickable en C1 a plusieurs différences avec BrickLink en C2, qui est presque le même que le modèle sélectionné dans CS sauf pour la couleur de "Tyre 6/50".
Sauter la liste Rebrickable et comparer ainsi le modèle avec la liste BrickLink, seul le "Tyre 6/50" reste comme différence.

 

Vérifier la conformité OMR d'un modèle

Ajouter une référence au fichier à tester en cliquant sur "File" dans la section "Items".
Après avoir ajouté la référence du fichier, l'onglet "Item" affiche des informations de base sur le fichier.
L'onglet "OMR-Check" affiche les résultats des tests mis en œuvre. Dans ce cas, tout va bien.
Dans ce cas, une pièce nommée "3004asdfghjk" est référencée. Il s'agit d'une "hard error" ("erreur matérielle"), le fichier n'est pas compatible OMR.

 

Résoudre automatiquement les problèmes de conformité OMR

Après la configuration de l'espace de travail, ajouter le fichier à vérifier.
Les informations de base se trouvent dans l'onglet "Item".
Tous les contrôles OMR indiquent "ok".
L'onglet "Render" affiche un aperçu - faites attention à la zone de liste déroulante Couleur: "Original" utilisera les couleurs données dans le fichier.
En changeant la couleur en "OMR-Checks", vous verrez des pièces qui ne sont pas compatibles OMR en magenta (ici: aucune).
Si vous changez la couleur en "Collision", les parties qui entrent en collision (!) Par exemple, dans ce cas, toutes les roues ont une jante et un pneu en contact. Les marquer comme entrant en collision est trop sensible dans ce cas (faux positif).
Cet exemple préparé contient une pièce en miroir, qui n'est pas autorisée pour les modèles OMR et signalée par la vérification de la pièce en miroir ("erreur"). Vous pouvez obtenir de l'aide, mais il n'y a pas de solution automatique.
L'aperçu semble bien, mais ...
... changer la couleur en "OMR-Checks" met en évidence la pièce en miroir.
Il n'y a pas de collisions, et cette fois l'algorithme ne produit pas de faux positif.
Un échec multiple préparé pourrait ressembler à ceci : des pièces non officielles sont utilisées mais pas incorporées "Warn" (avertir), les attributs d'auteur et de licence sont manquants "Errors" (erreurs). Sur la droite, il y a des boutons rouges pour résoudre les problèmes étape par étape.
Après avoir ajouté des attributs d'auteur et de licence et ajouté des parties non officielles, il reste des parties non officielles: les parties intégrées font référence à d'autres parties qui doivent être intégrées et renommées pour se conformer aux règles OMR.
Quelques clics plus tard, les erreurs diminuent.
Après avoir tout fait, la vérification OMR indique "ok".
A partir de la version 0.2, il existe un bouton "Repeated-All" (Répétition-Tout) pour effectuer toutes les corrections de façon répétée tant qu'il y a quelque chose à corriger.
Ainsi, en un clic, toutes les corrections distinctes de l'exemple précédent sont effectuées en même temps et le fichier devient compatible OMR (dans la mesure du possible).

 

Comparer deux listes de pièces

Voir origine du message de Stefan Frenz sur LDraw.org : RE: Compare 2 files for BOM.

Méthode avec l'interface graphique

  • 1. Ajouter des fichiers ou dossiers.
  • 2. Sélectionner le premier fichier à comparer.
  • 3. Choisir l'onglet PartList.
  • 4. Clic droit sur l'entête de colonne "CS" vers "Copy column" ==> votre premier fichier est maintenant en CS et C1.
  • 5. Sélectionner le fichier suivant.
  • 6. Comparer :
    • 6.1. Manière manuelle : Comparer "CS" et "C1" directement.
    • 6.2. Manière automatique : Clic droit sur l'entête de colonne "C1" pour "Subtract CS amounts to this column" ==> la différence se trouve en "C1".
  • 7. Répéter les étapes 4 à 6 pour plus de fichiers si nécessaire.

Méthode avec ligne de commande

Méthode utilisant la ligne de commande (nécessite Java>=8) :

  1. utiliser la ligne de commande "java -cp ldinstr.jar ldinsp.tools.LDITBillOfMaterial ICI_VOTRE_FICHIER" par fichier.
  2. Comparer la sortie texte : Chaque étape de chaque modèle contenu est imprimée séparément et résumée dans la section "all" (tout).

###---###---### /home/smf/omr/603-1 - Sidecar.mpd
###---### Step 1
0;3004;1;Black;Brick  1 x  2
0;3022;1;Black;Plate  2 x  2
0;3815c01;1;Black;Minifig Hips and Legs
1;8;3;Blue;Plate  2 x  2 with 2 Wheel Clips Perpendicular
1;3020;2;Blue;Plate  2 x  4
1;3022;1;Blue;Plate  2 x  2
1;3660;1;Blue;Slope Brick 45  2 x  2 Inverted
1;3842a;1;Blue;Minifig Helmet Classic with Thin Chin Guard and Visor Dimples
4;973;1;Red;Minifig Torso
4;3464;3;Red;Wheel Centre with Stub Axles
4;3818;1;Red;Minifig Arm Right
4;3819;1;Red;Minifig Arm Left
7;3024;2;Light Grey;Plate  1 x  1
7;3623;1;Light Grey;Plate  1 x  3
...

 

Droits et Copyright

Le programme LDInspector est la propriété de Stefan Frenz.

Traduction et Adaptation de cette page : J.C. Tchang.