diff --git a/data/demos/oneBitBot.json b/data/demos/oneBitBot.json new file mode 100644 index 0000000000000000000000000000000000000000..d7d072d68345aee38f94423be0240e81a5c2c546 --- /dev/null +++ b/data/demos/oneBitBot.json @@ -0,0 +1 @@ +{"lattice":{"units":"inches","cells":[[[{"indices":{"x":-2,"y":-2,"z":-1}},null],[{"indices":{"x":-2,"y":-1,"z":-1}},null],[{"indices":{"x":-2,"y":0,"z":-1}},null]],[[{"indices":{"x":-1,"y":-2,"z":-1}},null],[{"indices":{"x":-1,"y":-1,"z":-1}},{"indices":{"x":-1,"y":-1,"z":0}}],[{"indices":{"x":-1,"y":0,"z":-1}},{"indices":{"x":-1,"y":0,"z":0}}]],[[{"indices":{"x":0,"y":-2,"z":-1}},null],[{"indices":{"x":0,"y":-1,"z":-1}},{"indices":{"x":0,"y":-1,"z":0}}],[{"indices":{"x":0,"y":0,"z":-1}},{"indices":{"x":0,"y":0,"z":0}}]]],"cellsMin":{"x":-2,"y":-2,"z":-1},"cellsMax":{"x":0,"y":0,"z":0},"numCells":13,"scale":2.78388,"cellSeparation":{"xy":0,"z":0},"cellType":"octa","connectionType":"edgeRot","partType":"vox"},"assembler":{"camStrategy":"raster","placementOrder":"XYZ","camProcess":"gcode","machineName":"oneBitBot","dataOut":"","needsPostProcessing":false,"editsMadeToProgram":false,"rapidHeight":5.56776,"rapidHeightRelative":true,"safeHeight":0.5,"originPosition":{"x":1.3919,"y":1.3919,"z":0},"stockPosition":{"x":6.4029,"y":1.3919,"z":3.0623},"stockPositionRelative":true,"stockFixed":true,"multipleStockPositions":false,"stockArraySize":{"x":4,"y":4},"stockSeparation":2.78388,"rapidSpeeds":{"xy":3,"z":2},"feedRate":{"xy":0.1,"z":0.1}}} \ No newline at end of file diff --git a/index.html b/index.html index e7d34737ad13fd9307d2b4f52ed3bd4e6bee180e..6e44cc83774b789df3cc4e03317e030422a031ed 100644 --- a/index.html +++ b/index.html @@ -115,7 +115,7 @@ <li class="dropdown-submenu"> <a tabindex="-1">Demo Files<span class="pull-right fui-arrow-right"></span></a> <ul class="dropdown-menu"> - <li><a data-file="" class="savedDemo" href="#">Demo1</a></li> + <li><a data-file="oneBitBot.json" class="savedDemo" href="#">One Bit Assembly</a></li> <li><a data-file="" class="savedDemo" href="#">Demo2</a></li> </ul> <li class="divider"></li> diff --git a/js/menus/Navbar.js b/js/menus/Navbar.js index ecf5cfa8c96ff518ea1bf41c7e001d31dc15130e..0cd1717e054b84d6c998a37e135f856e88d1100e 100644 --- a/js/menus/Navbar.js +++ b/js/menus/Navbar.js @@ -21,7 +21,8 @@ NavBar = Backbone.View.extend({ "hide.bs.modal .modal": "_hideModal", "click .importJSON": "_importJSON", "change #jsonInput": "_selectJSONFiles", - "click .savedUserSettings": "_loadSavedUser" + "click .savedUserSettings": "_loadSavedUser", + "click .savedDemo": "_loadDemo" }, initialize: function(){ @@ -94,7 +95,7 @@ NavBar = Backbone.View.extend({ return function(e) { var extension = filename.substr(filename.length - 5); if (extension == ".json"){ - dmaGlobals.appState.loadLatticeFromJSON(e.target.result); + dmaGlobals.appState.loadLatticeFromJSON(JSON.parse(e.target.result)); } else if (extension == ".user"){ dmaGlobals.appState.loadUser(e.target.result); } else console.warn("file type not recognized"); @@ -129,6 +130,14 @@ NavBar = Backbone.View.extend({ }); }, + _loadDemo: function(e){ + e.preventDefault(); + var url = "data/demos/" + $(e.target).data("file"); + $.getJSON( url, function(data) { + dmaGlobals.appState.loadLatticeFromJSON(data); + }); + }, + _showModal: function(e){ var input = $(e.target).find("input.filename"); input.focus(); diff --git a/js/models/AppState.js b/js/models/AppState.js index 5432368f77a77fac471b87ec1a269919d0f03dd7..daebfb5a20c85827bd4c40bc91f4660fcb881b64 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -314,7 +314,7 @@ AppState = Backbone.Model.extend({ loadLatticeFromJSON: function(data){ dmaGlobals.lattice.clearCells(); - this._setData(JSON.parse(data), false); + this._setData(data, false); dmaGlobals.lattice._updateLatticeType(null, null, null, true); dmaGlobals.lattice.trigger("change:scale");//todo make this better },