이미 조각난 모델의 G 코드 파일에서 예상 총 인쇄 시간을 계산하는 응용 프로그램을 작성하기 시작했습니다.
프로그램이 작동하고 꽤 정확합니다.
다음과 같이 작동합니다.
- 모든 G 코드 파일을 스캔하여 모든 움직임을 식별합니다.
- 세그먼트 거리를 속도 / mm로 나누어 각 이동 시간을 계산합니다.
이것이 G 코드라고 가정 해 봅시다.
G28 ; home all axes
G1 Z0.200 F5400.000
G1 X158.878 Y27.769 E6.65594 F900.000
이것이 수행하는 계산입니다.
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
이 예에서 인쇄에는 약 10.7 초가 걸립니다.
보다 일반적으로 사용되는 공식은 각 움직임에 대한 것입니다.
moveTime = segmentLength / mmPerSecond
모든 이동 시간을 합하면 총 예상 인쇄 시간이 있습니다.
일부 포럼에서는 3D 인쇄 시간이 3D 프린터의 일부 설정, 특히 가속 X, 가속 Y, 가속 Z, 저크 및 Z-Jerk에 따라 달라짐을 확인했습니다.
이 값을 사용하여 인쇄 시간을보다 정확하게 계산할 수 있기를 원합니다. 그러나 이러한 값이 이동 시간에 어떤 영향을 미치는지 이해하지 못합니다.
- 가속과 저크는 어떻게 고려해야합니까? 그리고 인쇄 속도를 어떻게 높이거나 낮추는가?
- 인쇄 시간 계산에 가속 및 저크를 포함 시키려면 공식을 어떻게 편집해야합니까?