Jump to content

Python End of Slicing operation Looking for a smarter code


Cuq

Recommended Posts

Posted (edited) · Python End of Slicing operation Looking for a smarter code

Hello,

 

I'm sure there's a more elegant way to get the end of Slicing event. But I can't find it. Note : This code works but the use of timers is really not clean.  If you could suggest me a more elegant way to recode this little piece of code.

 

Goal : Load an STL file -> Start slicing-> Export the gcode and read it back into Cura

 

import time
from typing import cast

from cura.CuraApplication import CuraApplication
from UM.PluginRegistry import PluginRegistry
from UM.Mesh.MeshWriter import MeshWriter 
from UM.Message import Message

FileName="C:/Temp/Tube.stl"
FileGcode="C:/Temp/Tube.gcode"
	
Me = CuraApplication.getInstance()

# Me.deleteAll()
Me._openFile(FileName)

# time.sleep(1)
print("File loaded {}".format(FileName))

Me.backend.forceSlice()
Me.backend.slice()

i=0
while Me.backend._slicing:
    time.sleep(1)
    i+=1
    print("Wait ! {} s".format(i))

gcode_writer = cast(MeshWriter, PluginRegistry.getInstance().getPluginObject("GCodeWriter"))

# open wt Write and text mode
with open(str(FileGcode), "wt") as stream:
    success = gcode_writer.write(stream, None)
print("Save Gcode Ok {} !".format(success))

Me._openFile(FileGcode)

 

Edited by Cuq
  • Link to post
    Share on other sites

    • Cuq changed the title to Python End of Slicing operation Looking for a smarter code
    Posted (edited) · Python End of Slicing operation Looking for a smarter code

    perhap's a begining of solution with  QTimer()  and  isActive() but I don't know if it's really better than 

    time.sleep
    Edited by Cuq
  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.8 beta released
        Another Cura release has arrived and in this 5.8 beta release, the focus is on improving Z seams, as well as completing support for the full Method series of printers by introducing a profile for the UltiMaker Method.
          • Like
        • 1 reply
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Thanks
          • Like
        • 3 replies
    ×
    ×
    • Create New...