J.C. Tchang |
Original Version On Philo's Site. |
SlicerPro 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 découpé et embossé" est crée.
SlicerPro n'est pas une version professionnelle d'un éventuel outil "Slicer",
mais une version nettement améliorée de mon utilitaire
Projector.
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\SlicerPro
Voici une copie d'écran d'une simple exécution du programme :
Il est possible de lancer SlicerPro à 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.
SlicerPro a été intégré dans l'éditeur de pièce LD Part Editor, voir la page : LD Part Editor, et particulièrement le chapitre Projection de motif : SlicerPro.
Avec la version actuelle v1.1 le motif doit être au moins aussi grand que la forme 3D. S'il est plus petit, il y aura des trous dans le résultat. Cela peut être complété en ajoutant les éléments manquants avec LPC et l'usage d'un gabarit non plan.
Images de gauche à droite :
Dans cet exemple simple, aucune option n'est nécessaire. Ligne de commande : Slicerpro patchworky.dat cone.dat conepat.dat |
Vous n'avez pas besoin de décomposer les sous-fichiers avant d'utiliser SlicerPro.
Ici la demie sphère utilise une primitive "4-8sphe.dat" agrandie, qui est décomposée (inlined),
c'est-à-dire que les éléments du fichier de la primitive sont mis dans le fichier
de la forme 3D avec la bonne taille et la bonne orientation, en utilisant l'option
-sf. Quand vous décomposez des primitives de la bibliothèque LDraw, vous avez également
besoin de spécifier le dossier d'installation de LDraw avec l'option -l.
Notez que le motif, et la forme en demie sphère, sont dans le plan X-Y, donc nous avons besoin de
projeter dans la direction Z (option -z).
Ligne de commande : Slicerpro -z -sf -l "c:\ldraw" stripesz.dat hsphere.dat hspherepat.dat |
SlicerPro prend également soin du sens BFC des faces pour vous. Ici le motif
et la forme 3D ont des faces avec des orientations mixtes, alors que le résultat est homogène.
Selon votre besoin vous devrez ou non inverser globalement le sens de toutes les faces.
Suivant la direction de projection, le résultat est BFC CCW lorsque l'on regarde
de droite (-x), de dessus (-y),
ou de face (-z).
Ligne de commande : Slicerpro -z stripesz.dat hspherebfc.dat bfc.dat |
Le motif peut s'étendre en dehors de la forme 3D, il est alors coupé automatiquement
par SlicerPro. Notez l'utilisation de l'option -sp
pour décomposer les primitives utilisées dans le fichier du motif.
Ligne de commande : Slicerpro -l "c:\ldraw" -sp -z eye.dat 3DZ.dat eye1.dat |
Mais si vous regardez les images précédentes attentivement, vous voyez
qu'un minuscule intervalle existe autour du sourcil, là où les quadrilatères ordinaires
rencontrent les primitives. Celui qui a fait ce modèle (moi !) était trop paresseux pour
calculer les coordonnées avec précision... Cela paraît bien sûr dans le résultat (image centrale).
Heureusement l'unification des sommets de SlicerPro peut être utilisée pour corriger
cela (image de droite). Si vous augmentez la tolérance de l'unification (-ut 0.2),
tous les points séparés par une distance inférieure seront confondus, fermant efficacement
les intervalles.
Notez l'usage de l'option -uo pour prévenir l'unification des sommets dans le fichier de sortie : Puisque quelques points ont été légèrement déplacés, quelques quadrilatères ne sont plus parfaitement plans. De façon alternative, le motif pourrait être projeté sur un grand quadrilatère avec haute valeur de tolérance d'unification, ensuite le motif résultant sera projeté sur la forme 3D. Ligne de commande : Slicerpro -l "c:\ldraw" -sp -z -ut 0.2 -uo eye.dat 3DZ.dat eyecorr.dat |
Quand vous regardez le résultat précédent, qui utilise le mode couleurs aléatoire de
LDView (menu "Edit / Preferences...", onglet "General", et cocher
"Random colors" dans la zone "Colors"), vous pouvez voir que certains éléments sont coupés
(le long du bord du motif) puisqu'ils ont 2 couleurs différentes, alors qu'ils devraient
avoir la même couleur (image de gauche). Avec l'option -m, les éléments
de la forme 3D sont fusionnés et mis tel quel dans le fichier de sortie,
et portant ensuite une même couleur (image de droite). Le seul inconvénient de cette méthode
est la création de jonctions en T.
Ligne de commande : Slicerpro -l "c:\ldraw" -sp -z -ut 0.2 -uo -m eye.dat 3DZ.dat eyem.dat |
Il arrive parfois que les bords du motif sont très proches de ceux de la forme 3D...
Lorsque cela arrive, de très petits éléments, quadrilatères tordus ou ayant des sommets alignés
peuvent être crées.
Ligne de commande : Slicerpro -l "c:\ldraw" -sp -z target.dat 3DZ.dat targetbad.dat L'option de précision -p peut aider. En effet, réduire la précision (augmenter la valeur de -p) aidera, lors du calcul de l'intersection, durant le processus de coupe, à faire "sauter" les sommets du motif en dehors du rayon d'attraction des sommets de la forme 3D. Naturellement vous ne pouvez pas réduire trop la précision car les motifs peuvent être endommagés. Ligne de commande : Slicerpro -l "c:\ldraw" -sp -z -p 0.01 target.dat 3DZ.dat targetok.dat |
Bien que les lignes (entités de type 2) ne soient pas normalement utilisées
dans les motifs, SlicerPro sait les gérer. Dans cet exemple nous voulons
appliquer un cercle sur un cylindre pour obtenir une ligne courbe en dos d'âne.
Cette ligne peut ensuite être utilisée avec Coverer
ou PathTruder pour créer des surfaces à partir de cela.
Notez que c'est une application ou Projector peut être
meilleur que SlicerPro : Puisqu'il ne coupe pas les choses, vous déformez
la ligne sans introduire beaucoup de nouveaux segments.
Ligne de commande : Slicerpro -l "c:\ldraw" -sp -sf edge.dat cylinder.dat saddle.dat |
L'auteur de pièce Arezey a utilisé une version préliminaire
de SlicerPro pour créer le motif de la pièce
"Technic Sprocket Wheel 25.4 with Bionicle Life Counter Pattern"
(57520p01.dat).
Les fichiers ont été aimablement fournis par Arezey.
Ligne de commande : Slicerpro -sp lfc\cntpat.dat lfc\cntform.dat lfc\counter.dat Remarquez dans cet exemple que les fichiers sont dans un sous-dossier lfc. Résultat sur la pièce finie : |
Le programme SlicerPro, ses fichiers sources, ses fichiers exemples et son manuel d'utilisation appartiennent à (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.