LDInstruction
(interface graphique : InstructionHelper)

Mise à jour de la page : 23 avril 2022.
    Set 700/1 de 1950
J.C. Tchang
Original Version
On Stefan Frenz Site

LDInstruction et son interface graphique InstructionHelper forment un programme écrit en Java par Stefan Frenz pour générer les instructions de montage d'un modèle LDraw. Il est loin d'être complet ou riche en fonctionnalités comme LPub3D, mais pour moi (dixit l'auteur) il convient mieux dans certaines situations. Le fichier généré est une fichier LibreOffice Draw (.odg), donc toute modification ultérieure est très facile et limitée seulement par les fonctionnalités de LibreOffice, y compris la génération d'un fichier portable plus standard (.pdf).

Ce manuel est basé sur la version v0.3 du 05-03-2022 avec Java 13.0.2 sous Windows 10.

 

Navigation rapide

 

Téléchargement

La version officielle :

 

Historique

 

Installation

Il n'y a actuellement (12-2021) pas d'installateur spécifique mais ce programme est du même environnement que le programme du même auteur : LDInspector.

Prérequis

Pour utiliser le programme, la bibliothèque de pièces LDraw officielle doit être installée et éventuellement la NON officielle.

Voir : Pièces disponibles sur LDraw.org.

Pour exploiter complètement le programme, le programme libre LibreOffice Draw qui gère les fichiers ".odg" doit être installé.

Voir : LibreOffice The Document Foundation : Découvrir / Draw.

Personnellement j'utilise une version "portable" fourni par LiberKey.

Installation dans le dossier de LDInspector

Si le programme LDInspector a été précédemment installé, il suffit :

Installation dans un dossier séparé de LDInspector

Si le programme LDInspector a été précédemment installé, il suffit :

Installation sans LDInspector

Si le programme LDInspector n'a pas été installé, il faut :

Contenu du fichier run_ldinst.bat

Mettre dans le fichier les instructions suivantes (la première est optionnelle) :

@echo off
java -jar ldinstr.jar

Nota : Dans les premières versions du programme il fallait utiliser la commande suivante :

java -cp ldinstr.jar ldinsp.guisw.InstructionHelper
Mais, après une mise à jour, l'interface graphique est maintenant marquée comme classe principale et permet un accès direct.

Contenu du fichier LDInspector.ldi

Vous pouvez essayer le programme si Java est installé. Vous n'avez besoin que du fichier jar et d'un fichier de définition de contexte : LDInspector.ldi. Vous pouvez utiliser celui crée par LDInspector ou en créer un contenant une ligne par source de pièce LDraw comme dans :

0 FILE LDIContext.ldi
0 LDInspector context configuration
0 Name: LDIContext.ldi
0 Author: LDInspector

0 !LDINSP PART_SOURCE [type=Directory] [origin=ofc] [dest=/path/to/ldraw/]
0 !LDINSP PART_SOURCE [type=ZIP] [origin=uno] [dest=/path/to/ldraw/Unofficial/ldrawunf.zip]

Où le paramètre "type" est soit un "Directory" (dossier) soit un fichier "ZIP" et le paramètre "origin" est soit "ofc" (pièces officielles) soit "uno" (pièces Non officielles).

 

Considérations sur la conception du programme

Concept du programme

Pour moi (dixit l'auteur) l'approche utilisée a plusieurs avantages (POUR) et inconvénients (CONTRE) :

Evolution :

Version 03-01-2022

Version 07-01-2022

Demande de retours

J'apprécierais (dixit l'auteur) tout retours, ou même un commentaire comme "cela pourrait être fait plus facilement en utilisant une fonction x, y ou z". Un clin d'œil s'il y a intérêt pour ce projet. L'interface graphique (GUI) devra prendre en charge le processus beaucoup plus qu'elle ne le fait actuellement, comme des conseils sur les options (alignement à gauche, alignement au centre, alignement à droite, décalage fixe), prise en charge de la création d'un fichier LDInspector.ldi valide et peut-être un aperçu de page comportant plusieurs étapes.

 

Lancement du programme

Pour lancer le programme, il suffit de double-cliquer sur le fichier run_ldinst.bat créé (nom personnel).

Une fenêtre console s'ouvre, puis l'interface graphique.

La fenêtre console reçoit les messages d'erreur Java.

 

Fichiers

Accès aux fichiers :

  • load file : Charge un fichier LDraw simple (.ldr) ou multiple (.mpd).
  • save file : Sauvegarde le fichier LDraw.
  • reset file : Supprime toutes les méta-commandes "LDINSTR" dans le fichier LDraw.
  • cleanup file : Supprime toutes les options effectives des méta-commandes "LDINSTR" locales dans le fichier LDraw.
  • export image (png) : Sauvegarde une image du modèle à l'étape en cours (.png).
  • build instructions (odg) : Génère et sauvegarde le manuel d'instructions (.odg).
  • view-parameters as text : Montre les paramètres en mode texte.
  • center model (centerXYZ) : Centre le modèle (en X, Y et Z).
  • center render (shiftXY) : Centre le rendu du modèle sur la page (en X et Y).
  • reset preview : Réinitialise la prévisualisation.
  • about : A propos du programme.
  • scale : Echelle.
  • ok : Message "ok" lorsque le programme a fini une commande, "wait" lorsque qu'il est occupé.
  • En dessous : Fenêtre affichant l'avancement d'une commande.

 

Visuel de l'étape

Vue de l'image d'étape en cours :

  • Affiche uniquement le modèle à l'étape en cours en fonction des paramètres.
  • Attention : Avec la version actuelle (12-2021) la vue n'affiche que l'image du modèle à l'étape en cours. Ne gère pas (encore ?) les autres informations (numéro de page, liste des pièces, flèches, multi-étapes, ...).

 

Arborescence du modèle

Arborescence du modèle :

  • upd. exp. : Réaffiche la liste en mode L1.
  • L1 : Mode d'affichage de la liste fermée (sous-modèles, pièces, couleurs).
  • L2 : Mode d'affichage de la liste avec les étapes.
  • L3 : Mode d'affichage de la liste avec les sous-modèles et pièces par étape.
  • global : arborescence générale.
  • main... : Sous "global", le premier sous-modèle est le modèle principal, celui qui s'affiche par défaut.
  • 603... : Autres sous-modèles appelés par le modèle principal ou un autre sous-modèle.
  • step... : Etape de construction.
  • step...* : Etape de construction comportant des méta-commandes locales.
  • parts : Liste des pièces utilisées dans le modèle (nom du fichier et couleur).
  • colors : Liste des couleurs utilisées dans le modèle (code LDraw et nom).

 

Paramétrage

Le paramétrage du manuel et de ses pages peut se faire à l'aide de l'interface graphique, mais aussi à l'aide de méta-commandes spécifiques dans le fichier LDraw.

Les valeurs sont données en millièmes de centimètre.

Paramétrage général

Paramétrage général :

  • dpi : Résolution des images.
  • maxWidth : Largeur de page.
  • maxHeight : Hauteur de page.
  • lineWidth : Epaisseur de ligne.
  • zoom : Zoom du modèle.
  • centerX : Centrage du modèle en X.
  • centerY : Centrage du modèle en Y.
  • centerZ : Centrage du modèle en Z.
  • rotX : Rotation du modèle autour de l'axe X.
  • rotY : Rotation du modèle autour de l'axe Y.
  • rotZ : Rotation du modèle autour de l'axe Z.
  • shiftX : Centrage du rendu du modèle sur la page en X.
  • shiftY : Centrage du rendu du modèle sur la page en Y.
  • highlight (on/color/size) : Couleur en hexa et épaisseur des lignes de surbrillance.
  • special studs : Affichage spécial des tenons.

Paramétrage global du document

S'affiche en cliquant sur "global" (à la racine) dans l'arborescence. Ce paramétrage affecte toutes les étapes y compris dans les sous-modèles.



Paramétrage du document :

  • < set : Fixe la valeur par défaut.
  • autoApply : Applique automatiquement.
  • apply > : Applique.
  • doc : Document.
  • default : Valeur par défaut.
  • ovw. : Ecraser la valeur actuelle.
  • global : Valeur globale.
  • dpi : Résolution des images.
  • width : Largeur de page.
  • height : Hauteur de page.
  • margin : Marge.
  • specialStuds : Tenons spéciaux.
  • debugInfo : Message d'erreur.
  • bgModel : Couleur de fond du modèle.
  • bgPli : Couleur de fond de liste de pièces.
  • bgSub : Couleur de fond de sous-modèle.
  • colorOrder : Tri par couleur.
  • def./model : Définition du modèle.
  • default : Valeur par défaut.
  • ovw. : Ecraser la valeur actuelle.
  • global : Valeur globale.
  • step/info : Informations d'étape.
  • step/skip : Sauter l'étape.
  • step/noResult : Pas de résultat.
  • step/noPli : Pas de liste de pièces d'étape.
  • step/split : Sépare les étapes d'un sous-modèle.
  • step/modelX : Position horizontale du model.
  • step/modelY : Position verticale du model.
  • step/newPage : Etape sur la page suivante.
  • step/newRow : Etape sur la rangée suivante.
  • step/newCol. : Etape sur la colonne suivante.
  • step/donePage : Insère un saut de page.
  • step/doneRow : Insère un saut de ligne.
  • step/doneCol. : Insère un saut de colonne.
  • step/vLines : Ligne verticale entre colonnes.
  • step/hLines : Ligne horizontale entre rangées.
  • step/maxCols. : Nombre maximum de colonnes dans la page.
  • step/maxRows : Nombre maximum de lignes dans la page.
  • step/equalWidth : Largeur égale des colonnes.
  • step/fillWidth : La liste des pièces prend toute la largeur de la page.
  • step/annotate : Annotation.
  • step/pliBMW. : Pour step/pliBoxMaxWidth. Largeur maximale de la liste des pièces.
  • step/pliSort : Ordre de tri de la liste des pièces.
  • maxWidth : Largeur de l'image de rendu.
  • maxHeight : Hauteur de l'image de rendu.
  • lineWidth : Largeur des lignes de bord.
  • zoom : Zoom du modèle.
  • centerX : Centrage de l'étape en X.
  • centerY : Centrage de l'étape en Y.
  • centerZ : Centrage de l'étape en Z.
  • rotX : Rotation de l'étape autour de l'axe X.
  • rotY : Rotation de l'étape autour de l'axe Y.
  • rotZ : Rotation de l'étape autour de l'axe Z.
  • shiftX : Centrage du rendu de l'étape en X.
  • shiftY : Centrage du rendu de l'étape en Y.
  • highlight : Lignes en surbrillance.
  • hlRgb : Couleur de surbrillance en hexa.
  • hlWidth : Largeur des lignes en surbrillance.
  • maxWidth : .
  • maxHeight : .
  • lineWidth : .
  • zoom : .
  • inl/boxMW. : Pour inl/boxMaxWidth. Largeur maximale de la boîte de sous-modèle.
  • inl/zoom : Zoom de sous-modèle.
  • def./pli : Définition de la liste des pièces d'étape.
  • rotX : Rotation de l'étape autour de l'axe X.
  • rotY : Rotation de l'étape autour de l'axe Y.
  • rotZ : Rotation de l'étape autour de l'axe Z.

Paramétrage de sous-fichier

S'affiche en cliquant sur un sous-fichier dans l'arborescence.

Paramétrage de sous-fichier :

  • < set : Fixe la valeur par défaut.
  • autoApply : Applique automatiquement.
  • apply > : Applique.
  • part : Pièce.
  • inh. : Valeur actuelle héritée.
  • ovw. : Ecraser la valeur actuelle.
  • new : Valeur nouvelle.
  • aspart : Le sous-fichier est considéré comme une pièce.
  • inline : Le sous-fichier est décomposé.
  • pli : Liste des pièces de l'étape.
  • inh. : Valeur actuelle héritée.
  • ovw. : Ecraser la valeur actuelle.
  • new : Valeur nouvelle.
  • replace : Remplace.
  • centerX : Centrage de la pièce en X.
  • centerY : Centrage de la pièce en Y.
  • centerZ : Centrage de la pièce en Z.
  • rotX : Rotation de la pièce autour de l'axe X.
  • rotY : Rotation de la pièce autour de l'axe Y.
  • rotZ : Rotation de la pièce autour de l'axe Z.
  • shiftX : Centrage du rendu de la pièce en X.
  • shiftY : Centrage du rendu de la pièce en Y.

Paramétrage d'étape

S'affiche en cliquant sur une étape dans l'arborescence.



Paramétrage d'étape :

  • commands : Gestion des méta-commandes de BOM. Voir : Paramétrage de l'inventaire (BOM).
  • directives : Gestion des méta-commandes de PLI. Voir : Paramétrage de liste des pièces d'étape (PLI).
  • < set : Fixe la valeur par défaut.
  • autoApply : Applique automatiquement.
  • apply > : Applique.
  • model : Modèle.
  • inh. : Valeur actuelle héritée.
  • ovw. : Ecraser la valeur actuelle.
  • new : Valeur nouvelle.
  • step/info : Informations d'étape.
  • step/skip : Sauter l'étape.
  • step/noResult : Pas de résultat.
  • step/noPli : Pas de liste de pièces d'étape.
  • step/split : Sépare les étapes d'un sous-modèle.
  • step/modelX : Position horizontale du model.
  • step/modelY : Position verticale du model.
  • step/newPage : Etape sur la page suivante.
  • step/newRow : Etape sur la rangée suivante.
  • step/newCol. : Etape sur la colonne suivante.
  • step/donePage : Insère un saut de page.
  • step/doneRow : Insère un saut de ligne.
  • step/doneCol. : Insère un saut de colonne.
  • step/vLines : Ligne verticale entre colonnes.
  • step/hLines : Ligne horizontale entre rangées.
  • step/maxCols. : Nombre maximum de colonnes dans la page.
  • step/maxRows : Nombre maximum de lignes dans la page.
  • step/equalWidth : Largeur égale des colonnes.
  • step/fillWidth : La liste des pièces prend toute la largeur de la page.
  • step/annotate : Annotation.
  • step/pliBMW. : Pour step/pliBoxMaxWidth. Largeur maximale de la liste des pièces.
  • step/pliSort : Ordre de tri de la liste des pièces.
  • maxWidth : Largeur de l'image de rendu.
  • maxHeight : Hauteur de l'image de rendu.
  • lineWidth : Largeur des lignes de bord.
  • zoom : Zoom du modèle.
  • centerX : Centrage de l'étape en X.
  • centerY : Centrage de l'étape en Y.
  • centerZ : Centrage de l'étape en Z.
  • rotX : Rotation de l'étape autour de l'axe X.
  • rotY : Rotation de l'étape autour de l'axe Y.
  • rotZ : Rotation de l'étape autour de l'axe Z.
  • shiftX : Centrage du rendu de l'étape en X.
  • shiftY : Centrage du rendu de l'étape en Y.
  • highlight : Lignes en surbrillance.
  • hlRgb : Couleur de surbrillance en hexa.
  • hlWidth : Largeur des lignes en surbrillance.
  • pli : Liste des pièces.
  • maxWidth : Largeur maximum.
  • maxHeight : Hauteur maximum.
  • lineWidth : Largeur des lignes.
  • zoom : Zoom.
  • inl : Sous-modèle.
  • inl/boxMW. : Pour inl/boxMaxWidth. Largeur maximale de la boîte de sous-modèle.
  • inl/zoom : Zoom de sous-modèle.

Paramétrage de pièce

S'affiche en cliquant sur une pièce dans l'arborescence.

Paramétrage de la liste des pièces d'étape :

  • < set : Fixe la valeur par défaut.
  • autoApply : Applique automatiquement.
  • apply > : Applique.
  • pli : Liste des pièces d'étape.
  • inh. : Valeur actuelle héritée.
  • ovw. : Ecraser la valeur actuelle.
  • new : Valeur nouvelle.
  • replace : Remplace.
  • centerX : Centrage de la pièce en X.
  • centerY : Centrage de la pièce en Y.
  • centerZ : Centrage de la pièce en Z.
  • rotX : Rotation de la pièce autour de l'axe X.
  • rotY : Rotation de la pièce autour de l'axe Y.
  • rotZ : Rotation de la pièce autour de l'axe Z.
  • shiftX : Centrage du rendu de la pièce en X.
  • shiftY : Centrage du rendu de la pièce en Y.

Paramétrage de couleur

S'affiche en cliquant sur une couleur sous "colors" dans l'arborescence.

Paramétrage de couleur :

  • color : Couleur.
  • inh. : Valeur actuelle héritée.
  • ovw. : Ecraser la valeur actuelle.
  • new : Valeur nouvelle.
  • face : Couleur des faces.
  • edge : Couleur des bords.

Paramétrage des directives de liste des pièces d'étape (PLI)

En cliquant sur le bouton "directives" lorsqu'une étape est sélectionnée dans l'arborescence, une boite de dialogue s'ouvre :

Avec le bouton "Insert" :

Entrer les paramètres d'une méta-commande valide dans le champ de saisie, sans le tronc commun "0 !LDINSP INSTRDIR", puis cliquer sur "Insert" pour ajouter une méta-commande dans le panneau précédent.

Avec le bouton "Edit" :

Modifier les paramètres d'une méta-commande sélectionnée dans le champ de saisie, sans le tronc commun "0 !LDINSP INSTRDIR", puis cliquer sur "Replace" pour modifier la méta-commande sélectionnée du panneau précédent.

Voir le chapitre : Méta-commandes de l'inventaire pour la syntaxe exacte sur ces méta-commandes.

Commandes des directives

Liste des commandes, sans le début "0 !LDINSP INSTRDIR".

Exemple :
[type=pli] [part=3005.dat] [color=15] [count=1] [annotate=fff] [newLine] [rotX=45]

Paramétrage des commandes de l'inventaire (BOM)

Pour le moment (12-2021) les méta-commandes d'inventaire (BOM) 0 !LDINSP INSTRCMD sont acceptées par l'interface graphique, mais ne sais pas les insérer/modifier/supprimer (sur la liste des tâches reste-à-faire).

Avec la version v0.3 (12-2021), l'interface graphique possède une fonction d'édition de base, mais ne prend pas en charge les noms des commandes d'inventaire ou les options des paramètres (quelque part dans la liste des tâches).

Depuis (01-2022), l'interface graphique donne une indication sur les noms des commandes et les options.

En cliquant sur le bouton "commands" lorsqu'une étape est sélectionnée dans l'arborescence, une boite de dialogue s'ouvre :

Nota : La première ligne peut être déplacée et sert de repère sur l'emplacement des méta-commandes dans le fichier.

Avec le bouton "Insert" :

Entrer les paramètres d'une méta-commande valide dans le champ de saisie, sans le tronc commun "0 !LDINSP INSTRCMD", puis cliquer sur "Insert" pour ajouter une méta-commande dans le panneau précédent.

Avec le bouton "Edit" :

Modifier les paramètres d'une méta-commande sélectionnée dans le champ de saisie, sans le tronc commun "0 !LDINSP INSTRCMD", puis cliquer sur "Replace" pour modifier la méta-commande sélectionnée du panneau précédent.

Voir le chapitre : Méta-commandes de l'inventaire pour la syntaxe exacte sur ces méta-commandes.

Commandes d'instruction

Liste des commandes, en ignorant "[before]" et sans le début "0 !LDINSP INSTRCMD".

Exemple
[cmd=dirbom] [part=3005.dat] [color=15] [count=1]

Affichage du paramétrage

Avec le bouton "View-parameters as text" : Uniquement un mode de visualisation des paramètres.

Méta-commandes

Voici toutes les méta-commandes et paramètres disponibles dans la dernière version :

Modifications sur le fichier LDraw du modèle :

Comme exemple, les modifications dans le fichier OMR officiel LDraw du modèle 603, mènent à l'exemple utilisé comme base dans ce manuel (téléchargeable ici : 603-LDI.mpd) :

Méta-commandes document

0 !LDINSP INSTR [doc/dpi=150] [doc/width=29700] [doc/height=21000] [doc/margin=1000]
0 !LDINSP INSTR [doc/debugInfo]
0 !LDINSP INSTR [doc/bgModel=CFEFFF] [doc/bgPli=BFDFFF] [doc/bgSub=FFF0CF]

Paramètres globaux :

Exemple extrait de 603-LDI.mpd :

0 !LDINSP INSTR [doc/dpi=150] [doc/width=29700] [doc/height=21000] [doc/margin=1000]
0 !LDINSP INSTR [doc/bgModel=CFEFFF] [doc/bgPli=BFDFFF] [doc/bgSub=FFF0CF]

Première ligne : Rendu des images en 150 dpi, largeur de la page à 29700 et hauteur à 21000, et la marge de la page à 1000 (toutes les tailles/longueurs sont données en millièmes de centimètre, conduisant ici à une largeur de 29,7 cm et une hauteur de 21,0 cm (DIN A4 paysage) et une marge de 1 cm).

Deuxième ligne : Définition de la couleur d'arrière-plan pour le modèle (bleu clair), la liste des pièces d'étape (bleu clair plus foncé) et les sous-modèles intégrés (jaune clair).

0 !LDINSP INSTRSC [scope=3626ap01.dat] [pli/rotX=15] [pli/rotY=0]
0 !LDINSP INSTRSC [scope=3641.dat] [pli/rotY=45]

Les deux lignes sont limitées (elles sont étiquetées "INSTRSC" au lieu de "INSTR"), chaque ligne doit contenir exactement un paramètre de portée.

Dans ces deux lignes, dans la liste des pièces d'étape (les clés commencent par "pli/") l'orientation des pièces 3626ap01 (tête avec motif) et 3641 (pneu) est modifiée.

Méta-commandes globales

Les méta-commandes globales (les clés commencent par "default/") concerne toutes les étapes du modèle.

0 !LDINSP INSTR [default/zoom=1.8]
0 !LDINSP INSTR [default/step/vLines=1] [default/step/hLines=1]
0 !LDINSP INSTR [default/step/maxColumns=0] [default/step/maxRows=0]
0 !LDINSP INSTR [default/step/annotate=1]

Méta-commandes de sous-modèle

Chaque sous-fichier commence par le jeu de paramètres par défaut.

Les paramètres notables ici sont :

Exemple extrait du sous-fichier du side-car :

0 !LDINSP INSTR [step/modelX=-2] [step/modelY=-1]
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]
0 !LDINSP INSTR [inl/zoom=1.5]

Les deux premières lignes sont expliquées ci-dessus, la dernière ligne définit le zoom pour l'étape intégrée à 1,5 (toutes les valeurs peuvent être des entiers, certaines valeurs comme le zoom peuvent être des valeurs à virgule flottante).

Dans le sous-fichier sidecar, les étapes 3 et 4 contiennent des informations sur la rotation : L'étape 3 définit "[rotX=-30] [rotY=45] [rotZ=0]", et à partir de l'étape 4, je voulais récupérer la rotation par défaut, donc j'ai dû définir "[rotX=30] [rotY=45] [rotZ=0]". Le réglage de rotZ est facultatif car il n'est modifié ni à l'étape 3 ni à l'étape 4.

Exemple extrait du sous-fichier de la roue :

0 !LDINSP INSTR [inline]
0 !LDINSP INSTR [step/modelX=-2] [step/modelY=-1]
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]

Les deux dernières lignes sont expliquées ci-dessus, la première ligne définit ce sous-fichier complet comme "en ligne", donc lors de l'utilisation, il ajoutera les étapes séparées du sous-fichier dans l'étape d'utilisation.

Le sous-fichier du corps ajouté a un autre indicateur de sous-fichier :

0 !LDINSP INSTR [aspart]

Cela indique au processeur d'instructions de traiter l'ensemble du sous-fichier comme une seule pièce.

Paramètres de sous-modèle :

Exemple :
0 !LDINSP INSTR [inl/zoom=1.5]

Paramètres supplémentaires :

Méta-commandes de sous-modèle "aspart"

Exemple :
0 !LDINSP INSTR [aspart]

Méta-commandes de sous-modèle "inline"

Exemple :
0 !LDINSP INSTR [inline]
0 !LDINSP INSTR [tg/replace=3001.dat]

Méta-commandes de rendu de modèle et de pièce

Paramètres de rendu du modèle et de la liste des pièces (PLI) :

Exemple pour le modèle :
0 !LDINSP INSTR [maxWidth=23500] [maxHeight=19000]
0 !LDINSP INSTR [lineWidth=2]
0 !LDINSP INSTR [zoom=1.5]
0 !LDINSP INSTR [shiftX=3064] [shiftY=-1235]
0 !LDINSP INSTR [highlight=1] [highlightRgb=FF0000] [highlightWidth=4]
Exemple pour l'inventaire :
0 !LDINSP INSTR [pli/maxWidth=9000] [pli/maxHeight=9000]
0 !LDINSP INSTR [pli/zoom=0.3]

Méta-commandes d'estompage

La version actuelle comporte de nouvelles fonctionnalités pour estomper les étapes précédentes :

Le fondu et la surbrillance sont indépendants et combinables, quelques exemples sont présentés ci-dessous.

Par défaut (surbrillance standard, pas de fondu) :

Surbrillance standard, fondu à 50% vers FFFFFF :

Surbrillance standard, fondu à 75% vers FFFFFF, 75% de transparence :

Pas de surbrillance, fondu à 75% vers 7F7F7F, 75% de transparence :

Différentes valeurs de fondu peuvent aider à comprendre une étape de construction avec des éléments cachés comme l'étape 57 dans l'horloge du Père Noël de Philippe.

Surbrillance standard, fondu à 65% vers FFFFFF, 85 % de transparence pour l'étape 57 uniquement :

Méta-commandes d'étape

Paramètres d'étape :

Exemple :
0 !LDINSP INSTR [maxWidth=23500] [maxHeight=19000]
0 !LDINSP INSTR [zoom=1]
0 !LDINSP INSTR [rotX=30] [rotY=45] [rotZ=0]
0 !LDINSP INSTR [shiftX=-2252] [shiftY=3201]
0 !LDINSP INSTR [highlight=1] [highlightRgb=00FF0000] [highlightWidth=2]

Méta-commandes multi-étapes

Séparateur d'étapes

A partir de cet exemple : LayoutExample.mpd voici l'implantation du manuel utilisant les séparateurs d'étapes :

0 !LDINSP INSTR [default/step/vLines=1] [default/step/hLines=1]
...
0 !LDINSP INSTR [step/vLines=0] [step/hLines=0]
...

Avec ces options :

Méta-commandes de couleur

Couleurs :

Exemple :
0 !COLOUR Black                                                 CODE   0    VALUE #1B2A34   EDGE #D0D0D0
0 !COLOUR Green                                                 CODE   2    VALUE #00852B   EDGE #D0D0D0
0 !COLOUR Dark_Bluish_Grey                                      CODE  72    VALUE #646464   EDGE #D0D0D0

Nota : Les couleurs officielles disponibles se trouvent dans le fichier : LDConfig.ldr du dossier d'installation de la bibliothèque LDraw.

Méta-commandes de liste des pièces d'étape (PLI)

Tri

Par défaut :

Changement de l'ordre de tri avec la méta-commande : [step/pliSort=...]

Avec l'option de tri :

Tri par couleur

Exemples pour "explicit pli"

Exemple 1 : PLI par défaut pour la minifig de l'étape 6 :

Exemple 2 : "explicit pli" (comme toutes les pièces de l'étape 6 sont de couleurs différentes, ce reclassement peut également être effectué en changeant l'ordre des couleurs, mais l'ordre des couleurs est global ; de plus avec INSTRDIR "pli", l'apparence complète de la pli peut être modifiée, y compris le nom de la pièce, le zoom, la rotation ou le nombre de pièces, également sauter des pièces ou en ajouter d'autres).

0 !LDINSP INSTRDIR [type=pli] [part=3815c01.dat] [color=0] [count=1]
0 !LDINSP INSTRDIR [type=pli] [part=603-1 - body.ldr] [color=4] [count=1]
0 !LDINSP INSTRDIR [type=pli] [part=3626ap01.dat] [color=14] [count=1] [rotX=15.0] [rotY=0.0]
0 !LDINSP INSTRDIR [type=pli] [part=3842a.dat] [color=1] [count=1]

Exemple 3 : "explicit pli" avec [newLine] option :

0 !LDINSP INSTRDIR [type=pli] [part=3815c01.dat] [color=0] [count=1]
0 !LDINSP INSTRDIR [type=pli] [part=603-1 - body.ldr] [color=4] [count=1]
0 !LDINSP INSTRDIR [type=pli] [part=3626ap01.dat] [color=14] [count=1] [newLine] [rotX=15.0] [rotY=0.0]
0 !LDINSP INSTRDIR [type=pli] [part=3842a.dat] [color=1] [count=1]

Annotation automatique

Changement de l'ordre de tri avec la méta-commande : [step/pliSort=...], limitation de la boite PLI avec [step/pliBoxMaxWidth=...], active les annotations avec [step/annotate=1]

Avec ces options :

Annotation explicite

Avec le paramètre [annotate=XXXX] il est possible de donner une annotation explicite à une pièce.

0 !LDINSP INSTRDIR [type=pli] [part=3001.dat] [color=15] [count=3] [annotate=Test]

Avec ces options :

Instructions de PLI étendu

Etendu des instructions :

Exemple :
0 !LDINSP INSTRSC [scope=2462.dat] [pli/rotY=0]
0 !LDINSP INSTRSC [scope=4186.dat] [pli/rotX=90] [pli/rotY=0]

Remplacement de pièce dans la liste des pièces :

Pour les sous-modèles inclus, dans la première étape, ajouter quelque chose comme :

0 !LDINSP INSTR [tg/replace=76348.dat]

Pour les pièces ou modèles (externes) non inclus, cela doit ressembler à :

0 !LDINSP INSTRSC [scope=3022.dat] [tg/replace=76348.dat]

Avec cette option, les tuyaux de l'étape 9 sont plus jolis dans la liste des pièces :

Méta-commandes de l'inventaire des pièces (BOM)

Il y a une nouvelle méta-commande 0 !LDINSP INSTRCMD. Elle utilise une seule commande "cmd" avec trois options, pour le moment "break", "text" et "bom", et des paramètres dépendants de l'option. Exemples :

Les options de INSTRCMD sont : inventaire (BOM), texte (TEXT) et saut (BREAK) et sont maintenant disponibles dans la version actuelle (28-12-2021). L'exemple 603 ci-joint génère ces deux pages.

Pour le moment, INSTRCMD est bien géré par l'interface graphique, mais il n'y a pas d'interface graphique pour insérer/modifier/supprimer les méta-commandes INSTRCMD (sur la liste des tâches reste-à-faire).

Exemples :

0 !LDINSP INSTRCMD [cmd=break] [column]
0 !LDINSP INSTRCMD [cmd=bom]
0 !LDINSP INSTRCMD [cmd=break] [page]
0 !LDINSP INSTRCMD [cmd=text] [text=SideCar]
0 !LDINSP INSTRCMD [cmd=bom] [part=603-1 - sidecar.ldr] [zoom=1.3] [description] [textwidth=10500] [sort=color,description,width,height,name]
0 !LDINSP INSTRCMD [cmd=break] [column]
0 !LDINSP INSTRCMD [cmd=text] [text=MiniFig]
0 !LDINSP INSTRCMD [cmd=bom] [part=603-1 - minifig.ldr] [zoom=1.3] [description] [textwidth=10500] [sort=color,description,width,height,name]

Etendu de l'inventaire :

Paramètres :

Inventaire simple

Set 603 Set 1972

Tri

Exemples pour "color sorting"

1- Ordre des couleurs par défaut,
identifiant ascendant
2- Même rang de tri entre noir et
caoutchouc noir, via "0+256,..."
3- Tri différent pour toutes les
couleurs via "0,256,..."

Méta-commande de l'exemple 2 :

0 !LDINSP INSTR [doc/colorOrder=0+256,1,4,7,14]

Méta-commande de l'exemple 3 :

0 !LDINSP INSTR [doc/colorOrder=0,256,1,4,7,14]

Toutes les lignes modifient un paramètre de rendu (pas de préfixe) ou la disposition (préfixe "step/") de toutes les étapes suivantes dans ce sous-fichier.

0 !LDINSP INSTR [zoom=2]
0 !LDINSP INSTR [centerX=15.58] [centerY=-7.841] [centerZ=57.228]
0 !LDINSP INSTR [rotX=30] [rotY=45] [rotZ=0]
0 !LDINSP INSTR [step/noPli=1]
0 !LDINSP INSTR [step/modelX=-2] [step/modelY=-1]
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]

Option description

Set 603

Annotation explicite

Chaque commande BOM (complète ou directe) peut avoir le nouveau paramètre [text=XXXX], ou XXXX est un texte brut avec les subtitutions suivantes :

0 !LDINSP INSTRCMD [cmd=bom] [textwidth=9000] [text=%ax %n in %c\n%d]

Exemple :

 

Génération du manuel (ODG)

Cliquer sur le bouton "buid instructions" de l'interface pour générer le manuel. Dans la fenêtre en-dessous s'affiche l'avancement du processus.

Dans le fichier jar actuel, il existe une version en ligne de commande intégrée, qui génère le fichier odg comme le fait le bouton "buid instructions" de l'interface :

java -cp ldinstr.jar ldinsp.instr.BuildInstructions YOUR_MPD_FILE.mpd [OUTPUT.odg]

Exemple 1

Pour une version légèrement modifiée du modèle 603 vous devriez obtenir un fichier de sortie odg ressemblant à l'image ci-dessous :

Exemple 2

Voici un autre exemple : Le modèle OMR 1972, légèrement modifié (voir le fichier mpd) ce qui donne six pages entièrement modifiables dans LibreOffice. Bien sûr, les tuyaux de l'étape 9 peuvent être remplacés, mais voici la sortie odg générée non modifiée.

Exemple 3

la version actuelle du programme permet de diviser le conteneur pli/inline/model en boîtes séparées via un nouveau paramètre booléen "step/split". Cela se traduit par un alignement descendant des pli/inline/model, par exemple cela est utilisé à l'étape 10 du modèle 40191 (version modifiée jointe) :

Exemple 4

Après quelques tests supplémentaires, j'en ai profité pour vérifier un modèle technique avec des pièces intégrées. (Merci Philippe pour votre MOC Trieur que j'ai donc pu utiliser.

Maintenant, il y a au moins trois bugs en moins.

Le mpd modifié est joint, seules les étapes vides sont supprimées et seules les commandes méta LDINSTR de base sont ajoutées :

0 !LDINSP INSTR [doc/dpi=150] [doc/width=29700] [doc/height=21000] [doc/margin=1000]
0 !LDINSP INSTR [doc/bgModel=CFEFFF] [doc/bgPli=BFDFFF] [doc/bgSub=FFF0CF]
0 !LDINSP INSTR [zoom=1]
0 !LDINSP INSTR [shiftX=2042] [shiftY=2767]
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]
0 !LDINSP INSTR [pli/maxWidth=7000] [pli/maxHeight=7000]
...
0 !LDINSP INSTR [step/noPli=1]
...
0 !LDINSP INSTR [step/noPli=0]
...
0 !LDINSP INSTR [aspart]

La plupart des commandes sont décrites ci-dessus sauf pour :

Malheureusement, je n'ai pas pu joindre le fichier odg généré à ce message, le pdf généré est donc ajouté pour plus de commodité.

Si vous souhaitez générer l'odg, veuillez simplement appeler la version instable actuelle avec :

java -cp ldinstr.jar ldinsp.instr.BuildInstructions Sorter.mpd SorterInstructions.odg

Exemple 5

... et quelques rotations supplémentaires ...

... quelques ajustements pour avoir des sauts de page à des étapes pratiques, changement de zoom de 1 à 2 pour avoir des images plus grandes. Je traiterais celui-ci comme "prêt".

... pour permettre le téléchargement du pdf, j'ai dû fusionner deux étapes (roues et passe-câbles) ...

Toutes les instructions sont déjà expliquées à l'exception de :

0 !LDINSP INSTR [step/pliBoxMaxWidth=-1]

Le paramètre step/pliBoxMaxWidth définit la largeur maximale de la boîte pli (en milli-cm) et il y a deux valeurs spéciales : La valeur par défaut 0 signifie "auto", la valeur -1 signifie "ne s'en soucie pas". Avec cette option définie, la pli utilisera autant d'espace que nécessaire en ignorant l'image d'étape du modèle.

0 !LDINSP INSTR [highlight=1] [highlightRgb=00FF0000] [highlightWidth=2]

Le paramètre surbrillance highlight actif (1) ou inactif (0) la surbrillance des pièces ajoutées (par défaut : on=1). Avec highlighRgb, la couleur peut être modifiée pour chaque étape (la valeur par défaut est le rouge). Le réglage de highlightWidth modifie la largeur du trait de surbrillance (la valeur par défaut est 1).

 

Exploitation avec LibreOffice

Pour l'utilisation du module Draw de LibreOffice, se reporter au manuel en ligne de ce programme.

Bienvenue dans l'aide de LibreOffice Draw

Exemple 1

Les captures d'écran suivantes sont prises à partir d'un manuel d'instructions généré par LDInstruction :

Pour avoir un meilleur contraste, la couleur des faces gris-bleuâtre-foncé est changée pour être un peu plus claire, et la couleur des bords est changée en gris-très-clair.

Cela se fait en modifiant les valeurs dans l'interface graphique ou en ajoutant une méta-ligne de couleur au standard LDraw dans le fichier mpd.

0 !COLOUR Dark_Bluish_Grey                                      CODE  72    VALUE #646464   EDGE #D0D0D0

 

Génération du manuel final (PDF)

Pour une exploitation du manuel par tout le monde (ou presque) il vaut mieux utiliser le format de fichier PDF que tout ordinateur digne de ce nom sait lire et ce sans altérer la mise en page.

Le programme LDinstruction ne sait pas générer ce type de fichier mais par conception permet d'utiliser le programme LibreOffice Draw pour cela.

Avec ma version utilisée (v4.2.6.3 portable) il suffit d'utiliser la commande
"Fichier / Exporter au format PDF...".

 

Autres fonctionnalités

Image d'étape

Cliquer sur le bouton "export image (png)" pour exporter l'image de l'étape en cours. Un message s'affiche pour limiter la taille de l'image au cadre vert s'affichant dans le visuel de la page :

Répondre "Oui" pour limiter et "Non" pour avoir la page entière.

Exemple limité :

Nota : L'image est au format .png avec un fond transparent.

Validité OMR

Comme presque tout LDInspector est inclus dans ce programme, vous pouvez aussi utiliser ce programme pour tester la validité OMR du modèle :

java -cp ldinstr.jar ldinsp.tools.LDITFileChecker YOUR_MPD_FILE.mpd

Liste des pièces

Et vous pouvez obtenir la liste des pièces pour un ou plusieurs modèles, étape par étape et sous-modèle par sous-modèle, et les additionner :

java -cp ldinstr.jar ldinsp.tools.LDITBillOfMaterial YOUR_MPD_FILE.mpd [MORE.mpd] [MORE2.mpd]

Instructions sur une page unique

Pour mettre les instructions sur une page unique, changer les options "step/maxColumns" et "step/maxRows" de la valeur par défault "1" à la valeur "0". Cela peut être fait en insérant le code suivant à chaque sous-modèle :

Code dans le fichier LDraw :

0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]

On peut également cocher dans la colonne "ovw." (overwrite) les lignes "step/maxColumns" et "step/maxRows" et changer la valeur "1" par la valeur "0" :

Voir également : Tutoriel 1 : Comment passer d'un manuel de base à un manuel sur une seule page.

 

Tutoriels

Tutoriel 1 : Comment passer d'un manuel de base à un manuel sur une seule page

Voici un exemple pour montrer comment passer, avec ce modèle OMR 40190, d'un manuel de base à un manuel sur une seule page comme ci-dessous :

Façon 1 : Utiliser l'interface graphique.

1- Charger le fichier et vérifier/ajuster les paramètres globaux, comme la qualité des images en dpi et la taille de la page imprimée en fonction de vos besoins. Les valeurs par défaut sont : 150 dpi / A4 paysage.

2- Dans le modèle principal à l'étape 1, activer l'écrasement de "step/noResult" et définir sa valeur sur "on".

3- Dans le sous-modèle de voiture à l'étape 1, activer l'écrasement de "step/modelX" et définir sa valeur sur "-2" (alignement à droite). Egalement activer "step/maxCols." et "step/maxRows" et définir leurs valeurs sur "0" (mise en page automatique des colonnes et des lignes).

4- Dans le sous-modèle de roue et avant l'étape 1, activer l'écrasement de "aspart" et définir sa valeur sur "on".

5- Dans le sous-modèle de la pièce 93589p01 et avant l'étape 1, activer également l'écrasement de "aspart" et définir sa valeur sur "on".

Façon 2 : Insérer les méta-commandes dans le fichier mpd.

1- Dans la première étape du fichier principal, définir le dpi, la taille de la page et désactiver le résultat en ajoutant :

0 !LDINSP INSTR [doc/dpi=300] [doc/width=29700] [doc/height=21000] [doc/margin=1000]
0 !LDINSP INSTR [doc/bgModel=CFEFFF] [doc/bgPli=BFDFFF] [doc/bgSub=FFF0CF]
0 !LDINSP INSTR [step/noResult=1]

2- Dans la première étape du sous-modèle de voiture, définir le zoom, l'alignement à droite, et l'implantation en ajoutant :

0 !LDINSP INSTR [zoom=1.3]
0 !LDINSP INSTR [step/modelX=-2] [step/modelY=-1]
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]

3- Dans le sous-modèle de roue et 93589p01, définir "aspart" en ajoutant :

0 !LDINSP INSTR [aspart]

Ça y est, amusez-vous bien.

Tutoriel 2 : Marche à suivre sur un exemple concret

Avec la permission de Philippe, je voudrais souligner les principales étapes pour obtenir des instructions comme celles-ci : MOC - Santa Clock :

  1. Définir les paramètres par défaut, en particulier le facteur de zoom (et inl/zoom pour les sous-modèles en ligne) a un impact important. Ici : le zoom est compris entre 1,5 et 1,8, la mise en page est en portrait au lieu de paysage, l'annotation automatique pour PLI est activée.
  2. Activer le commutateur "debugInfo" pour avoir un lien retour des instructions créées vers votre modèle.
  3. Déplacer les "vraies" pièces individuelles dans des sous-fichiers, par exemple des pièces d'articulation techniques ou des torses de figurines.
  4. Activer l'interrupteur "aspart" pour toutes les pièces en ligne de niveau supérieur comme les moteurs avec câbles (seul le ldr de niveau supérieur a besoin de l'interrupteur "aspart" pour être activé). Ici par exemple pour platine technic et torse avec les mains.
  5. Activer le commutateur "inline" pour les petits sous-modèles qui sont trop petits pour avoir leur propre étape. Ici par exemple à l'étape 58.
  6. Définir les pièces de rechange PLI/BOM, par exemple pour les câbles et flexibles en version non bouclée. Ici par exemple pour les pièces jointes techniques à l'étape 67, le moteur avec câble à l'étape 28.
  7. Instructions de construction.
  8. Modifier les paramètres de rendu si nécessaire, définir explicitement la largeur de la boîte PLI/inline.
  9. Peut-être activer temporairement le commutateur "step/info" pour avoir plus d'informations, par exemple sur les boîtes PLI créées. Cela aide si vous souhaitez définir manuellement les pièces PLI, peut-être si, en une seule étape, des sous-modèles et des pièces simples supplémentaires sont combinés, comme à l'étape 24.
  10. Ajouter éventuellement des lignes verticales et/ou horizontales, comme aux pages 2 et 3.
  11. Retourner à l'étape 3 jusqu'à ce que vous soyez satisfait. Malheureusement, cela est très itératif, mais peut être limité si vous vous concentrez d'abord sur les images rendues, puis sur les boîtes PLI, puis sur la mise en page.
  12. Désactiver le commutateur "debugInfo" et effectuer un dernier rendu.
  13. Ajuster avec précision l'éditeur ODG comme LibreOffice pour ajouter des images du monde réel, plus de texte ou de numéros de page, déplacer des boîtes en ligne et ajouter des flèches. Ici : La page de titre est conçue en dehors de LDInstruction.

Tant qu'il n'y a qu'une seule étape sur une page, cela devrait être simple. Mais s'il y a plusieurs étapes sur une page ou même deux colonnes (par exemple ici : étapes 1 à 9), la taille de l'image rendue a un impact important sur les sauts de page.

Tout peut être fait dans l'interface graphique. Mais si vous aimez savoir ce qui se fait en interne, les extraits suivants montrent des lignes intéressantes qui ont été ajoutées au fichier LDraw :

0 !LDINSP INSTR [doc/dpi=150]
0 !LDINSP INSTR [doc/width=21000] [doc/height=29700] [doc/margin=1000]
0 !LDINSP INSTR [doc/bgModel=CFEFFF] [doc/bgPli=BFDFFF] [doc/bgSub=FFF0CF]
0 !LDINSP INSTR [default/maxWidth=20000] [default/maxHeight=14000]
0 !LDINSP INSTR [default/lineWidth=1]
0 !LDINSP INSTR [default/zoom=1.5]
...
0 !LDINSP INSTR [default/inl/zoom=1.5]
0 !LDINSP INSTRSC [scope=11478.dat] [pli/rotY=45]
...
0 !LDINSP INSTRSC [scope=41677.dat] [pli/rotY=45]
0 !LDINSP INSTRSC [scope=6632.dat] [pli/rotY=45]
0 !LDINSP INSTR [maxWidth=14000] [maxHeight=20000]
0 !LDINSP INSTR [centerX=0] [centerY=-36.626] [centerZ=-12]
...
0 !LDINSP INSTR [step/modelX=-2] [step/modelY=-1]
0 !LDINSP INSTR [step/vLines=1] [step/hLines=1]
0 !LDINSP INSTR [step/maxColumns=1] [step/maxRows=0]
0 !LDINSP INSTRCMD [cmd=image] [before] [maxHeight=27700] [zoom=2.0] [shiftX=-1100.0] [maxWidth=19000] [shiftY=2200.0]
0 !LDINSP INSTRCMD [cmd=break] [before] [page]
0 !LDINSP INSTRCMD [cmd=text] [before] [text=Santa Clock (c) Philippe Hurbain]
...
0 !LDINSP INSTR [rotX=30] [rotY=-135] [rotZ=0]
0 !LDINSP INSTR [step/noResult=0]
0 !LDINSP INSTR [step/modelX=-1] [step/modelY=-1]
...
0 !LDINSP INSTRDIR [type=pli] [part=10928.dat] [color=72] [count=1]
...
0 !LDINSP INSTR [highlight=1] [highlightRgb=00FF00] [highlightWidth=1]
0 !LDINSP INSTR [step/pliBoxMaxWidth=0]
...
0 !LDINSP INSTR [rotX=30] [rotY=-135] [rotZ=0]
0 !LDINSP INSTR [highlight=1] [highlightRgb=FF0000] [highlightWidth=1]
...
0 !LDINSP INSTRCMD [cmd=break] [page]
0 !LDINSP INSTRCMD [cmd=bom] [maxWidth=10000] [sort=color,width,description,height,name]
0 !LDINSP INSTRCMD [cmd=text] [text=Santa Clock]
0 !LDINSP INSTRCMD [cmd=text] [text=(c) Philippe Hurbain]
...
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]
0 !LDINSP INSTR [step/pliBoxMaxWidth=5500]
...
0 !LDINSP INSTR [step/modelX=-2] [step/modelY=-1]
0 !LDINSP INSTR [step/newRow=1]
0 !LDINSP INSTR [step/vLines=1] [step/hLines=1]
0 !LDINSP INSTR [step/maxColumns=0] [step/maxRows=0]
0 !LDINSP INSTR [step/fillWidth=1]
0 !LDINSP INSTR [step/pliBoxMaxWidth=3900]
...
0 !LDINSP INSTR [step/pliSort=h,c,d,w,n]
0 !LDINSP INSTR [pli/maxWidth=7000] [pli/maxHeight=7000]
...
0 !LDINSP INSTR [tg/replace=76348.dat]
...
0 !LDINSP INSTR [aspart]
...
0 !LDINSP INSTR [inline]

 

Droits et Copyright

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

Suivre le forum LDraw.org la discussion concernant ce programme : LDInstruction (en anglais).

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