sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Problème de pente

    Scheduled Pinned Locked Moved Français
    20 Posts 6 Posters 883 Views 6 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.
    • B Offline
      Boris VAISMAN
      last edited by

      Ah, ben voila une réponse qui m'intéresse mais me met également dans l'embarras...

      Donc, si je comprends bien, tu me dis que dans les composants dynamiques, ROTX, ROTY et ROTZ correspondent aux rotations par rapport aux axes des composants ?

      Moi, je croyais naïvement que c'était les rotations par rapport aux axes du projet.

      Quelqu'un peut confirmer ou infirmer, s'il vous plait ?

      Désolé de vous embêter avec des questions triviales mais je suis un bleu dans le domaine...

      1 Reply Last reply Reply Quote 0
      • DareDevilD Offline
        DareDevil
        last edited by

        @boris vaisman said:

        Donc, si je comprends bien, tu me dis que dans les composants dynamiques, ROTX, ROTY et ROTZ correspondent aux rotations par rapport aux axes des composants ?
        Moi, je croyais naïvement que c'était les rotations par rapport aux axes du projet.
        Quelqu'un peut confirmer ou infirmer, s'il vous plait ?

        Petit test simple :
        Test.skp Peu importe où tu place le composant, quand tu modifies les angles de rotation, il tourne autour de la pointe de la flèche.

        Regarde aussi les trois fichiers que j'ai posté ici, tu verra que chaque fois que la rotation est utilisée, c'est autour de l'axe propre du composant.

        1 Reply Last reply Reply Quote 0
        • TIGT Offline
          TIG Moderator
          last edited by

          A DC ROTates relative to its axes.
          It's easy to test: make a DC that rotates about its Z-axis, with onClick.
          Lay it on its side and it still rotates about its Z-axis, never that of the model.
          Un DC tourne par rapport à ses axes.
          C'est facile à tester: faites un DC qui tourne autour de son axe Z, avec onClick.
          Déposez-le sur le côté et il tourne encore sur son axe Z, jamais celle du modèle.

          TIG

          1 Reply Last reply Reply Quote 0
          • B Offline
            Boris VAISMAN
            last edited by

            Alors, vous avez surement remarqué que dans les exemples que vous m'avez fournis ainsi que dans le mien posté ici, on ne peut pas tourner à la fois autour de deux axes simultanément (quand on change une valeur sur un axe, il remet les deux autres à 0) , la seule solution que j'ai trouvée pour contrer ça est de créer trois variables et de dire que ROTX=VARX, ROTY=VARY et ROTZ=VARZ.

            Dans mon exemple ici, comment expliquez vous que suite à mes deux rotations autour de Y et Z, le chevron ait aussi fait une rotation autour de son propre axe X ?

            C'est ce qui me fait dire que c'est par rapport aux axes du projet et non par rapport à ses propres axes.

            Je suis dubitatif (et ce n'est pas un gros mot...) 😆


            test rotations.skp

            1 Reply Last reply Reply Quote 0
            • DareDevilD Offline
              DareDevil
              last edited by

              @boris vaisman said:

              Alors, vous avez surement remarqué que dans les exemples que vous m'avez fournis ainsi que dans le mien posté ici, on ne peut pas tourner à la fois autour de deux axes simultanément (quand on change une valeur sur un axe, il remet les deux autres à 0)
              Oui, ça c'est "normal", du moins connu... On ne peut pas attaquer directement une rotation sans qu'elle se remette à 0. Si on veut le faire dans la fenêtre des "Attributs du composant" il faut mettre un "=" avant pour conserver la valeur.

              @unknownuser said:

              Dans mon exemple ici, comment expliquez vous que suite à mes deux rotations autour de Y et Z, le chevron ait aussi fait une rotation autour de son propre axe X ?
              C'est ce qui me fait dire que c'est par rapport aux axes du projet et non par rapport à ses propres axes.
              Ce sont les joies de la rotation sur trois axes. Si tu fait une rotation de 180° sur les Y et de 180° sur les Z, c'est comme faire une rotation de 180° sur les X ! Étonnant, non ! 😉
              C'est donc normal que quand on tourne sur deux axes on trouve une composante qui pourrait être effectuée sur le troisième axe.
              Pour ton cas, pour ton arêtier, tu ne travailleras essentiellement qu'avec deux angles (azimut et relèvement) parce que la pièce reste sur son champ, elle ne déverse pas.

              1 Reply Last reply Reply Quote 0
              • B Offline
                Boris VAISMAN
                last edited by

                Bon, ok pour le signe égal je saurais pour la prochaine fois. Merci beaucoup...

                Par contre, si les trois axes sont indépendants et sont bien les axes du composant, pourquoi une rotation sur deux des trois axes me donne aussi une rotation sur le troisième ???
                (dans l'exemple précis que tu donnes, ROTY=180 et ROTZ=180 équivaut bien à ROTX=180, ce sont deux façons différentes de positionner au même endroit le composant mais ça ne signifie pas que tourner autour de deux axes fait aussi tourner autour du troisième)

                Excusez moi encore d'essayer de bien comprendre mais je suis vraiment largué, là

                1 Reply Last reply Reply Quote 0
                • DareDevilD Offline
                  DareDevil
                  last edited by

                  En fait, quand on travaille sur trois axes, quand on fait des rotations, l'ordre a une importance. Dans les composants dynamiques, Sketchup a choisi de les faire dans l'ordre autour des axes X, Y puis Z. Dans ton exemple, la logique est respectée et le résultat est bien une rotation sur l'axe Y (l'élément se lève) puis sur l'axe Z (il bascule sur le coté). Je pense d'ailleurs que ça doit âtre pour ça que si on attaque directement les angles de rotation par une valeur, il remet les autres à 0.
                  Pour revenir à ton cas, on est bien dans une logique azimut et élévation, mais l'ordre pose en effet un problème...
                  J'explore ça, et je reviens...

                  1 Reply Last reply Reply Quote 0
                  • DareDevilD Offline
                    DareDevil
                    last edited by

                    Si l'axe X était l'axe vertical, tout marcherait bien... mais c'est pas comme ça 😉
                    Donc, une solution possible, c'est de mettre ce composant dans un autre qui permet de tourner le monde localement pour avoir les X verticaux. Du coup, on manipule le sous-composant avec les rotations autour des axes X et Y, X pour régler l'azimut et Y pour l'élévation. Pour la longueur ça se règle avec le LenZ. Il ne reste plus qu'à calculer ces valeurs à partir des données que tu as.


                    test-rotations_DD.skp

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      Boris VAISMAN
                      last edited by

                      Effectivement, ta solution est valide, je n'aurais franchement pas trouvé...

                      Par contre, je crois sincèrement que Sketchup est buggé sur les composants dynamiques. Cela fait un petit mois que je suis dessus et j'ai déjà trouvé je ne sais combien de parades pour arriver à mes fins.

                      Dans le cas qui nous intéresse et dans l'hypothèse où on fait les rotations dans l'ordre X, Y et Z, si je fais une rotation sur Y et une autre sur Z, je persiste à penser qu'il ne devrait pas y avoir de rotation sur X. Donc on peut en conclure qu'il faut s'arranger pour faire des rotations simultanées uniquement sur X et Y...

                      Franchement c'est lourd... 👊

                      1 Reply Last reply Reply Quote 0
                      • B Offline
                        Boris VAISMAN
                        last edited by

                        En reprenant ta méthode et en l'adaptant un peu, j'ai réussi à faire enfin ce que je voulais...

                        D'abord, mon composant chevron

                        Je fais un trait dessus, je crée un autre composant avec le trait et le composant chevron -> Composant 2 (le trait sert uniquement à faire en sorte que le chevron devienne un sous composant)

                        Je masque le trait .

                        Je fais d'abord ma rotation sur Y dans le sous composant puis ma rotation sur Z dans le composant... Et miracle !!! (en PJ) 😍


                        test rotations.skp

                        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