Publié le 27 décembre 2016 - par

LeoCAD : des modèles LEGO en 3D sur Raspberry Pi

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.

Cliquer pour avoir des informations sur les niveaux

Leocad vous permet de mettre des Lego dans votre Raspberry Pi 🙂

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 :

Montage d’une roue sur une voiture (roue composée d’une jante et d’un pneu) – Cliquez pour agrandir

Montage de la roue vu sous un autre angle – Cliquez pour agrandir

 On pourra aussi ajouter un personnage : Allez dans le menu Pieces, ouvrez Minifig_Wizard.

Configuration du personnage – Cliquer pour agrandir

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.

Pilote et voiture de course (en Lego 🙂 ) – Cliquer pour agrandir

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

Cliquez pour avoir de l’information sur les niveaux.

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.

« Christmas Baubles » par Jaime Vives Piqueres (2005) – Cette image a été réalisée entièrement avec povray

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

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

4 réflexions au sujet de « LeoCAD : des modèles LEGO en 3D sur Raspberry Pi »

  1. Sarah

    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.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.