parser = OptionParser(usage="usage: %prog [options] <filename>.stl")
parser.add_option("-i", "--ini", action="store", type="string", dest="profileini",
help="Load settings from a profile ini file")
- parser.add_option("-r", "--print", action="store", type="string", dest="printfile",
- help="Open the printing interface, instead of the normal cura interface.")
parser.add_option("-p", "--profile", action="store", type="string", dest="profile",
help="Internal option, do not use!")
parser.add_option("-s", "--slice", action="store_true", dest="slice",
if options.serialCommunication:
from Cura import serialCommunication
- serialCommunication.startMonitor(options.serialCommunication)
+ port, baud = options.serialCommunication.split(':')
+ serialCommunication.startMonitor(port, baud)
return
print "load preferences from " + profile.getPreferencePath()
else:
profile.loadProfile(profile.getDefaultProfilePath(), True)
- if options.printfile is not None:
- from Cura.gui import printWindow
- printWindow.startPrintInterface(options.printfile)
- elif options.slice is not None:
+ if options.slice is not None:
from Cura.util import sliceEngine
from Cura.util import objectScene
from Cura.util import meshLoader
engine.wait()
if not options.output:
- options.output = args[0] + '.gcode'
+ options.output = args[0] + profile.getGCodeExtension()
with open(options.output, "wb") as f:
- f.write(engine.getResult().getGCode())
+ gcode = engine.getResult().getGCode()
+ while True:
+ data = gcode.read()
+ if len(data) == 0:
+ break
+ f.write(data)
print 'GCode file saved : %s' % options.output
engine.cleanup()
app.CuraApp(args).MainLoop()
if __name__ == '__main__':
+ import os
+ import sys
+
+ # On Windows, the PATH variable can cause the search path for dlls
+ # to give priority to dlls from other applications and it will cause
+ # the bundled python dlls not to be loaded.
+ # More specifically, anyone with Haskell Platform installed will not
+ # be able to launch Cura because glut32.dll from Haskell is incompatible
+ # with the bundled py-opengl and will cause Cura to crash
+ if sys.platform.startswith('win'):
+ os.environ['PATH'] = ''
main()