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

    Composants dynamiques - exemples

    Scheduled Pinned Locked Moved Français
    20 Posts 5 Posters 2.5k Views 5 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.
    • DareDevilD Offline
      DareDevil
      last edited by

      @unknownuser said:

      C'est normal que le clapet se détache du vérin ?

      Non, pour moi ça marche...
      Tu utilises bien l'outil d'interaction des composants dynamiques, la petite main le doigt levé ?
      Peut-être qu'avec une machine moins puissante, Su n'arrive pas à tout calculer...

      1 Reply Last reply Reply Quote 0
      • franky83220F Offline
        franky83220
        last edited by

        ça marche auusi chez moi, beau boulot ! Mais Pilou est en V6, ça doit coincer.

        1 Reply Last reply Reply Quote 0
        • pilouP Offline
          pilou
          last edited by

          @unknownuser said:

          la petite main le doigt levé ?

          Bien sûr, sinon il ne se passerait rien de rien! 💚

          @unknownuser said:

          Peut-être qu'avec une machine moins puissante, Su n'arrive pas à tout calculer...

          Possible, avec mon minitel, c'est sûr que cela n'est pas un foudre de guerre! 😄

          Quand il y a des composants dynamiques j'utilise la V7 : normalement cela marche très bien! ☀

          Je vais essayer sur une autre machine en V8 😒

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

          1 Reply Last reply Reply Quote 0
          • pilouP Offline
            pilou
            last edited by

            OK Marche nickel en V8 sur un TO7! 😎 Allez comprendre pourquoi cela se désolidarise en V7 ? 😲

            D'un point de vue "physique" comment se fait le le mouvement des pièces l'une par rapport à l'autre ?
            "Sketchyphysics" n'est pas en marche?
            C'est recalculé position après position et affiché en direct?

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

            1 Reply Last reply Reply Quote 0
            • chriC Offline
              chri
              last edited by

              @unknownuser said:

              OK Marche nickel en V8 sur un TO7! 😎 Allez comprendre pourquoi cela se désolidarise en V7 ? 😲

              D'un point de vue "physique" comment se fait le le mouvement des pièces l'une par rapport à l'autre ?
              "Sketchyphysics" n'est pas en marche?
              C'est recalculé position après position et affiché en direct?

              %(#008000)[Bonjour PILOU

              le mouvement est réalisé par une fonction d'animation déclenchée par un clic .

              voici 2 vidéo qui illustrent bien les fonctions onClic , ANIMATECUSTOM :
              http://www.youtube.com/watch?v=UAfchXqU2_o

              les tuto en francais à propos des composants dynamiques ayant été réalisé par notre collégue Tenrev ( présent au meeting sur la dame de Canton ) .

              chri]


              fonction onClick.png

              1 Reply Last reply Reply Quote 0
              • pilouP Offline
                pilou
                last edited by

                Oui, oui, pour les fonctions, mais c'est le résultat qui m'interpellait, puisque le bras du vérin à l'air de rentrer en coulissant dans sa gaine 😄
                Il n'y a donc rien de "phsysique" (un objet "poussant" l'autre) 😄

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

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

                  @unknownuser said:

                  Oui, oui, pour les fonctions, mais c'est le résultat qui m'interpellait, puisque le bras du vérin à l'air de rentrer en coulissant dans sa gaine 😄
                  Il n'y a donc rien de "phsysique" (un objet "poussant" l'autre) 😄

                  Non, il n'y a absolument rien de physique, les positions et rotations de chaque composant sont calculées paramétriquement d'après la position de la hauteur de l'eau.
                  J'aime bien cette approche par rapport à une résolution "physique" parce qu'on est obligé de comprendre ce qu'il se passe et on doit décrire numériquement les choses. Comme ici le problème est dévaluer l'allongement du vérin par rapport à l'angle du clapet, si on a un problème on peut facilement jouer sur les paramètres (dimension du clapet, longueur du vérin, amplitude de la hauteur d'eau...) pour trouver une solution qui fonctionne.
                  Après, si ça devient trop compliqué, il vaut mieux utiliser SketchyPhysics parce que l'analyse devient infaisable... et là, ça m'intéresse moins 😄

                  1 Reply Last reply Reply Quote 0
                  • pilouP Offline
                    pilou
                    last edited by

                    D'ailleurs dans un sens, c'est peut-être plus souple puisque dans ce cas-là les objets peuvent s'interpénétrer aux frntières sans "bloquer" tout le système! 😄

                    C'est du visuel avant tout, avant la validation "matérielle" qui elle risquera de bloquer s'il y a un millimètre de frottemment 😄

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

                    1 Reply Last reply Reply Quote 0
                    • pilouP Offline
                      pilou
                      last edited by

                      D'ailleurs dans un sens, c'est peut-être plus souple puisque dans ce cas-là les objets peuvent s'interpénétrer aux frontières sans "bloquer" tout le système! 😄

                      C'est du visuel avant tout, avant la validation "matérielle" qui elle risquera de bloquer s'il y a un millimètre de frottemment! 😄

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

                      1 Reply Last reply Reply Quote 0
                      • PatrickP Offline
                        Patrick
                        last edited by

                        Je mouline ton travail et je vous en reparle ...

                        Ya pas à dire faut que je me replonge dans les calculs... 🤢

                        La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

                        1 Reply Last reply Reply Quote 0
                        • PatrickP Offline
                          Patrick
                          last edited by

                          Bon ben mon cher Daredevil va falloir te mettre à table et cracher le morceau, dare dare et fissa mon evil...

                          D'un composant vérin (fut et tige) connecté à un composant clapet (rien dedans) on en arrive à un composant global (Tout) incluant le composant#1 (le bajoyer) le composant#5 (l'eau retenue en amont), le composant#6 (l'eau de déverse en aval)...
                          Structure.jpg
                          Les composants#2 et 3 n'ont pas grand intérêt dans l'histoire car ce sont des sous-ensembles du fût. On peut très bien les éclater pour les intégrer dans le fût et simplifier l'arborescence...

                          Après on se retrouve avec des attributs de composants suivant...
                          Atttibuts.jpg

                          Que tu mette ANIMATECUSTOM(Niveau,3,,,490,590) pour OnClick je comprends que cela détermine le comportement pour le clic sur 'Tout'.
                          tout.jpg

                          Mon problème c'est que tu mets dans la zone personnalisée "AngleClapet =90-2.9-ACOS((Niveau-clapet!Z)/252.5)"
                          Puis "AxeY =clapet!Y+cos(Tout!AngleClapet+5.6)*247.6
                          Puis "AxeZ =clapet!Z+sin(Tout!AngleClapet+5.6)*247.6
                          et un attribut 'Niveau' en attribut non éditable.

                          Le composant#1 n'a rien, je comprends, il est figé, c'est le mur, le bajoyer selon le terme de métier.

                          Le composant 'Haut' est en fait le composant#5 de la fenêtre Structure puisque visiblement on peut lui donner un nom "dynamique" en plus de son nom de structure. Bon là, je te suis même s'il m'a fallut un petit moment pour choper cette possibilité.
                          Qu'un même composant puisse avoir deux noms je suis pas fan mais bon ...

                          Dans sa position Z tu mets =clapet!Z+sin(Tout!AngleClapet+2.9)*252.5 ...
                          Dans l'idée tu calcule sa position Z sur la base du sinus du clapet avec les corrections nécessaire au décalages induits par la position de l'ensemble.

                          Tu dois surement faire un calcul pour le X, puisque le composant avance avec le clapet...

                          Ben non... c'est la taille LenY que tu calcules avec =200+clapet!Y+cos(Tout!AngleClapet+2.9)*252.5

                          Là je pige pas ...

                          Bon alors le composant dynamique Bas qui est en fait le composant#6 donc il n'est pas concerné.

                          Le Clapet est animé par calcul de RotX avec =Tout!AngleClapet c'est à dire =90-2.9-ACOS((Niveau-clapet!Z)/252.5) dans le paramètre "Tout".

                          Là on commence à faire un retour vers le haut, qui commence à me compliquer l'analyse. J'ai l'impression de faire un calcul en boucle dans un tableur. Ce n'est pas dans ma logique de travail façon Tableur...

                          On finit avec le vérin...
                          Tu lui affecte une rotation avec RotX et =ATAN(Tout!AxeY/(Z-Tout!AxeZ))
                          Va falloir que je révise mes bases...
                          Par contre pour le paramètre perso "Position" et =SQRT(POWER(Tout!AxeY,2)+POWER(633.74-Tout!AxeZ,2)) il va falloir que je double ma ration d'aspirine 😛

                          Bon, alors ... tu avoues ou il faut que j'appelle mon frangin ?....

                          Cordialement
                          Patrick

                          La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

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

                            @patrick said:

                            Bon ben mon cher Daredevil va falloir te mettre à table et cracher le morceau, dare dare et fissa mon evil...
                            Ok ok... je vais tout te dire... en fait, je ne suis pas le vrai DareDevil 😳 je ne suis pas aussi résistant... je vais tout expliquer... ne frappe pas... s'il te plait... 👊

                            @unknownuser said:

                            D'un composant vérin (fut et tige) connecté à un composant clapet (rien dedans) on en arrive à un composant global (Tout) incluant le composant#1 (le bajoyer) le composant#5 (l'eau retenue en amont), le composant#6 (l'eau de déverse en aval)...
                            Je fais un composant général pour que les composants puissent discuter entre eux en passant par ce méga-composant.

                            @unknownuser said:

                            Les composants#2 et 3 n'ont pas grand intérêt dans l'histoire car ce sont des sous-ensembles du fût. On peut très bien les éclater pour les intégrer dans le fût et simplifier l'arborescence...

                            Après on se retrouve avec des attributs de composants suivant...

                            Que tu mette ANIMATECUSTOM(Niveau,3,,,490,590) pour OnClick je comprends que cela détermine le comportement pour le clic sur 'Tout'.

                            Mon problème c'est que tu mets dans la zone personnalisée
                            "AngleClapet =90-2.9-ACOS((Niveau-clapet!Z)/252.5)"
                            Puis "AxeY =clapet!Y+cos(Tout!AngleClapet+5.6)*247.6
                            Puis "AxeZ =clapet!Z+sin(Tout!AngleClapet+5.6)*247.6
                            et un attribut 'Niveau' en attribut non éditable.
                            En général, j'aime bien mettre les calculs dans le composant général parce que c'est plus simple que l'enfant lise une propriété du parent que l'inverse.
                            Niveau est la valeur qui est modifiée par le OnClick et qui représente le niveau NGF de l'eau ;
                            AngleClapet est l'angle du clapet calculé en fonction de la hauteur d'eau ;
                            AxeY et AxeZ sont les coordonnées de la position de l'axe du point d'accroche du vérin au clapet, calculés en fonction de l'angle de rotation du clapet.

                            @unknownuser said:

                            Le composant#1 n'a rien, je comprends, il est figé, c'est le mur, le bajoyer selon le terme de métier.

                            Le composant 'Haut' est en fait le composant#5 de la fenêtre Structure puisque visiblement on peut lui donner un nom "dynamique" en plus de son nom de structure. Bon là, je te suis même s'il m'a fallut un petit moment pour choper cette possibilité.
                            Qu'un même composant puisse avoir deux noms je suis pas fan mais bon ...
                            Pareil pour le problème des noms dans les deux fenêtres, je n'ai toujours pas compris la logique. Quand je fais des composants dynamiques, je ne travaille plus avec la fenêtre de structure...

                            @unknownuser said:

                            Dans sa position Z tu mets =clapet!Z+sin(Tout!AngleClapet+2.9)*252.5 ...
                            Dans l'idée tu calcule sa position Z sur la base du sinus du clapet avec les corrections nécessaire au décalages induits par la position de l'ensemble.

                            Tu dois surement faire un calcul pour le X, puisque le composant avance avec le clapet...

                            Ben non... c'est la taille LenY que tu calcules avec =200+clapet!Y+cos(Tout!AngleClapet+2.9)*252.5

                            Là je pige pas ...
                            Le déplacement se fait selon l'axe vert, donc le Y.
                            Maintenant, c'est plus sympa que le "début" du plan d'eau (la partie qui ne touche pas le clapet) ne se déplace pas, donc qu'il s'agrandisse. Mais avec la texture qui s'étire, c'est pas top non plus... Il faut voir quelle solution est plus sympa, mais ça ne change pas grand chose puisque dans les deux cas, le calcul est issu de *cos(Tout!AngleClapet+2.9)252.5

                            @unknownuser said:

                            Bon alors le composant dynamique Bas qui est en fait le composant#6 donc il n'est pas concerné.

                            Le Clapet est animé par calcul de RotX avec =Tout!AngleClapet c'est à dire =90-2.9-ACOS((Niveau-clapet!Z)/252.5) dans le paramètre "Tout".

                            Là on commence à faire un retour vers le haut, qui commence à me compliquer l'analyse. J'ai l'impression de faire un calcul en boucle dans un tableur. Ce n'est pas dans ma logique de travail façon Tableur...
                            Voilà justement un cas où le calcul peut se faire directement dans le RotX du clapet, mais comme j'avais commencé par animer l'angle dans la version précédente, j'ai laissé le calcul de l'angle dans le Tout...

                            @unknownuser said:

                            On finit avec le vérin...
                            Tu lui affecte une rotation avec RotX et =ATAN(Tout!AxeY/(Z-Tout!AxeZ))
                            Va falloir que je révise mes bases...
                            Petit rappel de trigo : CAH-SOH-TOA (ou SOH-CAH-TOA...), soit "dans un traingle rectangle, Cos(a)=Adjacent/Hypoténuse, Sin(a)=Opposé/Hypoténuse et Tan(a)=Opposé/Adjacent.
                            Trigo.jpg
                            Dans notre cas, on connait l'adjacent (AxeY) et l'opposé (Z-AxeZ, soit la hauteur du vérin moins la hauteur de l'axe) donc on utilise la tangente, et comme on veut l'angle, on prend la tan[sup:160ls1os]-1[/sup:160ls1os] ou l'arc-tan.

                            @unknownuser said:

                            Par contre pour le paramètre perso "Position" et =SQRT(POWER(Tout!AxeY,2)+POWER(633.74-Tout!AxeZ,2)) il va falloir que je double ma ration d'aspirine 😛
                            Ben là c'est toujours le triangle rectangle mais vu par Pythagore, la longueur de l'hypoténuse est égale à la racine carrée de la somme des carrés des deux autres cotés, en utilisant les mêmes calcul que pour l'angle... sauf que comme j'avais des petits problèmes de calage, j'ai remplacé la hauteur du vérin Z par sa valeur (633.74).

                            @unknownuser said:

                            Bon, alors ... tu avoues ou il faut que j'appelle mon frangin ?....

                            Cordialement
                            Patrick
                            Ouai ouai... "cordialement" ??? vite dit !!! 👊

                            En espérant que ça éclaircisse la compréhension de tout ça 😉

                            1 Reply Last reply Reply Quote 0
                            • PatrickP Offline
                              Patrick
                              last edited by

                              @unknownuser said:

                              Ok ok... je vais tout te dire... en fait, je ne suis pas le vrai DareDevil 😳 je ne suis pas aussi résistant... je vais tout expliquer... ne frappe pas... s'il te plait... 👊

                              Mince ! cela fait six mois que je crois parler à Daredevil...

                              Usurpateur 😡

                              Signé : SUPERMAN (le vrai)

                              La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

                              1 Reply Last reply Reply Quote 0
                              • pilouP Offline
                                pilou
                                last edited by

                                Je ne pourrais pas aider, tant que les composants dynamiques ne seront pas dans la version Free! 😄
                                Quelqu'un avait montrer que l'on pouvait mais la manipe n'était pas des plus simple! 😲

                                So wait and see 😄
                                D'un autre côté cela m'arrange bien, je peux finir d'autres choses pendant ce temps là! 💚

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

                                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