LDInstruction
(interface graphique : InstructionHelper)
Mise à jour de la page : 23 avril 2022.
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 :
- Télécharger la dernière version sur le site de l'auteur :
ldinstr.jar.
- Télécharger l'installateur Java (si besoin, voir Installation) :
ldiinst.zip.
Historique
- v0.3 du 05-03-2022 : Estompage des pages précédentes.
- v0.3 du 02-02-2022 : Page additionnelle.
- v0.3 du 25-01-2022 : Annotation PLI et BOM explicite.
- v0.3 du 07-01-2022 : Tri couleur sur PLI.
- v0.3 du 03-01-2022 : Instructions par défaut et locales.
- v0.3 du 30-12-2021 : Commandes d'instructions "text", "break" et "bom" ajoutées, gestion texte repensée,
mise à jour mise en page boite pli/inline, corrigé centre du modèle.
- v0.2 du 29-12-2021 : Corrige le problème des méta-commandes supprimées lorsque LDCad régénère des pièces.
- v0.2 du 28-12-2021 : Nouvelle mise à jour... du jour, pour clarifier les options INSTRCMD.
- v0.2 du 28-12-2021 : Ajout BOM.
- v0.2 du 19-12-2021 : Reprise des modif depuis v0.1, champ de saisie en rouge sur erreur.
- v0.1 du 18-12-2021 : Permet de diviser le conteneur pli/inline/model.
- v0.1 du 17-12-2021 : Supporte le remplacement de pièce.
- v0.1 du 16-12-2021 : Première version officielle.
- v0.0 du 14-12-2021 : Correction de problème de largeur de colonne (version instable).
- v0.0 du 13-12-2021 : Correction de boucle sans fin.
- v0.0 du 13-12-2021 : Version recompilée (pour Java 8 ou plus).
- v0.0 du 12-12-2021 : Première version publiée (pour Java 11 ou plus).
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 :
- Mettre le fichier ldinstr.jar dans le dossier de LDInspector.
- Ajouter un fichier run_ldinst.bat pour lancer le programme (voir ci-dessous).
Installation dans un dossier séparé de LDInspector
Si le programme LDInspector a été précédemment installé, il suffit :
- Créer un dossier pour LDInstruction (mon dossier perso : C:\LEGO\LDInstruction).
- Copier le dossier jdk-13.0.2 (le dossier javafx-sdk-13.0.2 n'est pas utile).
- Copier le fichier LDInspector.ldi (fichier de paramétrage).
- Ajouter le fichier ldinstr.jar téléchargé.
- Ajouter un fichier run_ldinst.bat pour lancer le programme (voir ci-dessous).
Installation sans LDInspector
Si le programme LDInspector n'a pas été installé, il faut :
- Créer un dossier pour LDInstruction (mon dossier perso : C:\LEGO\LDInstruction).
- Installer Java en suivant la procédure : LDInspector : Installation.
- Ajouter un fichier run_ldinst.bat pour lancer le programme (voir ci-dessous).
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) :
- POUR : Processus en une seule étape : Il n'y a pas de commande ayant des limites de plage "Début-Fin",
les commandes définissent uniquement des paramètres "A partir de maintenant".
- POUR : Comportement stable même pour de grands projets. A été testé avec un modèle comportant plus de 350 étapes
et un manuel d'instructions en sortie de plus de 320 pages.
- POUR : La plupart des options peuvent être modifiées pour chaque étape
(par exemple, la couleur de surbrillance, etc.).
- POUR : Vrai WYSIWYG (What You See Is What You Get), c'est-à-dire une interface qui permet de voir
à l'écran le résultat final, pour l'étape en cours, possibilité d'utiliser et/ou d'écraser
les angles ROTSTEP de LDCad/MLCad, .... mais uniquement pour l'image du modèle...
- POUR/CONTRE : Pas de commandes d'instructions complémentaires (pas de flèches, pas de lignes, pas d'édition
de nombres), mais cela est entièrement modifiable dans le fichier de sortie avec LibreOffice
(placement libre de tous les éléments, modification de toutes les couleurs de fonds
de page ou de cadre, ajout d'éléments comme des flèches et des lignes, textes et nombres modifiables).
- POUR/CONTRE : Concentrez-vous sur les étapes au lieu des pages. Donc (POUR), vous pouvez modifier ultérieurement
les étapes avec LDCad sans risquer les mises en page déjà faites. Mais (CONTRE), vous devez ré-exécuter le processus
de génération pour voir les changements de mise en page.
- POUR/CONTRE : Projection orthogonale. Pas d'option pour avoir une projection en perspective.
- POUR/CONTRE : Rendu entièrement logiciel. Pas d'accélération OpenGL/Vulkan/DirectX. Un peu lent
mais aucun pilote/matériel/bibliothèque spécial/e requis.
- CONTRE : Pas de WYSIWYG pour les pages (seulement l'image d'étape).
- CONTRE : Toutes les modifications effectuées avec LibreOffice Draw doivent être refaites
à chaque modification du fichier LDraw (dixit tchang).
Evolution :
- Les choses évoluant, la version v0.3 remet en cause les principes énoncés ci-dessus.
- Le paramétrage global apparait, et donc aussi le paramétrage local.
- Apparition des lignes séparateurs et des annotations.
Version 03-01-2022
- [step/vLines=0/1] et [step/hLines=0/1] : Lignes d'aide verticales et horizontales pour guider l'ordre
de construction dans les mises en page complexes.
- [step/annotate=0/1] : Ajouter des annotations pour les axes et les tuiles.
- [step/pliSort=SORTORDER] : Trier les pièces dans les PLI (pour SORTORDER, voir paramètre de tri BOM).
- [step/donePage=0/1], [step/doneRow=0/1] et [step/doneCol=0/1] : Insérer un saut de page/ligne/colonne
après l'étape en cours (au lieu de "new..." qui insère le saut avant l'étape en cours).
- La plupart des paramètres peuvent être préfixés par "default/" pour définir ce paramètre pour tous les sous-fichiers.
- Afficher un avertissement si des pièces indépendantes de la couleur (sous-modèles sans couleur 16/24) sont utilisées
dans des couleurs différentes (car elles apparaîtront pour chaque couleur utilisée).
Version 07-01-2022
- [colorOrder=ABC] : Spécifier l'ordre de tri des couleurs. Les identifiants doivent être
séparés par "," et peuvent être fusionnés dans le même classement par "+" (par exemple "0+256,3,4").
- [step/equalWidth=0/1] : La largeur de toutes les colonnes d'un conteneur est identique.
- [step/fillWidth=0/1] : Le conteneur à plusieurs colonnes utilise toute la largeur disponible.
- Nouvelle commande "dirbom" pour construire un inventaire manuellement
(si vous voulez que la nomenclature soit dans un ordre spécial, voulez remplacer des pièces
ou définir des paramètres de rendu de pièces spéciales, voulez assurer les sauts de page/colonne, ...).
- Nouveau concept de directive, pour le moment seule la directive "pli" est disponible pour
construire une PLI manuellement (si vous voulez le PLI..., voir "dirbom").
- Ajout d'info-bulles pour la plupart des options de l'interface graphique.
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 :
- Insert : Ajoute une méta-commande de directive "INSTRDIR".
- Edite : Edite la méta-commande sélectionnée.
- Delete : Supprime la méta-commande sélectionnée.
- Move up : Déplace la méta-commande sélectionnée vers le haut.
- Move down : Déplace la méta-commande sélectionnée vers le bas.
- Close : Ferme la boite de dialogue.
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".
- [type=pli] : Insérer une liste de pièces d'étape (PLI).
- Les paramètres requis sont :
- part : Créer la PLI pour la pièce spécifiée au lieu de toutes les pièces de l'étape.
- color : Couleur de la pièce insérée.
- count : Quantité.
- Les paramètres optionnels sont :
- newLine : Démarrer une nouvelle ligne dans la PLI pour cette pièce.
- annotate : Texte à insérer comme annotation pour cette pièce.
- ... : ... et toutes les options de rendu standard, comme rot..., shift..., etc.
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 :
- Insert : Ajouter une méta-commande d'inventaire.
- Edite : Editer la méta-commande sélectionnée.
- Delete : Supprimer la méta-commande sélectionnée.
- Move up : Déplacer la méta-commande sélectionnée vers le haut.
- Move down : Déplacer la méta-commande sélectionnée vers le bas.
- Close : Fermer la boite de dialogue.
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".
- [cmd=break] : Insèrer un saut. Le type de saut est spécifié par le paramètre
[page] (saut de page), [row] (saut de ligne), [column] (saut de colonne).
La valeur par défaut est un saut de page.
- [cmd=bom] : Construire l'inventaire.
- Les paramètres optionnels sont :
- part : Créer l'inventaire pour la pièce spécifiée au lieu du modèle complet.
- zoom, maxWidth, maxHeight : Spécifier les options générales de rendu de la pièce.
- cols, rows : Colonnes et lignes à utiliser pour l'inventaire.
- sort : Ordre de tri. Par défaut c,d,w,h,n.
- description, textWidth : Activer la description de la pièce, écraser la largeur de texte par défaut.
- text : Spécifier le texte de la description
(\n = nouvelle ligne, %n = nom, %N = nom de fichier, %c = nom de la couleur, %C = code de la couleur,
%a = nombre, %d = description).
- [cmd=dirbom] : Insérer une pièce d'un inventaire manuellement. Nécessite un paramètre part, color et count.
- Les paramètres requis sont :
- part : Créer la BOM pour la pièce spécifiée au lieu de toutes les pièces de l'inventaire.
- color : Couleur de la pièce insérée.
- count : Quantité.
- Les paramètres optionnels sont :
- cols, rows : Colonnes et lignes à utiliser pour l'inventaire.
- description, textWidth : Activer la description de la pièce, écraser la largeur de texte par défaut.
- text : Spécifier le texte de la description
(\n = nouvelle ligne, %n = nom, %N = nom de fichier, %c = nom de la couleur, %C = code de la couleur,
%a = nombre, %d = description).
- ... : ... et toutes les options de rendu standard, comme rot..., shift..., etc.
- [cmd=image] : Insérer une image du modèle, d'un sous-modèle ou d'une pièce. Les paramètres optionnels sont :
- part : Insérer l'image de la pièce spécifiée au lieu du modèle complet.
- color : Couleur de la pièce insérée. La valeur par défaut est 16.
- step : Limiter le modèle à un numéro d'étape donné. La valeur par défaut est le modèle complet.
- cols, rows : Colonnes et lignes à utiliser pour l'inventaire.
- ... : ... et toutes les options de rendu standard, comme rot..., shift..., etc.
- [cmd=text] : Insérer un texte. Exemple : [cmd=text] [text=gg hh].
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.
- Close : Ferme la boite de dialogue.
Méta-commandes
Voici toutes les méta-commandes et paramètres disponibles dans la dernière version :
- Elles peuvent toutes être définies dans l'interface graphique InstructionHelper.
Aucun mot-clé ne doit être mémorisé ou saisi (sauf pour les directives PLI "INSTRDIR" et l'inventaire BOM "INSTRCMD").
- Toutes les valeurs mcm sont des millièmes de centimètre, c'est-à-dire qu'une valeur de 1 est de 0,001 cm,
100 est de 1 mm et une valeur de 1000 est de 1 cm (à cause de la norme OpenDocument).
- Chaque modèle ou sous-modèle commence par les valeurs par défaut (seules les valeurs globales concernent
le modèle principal et tous les sous-modèles).
- La définition d'une méta-commande n'affecte aucune autre méta-commande, la nouvelle valeur est utilisée jusqu'à ce que
la méta-commande soit à nouveau définie (pas de comportement "début-fin", seulement du "à partir d'ici").
- Dans l'interface graphique, cocher la case "ovw." (pour "overwrite" ou "écraser") pour définir une valeur.
La valeur saisie dans le champ à droite de la case "ovw." n'est utilisée que si cette case est cochée.
Modifications sur le fichier LDraw du modèle :
- Toutes les modifications sont des commentaires LDraw (lignes de type 0) avec le préfixe
"0 !LDINSP INSTR", "0 !LDINSP INSTRSC", "0 !LDINSP INSTRDIR" ou "0 !LDINSP INSTRCMD".
- Chaque paramètre est entre crochets comme [clé=valeur].
- L'ordre ou la position de la ligne LDInstruction à l'intérieur de l'étape n'est pas pertinent,
ce qui signifie que vous pouvez placer chaque méta-commande LDInstruction pour une étape
n'importe où entre deux lignes STEP ou ROTSTEP du fichier.
- Pour plus de commodité, l'interface graphique InstructionHelper place toujours les
modifications de paramètres au début de l'étape et toujours dans le même ordre,
en organisant les options correspondantes par ligne
(par exemple, "rotX", "rotY" et "rotZ" sont sur une seule ligne et "step/maxColumns" et "step/maxRows"
sont dans une autre ligne).
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) :
- Le modèle principal a des paramètres globaux. Ceux-ci sont étiquetés avec "doc/"
(pour l'ensemble du document) ou "scope/" (options pour une partie spécifique
qui n'est pas une sous-partie du fichier mpd actuel).
- Chaque sous-modèle possède des informations sur la mise en page du conteneur
("step/maxColumns=0" et "step/maxRows=0" où "0" est la valeur spéciale pour
"mise en page automatique pour remplir la page").
- Le torse avec les bras et les mains est ajouté en tant que sous-modèle, sinon ces cinq pièces
seraient répertoriées comme des pièces distinctes dans la PLI (liste des pièces de l'étape) de l'étape 6.
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 :
- Paramètre global (préfixe : "doc/") qui ne peut être défini qu'une seule fois et ne peut apparaître
que dans la première étape du modèle principal.
- "doc/dpi" : Nombre de points par pouce (dot per inch) des images. Par défaut : 150.
- "doc/width" et "doc/height" : Largeur et hauteur de la page en mcm. Les valeurs par défaut sont 29700 et 21000,
ce qui donne un format DIN A4 en mode paysage.
- "doc/marge" : Marge en mcm. Par défaut : 1000.
- "doc/specialStuds" : Active les tenons spéciaux avec la couleur des bords pour un meilleur contraste
(par défaut : 0 signifiant "off").
- "doc/debugInfo" : Active les informations source et de débogage pour chaque étape
(par défaut : 0 signifiant "off").
- "doc/bgModel", "doc/bgPli" et "doc/bgSub" : Valeur de couleur RVB hexadécimale pour l'arrière-plan (fond) du modèle
(par défaut CFEFFF : bleu clair), l'arrière-plan de la liste des pièces d'étape
(par défaut BFDFFF : bleu clair plus foncé) et l'arrière-plan du sous-modèle en ligne
(par défaut FFF0CF : jaune clair).
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 :
- step/noPli : s'il est défini sur 1, l'étape n'aura pas de liste des pièces d'étape
(par défaut 0 signifie "afficher pli").
- step/modelX=-2 et step/modelY=-1 : Place le modèle horizontalement aligné à droite et centré verticalement
(0..n est un décalage fixe, -1 signifie "centré", -2 signifie "droit"/"bas").
- step/maxColumns=0 et step/maxRows=0 : Soit donner un nombre positif comme maximum de colonnes/lignes par page,
soit (indépendamment) la valeur 0 signifie "auto".
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 :
- Le paramètre de sous-modèle en ligne (préfixe : "inl/") définit les options concernant les modèles en ligne.
- "inl/zoom" : Facteur de zoom spécial en ligne qui est appliqué comme facteur.
- "inl/boxMaxWidth" : Largeur maximale de la boîte de sous-modèle en ligne en mcm ou
valeur spéciale 0 pour la taille automatique ou -1 pour la superposition de modèle
(par défaut : -1 signifiant superposition).
Exemple :
0 !LDINSP INSTR [inl/zoom=1.5]
Paramètres supplémentaires :
- De plus, la première étape d'un sous-modèle peut contenir au plus l'un des deux paramètres suivants.
- "inline" : Ajoute les étapes de ce modèle en tant que sous-étapes en ligne dans une boîte de sous-modèle en ligne.
- "aspart" : Traite ce sous-modèle comme une pièce, n'ajoute pas d'étapes ni de boîte en ligne.
Méta-commandes de sous-modèle "aspart"
Exemple :
0 !LDINSP INSTR [aspart]
- "aspart" : Traite ce sous-modèle comme une pièce, n'ajoute pas d'étapes ni de boîte en ligne.
Méta-commandes de sous-modèle "inline"
Exemple :
0 !LDINSP INSTR [inline]
0 !LDINSP INSTR [tg/replace=3001.dat]
- "inline" : Ajoute les étapes de ce modèle en tant que sous-étapes en ligne dans une boîte de sous-modèle en ligne.
- "tg/replace" : Pièce de substitution.
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) :
- Le paramètre de rendu du modèle (pas de préfixe) et le paramètre de rendu de la liste des pièces (préfixe : "pli/").
- "maxWidth" et "maxHeight" : Largeur et hauteur de l'image de rendu en mcm (par défaut pour le modèle : 20000 et 14000,
par défaut pour la pli : 5000 et 7000).
- "lineWidth" : Largeur des lignes de bord (par défaut : 1).
- "shadeWeight" : Facteur pour ombrer les couleurs en fonction de l'angle en absolu (par défaut : 5.4).
- "zoom" : zoom du modèle.
- "centerX", "centerY" et "centerZ" : Déplace le centre du modèle avant le rendu en coordonnées LDraw (par défaut : tout à 0).
- "rotX", "rotY" et "rotZ" : Faire pivoter le modèle ou la pièce avant le rendu en degrés (par défaut : 30/45/0 pour le modèle,
30/-45/0 pour la pli).
- "shiftX" et "shiftY" : Déplace l'image du modèle rendu en mcm (par défaut : 0/0).
- "highlight", "highlightRgb" et "highlightWidth" : Définissent la surbrillance pour les pièces ajoutées
dans l'étape en cours si "highlight=1", alors "highlightRgb" est la couleur hexadécimale (par défaut FF0000 rouge),
"highlightWidth" est la largeur du trait de surbrillance (par défaut 1). Si "highlight=0",
les autres paramètres sont ignorés.
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 :
- fadeoutRgb : Valeur RVB comme cible de fondu (par défaut FFFFFF = blanc).
- fadeoutFacesPercent : Valeur entière 0..100 spécifiant l'impact du fondu vers
fadeoutRgb (0 par défaut = pas de fondu).
- fadeoutTransPercent : Valeur entière 0..100 spécifiant le multiplicateur de transparence
(0 par défaut = transparence non modifiée).
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 :
- Le paramètre de rendu d'étape (préfixe : "step/") définit les options concernant la disposition et l'étape.
- "step/skip" : N'affiche pas cette étape (par défaut : 0 signifiant "afficher l'étape").
- "step/noResult" : Ignore l'étape résultante mais pas les pièces incluses
(par défaut 0 signifiant "afficher le résultat").
- "step/noPli" : Ne dresse pas la liste des pièces d'étape (par défaut : 0 signifiant "afficher la liste").
- "step/modelX" et "step/modelY" : Décalage X/Y exact de l'image du modèle rendu en mcm ou
valeurs spéciales -1 signifiant centré ou -2 signifiant alignement droit/bas (par défaut : -1 signifiant "centré").
- "step/newPage", "step/newColumn" et "step/newRow" : Démarre une nouvelle page/colonne/ligne pour cette étape
(par défaut : 0 signifiant pas de saut de page/colonne/ligne explicite).
- "step/maxColumns" et "step/maxRows" : Maximum de colonnes/lignes dans le conteneur de mise en page actuel
ou valeur spéciale 0 pour automatique (par défaut : 1 signifiant exactement une étape par page).
- "step/pliBoxMaxWidth" : Largeur maximale de la boîte de liste des pièces en mcm ou valeur spéciale 0
pour la taille automatique ou -1 pour la superposition du modèle (par défaut : 0 signifiant auto).
Le nom raccourci dans l'interface graphique est : "step/pliBMW".
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 :
- Peuvent être définies avec la méta-commande de couleur LDraw standard. Voir exemple ci-dessous.
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 :
- Les instructions de PLI étendu définissent les paramètres des pièces non incluses
(c'est-à-dire au standard LDraw). Voir exemple ci-dessous.
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 :
- [cmd=bom] : Insère un inventaire des pièces du modèle (nomenclature).
La valeur par défaut est le style de petite liste avec une image au-dessus de la quantité
(Voir les images "inventaire simple" plus bas).
Vous pouvez spécifier l'ordre de tri, le programme n'utilise que le premier caractère de chaque mot,
donc "color" fait la même chose que "colour" ou "couleur" ou seulement "c" de même que "clown".
(Voir les images "inventaire avec tri" plus bas)
Vous pouvez limiter la nomenclature à un sous-modèle avec une pièce en option.
Vous pouvez spécifier le drapeau [description] pour changer le style afin d'avoir une description
à droite de l'image (deuxième page de l'exemple). Dans ce style, vous pouvez spécifier la largeur
du texte, sinon la valeur par défaut sera 9000.
- [cmd=break] : Insère un saut, les paramètres possibles sont : [column], [row], [page] (par défaut),
pour colonne, rangée, page.
- [cmd=text] : Insère un titre de texte. Ne pas utiliser de crochets [] dans le texte xxxxxx,
cela casserait la syntaxe du méta-paramètre [text=xxxxxx].
Paramètres :
- Paramètre pour [cmd=bom] :
- facultatif [part=SUBFILE.ldr] pour limiter la nomenclature au sous-fichier donné
(s'il n'est pas fourni, la valeur par défaut est le fichier complet).
- facultatif [zoom=123.4] pour spécifier le zoom de la pièce dans la nomenclature
(s'il n'est pas fourni, la valeur par défaut est 1.0).
- facultatif [maxWidth=1234] et [maxHeight=1234] pour spécifier la largeur et la hauteur de rendu maximum en mcm
(si non donné, la valeur par défaut est 5000/7000).
- facultatif [cols=12] et [rows=12] pour spécifier le nombre maximum de colonnes et de lignes
(si non fourni, la valeur par défaut 0 signifiant "auto" est utilisée).
- facultatif [sort=c,d,w,h,n] pour modifier l'ordre de tri
(c=couleur, d=description, w=largeur, h=hauteur, n=nom par défaut).
- facultatif [description] pour passer d'une liste simple (image au-dessus de la quantité)
à une liste avec description (image à gauche de la quantité et de la description).
- facultatif [textwidth=1234] pour spécifier la largeur de la description uniquement
si la liste avec description est utilisée (si elle n'est pas fournie, la valeur par défaut est 9000).
- Paramètre pour [cmd=break] :
- facultatif exactement l'un de [column] ou [row] ou [page] (s'il n'est pas fourni, la valeur par défaut est [page]).
- Paramètre pour [cmd=text] :
Inventaire simple
|
|
Ensemble 603 |
Ensemble 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
|
Ensemble 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 :
- \n devient une nouvelle ligne.
- %n devient le nom de la pièce simple (exemple : "3001").
- %N devient le nom complet de la pièce (exemple : "3001.dat").
- %c devient le nom de la couleur (exemple : "white", peut être remplacé par le fichier de la couleur approprié).
- %C devient l'identifiant de la couleur (exemple : "15").
- %a devient la quantité.
- %d devient la description de la pièce (exemple : "Plate 2 x 4").
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 :
- shiftX et shiftY : Déplace l'objet après le rendu et avant le recadrage.
- pli/maxWidth et pli/maxHeight : Défini la taille maximale par pièce dans l'inventaire
de la liste de pièces (il y a une très grande pièce).
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 :
- La capture d'écran Screenshot_01 est prise directement sans modification.
- Après avoir construit le fichier odg et par l'utilisation de LibreOffice Draw,
Screenshot_02 montre une autre boîte d'assemblage de pièces en ligne déplacée vers la droite
et les lignes avec des flèches ajoutées manuellement.
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 :
- 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.
- Activer le commutateur "debugInfo" pour avoir un lien retour des instructions créées vers votre modèle.
- Déplacer les "vraies" pièces individuelles dans des sous-fichiers, par exemple des pièces d'articulation
techniques ou des torses de figurines.
- 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.
- 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.
- 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.
- Instructions de construction.
- Modifier les paramètres de rendu si nécessaire, définir explicitement la largeur de la boîte PLI/inline.
- 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.
- Ajouter éventuellement des lignes verticales et/ou horizontales, comme aux pages 2 et 3.
- 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.
- Désactiver le commutateur "debugInfo" et effectuer un dernier rendu.
- 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.