Ich begann eine Anwendung zu schreiben, die die geschätzte Gesamtdruckzeit aus der G-Code-Datei für ein bereits geschnittenes Modell berechnet.
Das Programm funktioniert und es ist ziemlich genau.
Es funktioniert wie folgt:
- Es scannt die gesamte G-Code-Datei, um alle Bewegungen zu identifizieren
- Es berechnet die Zeit für jede Bewegung, indem die Segmententfernung durch die Geschwindigkeit in mm / s dividiert wird.
Nehmen wir an, dies ist der G-Code:
G28 ; home all axes
G1 Z0.200 F5400.000
G1 X158.878 Y27.769 E6.65594 F900.000
Dies ist die Berechnung, die es macht:
totalTime = 0
# G28 ; home all axes
currentX = 0 mm
currentY = 0 mm
currentZ = 0 mm
# G1 Z0.200 F5400.000
newZ = 0.2 mm
mmPerSecond = 5400 / 60 = 90 mm/s
deltaZ = newZ - currentZ = 0.2 - 0 = 0.2 mm
segmentLength = deltaZ = 0.2 mm
moveTime = segmentLength / mmPerSecond = 0.2 / 90 = 0.002 s
totalTime = totalTime + moveTime = 0 + 0.002 = 0.002 s
# G1 X158.878 Y27.769 E6.65594 F900.000
newX = 158.878 mm
newY = 27.769 mm
mmPerSecond = 900 / 60 = 15 mm/s
deltaX = newX - currentX = 158.878 - 0 = 158.878 mm
deltaY = newY - currentY = 27.769 - 0 = 27.769 mm
segmentLength = square_root(deltaX² + deltaY²) = 161.287 mm
moveTime = deltaZ / mmPerSecond = 161.287 / 15 = 10.755 s
totalTime = totalTime + moveTime = 0.002 + 10.755 = 10.757 s
In diesem Beispiel dauert der Druckvorgang ungefähr 10,7 Sekunden.
Allgemeiner lautet die verwendete Formel für jede Bewegung:
moveTime = segmentLength / mmPerSecond
Durch Summieren aller Verschiebungszeiten erhalten wir die geschätzte Gesamtdruckzeit.
Ich habe gesehen, dass in einigen Foren angegeben ist, dass die 3D-Druckzeit auch von einigen Einstellungen des 3D-Druckers abhängt, insbesondere von Beschleunigung X, Beschleunigung Y, Beschleunigung Z, Ruck und Z-Ruck.
Ich möchte es möglich machen, diese Werte zu verwenden, um die Druckzeit genauer zu berechnen. Ich verstehe jedoch nicht, wie sich diese Werte auf die Verschiebungszeit auswirken:
- Wie sollten Beschleunigung und Ruck berücksichtigt werden? und wie beschleunigen oder verlangsamen sie die Druckzeit?
- Wie soll ich meine Formel bearbeiten, um Beschleunigung und Ruck in die Druckzeitberechnung einzubeziehen?