Linux et la commande numérique par calculateur

Posté par  . Édité par Florent Zara, baud123 et Benoît Sibaud. Modéré par claudex. Licence CC By‑SA.
67
16
déc.
2012
Technologie

Passionné d'informatique et utilisateur de Linux depuis environ 2003 (avec Mandrake 9.1), je me suis équipé pour mon travail (je suis artisan et je travaille le bois) d'une petite fraiseuse numérique 3 axes. Il était pour moi hors de question de revenir sous Windows et j'ai donc dû chercher les logiciels nécessaires tournant sous Linux. Pour ceux qui ne connaissent pas ce domaine, la fabrication assistée par ordinateur (FAO) nécessite 3 étapes :

  • La modélisation de la pièce à l'aide d'un logiciel de dessin technique 2D ou 3D. Cette étape est appelée CAD en anglais : Computer Aided Design.
  • La création des parcours d'outil, en fonction du type de matière à usiner, de l'outil utilisé, de l'état de surface souhaité, etc. Cette étape est appelée CAM en anglais : Computer Aided Manufacturing.
  • Le pilotage de la machine-outil à l'aide d'un logiciel contrôleur : donc l'usinage proprement dit.

Les logiciels de ce type ne sont pas très nombreux sous Linux, mais les choses avancent doucement, et je souhaitais donner quelques nouvelles de certains d'entre eux et faire naître, pourquoi pas, quelques vocations de contributeurs. Je ne suis pas du tout spécialiste de la CNC, ni de l'informatique. Ce qui suit n'a donc aucun caractère exhaustif et comporte probablement quelques erreurs ou imprécisions.
Il s'agit juste d'un petit état des lieux des logiciels que j'utilise ou dont je surveille le développement.

NdM : merci à christophe_g pour son journal.

Sommaire

La modélisation 2D

  • LibreCAD est un logiciel de dessin technique 2D, sous licence GPLv2, issu de la version Community 2.0.5 de Qcad. Qcad est un logiciel propriétaire (dont la version majeure 3.0 est sortie cet été), mais qui était disponible, dans une version plus ancienne, sous licence libre. Malheureusement la dernière version libre, la Community 2.0.5, commence à dater, et aucune nouvelle version libre ne semblait annoncée. Le premier but du fork LibreCAD était de porter Qcad 2.0.5 sous Qt4. C'est chose faite et le développement consiste maintenant à ajouter de nouvelles fonctionnalités, telles que la gestion des courbes de Bézier et l'amélioration de l'outil texte, par exemple. LibreCAD est actuellement en version 2.0 alpha4 et une ou deux idées de création d'un greffon CAM semblent pointer le bout de leur nez, mais sans rien de concret pour l'instant.
  • Inkscape n'est pas un logiciel de dessin technique, mais un logiciel de dessin vectoriel à vocation artistique. C'est pourtant le logiciel que j'utilise quotidiennement pour tous mes dessins 2D, pour deux raisons principales : son utilisation très agréable des courbes de Bézier, et, surtout, à cause de son extension Gcodetools qui permet de créer les parcours d'outils directement dans Inkscape. Mais je reviendrais sur Gcodetools un peu plus bas. Malheureusement, n'étant pas un logiciel de dessin technique, il manque à Inkscape quelques fonctionnalités utiles telles que la création de parallèles, de perpendiculaires, de tangentes ou encore le dessin des cotations.

La modélisation 3D

  • Blender m'est parfois utile. Je ne l'utilise pas pour modéliser directement une pièce 3D. En revanche, il me permet de manipuler un mesh, tels que ceux issus de la numérisation d'une pièce existante, avec la machine-outil équipée d'un palpeur 3D. Blender
  • Heekscad est un logiciel de modélisation paramétrique basé sur OpenCascade, et doté d'une extension CAM : HeeksCNC. Malheureusement, son développement est stoppé et il s'est toujours montré, chez moi, particulièrement instable.
  • FreeCAD est un logiciel de modélisation 3D paramétrique, basé sur OpenCascade. Il est très prometteur et son développement est actif. La prise en main n'est pas évidente, car elle s'appuie sur différents "ateliers" offrant chacun leur propres outils. La version de développement 0.13 est actuellement en cours de stabilisation.

Les logiciels CAM

La fabrication assistée par ordinateur (FAO évoquée ci-dessus), aussi appelée CAM en anglais se développe :

  • Pycam est un logiciel pour créer les parcours d'outils pour l'usinage de pièces 3D. Il est écrit en Python et s'avère très agréable à utiliser. Mon seul regret concerne les performances assez mauvaises sur les pièces un peu complexes, où la RAM se retrouve vite saturée. La version stable actuelle est la 0.5.1. La future version 0.6 est une réécriture d'une partie du code pour le rendre plus modulaire et s'annonce prometteuse. Malheureusement, Pycam est développé par une seule personne et le développement est très très lent. PyCAM
  • Gcodetools est donc une extension à Inkscape, écrite en Python. Son fonctionnement est un peu atypique : l'outil d'usinage est créé sous forme d'un rectangle contenant ses caractéristiques en texte ; on doit créer des points d'orientation pour définir l'origine et l'échelle. Objectivement, je pense que ça tient plus de la bidouille que d'un vrai logiciel et, pourtant, ça fonctionne très bien : c'est le logiciel que j'utilise pour créer tous mes usinages 2D. En fait, pour avoir codé 2 ou 3 bricoles pour Gcodetools, je me suis rendu compte que la faute principale en revient surtout à Inkscape, dont le système d'extension est assez limité : quelques outils basiques (pour la création de la fenêtre de l'extension, par exemple), et un simple accès au DOM du document SVG. La plupart des fonctionnalités internes d'Inkscape ne sont pas accessibles aux extensions. Gcodetools sera intégré dans les extensions par défaut d'Inkscape, à partir de la version 0.49, qui devrait sortir d'ici quelques semaines. Inkscape
  • Cet automne, un projet qui semble sérieux, est né pour créer un module CAM pour FreeCAD. Rien d'utilisable pour l'instant, mais plusieurs personnes dont j'ai déjà croisé les pseudos ailleurs sur le net dans le petit monde de la CNC sous Linux ce sont retrouvées sur le forum de FreeCAD et le développement de l'infrastructure du module est bien entamée. FreeCAD, déjà très prometteur en tant que logiciel de modélisation, va donc visiblement être doté d'un module CAM lui aussi très prometteur !

Logiciel de Pilotage

Dernière étape de l'usinage assisté par ordinateur, le logiciel de pilotage charge le parcours d'outil, et génère les signaux qui sont envoyés à la machine-outil. Je ne sais pas s'il existe d'autres logiciels de pilotage CNC sous Linux, mais pour ma part, je ne connais que LinuxCNC. Anciennement appelé EMC2, il a dû changer de nom au printemps 2011, suite à la demande d'une entreprise qui possédait les droits sur les noms EMC et EMC2. Pour pouvoir piloter physiquement une machine-outil, LinuxCNC s'appuie sur un noyau Linux temps-réel. Sans ce noyau temps-réel, il fonctionne uniquement en mode simulation.

Beaucoup de changements sont en cours actuellement et LinuxCNC va bientôt prendre en charge plusieurs types de noyaux Linux temps-réel. En effet, jusqu'à présent, LinuxCNC utilisait l'extension temps-réel RTAI, en particulier en raison de ses performances. Mais le développement de RTAI est lent et, pour l'instant, le noyau le plus récent pris en charge est le 2.6.38. Cela signifie que LinuxCNC, dont la distribution par défaut est Ubuntu, est bloqué pour son LiveCD, sur une Ubuntu 10.04, qui commence à dater. Des développeurs se sont donc mis au travail, afin que LinuxCNC puisse aussi fonctionner sur les noyaux temps-réel basés sur RT_PREEMPT et Xenomai. Et les premiers résultats semblent prometteurs et laissent espérer des performances proches de celles obtenues avec RTAI. Du travail est aussi fait au niveau de la prise en charge des processeurs ARM.
LinuxCNC
Usinage

Voilà. Si ça peut aider quelques personnes souhaitant utiliser une CNC sous Linux ou si certains parmi vous ont les doigts qui les démangent, et cherchent un projet auquel contribuer.

Aller plus loin

  • # Smoothie

    Posté par  . Évalué à 10.

    Hé vous avez oublié de parler de Smoothie !

    Ca controle les CNC, les lasers, les imprimantes 3D, c'est libre, et c'est Francais !

    http://smoothieware.org/
    http://smoothieware.org/smoothieboard

    ( Ok la doc est en anglais mais personne n'est parfait ).

    • [^] # Re: Smoothie

      Posté par  . Évalué à -8. Dernière modification le 16 décembre 2012 à 22:08.

      Ca controle les CNC, les lasers, les imprimantes 3D, c'est libre, et c'est Francais !

      Mais comme le français n'est pas assez "in","bankable" ou "cool", ils ont appelé leur logiciel "Smoothie".

      Je vous vois venir, langue commerciale à 99%, ouverture sur le "monde" des codeurs donc potentiellement plus de chance de retour, progrès etc…

      un petit rappel: UBUNTU!

      ( Ok la doc est en anglais mais personne n'est parfait ).

      Le problème n'était franchement pas là. :p

      Je vais me faire incendier par ceux qui vont me traiter de ringard "patriotique" voire chauvin (arf!) alors que ces mêmes personnes sont les premières dans les commentaires à faire l'éloge de tel ou tel truc culturel-o-traditionnel français.

  • # Fraiseuse DIY

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

    Penses-tu qu'il est possible de fabriquer soit-même la fraiseuse ? Car j'imagine que c'est un équipement assez couteux ?

    Autre question : cette fraiseuse est-elle seulement adaptée à des travaux des précisions, ou on peut dégrossir la pièce de bois avec ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

    • [^] # Re: Fraiseuse DIY

      Posté par  . Évalué à 5.

      Il y a tout plein de projets de fraiseuses CNC opensource.

      Le mieux pour en savoir plus je pense c'est de contacter le fablab/hackerspace le plus proche.

      Une des plus connues est par exemple la shapeoko : http://www.shapeoko.com/

      Mais il y en a d'autres par exemple une petite liste compilée par la ML fablab-fr : http://imaginationforpeople.org/wiki/workgroup/fablab-fr/fraiseuse

    • [^] # Re: Fraiseuse DIY

      Posté par  . Évalué à 8.

      Ma machine m'a coûté environ 3500 € tout compris.
      Certains se fabriquent leur machine eux-mêmes, mais cela demande, je pense, de solides notions d'usinage et de mécanique.
      Tu peux aller voir ce forum pour des exemples de fabrication : Usinages.com
      On peut toujours dégrossir, la question est : avec quelle profondeur de passe ? Et donc, en combien de temps ?
      Sur la dernière photo de la dépêche, la zone en escalier au premier plan est justement une phase de dégrossissage ( stratégie "remove material" dans pycam avec des profondeurs de passes fixes ) alors que la zone en arrière-plan est la passe de finition.

  • # BRL-CAD

    Posté par  (site web personnel) . Évalué à 5. Dernière modification le 16 décembre 2012 à 22:33.

    C'est bizarre de ne pas citer BRL-CAD tout de même, c'est largement du niveau de Euclid que j'avais utilisé en étude d'ingénieur au CDPI (conception des produits industriels).

    Il y a tout de même de quoi faire en libre (je redonne un lien déjà posté) :
    http://alternativeto.net/tag/cad/?license=opensource

    J'imagine qu'il y a quelques utilisateurs (ponctuels au mini) de chacun qui pourraient en parler ?

    Il y a notamment la distribution CAElinux qui va plus loin (Computer-Aided Engineering), même si cela reste à la conception / modélisation et non à la fabrication.

  • # Et le plastique ?

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

    Intéressant cet article.
    Je me demandais s'il existait la même chose pour travailler sur du plastique au lieu du bois.
    Ainsi, je pourrai créer des boitiers en plastique pour mes petits montages électroniques…
    Vous avez des informations sur ça ? (le nom et où se procurer la machine, les logiciels et la matière)

    • [^] # Re: Et le plastique ?

      Posté par  . Évalué à 3.

      Les pièces en plastiques ne se travaillent pas ou très peu par usinage. On utilise plutôt des procédés d'injection, de thermoformage, d'extrusion…

    • [^] # Re: Et le plastique ?

      Posté par  . Évalué à 1.

    • [^] # Re: Et le plastique ?

      Posté par  . Évalué à 2.

      Une découpeuse laser fonctionne aussi bien pour de l'acrylique/plexiglas ( on peut en faire une soi meme pour moins de 1000 euros, plus d'infos sur demande ).
      Ou une reprap ! :) http://reprap.org/wiki/Main_Page

      • [^] # Re: Et le plastique ?

        Posté par  . Évalué à 2.

        Si tu as des infos sur la découpeuse laser, ça m'intéresse.
        Style, épaisseur maxi de coupe, matériel, plan, …
        Merci !

        • [^] # Re: Et le plastique ?

          Posté par  . Évalué à 2.

          Pour la découpeuse laser, tu peux acheter la moins chere sur ebay ( c'est une boite bleue, 200x300 de zone de travail, tube laser de 40W ).
          C'est assez pour couper du contreplaqué, du MDF, et du plexiglas ( acrylique ) jusque 6mm voire un peu plus.
          Ca coute grosso modo 700 euros frais de port compris.

          Mais une fois que tu as la découpeuse, elle est pas vraiment utilisable : le soft windows est inutilisable, vraiment. Et l'electronique qui controle la decoupeuse est de qualité catastrophique.

          Par contre, tu peux remplacer l'electronique par une smoothieboard ( circuit de controle avec interpreteur gcode ), et a ce moment la, la découpeuse se controle tres simplement, avec du gcode, comme une fraiseuse numerique ( donc avec pycam par exemple ).

          Il y a quelques autres pieces dans la découpeuse a remplacer ( la ventilation n'est pas adhéquate par exemple ).
          Au final on en arrive a environ 1000 euros tout compris.

          J'ai deja aidé plusieurs personnes a faire la conversion, ca se fait assez bien.
          Tu peux obtenir de l'aide un peu partout, par exemple sur irc, #reprap.fr ou #smoothieware sur le réseau freenode, ou par mail ou quoi.

          • [^] # Re: Et le plastique ?

            Posté par  . Évalué à 2.

            merci pour l'info !
            Ca semble être ça[ebay] pour ceux qui cherchent.

            Un conseil pour une CNC servant à usiner des PCB (perçage et routage), exemple ?
            Actuellement, je regarde zentoolworks, les options de pilotages sont intéressantes.
            Mais ça manque un peu d'exemples de routage de PCB, je ne sais pas si ça fait bien le boulot.

            • [^] # Re: Et le plastique ?

              Posté par  . Évalué à 2.

              Oui pour la découpeuse laser c'est bien celle la :)

              Pour la CNC, elle a l'air bien. Il y a une version sans carte de controle, juste les moteurs, c'est ce que tu veux pour mettre un controlleur opensource dessus. Je prefere la Shapeoko ou la contraptor qui sont opensource mais bon :)

              • [^] # Re: Et le plastique ?

                Posté par  . Évalué à 1.

                Elles ont l'air bien aussi.
                je regarde aussi celle la http://www.repairablemachines.com/

                Tu les as déjà vu fonctionner ?
                Pas évident de comparer leur précision.

                Elles coûtent à peu près toute la même chose.
                Mais elles affichent toutes assez peu de specs (hormis le volume usinable, c'est déjà ça !)

              • [^] # Re: Et le plastique ?

                Posté par  . Évalué à 1.

                Question contrôle, je trouve de la base Arduino, la SmoothieBoard, …
                Et côté soft, linuxCNC, un interpreteur Gcode pour arduino, du proprio type Mach3, ….

                Un conseil ?
                Toujours dans une optique eagle->PCB, voir Kicad->PCb

                Éventuellement de l'usinage pour les boîtiers.

                Merci !

                Ou un bon site qui traite du sujet. Je trouve pour l'instant uniquement des choses très éparpillées.

  • # Modèle de la fraiseuse ?

    Posté par  . Évalué à 0.

    Merci pour cette dépêche très instructive !

    Est-ce que tu pourrais nous dire quel modèle de fraiseuse tu as acheté ? Sur quel site ?
    Est-ce que tu en es toujours content ?

    Merci !

Suivre le flux des commentaires

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