c-dxf2gcode (kleines Konsolen-Tool für Linux zum generieren von g-code aus dxf-datei)

meister

Erfahrener Benutzer
#1
Mir war langweilig und die GUI-CAM-Tools gingen mir auf die Nerven :)



c-dxf2gcode:
---------------------------------------------------

Ein 'Konsolen Tool' zum generieren von G-Code aus DXF-Dateien

Features:
liest DXF-Dateien ein
legt linkes unteres Element auf X0.0, Y0.0
erkennt geschlossene Pfade
erkennt innenliegende Pfade
erkennt offene Pfade
fräst innenliegende, geschlossene Pfade im Uhrzeigersinn mit Radius-Offset-Korektur rechts (G42 / Innen)
fräst aussenliegende, geschlossene Pfade gegen den Uhrzeigersinn mit Radius-Offset-Korektur rechts (G42 / Aussen)
fräst offene Pfade ohne Offset
Layer's werden getrennt behandelt
Layer's mit dem Namenschema: 'depth-X.X' werden in einer bestimmten tiefe gefräst (z.B. Layer 'depth-4.0' nur mit 4mm egal was als default übergeben wurde)
Fräsbahnen werden leicht optimiert


TODO:
SPLINE-Kurven (NOCH nicht implementiert)
POLYLINES (noch probleme mit ARC's)


BUGS:
nur unter Debian/Wheezy mit Librecad/Qcad und LinuxCNC/EMC getestet


---------------------------------------------------

# ./c-dxf2gcode -h

c-dxf2gcode [OPTIONS] DXF-FILE
-h this help
-b batchmode
-o FILE output-file
-t INT tool-num
-r FLOAT tool-radius
-d FLOAT mill-depth
-ds FLOAT mill-depth-step
-sm FLOAT save-move
-mi FLOAT move-in
-mo FLOAT move-out
-s INT tool-speed
-f INT feed-speed
-v INT vertical-speed

---------------------------------------------------

Librecad/Qcad


c-dxf2gcode -o /tmp/test.ngc test.dxf


LinuxCNC/EMC


Source-Code:
http://www.multixmedia.org/test/c-dxf2gcode.tgz

Is nix tolles und hat bestimmt 1000Bug's, übernimmt aber 99% meiner Aufgaben in Sachen CAM, vielleicht mag es ja jemand

Gruß,
Olli
 
Zuletzt bearbeitet:
#4
Uih super mal wieder was von linux....
Meinne Cnc fräse liegt zwar noch auf der Werkbank.
(Shapeoko2)
Aber ne Cam software brauche ich noch.
Also mache ich mal den sprung ins kalte wasser.
Und nim deins.
Mit Linux kann ich eh besser und ist mir auch lieber als Windows.
Ich hoffe ich kriege sie diesen monat noch zum laufen.
Melde mich dann.
 
#8
So es wird so langsam.
Also Fräse ist fertig für das erste probestück.
Angesteuert über GRBL CNC Shield-
Fünzt recht ordentlich
Ich sag mal das wird auch mein erstes selbstgefrästes.
Ich habe noch ne Styroschneiden aber die läuft unter Windows.
Und benötigtr kein CAM
Also LibreCad nutze ich schon länger und nun mal los.
Als erstes werkstück wollte ich was einfaches.
Ein Triforce kettenanhänger (mein Sohn steht drauf)
http://www.google.de/images?q=trifo...1.1.0....0...1ac..34.img..0.1.232.48_-oSoHGKw

Also vier dreiecke und das in der mitte ein bischen tiefer ausgefräst also ne Tasche.
Damit will ich anfangen.
Als Werkzeug habe ich vhm zweischneider in 1,6mm im Dremel.
ne einfache DXF als vorlage währe nicht schlecht dann kann ich anhand eines beispiels schon
mal fehler beseitigen...
Also learning by doing
 
Zuletzt bearbeitet:

meister

Erfahrener Benutzer
#9
Muss mal ne kleine WARNUNG aussprechen :)
Mein CAM ist noch BETA, es funktioniert zwar, aber man sollte die ausgaben nochmal prüfen bevor man sie durchs material jagt.

Wenn du eh Windows hast, solltest du am anfang vielleicht eher sowas wie cambam oder estlcam nutzen.

Gruß,
Olli
 
#10
Jo Warnung angekommen...
Ne ich hab nur Windows benutzt weil ich die Styroschneide
Mit zwei anderen kumpeln zusammen gekauft habe und da war
Usbcnc eben bei.und wenn ich da linux eingesetzt hätte.
Wäre das nur meine Baustelle.
Mit linux bin ich schon richtig.
Auch schon in Linux comunity an ein projekt mit entwickelt als Entwickler.
Aber schwerpunkt auf Installation von bs,Hardware Erkennung, erstell livecds,
Updates ...datei Manipulationen etc...
bis Ubuntu kam.damit kann ich nicht so gut.ein einfaches Debian ist schon was.
und habe ich selbst auf mein Arbeitsrechner..
Aber 100% bash süchtig

ich kann mich noch gut an mein erstes Windows erinnern.
damit habe ich mir Linux runtergeladen.....;).
Also klar das ich alles kontrollieren muß aber ich sehe ja die Fahrwege und
lasse wie bei der Styroschneide immer ersts den gcode durch die Luft fahren.
so muß ackern....cu
 
#11
Bisher schon mal ganz einfach.
Im program selber
Laser diameter ist der duchmesser vom fräser.?
nach ner halben stunde testen gehts schomal vorran..
Nicht schlecht....
Zoom stand auf 0.1 und ich dachte da war was falsch...aber zoom hoch und gut.
naja ich gucke noch bisher kaum fragen...
 
Zuletzt bearbeitet:
#12
So schat ganz gut aus
dxf erstellt und gcode erzeugt.
Nur muste ich das kleine dreieck verkleinern weil das prog es wohl nicht als einzeldes element angesehen hat.
Auch der gcode war für gcodesender nicht zu gebrauchen weil er mit den "," nicht klar kommt.
Er braucht punkte..
Also den gcode mit
sed -i 's/\,/./g' ./Triforce_hänger.nc drüberlaufen lassen..
Zwar noch nicht getestet aber ich denke schon mal ein anfang.


Aber ich wollte nun die dxf nochmal offnen aber c-dxf2gcode zeigt keine grafik mehr an ...also das schwarze feld erscheint nicht.
Wie kriege ich das wieder hin....oder gibt es ein debug level?damit ich sehen kann was fehlt.





Achtung ich habe die dateien noch nicht testen können...
 

Anhänge

#13
So gtk funzt wenn ich mit xhost es root freigebe..
nun
Irgendwie ist da ein kreis...
In dein Cam program ist es nicht zu sehen aber in dem generierten gcode in der Visualisirung von gcode sender.
Ist er auf einmal da und ich denke er würde ihn auch fräsen.... schade...
 

Anhänge

meister

Erfahrener Benutzer
#15
du hast ein fehler im dxf:


wenn das cam das große dreieck als solches erkennen soll müssen die kanten auch aufeinander liegen

EDIT: auf der unteren liene liegt noch eine halbe drüber, das gibt auch probleme im cam
 
Zuletzt bearbeitet:

meister

Erfahrener Benutzer
#16
ja und wenn per layer-namen die tiefe mitgeben wills dann muss der wert mit punkten formatiert sein, mit kommas gehts net



EDIT: achso, arc's und circles werden teilweise eckig im preview angezeigt, damit lässt sich intern besser rechnen, in der ausgabe sind es aber wieder echte kreis-operationen, das wird bald noch erbessert
 
Zuletzt bearbeitet:
#17
aso gibt schin wieder neue infos.
ja gut wenn ich die alte version hier nutze ist natürlich alles unsinn.
Aber ich habe mit eben der alten weiter probiert.Und obwohl ich den kreis habe frast er richtig.
SUPER mein erstes fräsobjekt.
Das dreieck ist in ordnung aber der duchmesser vom werkstück wurde nicht brücksichtigt.
Aber es gibt ja neues hehe.
Ich mach mal mit der neueren weiter.Habe auch schon ein neueres dxf erstellt wo der außenkranzlayer Zheist damit es zuletzt kommt aber ich gucke mir mal das neue an...ich bin zuversichtlich das das gena das richtige ist.
Nur das kleine dreieck hatte ich gerne als tasche...ich melde mich....
 
#18
Das vorkompilierte hatte mir besser gefallen..
cammill# make
msgfmt de.po -o intl/de_DE.UTF-8/LC_MESSAGES/cammill.mo
clang -ggdb -Wall -O3 -o cammill main.c calc.c hersheyfont.c postprocessor.c setup.c dxf.c font.c texture.c -lGL -lglut -lGLU -lX11 -lm -lpthread -lstdc++ -lXext -ldl -lXi -lxcb -lXau -lXdmcp -lgcc -lc `pkg-config gtk+-2.0 --libs` `pkg-config gtk+-2.0 --cflags` `pkg-config gtkglext-x11-1.0 --libs` `pkg-config gtkglext-x11-1.0 --cflags` `pkg-config gtksourceview-2.0 --libs` `pkg-config gtksourceview-2.0 --cflags` `pkg-config lua5.1 --libs` `pkg-config lua5.1 --cflags` -I./ "-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" "-DGSEAL_ENABLE" "-DHERSHEY_FONTS_DIR=\"./\"" "-DUSE_POSTCAM"
main.c:38:10: fatal error: 'GL/glut.h' file not found
#include <GL/glut.h>
^
1 diagnostic generated.
make: *** [cammill] Fehler 1
 
#20
habe das letzte packet einfach weggelassen und nun kompiliert er aber..
papi@papa:~/usbcnc$ cd cammill
papi@papa:~/usbcnc/cammill$ make
msgfmt de.po -o intl/de_DE.UTF-8/LC_MESSAGES/cammill.mo
clang -ggdb -Wall -O3 -o cammill main.c calc.c hersheyfont.c postprocessor.c setup.c dxf.c font.c texture.c -lGL -lglut -lGLU -lX11 -lm -lpthread -lstdc++ -lXext -ldl -lXi -lxcb -lXau -lXdmcp -lgcc -lc `pkg-config gtk+-2.0 --libs` `pkg-config gtk+-2.0 --cflags` `pkg-config gtkglext-x11-1.0 --libs` `pkg-config gtkglext-x11-1.0 --cflags` `pkg-config gtksourceview-2.0 --libs` `pkg-config gtksourceview-2.0 --cflags` `pkg-config lua5.1 --libs` `pkg-config lua5.1 --cflags` -I./ "-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" "-DGSEAL_ENABLE" "-DHERSHEY_FONTS_DIR=\"./\"" "-DUSE_POSTCAM"
papi@papa:~/usbcnc/cammill$ ./cammill test.dxf
Speicherzugriffsfehler
papi@papa:~/usbcnc/cammill$
Die config datei hatte ich per hand mit touch erstellt aber speicherzugriffsfehler?
 
FPV1

Banggood

Oben Unten