J.C. Tchang |
Original Version On Philo's Site. |
L'utilitaire Selector permet de sélectionner les éléments de surface d'un maillage dans un fichier LDraw, en étendant la sélection d'une ou plusieurs surfaces prédéfinies par leur couleur clef à ses voisines. Cette expansion peut s'arrêter suivant divers critères, en rencontrant une ligne de bord, ou un angle plus prononcé, ou à tous les éléments connectés. Les lignes de bords et les lignes conditionnelles entourant ou bordant la sélection peuvent également être sélectionnées. La sélection est faite en changeant la couleur des éléments par une couleur clef. Facultativement, la sélection peut être déplacée à la fin du fichier de sortie.
C'est une simple application en ligne de commande. Le code source est fourni ci-dessous, pour celui qui voudrait l'intégrer dans une interface plus conviviale. Il est possible de l'utiliser sous Windows, grâce à l'interface LETGUI de Michael Heidemann, ce qui est hautement recommandé (voir plus bas).
Décompressez le fichier et mettez le programme
dans un simple dossier, comme vos autres utilitaires LDraw.
Exemple : c:\lego\selector
Voici une copie d'écran d'une simple exécution du programme :
Il est possible de lancer Selector à partir d'une interface
plus conviviale que la ligne de commande. LETGUI crée par Michael Heidemann
est fait pour cela.
Pour plus d'informations générales sur cette interface, allez sur la page LETGUI.
Les exemples suivants sont basés sur ce maillage, une capture 3D de la pièce 2421 de LDD. Ce maillage est composé de 4 zones non connectés, la barre, le support de barre, la brique, et le tenon. Quelques triangles dans chaque zone ont été colorés en utilisant MLCad. | |
En utilisant les options par défaut, la partie cylindrique de la barre est sélectionné, puisque le fichier source contenait 1 triangle rose foncé (couleur clef par défaut). Les lignes de bord bordant cette zone sont aussi sélectionnées. Ligne de commande : Selector 2921.dat sel1.dat | |
Comme vous pouvez le voir, les lignes conditionnelles du cylindre sont également sélectionnées. | |
Si l'option -x+ est utilisée, la barre en entier est sélectionnée. Les zones non connectées (pas de bord commun) ne sont pas sélectionnés. Ligne de commande : Selector -x+ 2921.dat sel2.dat | |
Dans les modèles LDD (comme également beaucoup de modèles LDraw !), les tenons sont simplement posés sur la surface supérieure, et non connectés avec elle. Lorsque vous adaptez le maillage 3D de LDD au standard LDraw, les tenons ont besoin d'être substitués par des primitives. Sélectionner les tenons est facile, il suffit de colorer un triangle (ici en rouge) sur chaque tenon, d'utiliser l'option -x+, et tous les éléments de tenons LDD (y compris lignes de bord et lignes conditionnelles) peuvent être sélectionnés et supprimés en une fois ! Ligne de commande : Selector -x+ -k 4 2921.dat sel3.dat | |
Lorsque la pièce contient beaucoup de tenons (comme sur les plaques de base), colorer un triangle sur chaque tenon peut être fastidieux ! Dans ce cas, il est plus simple de travailler à l'envers, en colorant un élément de chaque zone qui n'est pas un tenon. Ici je veux sélectionner toutes les zones vertes, tout en utilisant l'option -s pour grouper les éléments sélectionnés à la fin du fichier. Comme ouvrir un fichier énorme dans MLCad peut être très lent (une plaque de base LDD peut avoir un fichier de plusieurs Mo), il est plus rapide d'utiliser un éditeur de texte pour supprimer les tenons ! Ligne de commande : Selector -x+ -k 2 -s 2921.dat sel4.dat | |
Ici nous voyons l'usage du paramètre couleur de l'option -c. Les lignes de bord limitant la zone sélectionnée sont maintenant colorées différemment, permettant de les sélectionner spécifiquement. Ligne de commande : Selector -c 1 2921.dat sel5.dat | |
Voici est un exemple montrant la sélection avec une limite d'angle (exemple et image de J.C. Tchang). En limitant l'expansion des surfaces à un angle de 30°, nous sommes capables de sélectionner la face latérale de cette tête de vache d'un modèle LDD. Ligne de commande : Selector -a 30 64780.dat 64780b.dat | |
Voici est un autre scénario de sélection, avec la pièce 98585 en provenance de LDD. Nous avons besoin de supprimer les trous de cheville et les trous d'axe, qui seront remplacés par des primitives. Comme il y a beaucoup de zones séparées par des lignes de bord dans les trous d'axe, il peut être fastidieux de colorer un triangle dans chaque zone. Nous allons donc utiliser une méthode un peu tordue pour simplifier les choses... La première étape est de créer une barrière à la sélection au fond et devant la pièce pour "isoler" les trous. Le fichier 98585a.dat est le quart de la pièce (créé à partir du fichier de maillage LDD en utilisant le programme Symsplitter). Un triangle du fond (z+) et un triangle de la face avant (z-) sont colorés en bleu (couleur clef = 1). | |
Nous étendons les zones bleues... Ligne de commande : Selector -k 1 98585a.dat 98585b.dat | |
En utilisant MLCad, nous colorons en rose foncé un élément de chaque trou. Il en résulte le fichier 64780c.dat. | |
Maintenant, nous étendons les zones rose foncé (couleur clef par défaut) à tous les éléments connectés (option -x+). L'extension s'arrête lorsqu'elle rencontre une face qui n'est pas en couleur principale (couleur 16), donc les zones bleues ne sont pas sélectionnées. Naturellement, puisque nous avons trié ici les éléments avec l'option -s nous aurions pu utiliser l'option -d+ pour remettre tous les éléments à leur état non coloré, mais l'image ci-contre est plus explicite sans cela... Ligne de commande : Selector -x+ -s 98585c.dat 98585d.dat | |
Nous enlevons maintenant, dans le fichier 98585d.dat, les lignes après 0 // Key colored elements, en utilisant LDDP ou MLCad. Ici le résultat dans le fichier 98585e.dat. Les éléments des trous sont complètement supprimés, en incluant les lignes conditionnelles (toujours difficiles à enlever manuellement). |
Le programme Selector et son manuel d'utilisation appartient à (c) Philo (Philippe Hurbain).
Vous pouvez le retrouver sur son site et sa page des utilitaires LDraw, et sur la version d'origine en anglais de cette page.
Les autres programmes cités appartiennent à leurs ayants droits respectifs.
Traduction et Adaptation : J.C. Tchang.