LSynth Version 2

Mise à jour de la page : 21 janvier 2009.
    Set 700/1 de 1950
J.C. Tchang
 

Ce programme additionnel à LDraw et MLCad est un générateur de pièces LEGO "souples", c'est-à-dire modéliser les tuyaux, câbles électriques, courroies, bandes de roulement, etc.


Exemple de tuyau synthétisé par LSynth sous MLCad.

 

Objet du programme LSynth

L'idée de base de LSynth est de créer (synthétiser) les pièces LEGO "souples", à partir de segments de pièces rigides. Vous demandez à LSynth ce que vous voulez créer, en lui spécifiant le type, la couleur, et les contraintes de la pièce dont vous avez besoin, directement dans votre fichier .ldr ou .mpd.

L'utilisation se fait à partir de méta-commandes spéciales, définies pour LSynth, combiné avec des pièces LDraw spécifiques et standards, qui définissent les conditions et contraintes de la pièce à obtenir.

Dans le sous-dossier "Examples" du dossier d'installation de LSynth, vous pouvez trouver un fichier "example.mpd" qui contient plusieurs exemples de tuyaux, câbles et bandes de roulement.

 

Installation de LSynth

Le programme d'installation installe en réalité deux programmes : l'interface graphique lsynth qui va lancer le programme générateur lsynthcp qui lit votre fichier .dat ou .ldr ou .mpd, et crée les pièces générées dans ce même fichier, ou dans un nouveau fichier.

Le programme d'installation installe également quelques pièces LDraw non officielles, dont vous avez besoin pour définir certaines contraintes, et obtenir la pièce désirée.

Téléchargement du programme

Vous pouvez télécharger le programme d"installation de la version 2.0 directement avec LSynth_setup.exe, ou aller sur la page d'acceuil LSynth de Kevin Clague pour plus d'informations.

Installation du programme

En prérequis, les programmes LDraw et MLCad doivent être installés et fonctionnels, de préférence dans des sous-dossiers de C:\Lego\.

Lancez l'exécutable "LSynth_setup.exe" et installez-le de préférence dans le dossier C:\Lego\LSynth à côté de vos autres programmes LDraw et MLCad.

Après avoir vérifié l'existence des programmes LDraw et MLCad, ce qui peut prendre un certain temps, LSynth s'installe.

Configuration de MLCad.ini

Il faut, en premier, définir le chemin du programme LSynth dans le fichier MLCad.ini.

Editez le fichier MLCad.ini se trouvant dans le dossier d'installation de MLCad avec un simple éditeur de texte. Puis, allez à la fin du fichier, au chapitre [LSynth], et sur la ligne qui suit, insérez le chemin en absolu du programme LSynth entre les "" (voir exemple sur l'image ci-dessous).

Nota : Le chemin est le dossier d'installation de LSynth contenant l'exécutable Lsynth.exe et non le sous dossier \bin qui contient lsynthcp.exe.

Si l'icône "Ajouter une commande LSynth..." reste grisée dans MLCad, c'est que le chemin n'est pas correct.

Configuration de l'arborescence des pièces

Il faut ensuite définir une nouvelle branche dans l'arborescence des pièces. Allez dans le menu "Réglages / Arbre des pièces / Configuration de l'arbre...", ce qui permet d'ouvrir la fenêtre suivante :

Il suffit de rentrer dans le champ "Nom :" LSynth et dans le champ "Rechercher" <~Lsynth | ( Fiber & End ) | ( Axle & End & Piece ).

Nota : chaque mot doit être séparé des caractères (, ), |, et & par un espace, sinon vous obtenez un message d'erreur.

Vous pouvez ensuite changer l'ordre des branches en cliquant sur les boutons "Monter" et "Descendre", et valider en cliquant sur le bouton "OK". La nouvelle branche est alors directement opérationnelle.

Une autre méthode préconise de ne mettre que <~Lsynth dans le champ "Rechercher :" et de modifier la première ligne des fichiers LS30.DAT et LS40.DAT pour y ajouter <~LSYNTH. Cette méthode à l'inconvénient d'être perdue lors de la mise à jour complète de la bibliothèque des pièces LDraw.

En conclusion, vous devez avoir 4 pièces dans la branche LSynth :

Pour plus d'informations allez voir le chapitre "Configurer l'arbre des pièces" si vous avez installé l'Aide en ligne MLCad en Français.

 

Utilisation

L'utilisation de LSynth est à la fois simple et ouverte à de nombreuses possibilités qu'il faut définir.

Pour commencer, il faut savoir ce que l'on veut synthétiser.

Il faut donc définir le Format général des commandes permettant de débuter et mettre en place le cadre d'une synthétisation.

Ensuite, il faut ajouter les contraintes différentes si la pièce appartient à la catégorie des pièces ouvertes (Type HOSE), comme les tuyaux, ou fermées (Type BANDE), comme les courroies.
Cela va influer sur les types de contraintes à insérer dans le fichier. Pour cela il faut se référer aux chapitres Contraintes des pièces ouvertes (HOSE) ou Contraintes des pièces fermées (BAND).

Puis à partir des chapitres définissant chaque type de pièce synthétisée, vous pourrez connaître les possibilités et contraintes spécifiques à chaque type.

Enfin, il faut lancer l'exécution de LSynth, et la création de la pièce synthétisée.

Nous allons ajouter un chapitre sur les commandes MLCad cachant ou montrant les éléments constitutifs de la pièce synthétisée.

Pour terminer, un chapitre est consacré aux problèmes rencontrés, avec leur contournement s'il existe.

 

Format général des commandes

Le format général des méta-commandes pour créer toutes les pièces souples est de la forme :


	0 SYNTH BEGIN XXXX N
	0 SYNTH SHOW ou SYNTH HIDE
        (Liste des pièces LDraw, et méta-commandes définissant les contraintes)
	0 SYNTH SYNTHESIZED BEGIN
        (Liste des éléments de pièces générées par LSynth)
	0 SYNTH SYNTHESIZED END
	0 SYNTH END 

Les 3 lignes en bleu (2 premières et dernière) sont les lignes des méta-commandes de base LSynth. Sur la première ligne XXXX définit le type de pièce souple à obtenir, et N sa couleur (Numéro de couleur LDraw).

Il faudra insérer, après les 2 premières, les pièces LDraw et méta-commandes définissant les contraintes, qui peuvent varier suivant les pièces à générer.

Les lignes en rouge sont les lignes générées par LSynth. La première et la dernière encadrant la liste (qui peut être longue), des pièces élémentaires composant la pièce synthétisée.

Insertion des méta-commande de base

Ce sont les mots-clefs qui disent quel type de pièce souple vous voulez synthétiser, et la couleur de la pièce générée.

Pour insérer les 3 lignes de méta-commandes générales, allez dans le menu "Extras / LSynth / Ajouter une commande...", et la boite de dialogue suivante apparaît :

Il suffit de choisir un type de pièce dans le menu déroulant, puis de valider en cliquant sur "OK".

Le choix doit se faire dans les 12 premières lignes du menu déroulant (textes en majuscules).

Liste des types de pièces synthétisées :

Les 3 lignes génériques correspondantes sont alors insérées dans le fichier.

Exemple :


	0 SYNTH BEGIN CHAIN 16
	0 SYNTH SHOW 
	0 SYNTH END 

Vous pouvez également accéder à cette boite de dialogue en cliquant sur le bouton correspondant de la barre d'outil Expert (6ème bouton) .

Nota : Il est possible d'insérer plusieurs groupes de méta-commandes LSynth dans un même fichier. Il suffit de ne pas se tromper en plaçant chaque ligne de contrainte derrière sa bonne ligne SYNTH BEGIN.

Couleur de la pièce synthétisée

Par défaut la valeur 16, définissant la couleur "Main-color", est affectée aux entités générées par LSynth.

La première ligne insérée peut être éditée, en double cliquant dessus, ou en la sélectionnant et en allant dans le menu "Edition / Modifier...".
Vous pouvez alors modifier ce nombre par une autre valeur de couleur.

Si vous voulez avoir systématiquement une certaine couleur à la place de la couleur par défaut, il suffit de modifier le fichier MLCad.ini, dans la section Commandes Lsynth.

Après synthétisation de la pièce souple, il est toujours possible d'en changer la couleur en sélectionnant toutes les lignes générées et en changeant leur couleur de façon habituelle.

Meta-commande HIDE et SHOW

Sur la seconde ligne peut être placé soit SYNTH SHOW, soit SYNTH HIDE.

L'ajout de ces méta-commandes se fait à partir du menu déroulant vu précédemment, aux deux dernières lignes (Visibility Statement :).

Malheureusement, l'insertion se fait avec 2 autres lignes SYNTH SHOW et SYNTH END inutiles.


	0 SYNTH HIDE
	0 SYNTH SHOW 
	0 SYNTH END 

	0 SYNTH SHOW
	0 SYNTH SHOW 
	0 SYNTH END 

De même SYNTH HIDE perturbe le fonctionnement des commandes MLCad permettant de montrer ou cacher les éléments LSynth, et SYNTH SHOW est inséré avec les méta-commandes de base, aussi il semble préférable d'éviter ces insertions.

 

Contraintes

Après les 2 premières lignes, il faut insérer les pièces et méta-commandes servant de contraintes à la pièce à générer.

Catégories HOSE et BAND

LSynth utilise deux types d'algorithmes de calcul, pour générer deux types de pièces souples.

La liste des types de pièces ouvertes ayant besoin des contraintes de type (HOSE) :

La liste des types de pièces fermées ou en boucle ayant besoin des contraintes de type (BAND) :

Suivant la catégorie, les contraintes générales sont différentes.

Contraintes des pièces ouvertes (HOSE)

Pour tous les types de pièces ouvertes il faut utiliser une pièce de contrainte spéciale LSynth qui définit obligatoirement le point de départ et le point d'arrivée. Cette même pièce sert également, de façon optionnelle, pour définir un ou plusieurs points de passage.

Cette pièce LSynth est dans tous les cas LS00.DAT. Elle a l'apparence d'une flèche qui pointe vers la fin de la pièce souple à générer.
L'ordre des lignes du fichier contenant LS00.DAT détermine le point de départ, les points de passages, et le point d'arrivée.


La pièce LS00.DAT montrée ici en jaune, avec le repérage des axes lorsqu'elle est positionnée à l'origine.

Cette pièce définit non seulement la position XYZ des points, mais également la direction prise par la pièce synthétisée à ce point. De même, l'ergot sur le coté définit l'orientation angulaire (pour les pièces de section non cylindriques comme les câbles électriques).

Points de départ et d'arrivée

Ces deux points doivent être obligatoirement définis.

Avant synthétisation Après synthétisation

Nous voyons, sur ces images d'un tuyau synthétisé, que le bord de la collerette sert de plan de départ et d'arrivée du tuyau.

Nous voyons également que la contrainte de départ a été mise en vert, et la contrainte d'arrivée en rouge. Il n'est pas obligatoire d'affecter ces couleurs, mais c'est une aide lorsqu'il y a plusieurs pièces à synthétiser dans un même fichier, et pour analyser le résultat lorsqu'il ne correspond pas à ce qui était attendu.

Orientation 1 Orientation 2
 
  Orientation 3

L'orientation du point de départ influe sur l'orientation des câbles non cylindriques. Mais comme on le voit sur l'orientation 3 pas sur le point d'arrivée.

Points de passage

Les points de passage ajoutent des contraintes supplémentaires de lieu et orientation à la pièce synthétisée.

Avant sans contrainte
de passage
Après
Avant avec 1 contrainte
de passage
Après

Conseil : Ne mettez pas trop de contraintes rapprochées, vous risquez de voir apparaître des boucles, ou torsions disgracieuses.

Contraintes des pièces fermées (BAND)

Ces pièces forment des pièces souples en boucle, et sont composées d'éléments de base différents pour chaque type de pièce générée (voir dans chaque chapitre correspondant au type voulu plus loin).

Ces éléments de base s'enroulent sur des pièces LDraw standard, comme les poulies (pulleys), pins, pignons (gears) et roues (wheels).


Exemple de courroie s'enroulant sur 2 poulies de diamètre différent.

Pour que le résultat soit correct, toutes les pièces de contrainte doivent être dans un même plan.

Il faut se reporter aux chapitres correspondants pour voir quelles sont les pièces LDraw valides pour chaque type de pièce souple généré par LSynth.

De même, nous y verrons les méta-commandes additionnelles possibles pour définir les croisements et de quel côté le chemin va passer.

Contraintes Cross

Cette contrainte permet de croiser une courroie. Son format est particulier :


Exemple de courroie se croisant.

	0 SYNTH BEGIN RUBBER_BAND 14
	0 SYNTH SHOW 
        Pièce de la première Poulie
	0 SYNTH CROSS
        Pièce de la seconde Poulie
	0 SYNTH CROSS
	0 SYNTH END 

Pour son fonctionnement il est nécessaire de mettre une meta-commande SYNTH CROSS après chacune des deux poulies. En effet il y a un croisement de la première à la seconde poulie, et au retour un croisement de la seconde à la première.

Nota : L'utilisation de la boite de dialogue pour insérer cette méta-commande est problématique, car elle insère également des SYNTH SHOW et SYNTH END supplémentaires qu'il faut effacer.
Une solution est d'insérer directement cette méta-commande dans un commentaire avec comme texte : SYNTH CROSS.

Contraintes Inside et Outside

Ces méta-commandes permettent de faire passer une courroie d'un côté ou l'autre d'une poulie. Il est nécessaire d'avoir au minimum 3 poulies pour cela, car avec 2 poulies la courroie ne peut être qu'à l'extérieur.


	0 SYNTH BEGIN RUBBER_BAND 14
	0 SYNTH SHOW 
        Pièce de la première Poulie
        Pièce de la seconde Poulie
	0 SYNTH OUTSIDE
        Pièce de la troisième Poulie
        Pièce de la Poulie suivante si besoin
	0 SYNTH INSIDE
	0 SYNTH END 
Sans INSIDE et OUTSIDE Avec INSIDE et OUTSIDE

Ces méta-commandes fonctionnent généralement par paire : SYNTH OUTSIDE met les poulies qui suivent à l'extérieur de la boucle. Il faut mettre ensuite SYNTH INSIDE, pour revenir sur les poulies intérieures.

Mais dans l'exemple suivant seul OUTSIDE ou INSIDE a été utilisé :


	0 SYNTH BEGIN RUBBER_BAND 14
	0 SYNTH SHOW 
	0 SYNTH OUTSIDE ou INSIDE
        Pièce de la première Poulie
        Pièce de la seconde Poulie
        Pièce de la troisième Poulie
	0 SYNTH END 
Avec OUTSIDE Avec INSIDE

 

Exécution de LSynth

Pour lancer l'exécution de LSynth, et synthétiser la pièce "souple", allez dans le menu "Extras / LSynth / Démarrer LSynth", ou cliquez sur le bouton correspondant de la barre d'outil Expert (7ème bouton) .

 

Visualisation des pièces synthétisées et des contraintes

Après l'exécution de LSynth, les pièces synthétisées sont visibles et les contraintes sont mises en commentaires, et ne sont donc plus visibles sous MLCad, ce qui est compréhensible pour les contraintes de type HOSE l'est moins pour celle de type BAND, puisque les roues ou poulies sont cachées.

Il est possible de modifier cet état de fait avec les boutons :

 

Types des pièces HOSE

Tuyau annelé

La première méta-commande est :


	0 SYNTH BEGIN RIBBED_HOSE 16 

Exemple :

La construction utilise deux éléments de base :

Tuyau Rigide

La première méta-commande est :


	0 SYNTH BEGIN RIGID_HOSE 16

Semble non opérationnel.

Câble électrique ?

La première méta-commande est :


	0 SYNTH BEGIN FLEX_CABLE 16 

Semble non opérationnel.

Tuyau lisse

La première méta-commande est :


	0 SYNTH BEGIN FLEX_SYSTEM_HOSE 16 

La construction utilise deux éléments de base :

Câble électrique

La première méta-commande est :


	0 SYNTH BEGIN ELECTRIC_CABLE 16 

Exemple :

Cet exemple montre deux circuits en noir (couleur 0). Chaque circuit a ses propres méta-commandes et contraintes.

La construction utilise un seul élément de base :

Nota : Pour les petits câbles de section, après création avec LS10, vous pouvez remplacer avec un éditeur de texte tous les LS10 par XWIRE.DAT.
Remplacez, de même, les boîtiers électriques 5306.DAT par 5306A.DAT, si le morceau de câble d'origine se voit.

Tuyau pneumatique

La première méta-commande est :


	0 SYNTH BEGIN PNEUMATIC_HOSE 16 

Exemple :

Cet exemple montre plusieurs circuits avec 3 couleurs différentes. Chaque circuit a ses propres méta-commandes et contraintes.

La construction utilise deux éléments de base :

Flexible d’entraînement

La première méta-commande est :


	0 SYNTH BEGIN FLEXIBLE_AXLE 16 

Exemple :

La construction de cet axe flexible utilise deux éléments de base :

Fibre optique

La première méta-commande est :


	0 SYNTH BEGIN FIBER_OPTIC_CABLE 16

Exemple :

La construction utilise trois éléments de base :

 

Types des pièces BAND

Courroie

La première méta-commande est :


	0 SYNTH BEGIN RUBBER_BAND 16 

Exemple :

La construction utilise un élément de base :

Les pièces de contraintes utilisables sont :

Commandes additionnelles :

Chaîne

La première méta-commande est :


	0 SYNTH BEGIN CHAIN 16 

Exemple :

La construction utilise un élément de base :

Les pièces de contraintes utilisables sont :

Attention, dans la nouvelle version la pièce 3648.DAT a été remplacée par la 3648B.DAT. Cela ne fonctionne pas. Il faut aller dans le dossier "parts" de LDraw, supprimer le fichier 3648.DAT et copier 3648B.DAT en 3648.DAT. Recompilez la liste ou éditer en mode texte votre fichier .ldr pour changer 3648B par 3648.

Commandes additionnelles :

Bande de roulement

La première méta-commande est :


	0 SYNTH BEGIN PLASTIC_TREAD 16 

Exemple :

La construction utilise un élément de base :

Les pièces de contraintes utilisables sont les mêmes que pour CHAIN :

Bande caoutchouc crantée

La première méta-commande est :


	0 SYNTH BEGIN RUBBER_TREAD 16 

Exemple :

La construction utilise deux éléments de base :

La pièce de contrainte utilisable est :

 

En cas de problème

 

Droits et Copyright

Le programme LSynth est la propriété de Kevin Clague.

Le programme MLCad est la propriété de Michael Lachmann.

Cette page est de : J.C. Tchang. Elle a été faite à partir des informations disponibles en Anglais et de tests sous MLCad version 3.20 en Français.