Test pour plugin...
-
Salut à tous !
Voici un plugin sur lequel je bosse depuis peu. Le but est de gérer l'échelle du plan directement depuis l'espace de travail.
Plusieurs avantages :
- La finalité est de pouvoir imprimer les vues directement (je ne suis pas encore là, mais la gestion des échelles depuis le dessin est réglée), sans avoir à faire des aperçus pour voir comment se comporte la vue à une échelle donnée
- Tourner la vue en fonction de la verticale de la face sélectionnée. Voir ce post.
- +1 pour la France
Un inconvénient :
- Pas fini !
Serait-il possible pour vous, chers activistes Sketchupiens, de tester ce script, et de m'en dire des news ? Et aussi voir l'évolution de tout ça... Des remarques, suggestions, etc.
Procédure :
- Cliquer droit sur une face pour sélectionner "Face2Face"
- Entrer l'échelle dans le VCB (le dénominateur de l'échelle seulement...)
Voilààà
Keskizenpenss ??Merci !
PS : Je ne créé pas ce post pour le match, évidemment...
-
Bonjour Matt,
Félicitation pour cette excellente idée de plug-in. Cela me sera très utile.
J'ai effectué quelques test de celui-ci et il semble qu'il y aurait un problème pour des échelles supérieures à 1:1000. Sur le plan d'implantation d'un site relativement grand sur lequel j'ai travaillé dernièrement, tout semble bien fonctionner dans des échelles inférieures à 1:1000 mais lorsque j'indique une échelle de 1 dans 1500 ou 1 dans 2000, le plan semble plus être dans une échelle de 1:15 ou 1:20.
Voilà pour mes premiers tests de ce plug-in en devenir.
Daniel
-
Bonjour,
J'ai testé avec une face de 10m x 5m. Je demande l'échelle 1/100°.
Je devrais donc avoir à l'écran un dessin de ma face de 10cmx5cm ?
Je mesure (avec Screen Ruler) la dimension à l'écran de la face, et là je ne trouve pas les bonnes dimensions (voir image).
Est-ce normal ou je n'ai rien compris à l'objectif du script ?
Est-ce dû à la résolution de l'écran ?
P.S.1: Le curseur est joli, mais je ne vois pas à quoi il sert.
P.S.2: Je suggère de changer le nom dans le menu pour le script définitif. Il serait peut-être bon d'avoir "Align View" en rosbeef et "Aligner la vue" en français, pour que ça corresponde avec l'option équivalente qu'on à quand on fait un clic-droit sur les axes.
P.S.3: le LanguageHandler ne sert à rien tant que le fichier .strings ne comprend pas le mot "Scale" avec ses traductions.Optimisation du code:
Sketchup.send_action("viewPerspective:") if camera.perspective? != false
peut s'écrire:
Sketchup.send_action("viewPerspective:") if camera.perspective?if normal != up and normal != Geom::Vector3d.new(0, 0, -1)
peut s'écrire:
if normal != up and normal != up.reverseBon, c'est du détail...
Sinon ça je ne comprends pas:$z = ($c1*100)/$c2-(@view.pixels_to_model(10,$a1))
Pourquoi 10 comme taille de pixel ???
Et ça non plus:
@view.zoom $z
@view.zoom(1/scale)
A quoi ça sert de calculer $z si la ligne d'après on change le zoom avec une autre valeur ?Explications please. Eclaires ma lanterne
-
Salut les gens !
@ Daniel,
Merci pour le retour !
Le zoom in est limité à 1/1000 nativement dans SU et les scripts. Je ne savais pas du tout ! Je vais trouver une pirouette !!@ Didier,
Merci pour tous ces conseils et ce gros retour très très intéressant !@unknownuser said:
Est-ce normal ou je n'ai rien compris à l'objectif du script ?
Ce n'est pas normal et tu as tout compris au script
Je travaille au mm et je n'ai essayé qu'avec de petites valeurs. Effectivement il existe un problème de précision.@unknownuser said:
P.S.1: Le curseur est joli, mais je ne vois pas à quoi il sert.
Je l'ai changé ce soir. Maintenant c'est juste le curseur sans le texte à coté. il sert à montrer qu'on est dans la commande, c'est tout. J'aime bien faire la différence entre SU en attente de commande et SU en action ! La différence noir-blanc du curseur a un gout de trop peu je trouve.
@unknownuser said:
P.S.2: Je suggère de changer le nom dans le menu pour le script définitif. Il serait peut-être bon d'avoir "Align View" en rosbeef et "Aligner la vue" en français, pour que ça corresponde avec l'option équivalente qu'on à quand on fait un clic-droit sur les axes.
Oui c'est une bonne idée ! Je ne savais pas quoi mettre comme nom
@unknownuser said:
P.S.3: le LanguageHandler ne sert à rien tant que le fichier .strings ne comprend pas le mot "Scale" avec ses traductions.
C'était une ligne pour me faire rappeler que je dois faire qqh à ce niveau !
@unknownuser said:
$z = ($c1*100)/$c2-(@view.pixels_to_model(10,$a1))
Lrsque j'effectuais des tests pour comprendre comment ça fonctionnait, je me retrouvais avec un ratio entre la dimension à l'écran et la dimension dans le dessin. Ce ratio correspond à pixel_to_model. Maintenant j'ai mis 10 parce que j'avais fait le test sur 10 et pas 1 ou autre d'ailleurs
A mon avis le problème de précision vient de là. Pour l'instant j'avoue ne pas trop comprendre pourquoi ça fonctionne avec pixels_to_model et à ce qu'il fallait mettre comme pixels dans la fonction. A creuser !@unknownuser said:
@view.zoom $z
@view.zoom(1/scale)
A quoi ça sert de calculer $z si la ligne d'après on change le zoom avec une autre valeur ?Le premier zoom ($z) sert à afficher la vue à l'échelle 1:1 à l'écran. Si on mesure avec Screen Ruler) la dimension de la face, elle doit être la même que la dimension dans le dessin. Ce qui n'est en fait pas le cas, comme tu l'as remarqué.
Le deuxième zoom (1/scale) sert, lui, à afficher la vue en fonction de l'échelle demandée par l'utilisateur. Je trouvais plus simple que de ne faire qu'une seule opération. Si tu as plus simple, n'hésite pas !Petite question : je crains fortement que les tandem "ruby - contrôle de l'impression" est assez bancal voire inexistant.... Peux-t-on imprimer depuis le ruby ????
Merci encore pour tous ces retours !
-
Bjr,
@unknownuser said:
Peux-t-on imprimer depuis le ruby ????
Non, à moins de faire appel à une commande win32ole.so ou qqchose comme ça (je m'en suis servi dans ADO), mais ça veut dire que le script n'est plus compatible Mac.
-
Merci pour ta réponse Didier !
@unknownuser said:
mais ça veut dire que le script n'est plus compatible Mac.
Grmbl. Ok.
@unknownuser said:
faire appel à une commande win32ole.so ou qqchose comme ça
Ca c'est un truc qui me surprendra toujours... C'est quoi tous ces fichiers supplémentaires bonus de ruby ???? Où les trouver ??? Comment interagir avec eux ?? Y a -til une liste de toutes les fonctions de dialogue avec ce fichier ?? Etc...
@unknownuser said:
Pour l'instant j'avoue ne pas trop comprendre pourquoi ça fonctionne avec pixels_to_model et à ce qu'il fallait mettre comme pixels dans la fonction.
Sais-tu ce qu'il faut mettre comme pixels dans la fonction ?
-
Bjr,
@unknownuser said:
C'est quoi tous ces fichiers supplémentaires bonus de ruby ???? Où les trouver ???
Ce sont des fichiers de Windows et pas de Ruby (comme leur nom l'indique). Tu les trouveras... sur ta machine, dans Windows/system32 la plupart du temps.
@unknownuser said:
Y a -til une liste de toutes les fonctions de dialogue avec ce fichier ??
Chez Micro$oft il doit bien y avoir qqchose, j'avoue que je ne me suis pas plongé plus que ça dans le truc.
Apparement on peut tout faire, par exemple utiliser des macros ou des commandes de logiciels, depuis un script Ruby:
require 'win32ole' application = WIN32OLE.new('Excel.Application') application.visible = TRUE workbook = application.Workbooks.Add(); worksheet = workbook.Worksheets(1); worksheet.Range('A1;D1').value = ['North','South','East','West'];
@unknownuser said:
Sais-tu ce qu'il faut mettre comme pixels dans la fonction ?
Non, il faut que je potasse.
Advertisement