• Login
sketchucation logo sketchucation
  • Login
⚠️ Libfredo 15.4b | Minor release with bugfixes and improvements Update

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.
  • P Offline
    Patrick
    last edited by 16 Oct 2012, 08:41

    Bonjour,
    suite à la claque que m'a gentiment mis Daredevil pour le passage en composant dynamique du pont Levis de la passerelle Vauban au Havre Cinématique_DD-03bis.skp j'essaye de m'y mettre aussi.

    Pour l'instant je tâche de réaliser un clapet actionné au vérin.
    L'objectif est de quantifier la cote NGF du niveau d'eau retenue d'après la longueur du vérin.

    En automatisme cela nous permet de faire le lien entre la position de la tige du vérin dans son fût et la cote d'altitude en NGF du fil d'eau.
    Clapet.jpg

    Bon alors je viens de faire la fonction Position vérin mais je suis loin du but...
    Sans me faire le boulot quelqu'un pourrait me mettre sur la piste ?
    Il faut rendre dépendant la position du clapet avec la tige du vérin.
    Clapet Composants dynamiques.skp

    Cordialement
    Patrick

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

    1 Reply Last reply Reply Quote 0
    • D Offline
      DareDevil
      last edited by 16 Oct 2012, 16:42

      Tu peux renvoyer le fichier en V7 ou 8, parce qu'en V6 il n'y a plus les composants dynamique... 😉
      En attendant, je jette un coup d’œil sur la structure.

      1 Reply Last reply Reply Quote 0
      • P Offline
        Patrick
        last edited by 16 Oct 2012, 17:28

        Clapet Composants dynamiques.skp
        En V8 (scuse Pilou)

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

        1 Reply Last reply Reply Quote 0
        • D Offline
          DareDevil
          last edited by 16 Oct 2012, 19:18

          Voilà un premier essai :
          Clapet_DD_01_v7.skp
          Tu voulais qu'on explique pas qu'on le fasse, mais je ne peux pas expliquer si je ne l'ai pas fait 😉
          Donc :

          Pour le moment, c'est en fonction de l'angle du clapet (un clic avec le "doigt" des composants dynamiques pour l'animer).

          La logique est de travailler avec la trigo et un point remarquable du clapet : l'axe d'accrochage du vérin au clapet (distance de l'axe du clapet : 2476 mm ; angle par rapport à l'axe du composant : 5.6°). Avec ces dernières propriétés, on peut calculer la position de l'accroche en fonction de l'angle du clapet (AxeY et AxeZ du composant "Tout"). Avec ce point et les coordonnées de l'axe du vérin, on peut calculer la longueur d'allongement du vérin (merci Monsieur Pythagore) et l'angle de rotation avec l'arc-tangente (merci Monsieur CAH-SOH-TOA).

          Pour la hauteur d'eau, un autre point du clapet est utilisé : la limite du niveau d'eau (distance de l'axe du clapet : 2525 mm ; angle par rapport à l'axe du composant : 2.9°). On utilise juste la trigo pour calculer la hauteur ou la longueur du composant "Haut".

          J'espère que c'est clair...
          Je regarde pour plutôt avoir la hauteur en paramètre.

          ... et puis merci, parce que j'étais en manque de sujet pour entretenir l'utilisation de ces outils. En ce moment, je bloque avec mes étudiants sur des thèmes plus... manuels... le bon vieux dessin au té et à l'équerre...


          [Edit]
          Ben voilà la version avec la hauteur d'eau en paramètre, qui calcule l'angle du clapet avec un petit arc-cosinus (re-merci CAH-SOH-TOA).
          Clapet_DD_02_v7.skp
          Au final, c'est un peu le bazar dans les différentes fonctions, certaines fois dans le "Tout", d'autres fois dans les sous-composants... mais l'idée y est.

          1 Reply Last reply Reply Quote 0
          • C Offline
            chri
            last edited by 16 Oct 2012, 19:46

            %(#0000FF)[Beau boulot MR DAREDEVIL

            Le travail avec les composants dynamiques paraitrait presque simple quand on voit ce que tu en fait .

            Salutations 👍

            chri]

            1 Reply Last reply Reply Quote 0
            • P Offline
              pilou
              last edited by 16 Oct 2012, 21:06

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

              verin.jpg

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

              1 Reply Last reply Reply Quote 0
              • D Offline
                DareDevil
                last edited by 16 Oct 2012, 21:13

                @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
                • F Offline
                  franky83220
                  last edited by 17 Oct 2012, 08:37

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

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    pilou
                    last edited by 17 Oct 2012, 09:16

                    @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
                    • P Offline
                      pilou
                      last edited by 17 Oct 2012, 09:37

                      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
                      • C Offline
                        chri
                        last edited by 17 Oct 2012, 16:43

                        @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
                        • P Offline
                          pilou
                          last edited by 17 Oct 2012, 19:01

                          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
                          • D Offline
                            DareDevil
                            last edited by 17 Oct 2012, 19:25

                            @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
                            • P Offline
                              pilou
                              last edited by 17 Oct 2012, 19:31

                              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
                              • P Offline
                                pilou
                                last edited by 17 Oct 2012, 19:31

                                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
                                • P Offline
                                  Patrick
                                  last edited by 18 Oct 2012, 10:11

                                  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
                                  • P Offline
                                    Patrick
                                    last edited by 18 Oct 2012, 17:57

                                    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
                                    • D Offline
                                      DareDevil
                                      last edited by 18 Oct 2012, 20:36

                                      @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
                                      • P Offline
                                        Patrick
                                        last edited by 19 Oct 2012, 13:14

                                        @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
                                        • P Offline
                                          pilou
                                          last edited by 21 Oct 2012, 21:56

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

                                          Advertisement