From 814cd2f53c52b16ed173f468ee34237cdfb99b4f Mon Sep 17 00:00:00 2001 From: TILL TOMCZAK Date: Fri, 17 May 2024 14:54:03 +0200 Subject: [PATCH] Create ultimaker_example-integration.py --- .../ultimaker_example-integration.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 api-backend_blueprint/ultimaker_example-integration.py diff --git a/api-backend_blueprint/ultimaker_example-integration.py b/api-backend_blueprint/ultimaker_example-integration.py new file mode 100644 index 0000000..9adfd56 --- /dev/null +++ b/api-backend_blueprint/ultimaker_example-integration.py @@ -0,0 +1,38 @@ +# entwendet aus: +# https://github.com/ut-hnl-lab/ultimakerpy + +# auch zum lesen: +# https://github.com/MartinBienz/SDPremote?tab=readme-ov-file + +import time +from ultimakerpy import UMS3, JobState + +def print_started(state): + if state == JobState.PRINTING: + time.sleep(6.0) + return True + return False + +def layer_reached(pos, n): + if round(pos / 0.2) >= n: # set layer pitch: 0.2 mm + return True + return False + +printer = UMS3(name='MyPrinterName') +targets = { + 'job_state': printer.job_state, + 'bed_pos': printer.bed.position, +} + +printer.print_from_dialog() # select file to print +printer.peripherals.camera_streaming() +with printer.data_logger('output2.csv', targets) as dl: + timer = dl.get_timer() + + # sleep until active leveling finishes + timer.wait_for_datalog('job_state', print_started) + + for n in range(1, 101): + # sleep until the printing of specified layer to start + timer.wait_for_datalog('bed_pos', lambda v: layer_reached(v, n)) + print('printing layer:', n)