J.C. Tchang |
Original Version On Philo's Site. |
Projector est un utilitaire qui permet d'embosser un motif plat sur une forme 3D. Chaque ensemble "motif plan" et "forme 3D" est fourni à l'utilitaire dans des fichiers LDraw séparés. Un troisième fichier contenant le "motif embossé" est crée.
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, en l'intégrant
dans le programme LDDP (voir plus bas) ou en
l'utilisant grâce à l'interface de LETGUI (voir plus bas).
Décompressez le fichier et mettez le programme
dans un simple dossier, comme vos autres utilitaires LDraw.
Exemple : c:\lego\projector
Voici une copie d'écran d'une simple exécution du programme :
Il est possible de lancer Projector à partir de LDraw Design Pad
(Téléchargeable ici : LDDP) en créant 1 fichier
projector.bat contenant :
cd c:\lego\projector
projector %1 %2\projector_form3D.dat %2\projector_result.dat
Nota : Le fichier doit être placé dans le dossier indiqué dans le champ "Path & Filename:" de la boite de dialogue ci-dessous. Dans cet exemple, le dossier des Plugins de LDDP.
Puis de configurer LDDP comme suit :
Pour pouvoir traiter dans LDDP le fichier courant comme fichier contenant le motif plan
réalisé avec Quad2dat (ou autrement).
Une fois configuré, vous pouvez lancer Projector dans LDDP en allant dans le menu Process/External Programs/User Defined Program, ou en cliquant sur l'icône "User Defined Program" de la barre d'outils "External Programs".
Le résultat du traitement se trouve dans le fichier projector_result.dat, placé dans le même dossier que le fichier du motif d'origine.
Nota : le fichier contenant la forme 3D doit systématiquement se nommer projector_form3D.dat et se trouver dans le même dossier que le fichier du motif ouvert dans LDDP. Pour utiliser un autre nom, il faut le modifier dans le fichier .BAT ci-dessus.
Il est possible de lancer Projector à 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.
3960s03, qui contient la face avant du bouclier, est décomposé (Inlined)
et nettoyé avec LDDP pour obtenir le fichier 3D.dat. Fichiers : 3960s03.dat, 3D.dat | |
En utilisant MLCad, le fichier 3D est aplati (voir méthode Ici).
Nota : Cette étape n'est pas indispensable, car Dat2QP fera
très bien cela à l'étape suivante. Des primitives de haute
résolution (cette résolution va bien à la pièce 3960) sont ajoutées pour les
motifs circulaires du bouclier. Cela favorise un dessin net. Ces primitives
sont ensuite décomposées avec LDDP. Fichier : shield1.dat | |
Ce fichier LDraw est converti au format Quad2Dat
en utilisant Dat2QP. Nous ouvrons alors ce fichier dans Quad2Dat et dessinons les 4 rivets. (En réalité, j'ai crée seulement 1/2 rivet avec Quad2Dat et dupliqué le résultat avec MLCad, puis converti une nouvelle fois le fichier final avec Dat2QP). Nous obtenons un fichier gabarit qui peut être utilisé pour les 4 boucliers Viking différents. Fichiers : shield1.qp, shield-template.qp Ligne de commande : Dat2QP shield1.dat shield1.qp | |
Maintenant commence la partie fastidieuse. Chaque facette vide du gabarit original doit être remplacée avec des polygones suivant le motif original. Comme chaque polygone du motif sera projeté sur une facette de la forme 3D correspondante, il doit être entièrement compris dans une seule facette du gabarit. Nota : la couleur rouge est ici utilisée à la place de la couleur rouge foncé, car Quad2dat exporte les facettes aux couleurs composites dans des fichiers LDraw séparés, ce qui n'est pas pratique. Un remplacement global arrangera cela plus tard. On peut également prendre n'importe quelle autre couleur de base, non utilisée, à la place, car le rouge est la couleur des entités sélectionnées dans Quad2dat. | |
Surtout, on doit utiliser la fonction Along line de Quad2dat
pour aligner les sommets des polygones des motifs avec les bords (ou côtés) des
facettes du gabarit. Ne les placez pas "à l'œil", car il en résulterait
des quadrilatères gauchis, des trous dans les motifs, ou des superpositions...
Après un "loooonnng" travail de vectorisation manuelle, vous obtenez le
motif final... | |
Nous exportons maintenant le résultat au format LDraw. Quelques
quadrilatères du gabarit original n'ont pas été supprimés et sont
partiellement recouverts par le motif argenté. Cela est nettoyé sous MLCad,
en reprenant des polygones corrects.
De même si des polygones du gabarit d'origine sont restés, il suffit
de les supprimer en sélectionnant sous MLCad tout ce qui a la couleur 16.
Si des éléments sont identiques ou symétriques, il n'est pas nécessaire
de les vectoriser avec Quad2dat, mais par duplication/rotation dans MLCad
on peut les dupliquer facilement. Fichier : shieldpatternflat.dat | |
Le motif plat est maintenant embossé sur la forme 3D, en utilisant
Projector. Fichier : shieldpattern3d.dat Ligne de commande : Projector shieldpatternflat.dat 3D.dat shieldpattern3d.dat | |
Pour garder une petite taille au fichier, le motif est séparé en sous-fichiers,
en utilisant la sélection par couleur dans MLCad. En même temps, on en profite
pour remplacer la couleur rouge (ou une autre), utilisée durant la vectorisation sous Quad2dat,
par le couleur rouge foncé (Dark Red=320), et le gris est remplacé par la couleur
argent (Chrome=Silver=383). Fichier : 3960p07b.dat | |
Le second sous-fichier, est partagé avec d'autres boucliers Viking.
Ce sous-fichier contient aussi les lignes conditionnelles (type 5) extraites
du fichier du bouclier original sans motif. Fichier : 3960p07a.dat | |
Voici le résultat final, le bouclier complet. Fichier : 3960p07.dat |
Le programme Projector, ses fichiers sources, ses fichiers exemple 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.
Traduction et Adaptation : J.C. Tchang.
Les autres programmes cités dans cette page appartiennent à leurs auteurs respectifs.