@didier bur said:
Qu'est ce que le paramètre hcomp ? Il manque du code là-dedans...
<hcomp> est effectivement une Hash Table qui sert a enregistrer les composants traitees. En effet, quand on parcourt la selection, on peut tomber sur plusieurs instances du meme composant, et en realite, on ne doit appliquer la modification de texture qu'une seule fois, pour la definition du composant, ce qui modifiera toutes ses instances.
Dans le cas present, cela n'a effectivement pas d'impact (au pire on change plusieurs fois la texture du meme composant!).
Pour le material, il faut utiliser l'objet <model.materials.current> et non son nom
Enfin, il me semble aussi que la ligne "model.commit_operation" est mal placee. Mieux vaut ecrire:
model.start_operation "Texturiser selection"
process_seltxt model.selection, {}, active_material
model.commit_operation
Ci-joint une version modifiee du script
Fredo
PS1: Didier a raison de dire que la fonction de texturage d'une selection existe en standard dans le user interface de Sketchup. Mais je remarque que ton script texture les deux cotes des faces, ce qui n'est effectivement pas disponible en standard
PS2: il me semble qu'en Sketchup Ruby, on ne peut pas creer un nouveau materiel qui est une copie d'un existant (materials.add cree un nouveau material vide). Si quelqu'un connait une methode, cela me rendra service!
PS3: Sorry for non-French speaking members!
seltxt Modif.rb