39 lines
1.0 KiB
Python
Executable File
39 lines
1.0 KiB
Python
Executable File
# 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)
|