Ruby : pas de chargement des plugins
-
Bonjour ,
je n'arrive pas à executer des '.rb'.
par exemple par la console ruby je fais "load 'examples/box.rb" , elle me repond true mais rien ne se passe.
j'ai essayé sur SU 6 en francais et SU 7 , pareil.par contre en entrant ligne par ligne les instructions ruby dans
la console , ca marche.Il doit me manquer qque chose.
ce qui m'inquiete c'est que je n'ai trouvé personne ayant ce soucis.Windows XP
evidemment grand merci pour votre aide.
-
Bonjour,
serait-ce un problème de syntaxe ?
Dans la boîte de dialogue j'ai saisi pour mon cas:
load "E:\PluginLoader.rb" puis Entrée et ça fonctionne.
Je suis aussi sous Windows XP SP2 -
Salut et bienvenue !
Un plugin, en général est créé de la manière suivante :- Tu charges le plugin
- Tu cliques sur le menu ou l'icône correspondant.
Si tu édites le script
Box.rb
, tu verras à la fin une commande comme ça :UI.menu("Draw").add_item($exStrings.GetString("Box")) { create_box }
. Cela sert à indiquer à SketchUp où mettre le raccourci du plugin.
Ce qui veut dire : Dans le mneu "Draw", ajoute un nouveau raccourci qui s'appelle "Box" et qui entraîne la commandecreate_box
.
A partir du moment où ton script est chargé, une nouvelle ligne "Box" apparaît dans le menu Draw.Sinon tu peux aussi ouvrir la console ruby et entrer
create_box
. Cela fonctionne seulement si le script est chargé.Autre chose : Si tu veux que
Box.r
b soit chargé dès l'ouverture de Sketchup, mets tout simplement le fichier directement dans le dossier "Plugins". Pas de sous dossier quoi. -
OK merci à MAT666
en fait on load un '.rb' mais on 'execute' un 'def ...'
je pense que les '.rb' ne sont pas bien chargés au demarrage peut-etre à cause de répertoires mal francisés.
Qqu'un utilise la version francaise ?
autre question : de quelles commandes dispose-t'on dans la console ruby ? genre liste des fichiers chargés , interrompre un script ....
merci à tous
-
je comprends mal ton problème.
As-tu des soucis pour faire fonctionner des plugins ou bien veux-tu des renseignements sur la programmation Ruby ?
Il n'y a pas de commande pour interrompre un script Ruby en programmation. -
@unknownuser said:
autre question : de quelles commandes dispose-t'on dans la console ruby ? genre liste des fichiers chargés , interrompre un script ....
Pas de débugger ruby. On utilise généralement Notepad++.
Sinontu as un plugin de Jim Foltz, Ruby toolbar. Très intéressant !@unknownuser said:
en fait on load un '.rb' mais on 'execute' un 'def ...'
en gros c'est ça. Comme le lisp sur Autocad, soit dit en passant !
Il faut exécuter la commande après chargement du script.@unknownuser said:
je pense que les '.rb' ne sont pas bien chargés au demarrage peut-etre à cause de répertoires mal francisés.
Non aucun problème de ce coté là. Comme dit dans le premier message, si tu veux un script dès le démarrage de SU, il faut le déplacer dans le dossier "Plugins" en dur. Si tu as un dossier dans le dossier plugns, ça ne fonctionnera pas. Sauf si tu laisses un fichier script de balayage du dossier en question. Par exemple, aucun de mes scrips n'est dans le dossier plugins. J'ai seulement un fichier qui donne le chemin du dossier avec tous les scripts. -
je ne comprends pas tout avec la francisation.
les sources des '.rb' que j'ai ont des libelles en anglais or quand je utilise dans SU ils sont francisés.
par contre quand je charge 'examples/grid.rb' , 'grid' apparait dans 'outils' et je peux l'activer.
je pense que je vais y arriver mais c'est un peu deroutant.
et je n'ai pas envie de surcharger la version francaise par la version anglaise car
parfois ca joue des tours.En tout cas ce new_group a l'air actif.
j'y reviendrai surement.
merci
-
@unknownuser said:
les sources des '.rb' que j'ai ont des libelles en anglais or quand je utilise dans SU ils sont francisés
C'est normal, le script utilise un "dictionnaire".
Par exemple, dansbox.rb
, on peut voir avant chaque chaîne de caractère un$exStrings.GetString
(exemple :$exStrings.GetString("Height")
).Cette variable globale
$exStrings
et sa fonction.GetString(str)
font référence à un autre script disponible dans Google SketchUp 7\Tools\langhandler.rb, appelé dans le script d'appel des sous scripts Google SketchUp 7\Plugins\examples.rb comme ceci :$exStrings = LanguageHandler.new("Examples.strings")
. Ici on peut voir comment la variable globale$exStrings
a été créée.La fonction de création appelle un fichier "Examples.strings"... Celui ci est dipsonible dans Google SketchUp 7\Resources(en-US ou fr-FR)\examples.strings ! Si tu ouvres ce fichier avec le bloc notes, tu y verras un simple fichier texte avec toutes les traductions dont le script a besoin ! C'est simple mais il fallait y penser.
@unknownuser said:
En tout cas ce new_group a l'air actif
C'est le meilleur ! -
là je dis 'chapeau bas !'
a+
Advertisement