The purpose of this simulator is to enable testing of new ideas for 3d printer motion, ranging from move planning to acceleration profiles. It uses a simple damped spring model for independent X & Y axis motion to determine the toolhead deviation for a move or set of moves. This simple surrogate model was validated through acceleration data capture discussed in Klipper3d/klipper#57 (comment) and my own personal test prints. The point is, the simulator has been validated to real world conditions and gives an absolute measure of performance instead of anecdotal judgment of print quality.
- Klipper motion planner with square corner velocity algorithm.
- Constant, Smoothstep, & Smootherstep acceleration profiles.
- Dynamic acceleration (like Duet) and jerk limited scurve from dmbutyugin
- GCode support is limited but should work for testing single layers.
matplotlib, numpy, pymunk
python main.py klipper ./examples/test.gcode 50 1000 0.032 0.032 5 -at constant
python main.py klipper ./examples/test.gcode 50 1000 0.032 0.032 5 -at dynamic
python main.py klipper ./examples/test.gcode 50 1000 0.032 0.032 5 -at destructive