Generateur de Gcode gratuit

  • Auteur de la discussion romteb
  • Date de début
R

romteb

Fondateur
Il ne me semble pas qu'on ait parlé de Dxftogcode, ca merite quand même un sujet.

C'est un pti soft gratuit qui accepte des fichiers DXF, CorelDraw et Inkscape pour generer le gcode, il fonctionne sous Linux et Windows.

Pas encore testé en ce qui me concerne.

La page de telechargement.
 
O

Otatiaro

Compagnon
Salut,

J'en profite pour glisser que je suis "ingénieur étude et developpement", donc si vous avez besoin d'une moulinette particulière, pour sortir du G-Code a partir d'un type de fichier précis ... c'est dans mes cordes.

++
 
W

wika58

Compagnon
Merci Romteb pour ce nouveau lien intéressant.
J'ai pas de CNC, mais un ami du forum en a une et ça peux être intéressant pour préparer le travail quand je lui demande une petite réalisation ... 8-)

Otatiaro a dit:
... donc si vous avez besoin d'une moulinette particulière, pour sortir du G-Code a partir d'un type de fichier précis ... c'est dans mes cordes
Sympa ta propositon... :wink:
Solidworks ... :roll:
 
K

K-micaz

Apprenti
Ils courrent pas les rue les logiciels pour faire du Gcode ... merci Romteb :)
Comme le dit Wika58, si on pouvais faire du Gcode a partir des fichiers solidworks ... :wink:
 
C

cogchristian

Apprenti
dxf2gCode

Merci Romteb.

j'utilise dxf2gcode, il est très bien.
Défaut : la doc est en allemand, mais heuresement le soft est en anglais.
Il fait les G0, G1, G2 & G3 (avec I et J en relatif), accepte G40, 41, 42
Sur l'une de mes 'chaines', j'utilise :
- TurboCad 6.5 (gratuit)
- puis dxf2gCode
- puis CncSimulator (qui accepte directement le gCode de dxf2gCode)
Je fais des modifications dans CncSimulator (ordre d'usinage surtout)
- je rentre le gCode dans l'interpréteur fait maison avec un microcontrôleur PIC autonome car je n'aime pas du tout avoir un PC relié à une machine. A noter que CncSimulator se charge de faire le transfert RS232 vers mon boitier.
Mon interpréteur en en réalité beaucoup plus complexe. Il est capable de recevoir un fichier de gCode, et de l'exécuter en auto ou en pas à pas, de créer lui même du gCode. Je m'explique. Sur un tour par exemple, je fais un passe en avance automatique (à l'aide d'un petit joystick pro), si la passe est OK je la sauvegarde, je fais la passe suivante et ainsi de suite....Si je veux une deuxième pièce identique : un seul bouton.
Je peux sauvegarder le code vers le PC. etc ....Bien sur, dans ce "d'apprentissage", rien n'est prèvu pour créer des G2 ou G3
Pour les driver, j'en utilise quatre différents sans problème.

Cet ensemble pourrait être en sujet sur ce forum ?

Cordialement
 
O

ordinerf

Compagnon
alors je commande au père noel Otatiaro un truc pour faire du G-code depuis blender, solidworks et pourquoi pas Paint :rirecla:
 
M

mekratrig

Compagnon
elliott a dit:
pas de souci mekratrig suffit de faire le chèque :)

Bof ! ça traine dans tous les lits de torrent et ça ruisselle chez moi* !

*Parce que je ne sais l'utiliser qu'à 0,0001% :oops: :roll:
 
H

horsot

Compagnon
Bonsoir,

+1 pour inkscape et son plug-in "gcode tools" pour tout ce qui est gravure (ou autre!). Le lien du projet (open source) :
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=35&start=0
Un petit article dans le wiki d'EMC2 :
http://wiki.linuxcnc.org/emcinfo.pl?InkscapeHowto

Des captures d'écrans de la "breakout board" du projet "PetitPas" passé à la moulinette "gcode tools/inkscape" puis visualisé avec EMC2. :-D

Xavier

inkscape_PCB.png


EMC2_PCB.png
 
F

f6bqi

Compagnon
Bonjour,
une nouvelle version de dxf-Gcode est sortie.
Il semble que l'on peut en changer la langue d'utilisation.
Quelle est la manip à faire?
pas d'info dans la doc.
merci
 
X

xi

Apprenti
Bonjour,

Suite à des demandes, je fais un petit point sur dxf2gcode :wink:

dxf2gcode est un outil très simple qui permet de faire uniquement du détourage de formes (avec ou sans compensation du rayon d'outil). Ce n'est pas un générateur de gcode 3D, il n'est pas capable de faire de surfacage, ...
Ce logiciel permet donc de découper des formes plus ou moins complexes ; formes qui auront été dessinées avec un logiciel de dessin technique (qcad par exemple : http://www.ribbonsoft.fr/ (logiciel libre et gratuit, au moins sous Linux), ou autocad (non testé))

Le soft est écrit en python, il doit donc marcher sous windows et sous Linux. Je vais vous présenter l'utilisation que j'en fais qui est exclusivement sous Linux

  • Dessin de la pièce à usiner
    Comme je l'ai mis plus haut, j'utilise l'excellent logiciel QCad qui fonctionne sous Linux et sous windows et qui est libre et gratuit sous Linux (de mémoire il coute 3x rien sous windows) :
    dxf2gcode_01_qcad_130.png

    Donc là j'ai dessiné une cale qui va nous servir d'exemple tout au long de ce post. Veillez à bien raccorder les profils de la pièce (pas de dessin à l'"à peu près", sinon dxf2gcode ne verra pas des formes fermées et n'usinera pas de tout ce que vous attendez).
  • Installation de dxf2gcode
    Commencez par télécharger le logiciel ici : http://code.google.com/p/dxf2gcode/down ... source.zip
    Ensuite il faut l'"installer" (l'installation se résume en gros à le décompresser et à le rendre executable) :
    dxf2gcode_00_installation_dxf2gcode_231.png

    Etapes pas à pas
    - ouvrir un terminal (konsole par exemple)
    - aller dans le repertoire où vous avez téléchargé le logiciel : "cd /home/xi/Logiciels" par exemple
    - faire un "ls -lh" pour vérifier que tout est bien là
    - creer un dossier qui s'appelle avec le nom du soft : "mkdir 2010-05-04-dxf2gcode_b02_source"
    - aller dans ce dossier : "cd 2010-05-04-dxf2gcode_b02_source"
    - décompresser le logiciel : "unzip ../2010-05-04-dxf2gcode_b02_source.zip" (le "../" est important !)
    - étape non indispensable mais vivement conseillée (voir plus loin) : appliquer mon patch : "patch -p1 < ../add_toolpath_setting_patch__dxf2gcode_2010-05-04b02.diff"
    - rendre le fichier dxf2gcode_b02.py executable : "chmod a+x dxf2gcode_b02.py"
    - lancer le logiciel : "./dxf2gcode_b02.py"

    A noter qu'à part le patch, tout est faisable depuis l'explorateur :wink:

  • Lecture du fichier dxf
    Si tout se passe comme prévu, vous pouvez ouvrir le fichier "cale.dxf" créé avec qcad (menu "File->Read DXF") :
    dxf2gcode_02_lecture_fichier_dxf_543.png

  • Choix du sens d'usinage
    Sélectionner les formes à usiner avec la souris + la touche [CTRL] du clavier. Ensuite, avec le bouton de droite de la souris, choisir le type d'usinage que vous voulez faire (le choix peut s'effectuer par forme). Ici on veut couper "à gauche" des traits (ie faire un usinage en avalant) ; pour moi c'est généralement ce qui donne les meilleurs résultats :
    dxf2gcode_03_sens_de_coupe_192.png

    A noter que les autres choix sont
    - "G40: no correction" : ne tient pas compte du rayon de la fraise et usine sur le trait (à utiliser pour faire de la gravure de texte par exemple)
    - "G42: cutting right" : usine à droite du trait (fait de l'usinage en opposition ; chez moi le résultat est généralement moins propre que pour l'usinage en avalant)
  • Choix de l'usinage intérieur / extérieur
    Ici, on indique si on veut usiner l'intérieur ou l'extérieur des formes. Je sélectionne toutes les formes qui ne sont pas usinées du bon coté et je fais "bouton de droite -> Switch direction" :
    dxf2gcode_04_sens_de_coupe_114.png

  • Generation du Gcode
    On commence par régler les paramètres d'usinage :
    - "Tool diameter" : diamètre de la fraise en mm
    - "Start radius (for tool comp.)" : rayon d'entrée dans la matière pour la compensation de jeu (doit valoir au moins le diamètre de la fraise pour que EMC2 soit content). A noter que dxf2gcode fait la compensation de rayon d'outil à Z = 0 - la profondeur de passe, ce qui signifie que la compensation s'effectue en usinant dans la matière ... Pour remédier à ca, il faut par exemple décaler l'origine en Z (voir plus bas).
    - "Start at X" / "Start at Y" : point d'origine de la pièce (on voit ce point en bas à gauche du dessin de la pièce). En général je laisse toujours 0,0 et c'est au niveau de EMC2 qu'on réglera la position de la pièce.
    - "Z retraction area" : hauteur Z où la fraise peut se déplacer sans rencontrer aucun obstacle
    - "Z safety margin" : hauteur Z à laquelle la fraise se déplace pour passer d'une forme à l'autre
    - "Z infeed depth" : profondeur de passe (la fraise enlèvera 1mm de matière à la fois)
    - "Z mill depth" : profondeur finale d'usinage (-3mm => la fraise fera 3 passes d'usinage pour chaque forme : une à -1mm, la seconde à -2mm et la dernière à -3mm)
    - "G1 feed Z direction" : vitesse de descente en Z en mm/min
    - "G1 feed XY-direction" : vitesse d'usinage dans le plan X-Y

    Une fois que tout est prêt, il faut faire un "Export -> write Gcode" pour générer le gcode :
    dxf2gcode_05_chemin_outil_327.png

    Le logiciel dessine alors le parcours d'outil. On peut constater qu'il y un problème ici : le contours de la pièce est usiné avant que tous les trous ne soient percés (la pièce ne sera plus tenue). C'est pour cette raison que j'ai fait un patch pour modifier dxf2gcode (voir plus haut)
  • Generation du GCode avec mon patch
    Lorsque le logiciel est patché avec mon patch, on peut choisir l'ordre d'usinage des formes grace à la liste qui est en bas à gauche :
    dxf2gcode_06_chemin_outil_ok_189.png

    Les numéros des formes indiqués sur le dessin correspondent aux numéros dans la liste. Pour choisir l'ordre d'usinage, il suffit de cliquer sur un numéro et de le faire monter ou descendre tout en maintenant le bouton de la souris enfoncé.
  • Le résultat
    Voilà la pièce usinée sur un machine CNC 3 axes contrôlée par le logiciel EMC2 :
    dxf2gcode_06_resultat_final_emc2_165.jpg

    Remarque importante : sur EMC2 on travaille en coordonnées relatives (enfin c'est ce qu'il y a de plus facile). Donc il faut amener la fraise manuellement au point en bas à gauche de la matière à usiner (point qui correspond à la coordonnée 0,0,0 de la pièce) et utiliser le bouton "Toucher G54" pour chacune des coordonnées X, Y et Z. C'est de cette manière qu'on indique à EMC2 l'origine de notre pièce à usiner.
    Et c'est là que c'est important : il _faut_ que le fichier GCode contienne le GCode "G54" au début du programme (à placer juste après le G17 par exemple). Ce G54 permet de dire à EMC2 qu'on travaille en coordonnées relatives. Dans la version originale de dxf2gcode, il faut ajouter ce G54 à la main en éditant le fichier. Avec mon patch, c'est déjà tout prêt, ya rien à faire :wink:

J'ai regroupé tous les fichiers nécessaires à la fabrication de cette pièce dans l'archive cale.zip :

Il contient les fichiers suivants :
-> cale.dxf : dessin de la pièce sous QCad
-> cale.ngc : GCode généré par dxf2gcode (parcours d'outil incorrect)
-> cale_chemin_outil_OK.ngc : GCode généré par dxf2gcode modifié pour que le parcours d'outil soit correct
-> add_toolpath_setting_patch__dxf2gcode_2010-05-04b02.diff : patch pour la génération correcte du chemin d'outil dans dxf2gcode


Voilà, j'espère que ca servira à quelqu'un ! Ce logiciel n'est pas très puissant, mais il a l'avantage d'être très rapide à utiliser et c'est un des rares qui existe sous Linux. Avec un tout petit peu de connaissances en GCode, on arrive à faire des choses pas mal comme des petits engrenages :wink:

Si vous voulez en savoir plus, je vous invite à aller voir ma présentation : un-nouveau-avec-une-charlyrobot-emc2-sous-linux-t24645.html

dxf2gcode_00_installation_dxf2gcode.png


dxf2gcode_01_qcad.png


dxf2gcode_02_lecture_fichier_dxf.png


dxf2gcode_03_sens_de_coupe.png


dxf2gcode_04_sens_de_coupe.png


dxf2gcode_05_chemin_outil.png


dxf2gcode_06_chemin_outil_ok.png


dxf2gcode_06_resultat_final_EMC2.jpeg
Fichiers pour utilisés pour l'exemple
 

Fichiers joints

  • cale.zip
    11.2 KB · Affichages: 329
Dernière édition par un modérateur:
A

Anonymous

Guest
bonsoir Xi, :-D

tout à fait intéressantes tes explications.

Par contre, je n'ai pas bien saisi pour télécharger ton patch :???:

Peux tu m'aiguiller :wink:

cordialement

Alproc :drinkers:
 
X

xi

Apprenti
Bonsoir !

Le patch est contenu dans le fichier que j'ai appelé "cale.zip". Une fois que tu auras décompressé ce fichier, tu verras apparaitre un fichier avec l'extension ".diff", bah c'est mon patch :wink:

Le fichier cale.zip est ici : download.php?id=61492

Pour appliquer ce patch, je te laisse relire les instructions dans mon post ci dessus.


Ah oui, j'ai oublié de préciser, mon patch mériterait un bon coup de "nettoyage". Il fonctionne bien, mais la modification n'est pas codée très proprement et j'ai laissé tous les messages de débuggage dedans ...
 
A

Anonymous

Guest
rebonsoir, :-D

tout s'éclaire, je n'avais pas compris donc maintenant je vais pouvoir essayer cela.

te remerciant :wink:

Alproc :drinkers:

p.s : sans vouloir être indiscret tu es informaticien programmeur ?
 
W

wika58

Compagnon
Une question:
dxf2gcode permet-il de faire de la gravure de textes?... Si oui, comment :roll:
Merci. :wink:
 
X

xi

Apprenti
Malheureusement je crois que non ... De mémoire, j'avais essayé d'écrire un texte dans QCad et d'ouvrir le fichier DXF dans dxf2gcode et ca m'avait mis "texte non supporté" ou un truc du genre.

La seule fois où j'ai gravé du texte, j'ai importé une image dans QCad (texte sur un logo) et j'ai repassé les lettres avec des traits.

Sinon regarde du coté de TTT (True Type Tracer) : http://timeguy.com/cradek/truetype & http://timeguy.com/cradek/01276453959 , mais j'ai jamais testé !
 
O

ordinerf

Compagnon
pour info il éxiste des polices de caractères spécialement faitent pour être usinées, par contre je ne connais pas leur nom :oops:
 
F

f6bqi

Compagnon
Bonsoir,
Pour xi sous Qcad il faut simplement "décomposer" le texte pour qu'il ne comporte que des segments de droite et des courbes (commande xp). Passage dans Dxf2Gcode et ca marche parfaitement.
Cordialement
 
X

xi

Apprenti
Merci pour l'astuce, je connaissais pas :tumbsupe:

Et je vois que je ne suis pas le seul à utiliser les commandes clavier dans QCad :lol:
 
W

wika58

Compagnon
Et pour ceux qui n e connaissent pas QCad, il y a une alternative? :roll:
 
F

f6bqi

Compagnon
QCad est un "Autocad" 2D très simple à gérer qui ne coute que 24€ et est multi plateformes (XP, Linux, Mac). Son grand frère CamExpert est plus cher (150€) et comporte le générateur de Gcodes.
Cordialement
 
B

burnst

Nouveau
Merci pour les infos XI, Mais, ton patch n'est utilisable que sur linux c'est bien ça?

je n'arrive pas a l'appliquer sur unbuntu... que ce soit en passant par le terminal ou non
 
O

Otatiaro

Compagnon
Salut,

ordinerf a dit:
alors je commande au père noel Otatiaro un truc pour faire du G-code depuis blender, solidworks et pourquoi pas Paint :rirecla:

Avec un peu de retard ... suffit d'écrire des specs fonctionnelles détaillées, et ca sera fait :wink:

En dessous de 500 pages de specs ca m'interesse pas :twisted:

++
 
J

jo32

Nouveau
Merci xi pour le tuto et les explications super détaillées.
J'ai testé la version "dxf2gcode pour Windows" et elle fonctionne admirablement bien (moyennant quelques corrections manuelles mineures).

C'est bien dommage qu'il n'existe pas de patch pour la version Windows.
Du coup, le travail est nettement plus laborieux pour arriver à finaliser l'ensemble de l'usinage.
J'ai du générer 3 fichiers gcode distincts (et donc il a fallu faire 3 usinages successifs) pour mener à bien la réalisation de ma pièce d'épreuve. Je n'ai trouvé que cette solution la pour obtenir un mode opératoire logique en foncton du bridage de la pièce.

NB:
On pourrait aussi coller les bouts de g-code pour finalement ne faire qu'un seul fichier, mais un patch pour Windows règlerait le problème et simplifierait bien des choses dans la plupart des cas.
 
R

RicardoAlmeida

Nouveau
olá

xi a dit:
Bonsoir !

Le patch est contenu dans le fichier que j'ai appelé "cale.zip". Une fois que tu auras décompressé ce fichier, tu verras apparaitre un fichier avec l'extension ".diff", bah c'est mon patch :wink:

Le fichier cale.zip est ici : download.php?id=61492

Pour appliquer ce patch, je te laisse relire les instructions dans mon post ci dessus.


Ah oui, j'ai oublié de préciser, mon patch mériterait un bon coup de "nettoyage". Il fonctionne bien, mais la modification n'est pas codée très proprement et j'ai laissé tous les messages de débuggage dedans ...
 
P

Ping

Nouveau
Re: dxf2gCode

cogchristian a dit:
Merci Romteb.

[...]
- je rentre le gCode dans l'interpréteur fait maison avec un microcontrôleur PIC autonome car je n'aime pas du tout avoir un PC relié à une machine. A noter que CncSimulator se charge de faire le transfert RS232 vers mon boitier.
[...]

Cet ensemble pourrait être en sujet sur ce forum ?

Cordialement

Bonjour,

Je recherche actuellement un contrôleur de ce type, ce qui me permettra au passage de ne pas m'arracher les cheveux sur les erreurs renvoyées par le noyau temps réel d'EMC 2 qui ne veut rien entendre pour le moment.
J'ai bien trouvé des solutions à base d'Arduino, mais j'ai quelques doutes sur les possibilités... Alors oui, je pense que ceci pourrait consituer un sujet sur le forum, en plus de celui existant déjà un contrôleur similaire.

Merci :wink:
 
J

jigour

Ouvrier
Bonsoir,
ça m ' intéresse également , je vais suivre ça de près
bonne soirée
jean
 

Sujets similaires

Haut