diff --git a/js/cam/assemblers/AssemblerPost.js b/js/cam/assemblers/AssemblerPost.js index 2c007a6f0c673da7d7e250c4e4a37740a9d31858..13757e2ebb540c1c0c6b7d6858b48b9241067e2c 100644 --- a/js/cam/assemblers/AssemblerPost.js +++ b/js/cam/assemblers/AssemblerPost.js @@ -126,6 +126,9 @@ define(['underscore', 'appState', 'lattice', 'cam'], function(_, appState, latti var offset = self.components.substrate.centerOfRotation.clone().multiplyScalar(settings.scale);//offset in lattice pitch var dist = position.clone().sub(offset); position = offset.add(new THREE.Vector3(-dist.y-3*settings.scale, dist.x-0.335, position.z)); + } else { + position.y -= 1; + position.x -= settings.scale; } var stock = _.find(self.stock, function(thisStock){ diff --git a/js/models/FileSaver.js b/js/models/FileSaver.js index 4b589eac5ec3859440b3d37ed9df79b2643e0d7b..09145f3c6512952d2908f97a03aca12b34a0051c 100644 --- a/js/models/FileSaver.js +++ b/js/models/FileSaver.js @@ -7,7 +7,13 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra function _saveFile(data, name, extension){ // require(['jsonFn'], function(JSONfn){ - var blob = new Blob([JSON.stringify(data, null, '\t')], {type: "text/plain;charset=utf-8"}); +// console.log(data.toString()); + var jsonString = JSON.stringify(data, null, '\t'); + if (data.assembler){ + jsonString.replace(/\\"/g,"\uFFFF"); //U+ FFFF + jsonString = jsonString.replace(/\"([^"]+)\":/g,"$1:").replace(/\uFFFF/g,"\\\""); + } + var blob = new Blob([jsonString], {type: "text/plain;charset=utf-8"}); saveAs(blob, name + extension); // }); }