From 2f12e7c75191307904b442a9dad64ccc2ad12d6f Mon Sep 17 00:00:00 2001 From: amandaghassaei <amandaghassaei@gmail.com> Date: Sat, 14 Mar 2015 04:09:49 -0400 Subject: [PATCH] units in lattice --- js/cam/Assembler.js | 4 ++-- js/cam/GCodeExporter.js | 3 ++- js/cam/ShopbotExporter.js | 2 +- js/menus/CamMenuView.js | 6 +++--- js/menus/LatticeMenuView.js | 3 +-- js/models/AppState.js | 2 +- js/models/Lattice.js | 7 ++++++- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 5242d67a..a0329a55 100644 --- a/js/cam/Assembler.js +++ b/js/cam/Assembler.js @@ -32,7 +32,6 @@ Assembler = Backbone.Model.extend({ this.listenTo(dmaGlobals.appState, "change:currentTab", this._setCAMVisibility); this.listenTo(this, "change:originPosition", this._moveOrigin); this.listenTo(this, "change:stockPosition", this._moveStock); - this.listenTo(dmaGlobals.appState, "change:units", this._setNeedsPostProcessing); this.listenTo(this, "change:originPosition " + "change:stockPosition " + @@ -43,6 +42,7 @@ Assembler = Backbone.Model.extend({ this._setNeedsPostProcessing); this.listenTo(dmaGlobals.lattice, "change:numCells " + + "change:units " + "change:scale " + "change:cellType " + "change:connectionType", @@ -133,7 +133,7 @@ Assembler = Backbone.Model.extend({ var wcs = this.get("originPosition"); var stockPosition = this.get("stockPosition"); - dmaGlobals.lattice.rasterCells(this._getOrder(this.get("camStrategy"), function(cell){ + dmaGlobals.lattice.rasterCells(this._getOrder(this.get("camStrategy")), function(cell){ if (!cell) return; data += exporter.rapidXY(stockPosition.x-wcs.x, stockPosition.y-wcs.y); diff --git a/js/cam/GCodeExporter.js b/js/cam/GCodeExporter.js index 64ba054f..7d544bf7 100644 --- a/js/cam/GCodeExporter.js +++ b/js/cam/GCodeExporter.js @@ -7,7 +7,7 @@ function GCodeExporter() { GCodeExporter.prototype.makeHeader = function(){ var data = ""; - if (dmaGlobals.appState.get("units") == "inches") data += this.addLine("G20", [], "units inches"); + if (dmaGlobals.lattice.get("units") == "inches") data += this.addLine("G20", [], "units inches"); else data += this.addLine("G21", [], "units mm"); data += this.addLine("G90", [], "absolute positioning"); data += this.addLine("G54", [], "work offset"); @@ -31,6 +31,7 @@ GCodeExporter.prototype.addLine = function(command, params, comment){ if (!param) return; if (isNaN(parseFloat(param))) { data += param + " "; + return; } data += param.toFixed(3) + " "; }); diff --git a/js/cam/ShopbotExporter.js b/js/cam/ShopbotExporter.js index 4fe28e78..a2d26f5e 100644 --- a/js/cam/ShopbotExporter.js +++ b/js/cam/ShopbotExporter.js @@ -27,7 +27,7 @@ ShopbotExporter.prototype.addLine = function(command, params, comment){ data += param + ", "; return; } - if (dmaGlobals.appState.get("units") == "mm") param = self.convertToInches(param);//all shopbot stuff must be in inches + if (dmaGlobals.lattice.get("units") == "mm") param = self.convertToInches(param);//all shopbot stuff must be in inches data += param.toFixed(3) + ", "; }); if (comment) data += "'" +comment; diff --git a/js/menus/CamMenuView.js b/js/menus/CamMenuView.js index be447d49..a115d993 100644 --- a/js/menus/CamMenuView.js +++ b/js/menus/CamMenuView.js @@ -23,7 +23,7 @@ CamMenuView = Backbone.View.extend({ _.bindAll(this, "_onKeyup"); //bind events this.listenTo(this.assembler, "change", this.render); - this.listenTo(this.model, "change:units", this.render); + this.listenTo(this.lattice, "change:units", this.render); $(document).bind('keyup', {state:false}, this._onKeyup); }, @@ -34,7 +34,7 @@ CamMenuView = Backbone.View.extend({ _changeUnits: function(e){ e.preventDefault(); - this.model.set("units", $(e.target).data("type")); + this.lattice.set("units", $(e.target).data("type")); }, _onKeyup: function(e){ @@ -61,7 +61,7 @@ CamMenuView = Backbone.View.extend({ render: function(){ if (this.model.get("currentTab") != "cam") return; if ($("input").is(":focus")) return; - this.$el.html(this.template(_.extend(this.model.toJSON(), this.assembler.toJSON()))); + this.$el.html(this.template(_.extend(this.model.toJSON(), this.assembler.toJSON(), this.lattice.toJSON()))); }, template: _.template('\ diff --git a/js/menus/LatticeMenuView.js b/js/menus/LatticeMenuView.js index 87a49017..9c5bf375 100644 --- a/js/menus/LatticeMenuView.js +++ b/js/menus/LatticeMenuView.js @@ -28,7 +28,6 @@ LatticeMenuView = Backbone.View.extend({ //bind events this.listenTo(this.lattice, "change", this.render); - this.listenTo(this.model, "change:units", this.render); }, _clearCells: function(e){ @@ -45,7 +44,7 @@ LatticeMenuView = Backbone.View.extend({ _changeUnits: function(e){ e.preventDefault(); - this.model.set("units", $(e.target).data("type")); + this.lattice.set("units", $(e.target).data("type")); }, _sliderDidSlide: function(e){ diff --git a/js/models/AppState.js b/js/models/AppState.js index 80bbdfe9..5cad69bd 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -142,7 +142,6 @@ AppState = Backbone.Model.extend({ mm: "mm", inches: "Inches" }, - units: "mm", //key bindings shift: false, @@ -238,6 +237,7 @@ AppState = Backbone.Model.extend({ this.set("shift", state); break; case 68://d delete mode + console.log(state); if (dmaGlobals.lattice.get("cellMode") == "cell") this.set("deleteMode", state);//only for cell mode else this.set("deleteMode", false); break; diff --git a/js/models/Lattice.js b/js/models/Lattice.js index 6b19e6a3..94c7d22e 100644 --- a/js/models/Lattice.js +++ b/js/models/Lattice.js @@ -7,6 +7,8 @@ Lattice = Backbone.Model.extend({ defaults: { + units: "mm", + nodes: [], cells: [[[null]]],//3D matrix containing all cells and null, dynamic size cellsMin: {x:0, y:0, z:0},//min position of cells matrix @@ -503,7 +505,10 @@ Lattice = Backbone.Model.extend({ saveJSON: function(name){ if (!name) name = "lattice"; - var data = JSON.stringify(_.omit(this.toJSON(), ["highlighter", "basePlane"])); + var data = JSON.stringify({ + lattice:_.omit(this.toJSON(), ["highlighter", "basePlane"]), + assembler: _.omit(dmaGlobals.assembler.toJSON(), ["origin", "stock"]) + }); var blob = new Blob([data], {type: "text/plain;charset=utf-8"}); saveAs(blob, name + ".json"); }, -- GitLab