Sortie de la version 2.00 d’Openmeca

Posté par  . Édité par Davy Defaud, ZeroHeure, Pierre Jarillon, Benoît Sibaud, Nÿco et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
37
7
jan.
2016
Technologie

Openmeca est un logiciel de simulation de systèmes mécaniques qui veut être aussi facile que possible à utiliser. Il permet de construire un système 3D et de le modéliser pour le faire fonctionner virtuellement.

C’est un logiciel sans prétention de modélisation cinématique des mécanismes. Il permet de simuler des mécanismes avec des engrenages, des courroies, des liaisons pivots, des glissières, des ressorts…

Openmeca

OpenMeca est un logiciel libre sous licence GPL v3. dont une nouvelle version majeure (la 2.0) vient juste de paraître sur GitLab.

Un bref historique

Openmeca est un projet personnel. Pour être honnête, la première version était un peu brouillonne, voire carrément cracra. À cette époque, il y a huit ans, j’étais jeune, fougueux et surtout très ignorant des bonnes pratiques élémentaires de programmation.

Alors, j’ai tout recommencé depuis le début, en espérant que, cette fois, le code serait un peu moins moche. C’est donc une version 2.0 qui fait (pour l’instant) moins de chose que la version 1.x, mais qui le fait avec plus de classe et de panache et, ça, c’est déjà pas mal.

Openmeca… c’est quoi ?

Openmeca, c’est un logiciel de simulation sans prétention de systèmes mécaniques. Il permet de simuler des mécanismes avec des engrenages, des courroies, des liaisons pivots, des glissières, des ressorts… Bref, tous ces petits mécanismes qui, mis bout à bout, permettent à une voiture d’avancer, à une fusée de décoller, à un compresseur de compresser ou bien à un tire‐bouchon de faire plop !

Attention, Openmeca n’est pas un modeleur volumique comme le logiciel libre FreeCAD ou les logiciels propriétaires CATIA ou SOLIDWORKS. Le but d’Openmeca est de pouvoir prototyper et simuler rapidement un système mécanique sans s’embarrasser de la définition complète du mécanisme : géométrie, assemblage, etc.

Openmeca permet donc de dessiner des schémas cinématiques en 3D et de les animer en appliquant des forces ou en imposant des déplacements. Il est également possible de placer des capteurs numériques afin de récupérer des données au cours d’une simulation. Enfin, et c’est une nouveauté par rapport à la version précédente, la gestion des contacts entre des géométries simples est disponible.

Copie d’écran

Comme une image vaut mieux qu’un grand discours, voici un aperçu d’Openmeca :

Interface OpenMeca

Architecture

Openmeca est écrit en C++ 98 et utilise les bibliothèques suivantes :

  • Qt 4, pour l’interface graphique ;
  • Qwt 6, pour faire des graphiques sympas ;
  • libQGLViewer, pour gérer la scène 3D ;
  • boost, pour la sauvegarde (sérialisation), ainsi que tout un tas de trucs ;
  • ChronoEngine, pour le moteur physique.

Et maintenant ?

Openmeca est loin d’être achevé. Il reste tout un tas de fonctionnalités rigolotes à ajouter :

  • nouvelles liaisons mécaniques ;
  • nouvelles géométries de contact ;
  • amélioration de l’ergonomie de l’interface ;
  • rédaction d’une aide ;
  • traductions, etc.

Appel à contribution

Mais, avant de réaliser toutes ces belles choses, ce qui serait bien, c’est de tester l’architecture déjà existante. Car, comme dit le maçon : avant de construire la charpente, il faut commencer par les fondations.

J’écris donc cette dépêche avec le secret espoir de susciter l’intérêt de quelques barbus (ou pas) pour m’aider.

Contact : openmeca (at) yakuru.fr

Aller plus loin

  • # On vas tester

    Posté par  . Évalué à 0.

    Certe barbu mais pas du tout développeur, par contre j'ai souvent a vérifier des idées de modélisation mécanique. je m'en vais de ce pas le compiler pour pouvoir le tester

    • [^] # Re: On vas tester

      Posté par  . Évalué à 3.

      Bonsoir,
      J'ai essayé l'install "En une minute" sur mon PC (xubuntu). Outre les étapes décrites, j'ai du installer le paquet "qt4-default " pour que "qhelpgenerator" fonctionne à l'étape 4/4 de "compile-all.sh". Il m'a donc fallu un petit peu plus de temps ;-).

      • [^] # Re: On vas tester

        Posté par  . Évalué à 2.

        même chose pour moi! sûrement un truc a rajouter dans le README

  • # Apple à contribution

    Posté par  . Évalué à 6.

    Joli lapsus.

  • # La mécanique c'est chique

    Posté par  . Évalué à 5.

    Je pense que tu suciteras l'intéret de nombreuses personnes dans les filières d'enseignement technique.

    Pour l'avoir étudié au lycée ca s'est passé comme ca :

    • revue des mouvements selon des axes : translation, rotation
    • revue des liasons entre des pièces : pivot, glissière
    • étude des degrés de liberté en fonction des liaisons.

    Avec au final une application sur outil informatique (modélisation des forces)
    Mais pour en avoir bavé et étant cancre je pense que cet outil m'aurait aidé et pourra être un très bon support de cours qui plus est opensource.

  • # Qt 4

    Posté par  . Évalué à 4.

    Intéressant, mais si c'est une réécriture récente, pourquoi être parti sur Qt 4 qui j'imagine sera rapidement déprécié vu que Qt 5 est sorti fin 2012 ?

    • [^] # Re: Qt 4

      Posté par  . Évalué à 2.

      En fait, j'ai beaucoup procrastiné sur ce projet. La réécriture date d'avant 2012. Sinon, d’après ce que j'ai lu d'ici et là, le passage qt4 -> qt5 est assez indolore. Mais avant de faire ça, je préfère plutôt me concentrer sur les fonctionnalités et les corrections de bug avant de tenter un changement de version. (pareil pour le passage en C++11x).

      • [^] # Re: Qt 4

        Posté par  . Évalué à 1.

        Effectivement, de mémoire, quand j'avais effectué la migration sur les applications du boulot qui l'utilisait, ça avait été ni très compliqué ni très long. Bon courage quand même. :D

  • # Version Windows ?

    Posté par  (site web personnel) . Évalué à 2.

    Un collègue me demande si une version Windows est envisagé.

    SA

    • [^] # Re: Version Windows ?

      Posté par  . Évalué à 2.

      Oui… et Mac aussi !
      (D'un point de vue technique, toutes les bibliothèques utilisées sont multi-plateformes.)

      • [^] # Re: Version Windows ?

        Posté par  (site web personnel) . Évalué à 2.

        Et à quelle échéance ?

        SA

        • [^] # Re: Version Windows ?

          Posté par  . Évalué à 2. Dernière modification le 08 janvier 2016 à 23:20.

          Je ne peux pas répondre avec précision… Désolé

          • [^] # Re: Version Windows ?

            Posté par  (site web personnel) . Évalué à -3.

            Donc dans longtemps. Merci.

            SA

            • [^] # Re: Version Windows ?

              Posté par  . Évalué à 4.

              Ce n'ai pas ce que j'ai dit…
              Est-ce que ton collègue peut m'aider à faire une version Windows ? Comme cela, ça irait plus vite.

            • [^] # Re: Version Windows ?

              Posté par  . Évalué à 3.

              Tu es la délicatesse, la gentillesse et la courtoisie incarné, dis donc !

              (j'ai voulu te moinsser mais mon doigt a rippé et j'ai plusser…)

              • [^] # Re: Version Windows ?

                Posté par  (site web personnel) . Évalué à 5.

                Veuillez m’excuser. J’aurais du développer ma réponse, elle aurait semblé moins abrupte. Que ça soit long ne me gêne pas et n’est pas un jugement de valeur de ma part. C’est plutôt, un « Zut dommage » de déception qui m’a échappé, on pourra pas le temps de tester / s’en servir.

                Je contribue à des projets OpenSource et je comprends que c’est difficile de développer sur son temps libre. Merci pour votre temps et votre travail OMC.

                SA

                • [^] # Re: Version Windows ?

                  Posté par  . Évalué à 1.

                  C’est plutôt, un « Zut dommage » de déception qui m’a échappé, on pourra pas le temps de tester / s’en servir.

                  Un live USB d'Ubuntu est-ce au dessus des forces de ton ami?

    • [^] # Re: Version Windows ?

      Posté par  . Évalué à 1.

      Bonjour, une version windows est dispo. Je ne suis pas certain que cette version soit fonctionnelle à 100% car je n'ai qu'un pauvre windows XP dans une virtualbox pour tester le bouzin et que la version dispo a été cross-compilée depuis Linux.
      Du coup, je suis preneur de retour d'expérience (marche, marche pas…) !

  • # Vidéo

    Posté par  . Évalué à 3.

    Une vidéo est disponible ici (attention, google inside)

    • [^] # Re: Vidéo

      Posté par  . Évalué à 1.

      Et une deuxième qui montre la détection de collision ainsi que le traçage de graphe en direct.

    • [^] # Re: Vidéo

      Posté par  . Évalué à 2.

      Je trouve ton logiciel super bien fait. Bravo.

      Vivement qu'on puisse dessiner le profil d'une came pour y faire aller et venir des éléments dessus. :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.