• Login
sketchucation logo sketchucation
  • Login
🔌 Quick Selection | Try Didier Bur's reworked classic extension that supercharges selections in SketchUp Download

Ruby : Récupérer des éléments issues d'un explode

Scheduled Pinned Locked Moved Français
5 Posts 3 Posters 729 Views 3 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    MathiasC
    last edited by 31 Aug 2015, 12:36

    Bonjour,

    Je cherche depuis un moment un moyen de récupérer des éléments issues d'un explode depuis un code Ruby.

    Je m'explique :

    Nous avons un client qui utilise uniquement la version "Make" donc nous n'avons pas la possibilité d'utiliser la fonction substract pour faire une jointure automatique entre 2 éléments.

    Par une astuce réfléchie en interne, nous avons donc décidé d'utiliser une autre fonction, à savoir "Follow me".

    En gros, j'ai un composant à un point de départ, j'utilise les coordonnées de base de ce composant pour tracer des lignes et je souhaite utiliser ensuite la fonction follow me pour reproduire le dessin de mon composant sur les lignes que j'ai tracé.

    Mais pour utiliser la fonction follow me, je dois faire un explode de mon composant et prendre la face que je souhaite utiliser. Mon soucis, c'est que je ne sais pas comment la récupérer suite à mon explode. J'ai essayé de stocker ça dans un tableau mais j'ai un message m'indiquant que j'essaye de travailler sur un élément qui n'existe plus.

    Si quelqu'un a déjà fais quelque chose de similaire, je suis preneur!

    Si je n'ai pas été assez clair n'hésitez pas à me le dire.

    1 Reply Last reply Reply Quote 0
    • T Offline
      TIG Moderator
      last edited by 31 Aug 2015, 13:31

      Make a group to contain what you are about to make.
      model=Sketchup.active_model ants=model.active_entities group=ants.add_group()
      If there is a preselected path use something like group=ants.add_group(model.selection)
      ents=group.entities
      Get the existing group entities [if any]...
      gents=ents.to_a
      Now add the component: assuming the component-definition's reference and the transformation need to locate it...
      instance=ents.add_instance(component_definition, transformation)
      Now explode the instance:
      instance.explode
      Now get the new entities...
      new_entities=ents.to_a-gents


      Formez un groupe pour contenir ce que vous vous apprêtez à faire.
      model=Sketchup.active_model ants=model.active_entities group=ants.add_group()
      Si il ya une utilisation de trajet présélectionné quelque chose comme group=ants.add_group(model.selection)
      ents=group.entities
      Obtenez les entités du groupe existantes [le cas échéant] ...
      gents=ents.to_a
      Maintenant, ajoutez le composant: en supposant que la référence de la composante-définition et de la transformation doivent localiser ...
      instance=ents.add_instance(component_definition, transformation)
      Maintenant exploser l'instance:
      instance.explode
      Maintenant obtenir les nouvelles entités ...
      new_entities=ents.to_a-gents

      TIG

      1 Reply Last reply Reply Quote 0
      • P Offline
        pilou
        last edited by 31 Aug 2015, 13:42

        En dehors de la solution technique de TIG...

        Ce que je ne comprends pas c'est en quoi le fait de recevoir des composants ou autres d'une version Make empèche de faire quoi que ce soit d'opération booléenne avec la version Pro ? 😲

        Une petite image aurait été la bienvenue! 😄
        En quoi un composant A et B réalisés dans Make empèchent de faire une opération boolénne de différence ou autre dans la Pro?
        Un truc m'échappe! 💚

        Frenchy Pilou
        Is beautiful that please without concept!
        My Little site :)

        1 Reply Last reply Reply Quote 0
        • M Offline
          MathiasC
          last edited by 31 Aug 2015, 14:35

          Non justement Pilou c'est l'inverse.

          En gros, on a fait un script Ruby sur une version "PRO" qui utilisait la fonction "Substract" donc pas de problème, il fonctionnait à merveille... jusqu'à ce qu'on le teste chez le client, en version "Make" chez lui et que l'on s’aperçoive que cette fonction n'était pas disponible.

          On a donc cherché une alternative gratuite pour contourner le problème.

          Je n'ai pas encore testé la solution de TIG, je vais m'y pencher. J'espère que ça va solutionner une partie de mes problèmes! Si ce n'est pas le cas, je me creuserais encore la tête 😄

          1 Reply Last reply Reply Quote 0
          • M Offline
            MathiasC
            last edited by 1 Sept 2015, 07:59

            Bonjour,

            Suite à une recherche toute bête sur SketchUp Ruby API et avec l'aide du code de TIG, j'ai réussi à faire ce que je voulais!

            Merci beaucoup d'avoir pris le temps de me répondre.

            Bonne journée!

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            1 / 1
            • First post
              2/5
              Last post
            Buy SketchPlus
            Buy SUbD
            Buy WrapR
            Buy eBook
            Buy Modelur
            Buy Vertex Tools
            Buy SketchCuisine
            Buy FormFonts

            Advertisement