Masquer dans les autres scènes
-
Bonjour !
Je ne sais pas si ce sujet a déjà été évoqué en français...Je trouve juste que le masque d'objets n'est pas développé à son potentiel maximal dans sketchup... Mais je ne m'y connais pas en ruby... en autolisp si !
Avec les masques, on pourrait :
- Masquer les entités sélectionnées dans la scène active (c'est ce que existe déjà)
- Masquer les entités sélectionnées dans les autres scènes, mais pas la scène active
- Masquer les entités sélectionnées toutes les scènes
- Tout afficher dans la scène active
- Tout afficher, dans toutes les scènes
- Isoler la sélection dans la scène courante (masquer les autres entités de la scène)
- Isoler la sélection dans les autres scènes (masquer les autres entités), mais pas la scène active
Etc, etc...
Ce qui m'intéresserais serait :- Masquer les entités sélectionnées dans les autres scènes, mais pas la scène active
- Existe t'il une routine RUBY qui ferait cela ?
Le 1 sert parce que j'ai une autre question...
2) Comment fait-on pour accèder (et afficher dans la console) aux popriétés d'un objet ??Je n'arrive pas du tout à faire cela... Par exemple de voir que l'objet sélectionné est une ligne, une face, etc...
Voilà...
Merci d'avance et bon courage !
A bientot.
Matt. -
Bonjour,
@unknownuser said:
Comment fait-on pour accèder (et afficher dans la console) aux popriétés d'un objet ??
Sélectionnes un objet et tapes dans la console:
Sketchup.active_model.selection[0].typename
Si tu veux aller plus loin il faut fouiller la doc Ruby (qui est très mal faite et bourrée d'erreurs )
-
Salut !
Ok merci ! Ceci dit ce n'est pas très encourageant !!!
Je crois qu'on ne peut pas faire comme en lisp, cad d'afficher TOUTES les propriétés d'une entité sous forme de liste... Par exemple, si on fait le même genre de procédé (cliquer sur une ligne et taper un code dans la ligne de commande), on arrive à une liste de tout ce qui a attrait à cette ligne
((-1 . <Entity name; 9c2d698>) (0 . "LINE") (5 . "36") (67 . 0) (8 . "0") (62 . 256) (6 . "BYLAYER") (370 . -1) (48 . 1.00000) (60 . 0) (39 . 0.000000) (10 0.138862 3.58955 0.000000) (11 9.45230 7.76866 0.000000) (210 0.000000 0.000000 1.00000))
Mais je doute que ce soit la même chose en ruby...
la base est Sketchup.active_model.selection[0]
puis on rajoute la propriété que l'on veut afficher.
Ok je comprends mieux...Désolé d'être demandeur d'explications comme cela, mais si je veux afficher le nom du calque de l'entité ?
Sketchup.active_model.selection[0]. ?????
Je vais tacher de regarder la doc ruby (d'ailleurs je ne vois pas de quelle doc il s'agit ... Serait-ce celle-ci ?) sans trop la regarder !!
Merci !
A bientot.
Matt. -
Bonjour,
@unknownuser said:
si je veux afficher le nom du calque de l'entité ?
Si tu as tapé avant:
objet = Sketchup.active_model.selection[0]
alors
objet.layer te donnera l'identifiant du layer (son objet ruby, pas son nom, car en Ruby, tout est objet).
objet.layer.name te donnera le nom du layer.Il n'y a pas de "entget" comme en Lisp. Autolisp est d'ailleurs bien plus puissant que Ruby, puisqu'en Ruby, pas moyen de faire appel à l'interpreteur de commande, du genre (command "_line" p1 p2...). Les commandes de création d'objet se font par les méthodes "add": Sketchup.active_model.entities.add_line p1,p2 par exemple.
C'est pénible car si tu veux utiliser une commande d'édition ou de modification, il faut l'écrire ou la re-écrire toi-même.
Pour la doc, c'est bien celle-là... Y'a pas mieux pour l'instant -
Bonjour,
Il existe un script pour cacher un élément sur les autres scènes qui s'appelle "hidden_layer.rb".
Je l'utilise souvent vers la fin de mon projet lorsque j'ajoute un élément, lequel se rerouve forcément sur toutes les autres scènes.
Pour l'utiliser, tu sélectionne le ou les éléments à cacher et tu active le script.
La première question te demande si et tu répond non à la première question est "Prompt at every scène? si tu répond non, alors il masque le ou les éléments sur toutes les autres sc`nes, sinon, il te le demande pourtoutes les scènes
-
Bonjour,
Il est en français sur mon site:
Page française, cliques sur Plugins métriques, puis va dans la section "selection-calque", c'est le premier de la liste: fr_add_hidden_layer.rbVoilà le lien direct:
http://www.crai.archi.fr/RubyLibraryDepot/Ruby/fr_add_hidden_layer.rb
-
Bonjour !!!
Didier Bur,
@unknownuser said:
objet.layer te donnera l'identifiant du layer (son objet ruby, pas son nom, car en Ruby, tout est objet).
Oui, comme un ename en lisp...
@unknownuser said:
objet.layer.name te donnera le nom du layer.
Ok. Il faut vraiment regarder les classes dans l'aide... Je commence à saisir ! C'est un peu comme du VB...
Par contre ça, je ne comprends pas...
@unknownuser said:
selection[0]
C'est quoi le [0], s'il te plait ? Si je t'embête avec mes questions, n'hésite pas à me le faire savoir...
@unknownuser said:
Autolisp est d'ailleurs bien plus puissant que Ruby
Ah ok... Merci pour cette info !
@unknownuser said:
il faut l'écrire ou la re-écrire toi-même.
Aille...
@unknownuser said:
Il est en français sur mon site:
Je ne suis pas sur que Bert parle de celui-ci...
Merci pour toutes ces infos !!
Bert,
@unknownuser said:
Il existe un script pour cacher un élément sur les autres scènes qui s'appelle "hidden_layer.rb".
D'accord... Donc il faut mettre les entités dans le bon calque. Ce n'est pas tout à fait ce que je cherche, mais ce code va pouvoir me montrer comment cacher dans les autres scènes... Très intéressant !
Merci !A bientot.
Matt.
Advertisement