CNC, Gcode, dxf, Cambam, FreeCad, Problèmes et solution

Expérience vécue récemment : Après avoir généré un Gcode avec Cambam et envoyé celui-ci à la CNC du Fablab, la CNC tente d’usiner hors de ses limites et pas à l’endroit prévu. D’où l’intérêt d’avoir TOUJOURS la main sur le bouton d’Arrêt d’Urgence !!!

Pour comprendre d’où vient le problème, voici l’historique de génération du Gcode : dessin fait avec FreeCad, exportation en .dxf (avec Freecad), importation sous Camban, déplacement pour centrer le dessin sur le zéro Camban, définition des opérations d’usinage et génération du Gcode. Rien à priori d’anormal.

La pièce à usiner                                           Le dessin .dxf importé                                            le dessin .dxf déplacé

La définition des opérations d’usinage :

 

Et le Gcode généré :

. . .

( Poche1 )

G17

M3

G0 X-155.8875 Y-68.0

G0 Z1.0

G1 F300.0 Z-0.5

G2 F800.0 X-156.0563 Y-68.0974 I-0.1125 J0.0

G2 Y-67.9026 I0.0562 J0.0974

G2 X-155.8875 Y-68.0 I0.0563 J-0.0974

G1 F300.0 Z-1.0

G2 F800.0 X-156.0563 Y-68.0974 I-0.1125 J0.0

. . . . . .

Les valeurs en rouge donnent le positionnement de l’outil d’où le déplacement hors des limites (la pièce a pour dimensions 24 x 42 mm).

Ce qui signifie que Camban n’a pas pris en compte le déplacement du fichier .dxf lors de la génération du Gcode.

 

Une (La ?) solution :

Après avoir déplacé le fichier .dxf : Fichier/exporter/Vers dxf/ nom de fichier choisi (le nom peut être le même).

Fermer Cambam, le rouvrir, charger le nouveau fichier enregistré et définir les opérations d’usinage puis générer le fichier Gcode.

. . .

( Poche1 )

G17

M3

G0 X4.45 Y-16.0

G0 Z1.0

G1 F50.0 Z-0.5

G2 F150.0 X3.775 Y-16.3897 I-0.45 J0.0

G2 Y-15.6103 I0.225 J0.3897

G2 X4.45 Y-16.0 I0.225 J-0.3897

G1 F50.0 Z-1.0

G2 F150.0 X3.775 Y-16.3897 I-0.45 J0.0

. . .

Le Gcode créé est correct en terme de positionnement.

L’erreur de positionnement vient de la création du fichier .dxf avec FreeCad et en particulier de la position de la figure sur le calque de FreeCad avant son exportation.

Conclusions :

  • Toujours avoir la main à proximité de l’Arrêt d’Urgence,
  • Quel que soit le logiciel de définition du fichier .dxf (FreeCad ou autre) positionner le fichier dans Camban puis sauvegardez le, Fermez Cambam (important), ouvrez le à nouveau et rechargez le fichier .dxf pour définir les opérations d’usinage et créer le Gcode.
  • Vérifier son Gcode avant de l’envoyer à la CNC:
    • En l’étudiant (avec un peu de persévérance ça se lit très bien)
    • On peut aussi utiliser la visualisation avec « Universal Gcode Sender » (*):

Le trajet de l’outil de la position de départ de la broche (zéro choisi) vers le point de début de l’usinage est bien visible et les proportions par rapport à la forme usinée permet de vérifier.

Note : je n’ai pas testé avec d’autres logiciels de génération de fichiers .dxf .

   

Fichier G-code incorrect                                                                  Fichier correct

 

Gaston pour « Les Fabriqueurs »

 

(*) : vous pouvez l’utiliser chez vous (freeware), même s’il n’y a pas de machine connectée (installez Java, télécharger « Universal Gcode Sender, l’installer) cliquez sur « UniversalGcodeSender.jar » puis « Browse » pour charger le fichier Gcode et « Visualize » pour afficher les parcours d’outil ).

Posted in CNC, Compte-rendu d'évenement, Fabrications, Technique.

2 Comments

  1. Bonjour,
    pourquoi n’utilises-tu pas un brut pour ta pièce ?
    Tu as aussi la possibilité de modifier le point d’origine sous cambam.
    A+

  2. je suis d’accord, mais faut-il encore savoir que Cambam n’enregistre pas le décalage qui est fait et de connaître les valeurs de celui-ci.
    Je reste persuadé qu’il vaut mieux avoir une somme de choses simples ( des fichiers G-code séparés par exemple) que de construire des choses plus compliquées: habituellement je crée un seul fichier dxf par pièce à usiner alors que cette fois ci j’avais mis 4 dessins dans un seul fichier avec Freecad pour le projet. Le problème vient de Cambam qui n’enregistre pas le déplacement du dessin dans son espace . Déplacer le point d’origine par rapport au dessin ou déplacer le dessin par rapport au point d’origine est pour moi la même chose.

Laisser un commentaire

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