Bohrdaten für LinuxCNC erzeugen mit drl2gcode
Die mit KiCad erzeugten Bohrdaten im
Excellon-Format habe ich bisher mittels einer leicht an LinuxCNC angepassten und erweiterten Version
von drl2gcode.py in G-Code umgewandelt.
Ich konnte mich mit Python eigentlich nie wirklich anfreunden. Zudem bin ich seit (wirklich) vielen
Jahren C-Spezialist. Deshalb entschloss ich mich, mit
drl2gcode.py als Vorbild,
drl2gcode
als C-Programm zu entwickeln. Die Bedienung sollte weitgehend gleich bleiben, die Optionen auch. Das
Programm so fehlertolerant und fehlerfrei wie möglich zu implementieren erwies sich dann doch als
aufwendiger als angenommen, andererseits hat es mir auch viel Spaß gemacht.
Ich freue mich schon auf
Kommentare (und Fehlermeldungen, falls
nötig).
8.6.2025
Heute ist die erste Version (V0.1.1) fertig geworden. Ich habe hier sowohl das Programm, als auch den
mit sha512 gesicherten Quellcode zum Download bereitgestellt.
Bedienung von drl2gcode
Hilfe anzeigen
$ bin/drl2gcode -h
"drl2gcode" version V0.1.1, (c) Uwe Jantzen (Klabautermann-Software) 08.06.2025
Usage
bin/drl2gcode [options] <input file name>
--spindle-speed <speed> drill speed [rpm] (positive only)
--xy-move-speed <speed> x & y axis travel speed [mm/min] (positive only)
--z-move-speed <speed> z axis travel speed [mm/min] above 0.0 (positive only)
--drill-move-speed <speed> z axis drilling speed [mm/min] below 0.0 (positive only)
--drill-depth <depth> how deep [mm] to drill below 0.0 (positive value)
--safe-height <height> height [mm] above 0.0 for rapid move (positive only)
-s, --single-file one output file only instead a file for every tool
-o, --offset <x> <y> offset [mm] to all coordinates
-m, --mirror-x mirror the x output over 0 (zero). That means : multiply every x value
by -1
-t, --tool-offset <offset> set the first tool (drill) number to be used (positive only)
-v, --verbose show what's going on
-h, -?, --help show this help and exit immediately
Lesen der "Excellon"-formatierten Bohrdatendatei testing.drl und
Ausgeben der "G-Code"-formatierten Bohrdatendateien testing_Tn_<diameter>mm.ngc mit den
Werkzeugnummern 3 bis 6
Jede Datei enthält die Daten für einen Bohrer mit dem Durchmesser
<diameter>.
$ bin/drl2gcode --tool-offset 2 testing.drl
"drl2gcode" version V0.1.1, (c) Uwe Jantzen (Klabautermann-Software) 08.06.2025
drl2gcode finished
Lesen der "Excellon"-formatierten Bohrdatendatei testing.drl und
Ausgeben der "G-Code"-formatierten Bohrdatendatei testing_Tall.ngc
mit den Werkzeugnummern 3 bis 6.
Diese Datei enthält die Daten für alle Bohrer inklusive der "Werkzeug-Wechsel"-Befehle.
$ bin/drl2gcode --tool-offset 2 -s testing.drl
"drl2gcode" version V0.1.1, (c) Uwe Jantzen (Klabautermann-Software) 08.06.2025
drl2gcode finished
Alle Bohrdatendateien anzeigen
$ ls -l testing*
-rw-rw-r-- 1 tester tester 1561 21. Apr 22:45 testing.drl
-rw-rw-r-- 1 tester tester 862 8. Jun 10:18 testing_T03_0.700mm.ngc
-rw-rw-r-- 1 tester tester 5262 8. Jun 10:18 testing_T04_1.000mm.ngc
-rw-rw-r-- 1 tester tester 708 8. Jun 10:18 testing_T05_2.700mm.ngc
-rw-rw-r-- 1 tester tester 560 8. Jun 10:18 testing_T06_3.200mm.ngc
-rw-rw-r-- 1 tester tester 6249 8. Jun 10:20 testing_Tall.ngc
Ausgeben der Defaulteinstellungen
$ bin/drl2gcode -v testing.drl
"drl2gcode" version V0.1.1, (c) Uwe Jantzen (Klabautermann-Software) 08.06.2025
Configuration :
spindle_speed 32000.00 [rpm]
travel_speed 3000.00 [mm/min]
z_travel_speed 300.00 [mm/min]
drill_speed 100.00 [mm/min]
drill_depth 2.00 [mm]
safe_height 25.00 [mm]
single_file off
offset_x 0.00 [mm]
offset_y 0.00 [mm]
mirror_x off
tool_offset 0
Excellon file testing.drl
drl2gcode finished
© Uwe Jantzen 11.06.25