from gui import icon
from util import profile
from util import version
+from util import sliceRun
def main():
app = wx.App(False)
if len(self.filelist) < 1:
wx.MessageBox('You need to load a file and slice it before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
return
- if not os.path.exists(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode"):
+ if not os.path.exists(sliceRun.getExportFilename(self.filelist[0])):
wx.MessageBox('You need to slice the file to GCode before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
return
- printWindow.printFile(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode")
+ printWindow.printFile(sliceRun.getExportFilename(self.filelist[0]))
def OnExpertOpen(self, e):
ecw = expertConfig.expertConfigWindow()
from util import gcodeInterpreter\r
from util import stl\r
from util import util3d\r
+from util import sliceRun\r
\r
class previewObject():\r
def __init__(self):\r
self.logFileTime = None\r
obj.filename = filelist[idx]\r
\r
- self.gcodeFilename = filelist[0][: filelist[0].rfind('.')] + "_export.gcode"\r
- self.logFilename = filelist[0][: filelist[0].rfind('.')] + "_export.log"\r
+ self.gcodeFilename = sliceRun.getExportFilename(filelist[0])\r
+ self.logFilename = sliceRun.getExportFilename(filelist[0], "log")\r
#Do the STL file loading in a background thread so we don't block the UI.\r
if self.loadThread != None and self.loadThread.isAlive():\r
self.loadThread.join()\r
profile.resetTempOverride()\r
\r
if not action.usePreviousSlice:\r
- f = open(action.filename[: action.filename.rfind('.')] + "_export.project_tmp", "r")\r
+ f = open(sliceRun.getExportFilename(action.filename, "project_tmp"), "r")\r
data = f.read(4096)\r
while data != '':\r
resultFile.write(data)\r
savedCenterX = action.centerX\r
savedCenterY = action.centerY\r
else:\r
- f = open(action.filename[: action.filename.rfind('.')] + "_export.project_tmp", "r")\r
+ f = open(sliceRun.getExportFilename(action.filename, "project_tmp"), "r")\r
for line in f:\r
if line[0] != ';':\r
if 'X' in line:\r
f.close()\r
\r
if not action.leaveResultForNextSlice:\r
- os.remove(action.filename[: action.filename.rfind('.')] + "_export.project_tmp")\r
+ os.remove(sliceRun.getExportFilename(action.filename, "project_tmp"))\r
\r
wx.CallAfter(self.progressGauge.SetValue, 10000)\r
self.totalDoneFactor = 0.0\r
from gui import icon
from util import profile
from util import version
+from util import sliceRun
class simpleModeWindow(configBase.configWindowBase):
"Main user interface window for Quickprint mode"
if len(self.filelist) < 1:
wx.MessageBox('You need to load a file and slice it before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
return
- if not os.path.exists(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode"):
+ if not os.path.exists(sliceRun.getExportFilename(self.filelist[0])):
wx.MessageBox('You need to slice the file to GCode before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
return
- printWindow.printFile(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode")
+ printWindow.printFile(sliceRun.getExportFilename(self.filelist[0]))
def OnNormalSwitch(self, e):
from gui import mainWindow
LogWindow('\n'.join(self.progressLog))
def OnOpenFileLocation(self, e):
- exporer.openExporer(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode")
+ exporer.openExporer(sliceRun.getExportFilename(self.filelist[0]))
def OnSliceDone(self, result):
self.progressGauge.Destroy()
return
line = p.stdout.readline()
self.returnCode = p.wait()
- logfile = open(self.filelist[self.fileIdx][: self.filelist[self.fileIdx].rfind('.')] + "_export.log", "w")
+ logfile = open(sliceRun.getExportFilename(self.filelist[self.fileIdx], "log"), "w")
for logLine in self.progressLog:
logfile.write(logLine)
logfile.write('\n')
if len(self.filelist) > 1:
self._stitchMultiExtruder()
self.gcode = gcodeInterpreter.gcode()
- self.gcode.load(self.filelist[0][:self.filelist[0].rfind('.')]+'_export.gcode')
+ self.gcode.load(sliceRun.getExportFilename(self.filelist[0]))
wx.CallAfter(self.notifyWindow.OnSliceDone, self)
else:
self.run()
def _stitchMultiExtruder(self):
files = []
- resultFile = open(self.filelist[0][:self.filelist[0].rfind('.')]+'_export.gcode', "w")
+ resultFile = open(sliceRun.getExportFilename(self.filelist[0]), "w")
resultFile.write(';TYPE:CUSTOM\n')
resultFile.write(profile.getAlterationFileContents('start.gcode'))
for filename in self.filelist:
- if os.path.isfile(filename[:filename.rfind('.')]+'_export.multi_extrude_tmp'):
- files.append(open(filename[:filename.rfind('.')]+'_export.multi_extrude_tmp', "r"))
+ if os.path.isfile(sliceRun.getExportFilename(filename, 'multi_extrude_tmp')):
+ files.append(open(sliceRun.getExportFilename(filename, 'multi_extrude_tmp'), "r"))
else:
return
for f in files:
f.close()
for filename in self.filelist:
- os.remove(filename[:filename.rfind('.')]+'_export.multi_extrude_tmp')
+ os.remove(sliceRun.getExportFilename(filename, 'multi_extrude_tmp'))
resultFile.write(';TYPE:CUSTOM\n')
resultFile.write(profile.getAlterationFileContents('end.gcode'))
resultFile.close()
else:
subprocess.call([pypyExe, os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", os.path.split(sys.argv[0])[1])), '-p', profile.getGlobalProfileString(), fileName])
+def getExportFilename(filename, ext = "gcode"):
+ return "%s_export.%s" % (filename[: filename.rfind('.')], ext)
+
def getSliceCommand(filename):
if profile.getPreference('slicer').startswith('Slic3r') and getSlic3rExe() != False:
slic3rExe = getSlic3rExe()