from Cura.util import sliceEngine
from Cura.util import objectScene
from Cura.util import meshLoader
+ import shutil
+ def commandlineProgessCallback(progress, ready):
+ if progress >= 0 and not ready:
+ print 'Preparing: %d%%' % (progress * 100)
scene = objectScene.Scene()
- slicer = sliceEngine.Slicer()
+ slicer = sliceEngine.Slicer(commandlineProgessCallback)
for m in meshLoader.loadMeshes(args[0]):
scene.add(m)
slicer.runSlicer(scene)
+ slicer.wait()
+ shutil.copyfile(slicer.getGCodeFilename(), args[0] + '.gcode')
+ print 'GCode file saved as: %s' % (args[0] + '.gcode')
+ slicer.cleanup()
else:
from Cura.gui import app
app.CuraApp(args).MainLoop()
return
self._scene.remove(self._focusObj)
for obj in self._focusObj.split(self._splitCallback):
- self._scene.add(obj)
+ if numpy.max(obj.getSize()) > 2.0:
+ self._scene.add(obj)
self._scene.centerAll()
self._selectObject(None)
self.sceneUpdated()
pass
self._thread.join()
+ def wait(self):
+ if self._process is not None:
+ self._thread.join()
+
def getGCodeFilename(self):
return self._exportFilename
returnCode = self._process.wait()
try:
if returnCode == 0:
- print profile.runPostProcessingPlugins(self._exportFilename)
+ pluginError = profile.runPostProcessingPlugins(self._exportFilename)
+ if pluginError is not None:
+ print pluginError
self._callback(1.0, True)
else:
for line in self._sliceLog: