Question toute bête
-
Bonjour à tous,
Dans un plugin ruby, je cherche à enregistrer le fichier en cours (l'équivalent de ctrl+S).
J'essaie avec Sketchup.active_model.save Sketchup.active_model.path et ça ne fonctionne pas.
J'imagine que ça doit être simple mais ça fait une heure que je galère là-dessus.
Merci d'avance,
Boris
-
Sous Windows,
model.path
retourne le path du fichier mais avec des backslashs ().
Il est possible quemodel.save
n'accepte pas les backslash et qu'il faille les remplacer par des slash (/).Donc...
model = Sketchup.active_model path = model.path if path model.save path.gsub(/\\/, '/') else #nouveau fichier. Utiliser un nom predefini ou demander a l'utilisateur via UI.savepanel end
Tu peux aussi avoir un probleme quand le fichier comporte des caracteres non-ascii. Mais la, pas de solution simple en Ruby.
Fredo
-
Bonjour fredo,
Ton code ne plante pas mais ça n'enregistre pas.
ce qui est incroyable, c'est que si je fais Sketchup.active_model.save "c:/toto.skp" à partir d'un nouveau fichier ou d'un fichier déjà existant, le fichier est bien créé et enregistré mais si j'ouvre c:/toto.skp, que je le modifie et que je relance le même code, ça ne marche plus car quand j'ouvre le fichier de nouveau, mes modifs ont disparu
Advertisement