Avec LeoCAD, créez des modèles LEGO virtuels! C’est très amusant et vos enfants pourront facilement s’y habituer s’ils jouent déjà avec LEGO®.
Ils seront en mesure de réaliser des objets simples à partir des… 6000 pièces disponibles qui permettent de créer rapidement un modèle en 3D.
LeoCAD est disponible dans les dépôts Raspbian en version un peu ancienne. Je vous proposerai dans cet article de compiler la dernière version disponible.
Au sommaire :
LeoCAD un projet open source
Créé en 2011 par Leonardo Zide est open source est disponible sur github. Ce projet amusant est destiné aux enfants et leur permet de créer des modèles LEGO « comme les vrais » et de les visualiser en 3D. C’est une première approche des techniques de conception 3D qui pourra leur servir…
Installer LeoCAD
LeoCAD est disponible dans les dépôts de Raspbian. Il s’installe donc sans difficulté.
Pensez à faire les traditionnelles mises à jour de Raspbian avant de commencer l’installation.
pi@raspberrypi:~ $ sudo apt-get install leocad Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : libqt4-network libqt4-opengl Paquets suggérés : ldraw-parts Les NOUVEAUX paquets suivants seront installés : leocad libqt4-network libqt4-opengl 0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 1 148 ko dans les archives. Après cette opération, 3 684 ko d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer ? [O/n]
Répondez Voui (O ou Y selon la langue de votre OS)
L’installation ne dure pas très longtemps, pas la peine de faire un café…
Utiliser LeoCAD
Ouvrez le menu de Raspbian :
Dans la rubrique Éducation vous trouverez LeoCAD, il suffit de cliquer dessus pour le démarrer.
LeoCAD vous indique qu’il n’a pas pu trouver de bibliothèque de pièces au démarrage. Il ne contiendra que le jeu de pièce minimum, suffisant pour tester le logiciel, mais pas terrible si on veut réaliser des modèles « réalistes ». On verra plus loin comment intégrer une bibliothèque importante de blocs Lego et le faire parler français…
La version de LeoCAD qui s’ouvre n’est pas la plus récente :
Cette version 0.80.3 date du 5 avril 2014… Deux ans en informatique, c’est très vieux ! on va regarder comment fonctionne cette version et si vous avez un moment je vous proposerai d’installer la dernière version disponible.
Comment ça marche ?
Dans la partie droite sélectionnez un bloc. Cliquez sur le signe + à côté de la rubrique Bricks. La liste des blocs disponibles apparait. J’ai pris la brique qui sert de logo à Lego pour cette démo. C’est une brique 2×2 rouge. Mais si vous regardez sous cette zone, vous verrez un sélecteur de couleurs qui vous permettra de choisir la couleur de votre bloc. Dans la fenêtre au dessus de la liste, le bloc apparait et vous pouvez le déplacer pour vérifier que c’est bien celui qu’il vous faut.
Si la brique vous convient, cliquez sur la ligne de cet élément et faites la glisser vers la plaque. Déposez-la à l’endroit voulu. Des flèches droites permettent des déplacements en x, y et z et des flèches arrondies font tourner la brique dans les trois directions.
Cliquez pour sélectionner le premier bloc déposé (s’il n’est pas sélectionné). Faites un copier/coller avec CRTL C => CTRL V. Un deuxième bloc est venu de superposer au premier. déplacez-le avec les flèches puis ajoutez une plaque 2×14 qui viendra se poser sur les 2 blocs. fignolez moi tout ça pour que ça soit nickel 🙂
Cliquez sur le bouton « Rotate View » comme ci-dessus et faites tourner la scène dans tous les sens pour vérifier…
Sinon vous pouvez utiliser les touches
- H = Home : vue normale
- B = Back : arrière
- F = Front : avant
- R = Right : droite
- L = Left : gauche
- T = Top : haut
Des briques en plus
Comme vous pouvez le voir, le nombre et la forme des briques permet de découvrir le logiciel mais pas vraiment de construire des modèles complexes.
Pour ça, on va ajouter une bibliothèque de briques…
C’est sur LDraw.org qu’on va trouver un certain nombre de bibliothèques de pièces. Chargeons celle qui s’appelle complete.zip 🙂
http://www.ldraw.org/library/updates/complete.zip
pi@raspberrypi:~ $ cd Downloads/ pi@raspberrypi:~/Downloads $ http://www.ldraw.org/library/updates/complete.zip -bash: http://www.ldraw.org/library/updates/complete.zip: Aucun fichier ou dossier de ce type pi@raspberrypi:~/Downloads $ wget http://www.ldraw.org/library/updates/complete.zip --2016-12-26 21:39:10-- http://www.ldraw.org/library/updates/complete.zip Résolution de www.ldraw.org (www.ldraw.org)… 216.92.139.196 Connexion à www.ldraw.org (www.ldraw.org)|216.92.139.196|:80… connecté. requête HTTP transmise, en attente de la réponse… 200 OK Taille : 33128610 (32M) [application/zip] Sauvegarde en : « complete.zip » complete.zip 20%[======> ] 6,59M 503KB/s eta 54s
Une fois le fichier récupéré dans le répertoire Downloads il faut le transférer dans /usr/share et le décompresser.
sudo cp complete.zip /usr/share cd /usr/share sudo unzip complete.zip
Ce qui rajoute des milliers de briques qu’il faut faire prendre en compte par LeoCAD.
Dans le menu View de LeoCAD, ouvrez le premier item : Preferences. Dans la fenêtre qui s’ouvre repérez la ligne Custom parts library. Cliquez sur le bouton orné de 3 points en bout de cette ligne, et allez sélectionner le dossier /usr/share/ldraw dans lequel les briques ont été rangées lors de la décompression du fichier zip.
Validez votre sélection en cliquant sur le bouton Ouvrir en bas de la fenêtre.
Votre fenêtre des Preferences devrait ressembler à ça :
Validez votre choix en cliquant sur le bouton OK en bas de la fenêtre.
LeoCAD vous avertit que la modification ne sera prise en compte qu’au prochain démarrage du logiciel. Quittez LeoCAD (sauvez ou nom votre modèle… c’est votre choix). Rouvrez le logiciel. Il va mettre plus longtemps à s’ouvrir car il va balayer le dossier /usr/share/ldraw pour lister toutes les briques qu’il contient (y compris dans les sous-dosiers).
Pour aller plus loin
Vous pourrez aller plus loin en suivant un tutoriel en anglais sur le site d’origine ou sa traduction en français très bien faite et améliorée 🙂 .
C’est ce que je me suis amusé à faire et voilà ce que ça donne :
On pourra aussi ajouter un personnage : Allez dans le menu Pieces, ouvrez Minifig_Wizard.
C’est une fenêtre qui permet de configure la forme et la couleur de toutes les parties du personnage. Essayez et observez les changements. La partie gauche modifie… la partie droite du personnage (normal, il est de face) et inversement.
Du coup, comme c’est pour piloter la voiture j’ai habillé mon bonhomme en pilote :
Comme pour les briques, vous pouvez faire pivoter votre personnage pour l’observer de tous les côtés. Une fois que vous êtes satisfait(e) du résultat cliquez sur OK pour valider et admirez le résultat.
Bon, on ne rigole pas c’est mon premier Lego virtuel en 3D, hein, soyez magnanimes !!
Un bouton de la barre d’outils vous permettra de visualiser votre réalisation sous tous les angles.
Installer la dernière version de LeoCAD
Récupérer le fichier tar.gz de LeoCAD
La page de téléchargement de LeoCAD propose de télécharger les sources pour Windows, Linux ou OSX. Ce sont les sources Linux qui nous intéressent et le lien est :
https://github.com/leozide/leocad/archive/v0.83.2.tar.gz
Attention, ce fichier peut différer si vous téléchargez cette archive plus tard. Adaptez la suite du tutoriel en fonction du numéro de version.
Nous allons récupérer cette archive dans le dossier Downloads du Raspberry Pi.
pi@raspberrypi:~/Downloads $ wget https://github.com/leozide/leocad/archive/v0.83.2.tar.gz --2016-12-26 22:53:43-- https://github.com/leozide/leocad/archive/v0.83.2.tar.gz Résolution de github.com (github.com)… 192.30.253.112, 192.30.253.113 Connexion à github.com (github.com)|192.30.253.112|:443… connecté. requête HTTP transmise, en attente de la réponse… 302 Found Emplacement : https://codeload.github.com/leozide/leocad/tar.gz/v0.83.2 [suivant] --2016-12-26 22:53:44-- https://codeload.github.com/leozide/leocad/tar.gz/v0.83.2 Résolution de codeload.github.com (codeload.github.com)… 192.30.253.120, 192.30.253.121 Connexion à codeload.github.com (codeload.github.com)|192.30.253.120|:443… connecté. requête HTTP transmise, en attente de la réponse… 200 OK Taille : 1951207 (1,9M) [application/x-gzip] Sauvegarde en : « v0.83.2.tar.gz » v0.83.2.tar.gz 76%[===========================> ] 1,42M 468KB/s eta 1s
Nous avons téléchargé un fichier v0.83.2.tar.gz qui contient les sources de LeoCAD. On peut maintenant extraire les fichiers de l’archive :
pi@raspberrypi:~ $ tar zxvf v0.83.2.tar.gz leocad-0.83.2/ leocad-0.83.2/.gitattributes leocad-0.83.2/.gitignore leocad-0.83.2/common/ leocad-0.83.2/common/camera.cpp .../...
Le dossier Downloads contient maintenant un sous-dossier leocad-0.83.2.
Préparation pour la compilation de LeoCAD
sudo apt-get install qt4-qmake libqt4-dev
pi@raspberrypi:~/Downloads $ sudo apt-get install qt4-qmake libqt4-dev Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : libdrm-dev libdrm-exynos1 libdrm-omap1 libdrm-tegra0 libgl1-mesa-dev libglu1-mesa-dev libmysqlclient18 libpthread-stubs0-dev libqt4-declarative libqt4-designer libqt4-dev-bin libqt4-help libqt4-opengl-dev libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-test libqt4-xmlpatterns libqtwebkit-dev libqtwebkit4 libx11-dev libx11-doc libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev mysql-common qt4-linguist-tools x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev Paquets suggérés : libqt4-declarative-folderlistmodel libqt4-declarative-gestures libqt4-declarative-particles libqt4-declarative-shaders qt4-qmlviewer firebird-dev libmysqlclient-dev libpq-dev libsqlite0-dev libsqlite3-dev qt4-dev-tools qt4-doc unixodbc-dev libxcb-doc libxext-doc Les NOUVEAUX paquets suivants seront installés : libdrm-dev libdrm-exynos1 libdrm-omap1 libdrm-tegra0 libgl1-mesa-dev libglu1-mesa-dev libmysqlclient18 libpthread-stubs0-dev libqt4-declarative libqt4-designer libqt4-dev libqt4-dev-bin libqt4-help libqt4-opengl-dev libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-test libqt4-xmlpatterns libqtwebkit-dev libqtwebkit4 libx11-dev libx11-doc libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev mysql-common qt4-linguist-tools qt4-qmake x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev 0 mis à jour, 59 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 25,6 Mo dans les archives. Après cette opération, 105 Mo d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer ? [O/n]
Comme d’habitude dites Voui… L’opération va durer quelques minutes.
La page LeoCAD de Debian informe sur les dépendances nécessaires lors de la compilation. Nous allons les installer pour éviter des erreurs de compilation mais sur une Raspbian mise à jour, normalement ce sont les dernières versions qui sont installées.
sudo apt-get install libc6 libgcc1 libgl1-mesa-glx libqt4-network libqt4-opengl libqtcore4 libqtgui4 libstdc++6 zlib1g
pi@raspberrypi:~/Downloads/leocad-0.83.2 $ sudo apt-get install libc6 libgcc1 libgl1-mesa-glx libqt4-network libqt4-opengl libqtcore4 libqtgui4 libstdc++6 zlib1g Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait libc6 est déjà la plus récente version disponible. libgcc1 est déjà la plus récente version disponible. libqt4-network est déjà la plus récente version disponible. libqt4-network passé en « installé manuellement ». libqt4-opengl est déjà la plus récente version disponible. libqt4-opengl passé en « installé manuellement ». libqtcore4 est déjà la plus récente version disponible. libqtcore4 passé en « installé manuellement ». libqtgui4 est déjà la plus récente version disponible. libqtgui4 passé en « installé manuellement ». libstdc++6 est déjà la plus récente version disponible. zlib1g est déjà la plus récente version disponible. libgl1-mesa-glx est déjà la plus récente version disponible. libgl1-mesa-glx passé en « installé manuellement ». 0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. pi@raspberrypi:~/Downloads/leocad-0.83.2 $
Création du fichier Makefile
Dans le dossier leocad-0.83.2 le fichier Makefile n’existe pas :
pi@raspberrypi:~/Downloads/leocad-0.83.2 $ ls common docs leocad.pro leocad.qrc qt resources tools win pi@raspberrypi:~/Downloads/leocad-0.83.2 $
Pour créer le fichier Makefile, on utilise qmake :
pi@raspberrypi:~/Downloads/leocad-0.83.2 $ qmake leocad.pro pi@raspberrypi:~/Downloads/leocad-0.83.2 $
Le fichier Makefile a bien été créé, il ne doit pas y avoir d’erreur qui s’affichent lors du passage de qmake !
pi@raspberrypi:~/Downloads/leocad-0.83.2 $ ls build common docs leocad.pro leocad.qrc Makefile qt resources tools win
Compilation et installation du programme
La compilation s’effectue avec la commande make. Cette fois vous avez le temps de vous préparer un café, un thé, ou de décapsuler une bière… (Environ 4 minutes sur un Raspberry Pi 3 avec disque dur WD PiDrive).
Là encore il ne doit pas y avoir de message d’erreur !
L’installation se fait avec make install
pi@raspberrypi:~/Downloads/leocad-0.83.2 $ sudo make install install -m 755 -p "build/release/leocad" "/usr/bin/leocad" strip "/usr/bin/leocad" install -m 644 -p /home/pi/Downloads/leocad-0.83.2/docs/README.txt /usr/share/doc/leocad/ install -m 644 -p /home/pi/Downloads/leocad-0.83.2/docs/CREDITS.txt /usr/share/doc/leocad/ install -m 644 -p /home/pi/Downloads/leocad-0.83.2/docs/COPYING.txt /usr/share/doc/leocad/ install -m 644 -p /home/pi/Downloads/leocad-0.83.2/qt/leocad.desktop /usr/share/applications/ install -m 644 -p /home/pi/Downloads/leocad-0.83.2/resources/leocad.png /usr/share/pixmaps/ install -m 644 -p /home/pi/Downloads/leocad-0.83.2/qt/leocad.xml /usr/share/mime/packages/ install -m 644 -p /home/pi/Downloads/leocad-0.83.2/resources/application-vnd.leocad.svg /usr/share/icons/hicolor/scalable/mimetypes/ pi@raspberrypi:~/Downloads/leocad-0.83.2 $
Une fois de plus le moindre message d’erreur doit vous alerter !
Test du programme LeoCAD 0.83.2
On lance le programme de la même manière que précédemment : Ouvrir le menu, rubrique Éducation > LeoCAD.
On voit de suite que c’est une version plus récente du programme. Déjà parce que les icônes ont été retravaillées et que l’interface est beaucoup jolie, d’autre part parce que grâce à Nicolas Schodet qui a traduit le programme, l’interface a détecté la locale fr_FR et a affiché les textes en français. Pour ceux qui cherchent un moyen de participer à l’open source, voilà un exemple. La traduction la relecture, la documentation peuvent se faire sans connaissances pointues en programmation et permettent d’entrer dans le monde du partage…
Version du programme
C’est la version 0.83.2 que nous avons compilé. c’était la version du fichier tar.gz récupéré, et c’est bien ce qu’annonce le fichier d’aide. La page Version history de LeoCAD confirme que cette version 0.83.2 date du 2décembre 2016 et qu’elle est donc toute récente.
Quelques modèles
Comme on trouve des milliers de briques en ligne, on va aussi trouver des modèles. Faites un tour dans les sources ci-dessous… Je vous propose d’admirer quelques réalisations. Cliquez sur les images pour les agrandir.
Et après…
Après on peut envoyer les fichiers vers povray pour créer une image de l’objet comme ci-dessus. Bon… ça sera pas de suite 🙂 povray tourne convenablement sur le Raspberry Pi 3 mais je n’ai pas encore pu lui faire digérer un fichier généré par LeoCAD.
Conclusion
C’est un Twitt de Sarah Lacaze, auteur du livre Scratch paru aux Éditions ENI, qui m’a fait découvrir ce projet, et je l’en remercie. En cette période de vacances de Noël ça m’a semblé un programme intéressant à installer sur un Raspberry Pi si vous avez des enfants à la maison.
En même temps vous aurez vu comment compiler les sources d’un programme pour utiliser la dernière version. Ce n’est pas toujours aussi évident et c’est parfois un peu plus long et compliqué qu’avec LeoCAD 🙂
Merci également à Leonardo Zide, l’auteur du projet, qui a gentiment répondu à mes questions.
Amusez vous bien avec ces Lego virtuels et dites nous ce que vous en pensez dans les commentaires ci-dessous…
Sources
- http://wiki.ldraw.org/index.php?title=Getting_Started_-_Linux
- https://packages.debian.org/jessie/utils/leocad
- http://www.ldraw.org/parts/latest-parts
- http://www.leocad.org/download.html
- https://www.sculpteo.com/blog/2016/12/14/top-8-cad-software-for-kids/
- http://www.scoop.it/t/vie-numerique-a-l-ecole-academie-orleans-tours
- https://github.com/leozide/leocad
- https://packages.debian.org/jessie/utils/leocad
- http://jc-tchang.philohome.com/model/LeoCAD.htm
- http://jc-tchang.philohome.com/model/LeoCAD_tuto.htm
- http://framboisepi.fr/installation-de-leocad/
- http://www.marutan.net/arcsite/lego/
- http://www.eurobricks.com/forum/index.php?/forums/topic/48285-key-topic-official-lego-sets-made-in-ldraw/
- http://www.eurobricks.com/forum/index.php?/forums/topic/41226-key-topic-official-lego-sets-made-in-ldd/&page=163#comment-2071170
Intéressant. Ça va occuper quelques soirées et ça peut être très bien pour occuper un atelier avec des petits comme des grands !
Je garde ça sous le coude !
Merci
oui il y a de quoi s’amuser 🙂
Merci pour ce tuto.
Au niveau pédagogique je testerai bien le logiciel couplé avec des vrais légos: conception « réelle » puis virtuelle et vice versa.
merci Sarah
je trouve que c’est une bonne intro à la 3D
amitiés
François