From a1cb19dcf3c3caf209e7d97d64a3e4601cee8375 Mon Sep 17 00:00:00 2001 From: amandaghassaei <amandaghassaei@gmail.com> Date: Mon, 23 Mar 2015 01:32:38 -0400 Subject: [PATCH] stock position relative to origin --- js/cam/Assembler.js | 4 ++-- js/menus/CamMenuView.js | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 4e5f0916..cd46d909 100644 --- a/js/cam/Assembler.js +++ b/js/cam/Assembler.js @@ -16,12 +16,12 @@ Assembler = Backbone.Model.extend({ needsPostProcessing: true, editsMadeToProgram: false,//warn the user that they will override changes - rapidHeight: 6, + rapidHeight: 6,//always store relative to origin rapidHeightRelative: true, safeHeight: 0.5,//inches above stock or assembly, when feed rate should slow origin: null, - originPosition: new THREE.Vector3(20,0,0), + originPosition: new THREE.Vector3(20,0,0),//in abs coordinates stock: null, stockPosition: new THREE.Vector3(20,0,0),//in abs coordinates stockPositionRelative: true, diff --git a/js/menus/CamMenuView.js b/js/menus/CamMenuView.js index 6434d2e4..26ff715f 100644 --- a/js/menus/CamMenuView.js +++ b/js/menus/CamMenuView.js @@ -55,7 +55,10 @@ CamMenuView = Backbone.View.extend({ else if ($(".rapidSpeeds").is(":focus")) this._updateNumber(e, "rapidSpeeds"); else if ($(".feedRate").is(":focus")) this._updateNumber(e, "feedRate"); else if ($(".safeHeight").is(":focus")) this._updateNumber(e, "safeHeight"); - else if ($(".rapidHeight").is(":focus")) this._updateNumber(e, "rapidHeight"); + else if ($(".rapidHeight").is(":focus")) { + if (this.assembler.get("rapidHeightRelative")) this._updateNumber(e, "rapidHeight"); + else this._updateAbsoluteRapidHeight(e) + } else if ($(".stockArraySize").is(":focus")) this._updateNumber(e, "stockArraySize"); else if ($(".stockSeparation").is(":focus")) this._updateNumber(e, "stockSeparation"); }, @@ -85,6 +88,14 @@ CamMenuView = Backbone.View.extend({ this.assembler.trigger("change"); }, + _updateAbsoluteRapidHeight: function(e){ + e.preventDefault(); + var newVal = parseFloat($(e.target).val()); + if (isNaN(newVal)) return; + newVal -= this.assembler.get("originPosition".z).toFixed(4);//always store relative to origin + this.assembler.set("rapidHeight", parseFloat(newVal)); + }, + _clickCheckbox: function(e){ e.preventDefault(); var $object = $(e.target); @@ -109,6 +120,10 @@ CamMenuView = Backbone.View.extend({ relStockPos.z = data.stockPosition.z - data.originPosition.z; data.stockPosition = relStockPos; } + if (!this.assembler.get("rapidHeightRelative")){ + data.rapidHeight = data.rapidHeight + data.originPosition.z; + } + this.$el.html(this.template(data)); }, -- GitLab