if isinstance(layer[i], FLP.WaitForMovesToComplete): insertBefore_i = 1 + i break assert insertBefore_i is not None # Now we know where the motors are stopped and tilt is at its lowest. pauseCycle = FLP.Packets() zJog_usteps = int(zJog_mm * FLP.ZMove.usteps_up_per_mm) zJog_mmps = 10.0 pauseCycle.append(FLP.ZCurrent(FLP.ZCurrent.moving_current)) pauseCycle.append(FLP.ZFeedRate(zJog_mmps * abs(FLP.ZMove.usteps_up_per_mm))) pauseCycle.append(FLP.ZMove(zJog_usteps)) pauseCycle.append(FLP.WaitForMovesToComplete()) pauseCycle.append(FLP.WaitButtonPress(buttonPressMessage)) pauseCycle.append(FLP.ZMove(-zJog_usteps)) pauseCycle.append(FLP.WaitForMovesToComplete()) # Restore settings: pauseCycle.append(FLP.ZCurrent(zCurrent)) if zSpeed_usteps_per_s is not None: pauseCycle.append(FLP.ZFeedRate(zSpeed_usteps_per_s)) newLayer = layer[:insertBefore_i] + pauseCycle + layer[insertBefore_i:] return newLayer if __name__ == '__main__': import sys assert len(sys.argv) == 3, "Usage: insert_material_swaps.py input.flp output.flp." layer = FLP.fromfile(sys.argv[1]) layer = insert_pause_before(layer) layer.tofile(sys.argv[2])
# -*- coding: utf-8 -*- from OpenFL import Printer, FLP import glob import Tkinter, tkFileDialog import os from datetime import datetime startTime = datetime.now() root = Tkinter.Tk() root.withdraw() folderPath = tkFileDialog.askdirectory() os.chdir(folderPath) p=Printer.Printer() p.initialize() layerNum=0 lastBlock = (len(glob.glob("*.flp"))-1) while layerNum <= lastBlock: layerStartTime = datetime.now() fileName =(str(layerNum).zfill(8)+'.flp') layer=FLP.fromfile(fileName) p.write_block_flp(layerNum, layer) print("layer " +str(layerNum)+ " of "+ str(lastBlock) + " saved in " + str(datetime.now() - layerStartTime)) layerNum += 1 print("All FLP files written to Printer, total time to complete - "+str(datetime.now() - startTime))