sketchucation logo sketchucation
    • Login
    🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    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

      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
      • TIGT Offline
        TIG Moderator
        last edited by

        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
        • pilouP Offline
          pilou
          last edited by

          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

            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

              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
              • First post
                Last post
              Buy SketchPlus
              Buy SUbD
              Buy WrapR
              Buy eBook
              Buy Modelur
              Buy Vertex Tools
              Buy SketchCuisine
              Buy FormFonts

              Advertisement