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()
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()
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):
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)
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):
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
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)
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)
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()
self._transformedMax -= self._drawOffset
self._transformedMin -= self._drawOffset
+ def getName(self):
+ return self._name
def getPosition(self):
return self._position
def setPosition(self, newPos):
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))
import cStringIO as StringIO
import zipfile
+import os
try:
from xml.etree import cElementTree as ElementTree
except:
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'):
__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
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()
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 = []
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")