Saya mulai menulis aplikasi yang menghitung perkiraan waktu cetak total dari file G-code untuk model yang sudah diiris.
Program ini berfungsi dan cukup akurat.
Ia bekerja sebagai berikut:
- Ini memindai seluruh file kode-G untuk mengidentifikasi semua gerakan
- Ini menghitung waktu untuk setiap gerakan dengan membagi jarak segmen dengan kecepatan dalam mm / s.
Mari kita asumsikan ini adalah kode-G:
G28 ; home all axes
G1 Z0.200 F5400.000
G1 X158.878 Y27.769 E6.65594 F900.000
Ini perhitungan yang dilakukannya:
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
Dalam contoh ini, cetakan akan memakan waktu sekitar 10,7 detik.
Lebih umum, rumus yang digunakan adalah, untuk setiap gerakan:
moveTime = segmentLength / mmPerSecond
Dengan menjumlahkan semua waktu bergerak, kami memiliki total perkiraan waktu cetak.
Saya telah melihat bahwa beberapa forum menyatakan bahwa waktu cetak 3D juga tergantung pada beberapa pengaturan pada printer 3D, terutama Akselerasi X, Akselerasi Y, Akselerasi Z, Jerk, dan Z-Jerk.
Saya ingin memungkinkan untuk menggunakan nilai-nilai itu untuk lebih akurat menghitung waktu cetak; namun, saya tidak mengerti bagaimana nilai-nilai tersebut mempengaruhi waktu perpindahan:
- Bagaimana seharusnya Akselerasi dan Jerk dipertimbangkan; dan, bagaimana mereka mempercepat atau memperlambat waktu cetak?
- Bagaimana saya harus mengedit rumus saya untuk memasukkan Akselerasi dan Jerk dalam perhitungan waktu cetak?