From: daid Date: Thu, 27 Jun 2013 08:21:37 +0000 (+0200) Subject: Include material definitions in AMF, and store only the filname, not the full path... X-Git-Tag: 13.10~132 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=acb72865bcb773a266169aeb9f440e9898cede2b;p=cura.git Include material definitions in AMF, and store only the filname, not the full path, in an AMF zip file. --- diff --git a/Cura/util/meshLoaders/amf.py b/Cura/util/meshLoaders/amf.py index 377e1023..23e19ded 100644 --- a/Cura/util/meshLoaders/amf.py +++ b/Cura/util/meshLoaders/amf.py @@ -10,6 +10,7 @@ except: from xml.etree import ElementTree from Cura.util import mesh +from Cura.util import profile def loadScene(filename): try: @@ -99,8 +100,9 @@ def saveScene(filename, objects): xml.write(' \n') xml.write(' \n') + matID = 1 for m in meshList: - xml.write(' \n') + xml.write(' \n' % (matID)) for idx in xrange(0, len(m), 3): xml.write(' \n') xml.write(' %i\n' % (m[idx])) @@ -108,6 +110,7 @@ def saveScene(filename, objects): xml.write(' %i\n' % (m[idx+2])) xml.write(' \n') xml.write(' \n') + matID += 1 xml.write(' \n') xml.write(' \n') @@ -123,9 +126,18 @@ def saveScene(filename, objects): xml.write(' 0\n') xml.write(' \n') xml.write(' \n') + for n in xrange(0, 4): + xml.write(' \n' % (n + 1)) + xml.write(' Material %i\n' % (n + 1)) + if n == 0: + col = profile.getPreferenceColour('model_colour') + else: + col = profile.getPreferenceColour('model_colour%i' % (n + 1)) + xml.write(' %.2f%.2f%.2f\n' % (col[0], col[1], col[2])) + xml.write(' \n') xml.write('\n') zfile = zipfile.ZipFile(filename, "w", zipfile.ZIP_DEFLATED) - zfile.writestr(filename, xml.getvalue()) + zfile.writestr(os.path.basename(filename), xml.getvalue()) zfile.close() xml.close()