chiark / gitweb /
Save the filename of loaded files so we can use that when saving to SD card. Make...
authordaid303 <daid303@gmail.com>
Tue, 11 Jun 2013 09:16:44 +0000 (11:16 +0200)
committerdaid303 <daid303@gmail.com>
Tue, 11 Jun 2013 09:16:44 +0000 (11:16 +0200)
Cura/gui/sceneView.py
Cura/gui/tools/minecraftImport.py
Cura/gui/tools/superformula.py
Cura/gui/util/openglGui.py
Cura/util/mesh.py
Cura/util/meshLoaders/amf.py
Cura/util/meshLoaders/dae.py
Cura/util/meshLoaders/obj.py
Cura/util/meshLoaders/stl.py

index 38b283ced791bed9f42c583895b9cbe696371a2e..49c0ddd711be989131a92e8e6fa12c5c98dc206b 100644 (file)
@@ -176,8 +176,7 @@ class SceneView(openglGui.glGuiPanel):
                                        dlg.Destroy()
                                else:
                                        drive = drives[0]
-                               filename = os.path.basename(profile.getPreference('lastFile'))
-                               filename = filename[0:filename.rfind('.')] + '.gcode'
+                               filename = self._scene._objectList[0].getName() + '.gcode'
                                threading.Thread(target=self._copyFile,args=(self._gcodeFilename, drive[1] + filename, drive[1])).start()
                        else:
                                self.showSaveGCode()
@@ -193,7 +192,7 @@ class SceneView(openglGui.glGuiPanel):
                defPath = profile.getPreference('lastFile')
                defPath = defPath[0:defPath.rfind('.')] + '.gcode'
                dlg=wx.FileDialog(self, 'Save toolpath', defPath, style=wx.FD_SAVE)
-               dlg.SetFilename(os.path.basename(defPath))
+               dlg.SetFilename(self._scene._objectList[0].getName())
                dlg.SetWildcard('Toolpath (*.gcode)|*.gcode;*.g')
                if dlg.ShowModal() != wx.ID_OK:
                        dlg.Destroy()
index 21c8583cce4a57e63c3a2fc68fbb1b0c0d1904c6..95d0c5e5d6e152028c5f8a7aff098648fb6b9336 100644 (file)
@@ -213,7 +213,7 @@ class minecraftImportWindow(wx.Frame):
                                                if y == sy - 1 or not self.isSolid[blocks[x, y + 1, z]]:
                                                        faceCount += 1
 
-               obj = mesh.printableObject()
+               obj = mesh.printableObject("minecraft")
                m = obj._addMesh()
                m._prepareFaceCount(faceCount * 2)
                for x in xrange(0, sx):
index eae573d6910c2c682e03d4ab1f90605bb21d58ee..12556bdec23adf045375ba976eb6cd7b0b2b6dee 100644 (file)
@@ -56,7 +56,7 @@ class superShape(object):
 
                                row.append([x,y,z])
 
-               self._obj = mesh.printableObject()
+               self._obj = mesh.printableObject("super")
                objMesh = self._obj._addMesh()
                objMesh._prepareFaceCount(len(points) * (len(points[0]) - 1) * 2)
 
@@ -205,7 +205,7 @@ class superformulaEvolver(wx.Frame):
 
                        sv = shape._obj._meshList[0].vertexes * scale
 
-                       obj = mesh.printableObject()
+                       obj = mesh.printableObject("super")
                        m = obj._addMesh()
                        m._prepareFaceCount(shape._obj._meshList[0].vertexCount / 3 + hole._meshList[0].vertexCount / 3)
                        for n in xrange(0, shape._obj._meshList[0].vertexCount):
@@ -529,7 +529,7 @@ class superformulaWindow(wx.Frame):
        def onAdd(self):
                scale = 1.0/numpy.max(self._shape._obj.getSize()) * 50
 
-               obj = mesh.printableObject()
+               obj = mesh.printableObject("super")
                m = obj._addMesh()
                m._prepareFaceCount(self._shape._obj._meshList[0].vertexCount / 3)
                m.vertexes = self._shape._obj._meshList[0].vertexes * scale
index 00863fa3ee92b9de59241b1ca83c3fa0c74abdab..8a194b5506266da6e8ad3d05d6b04dc2b9a04ec7 100644 (file)
@@ -704,10 +704,7 @@ class glNotification(glFrame):
                super(glNotification, self).draw()
 
        def message(self, text, ejectCallback = None):
-               if self._anim is not None:
-                       self._anim = animation(self._base, self._anim.getPosition(), 25, 1)
-               else:
-                       self._anim = animation(self._base, -20, 25, 1)
+               self._anim = animation(self._base, -20, 25, 1)
                self.setHidden(False)
                self._label.setLabel(text)
                self._buttonEject.setHidden(ejectCallback is None)
index 3262b328ed9911c3cda45095bb852adc01889975..5d58f280b7d0296958b17d14ee76fd9c1de74f33 100644 (file)
@@ -8,7 +8,10 @@ import numpy
 numpy.seterr(all='ignore')
 
 class printableObject(object):
-       def __init__(self):
+       def __init__(self, name):
+               self._name = name
+               if '.' in self._name:
+                       self._name = self._name[0:self._name.rfind('.')]
                self._meshList = []
                self._position = numpy.array([0.0, 0.0])
                self._matrix = numpy.matrix([[1,0,0],[0,1,0],[0,0,1]], numpy.float64)
@@ -20,7 +23,7 @@ class printableObject(object):
                self._loadAnim = None
 
        def copy(self):
-               ret = printableObject()
+               ret = printableObject(self._name)
                ret._matrix = self._matrix.copy()
                ret._transformedMin = self._transformedMin.copy()
                ret._transformedMax = self._transformedMin.copy()
@@ -73,6 +76,8 @@ class printableObject(object):
                self._transformedMax -= self._drawOffset
                self._transformedMin -= self._drawOffset
 
+       def getName(self):
+               return self._name
        def getPosition(self):
                return self._position
        def setPosition(self, newPos):
@@ -305,7 +310,7 @@ class mesh(object):
                                                        doneSet.add(i)
                                                        todoList.append(i)
 
-                       obj = printableObject()
+                       obj = printableObject(self._obj._name)
                        obj._matrix = self._obj._matrix.copy()
                        m = obj._addMesh()
                        m._prepareFaceCount(len(meshFaceList))
index b131eb14c7453c01d5f53d0177deb32f04dcec14..dbc56ebde7bd6336f6e4afdc3dba5fca50faca77 100644 (file)
@@ -3,6 +3,7 @@ __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AG
 
 import cStringIO as StringIO
 import zipfile
+import os
 try:
        from xml.etree import cElementTree as ElementTree
 except:
@@ -40,7 +41,7 @@ def loadScene(filename):
 
        ret = []
        for amfObj in amf.iter('object'):
-               obj = mesh.printableObject()
+               obj = mesh.printableObject(os.path.basename(filename))
                for amfMesh in amfObj.iter('mesh'):
                        vertexList = []
                        for vertices in amfMesh.iter('vertices'):
index e448fdeba304db3951bbe553fb20e5b6f604d21e..6a01efa41119aff52770e12bd4db79d42c9c6848 100644 (file)
@@ -2,6 +2,7 @@ from __future__ import absolute_import
 __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
 
 from  xml.parsers.expat import ParserCreate
+import os
 
 from Cura.util import mesh
 
@@ -11,7 +12,7 @@ def loadScene(filename):
 
 class daeLoader(object):
        def __init__(self, filename):
-               self.obj = mesh.printableObject()
+               self.obj = mesh.printableObject(os.path.basename(filename))
                self.mesh = self.obj._addMesh()
 
                r = ParserCreate()
index 6ce4f319d5800bdea3185d86524049cb26da3f0e..d872583a5afc59a56f1c595dba154682a66f7fc0 100644 (file)
@@ -1,10 +1,11 @@
 from __future__ import absolute_import
 __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
 
+import os
 from Cura.util import mesh
 
 def loadScene(filename):
-       obj = mesh.printableObject()
+       obj = mesh.printableObject(os.path.basename(filename))
        m = obj._addMesh()
 
        vertexList = []
index 4ebfcf272dc5d2bd2c35374e2724f99e3a20632f..199775c877c2956bd2eb1ad8c1ab29d6c78cbf3e 100644 (file)
@@ -37,7 +37,7 @@ def _loadBinary(m, f):
                m._addFace(data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10], data[11])
 
 def loadScene(filename):
-       obj = mesh.printableObject()
+       obj = mesh.printableObject(os.path.basename(filename))
        m = obj._addMesh()
 
        f = open(filename, "rb")