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.
    • 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