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 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 :
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
- Journal à l’origine de la dépêche (399 clics)
- Dépôt OpenMeca sur GitLab (459 clics)
# On vas tester
Posté par jblb . É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 OLeave . É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 jblb . Évalué à 2.
même chose pour moi! sûrement un truc a rajouter dans le README
[^] # Re: On vas tester
Posté par omc . Évalué à 2.
C'est corrigé, merci !
# Apple à contribution
Posté par Philip Marlowe . Évalué à 6.
Joli lapsus.
[^] # Re: Apple à contribution
Posté par ZeroHeure . Évalué à 2.
Effectivement :-)
Faute corrigée, merci.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
# La mécanique c'est chique
Posté par n0wic . É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 :
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 guppy . É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 omc . É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 guppy . É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 Stéphane Aulery (site web personnel) . Évalué à 2.
Un collègue me demande si une version Windows est envisagé.
SA
[^] # Re: Version Windows ?
Posté par omc . É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 Stéphane Aulery (site web personnel) . Évalué à 2.
Et à quelle échéance ?
SA
[^] # Re: Version Windows ?
Posté par omc . É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 Stéphane Aulery (site web personnel) . Évalué à -3.
Donc dans longtemps. Merci.
SA
[^] # Re: Version Windows ?
Posté par omc . É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 Stéphane Aulery (site web personnel) . Évalué à 1.
Non, il ne sais pas programmer et de mon coté j’ai d’autres choses sur le feu dans l’immédiat.
SA
[^] # Re: Version Windows ?
Posté par BAud (site web personnel) . Évalué à 1.
compiler, ce n'est pas programmer… déjà savoir installer des dépendances et lancer une compil' n'est pas si compliqué, en se faisant aider au besoin.
[^] # Re: Version Windows ?
Posté par Joalland . É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 Stéphane Aulery (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 Le Gab . Évalué à 1.
Un live USB d'Ubuntu est-ce au dessus des forces de ton ami?
[^] # Re: Version Windows ?
Posté par Stéphane Aulery (site web personnel) . Évalué à 2.
À voir, pourquoi pas pour le test, mais comme c’est en milieu professionnel peu réceptif voir hostile, on ne pourra pas utiliser la version pour Linux.
SA
[^] # Re: Version Windows ?
Posté par reynum (site web personnel) . Évalué à 2.
Ça pourra être une bonne occasion de passer le pas, une fois qu'ils connaissent les décideurs (toujours rétifs au changement) ne peuvent plus se passer de Linux ;-)
kentoc'h mervel eget bezan saotred
[^] # Re: Version Windows ?
Posté par Stéphane Aulery (site web personnel) . Évalué à 2.
Si seulement je pouvais faire ce pas !
SA
[^] # Re: Version Windows ?
Posté par reynum (site web personnel) . Évalué à 2.
Tout vient à point à qui se bouge les fesses ;-)
kentoc'h mervel eget bezan saotred
[^] # Re: Version Windows ?
Posté par Stéphane Aulery (site web personnel) . Évalué à 2.
On ne peut pas toujours.
SA
[^] # Re: Version Windows ?
Posté par reynum (site web personnel) . Évalué à 2.
Ça ce joue sur toute une vie, il faut seulement garder toujours le même cap et remettre une couche de temps en temps au bon moment. Au bout d'un certain temps ça suscite de l'interrogation puis vient la demande de maquette/étude de faisabilité (phase critique) puis arrivent une ou deux machines et s'en suit l'escalade :-)
kentoc'h mervel eget bezan saotred
[^] # Re: Version Windows ?
Posté par Stéphane Aulery (site web personnel) . Évalué à 3.
Je retiens le schéma. Je te rassure, je ne rate pas une occasion.
SA
[^] # Re: Version Windows ?
Posté par omc . É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…) !
[^] # Re: Version Windows ?
Posté par omc . Évalué à 1.
La version windows est dispo ici
[^] # Re: Version Windows ?
Posté par Stéphane Aulery (site web personnel) . Évalué à 2.
Bon et bien, chapeau bas, et encore milles excuses… On va l’essayer dès que possible du coup et te faire un retour si possible.
SA
[^] # Re: Version Windows ?
Posté par omc . Évalué à 1.
:)
# Vidéo
Posté par omc . Évalué à 3.
Une vidéo est disponible ici (attention, google inside)
[^] # Re: Vidéo
Posté par omc . É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 Joalland . É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.