diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js
index d80a1d465589e5215c0f2562a2ef2c0a87874710..adf2320bf7a9b6b80c2d9ffe96c43613d985fea3 100644
--- a/js/cam/Assembler.js
+++ b/js/cam/Assembler.js
@@ -126,9 +126,10 @@ Assembler = Backbone.Model.extend({
     },
 
     _setCAMScale: function(){
-        var scale = dmaGlobals.lattice.get("scale")/8;
-        this.get("origin").scale.set(scale, scale, scale);
-        this.get("stock").scale.set(scale, scale, scale);
+        var scale = dmaGlobals.lattice.get("scale");
+        this.get("origin").scale.set(scale/8, scale/8, scale/8);
+        this.get("stock").scale.set(scale/8, scale/8, scale/8);
+        this.get("machine").setScale(scale);
     },
 
     _tabChanged: function(){
diff --git a/js/cam/Machine.js b/js/cam/Machine.js
index b279257650f37cb0280a4839e9325b83864008fc..17a1c366e73327bf40af402d7efe7dbd3d0b70d5 100644
--- a/js/cam/Machine.js
+++ b/js/cam/Machine.js
@@ -47,8 +47,15 @@ Machine.prototype._setMeshesVisiblity = function(visible){
     _.each(_.values(this.meshes), function(mesh){
         mesh.visible = visible;
     });
+    if (visible) this.setScale(dmaGlobals.lattice.get("scale"));
 };
 
+Machine.prototype.setScale = function(scale){
+    _.each(_.values(this.meshes), function(mesh){
+        mesh.scale.set(scale, scale, scale);
+    });
+}
+
 Machine.prototype._makeStockCell = function(){
     return dmaGlobals.lattice.makeCellForLatticeType(null, dmaGlobals.lattice.get("scale"));
 };
@@ -246,7 +253,7 @@ Shopbot.prototype._buildMeshes = function(callback){
     var material = this.material;
     (new THREE.STLLoader()).load("assets/stls/shopbot/shopbotEndEffector.stl", function(geometry){
         geometry.computeBoundingBox();
-        var unitScale = 1.5/geometry.boundingBox.max.y;
+        var unitScale = 1.5/geometry.boundingBox.max.y/2.78388;
         geometry.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale));
         geometry.applyMatrix(new THREE.Matrix4().makeTranslation(0,0, Math.sqrt(2)/2));
         var mesh = new THREE.Mesh(geometry, material);
diff --git a/js/cam/MachineOneBit.js b/js/cam/MachineOneBit.js
index 8964b1a257f68f7e0615f7c318a9f49adc988996..5b54aa4b3d21ea91993d551193cc1174584847a4 100644
--- a/js/cam/MachineOneBit.js
+++ b/js/cam/MachineOneBit.js
@@ -25,30 +25,30 @@ OneBitBot.prototype._buildMeshes = function(callback){
         return numMeshes <= 0;
     }
     function geometryScale(geometry){
-        var unitScale = 0.05;
+        var unitScale = 0.05/2.78388;
         geometry.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale));
         return geometry;
     }
     var material = this.material;
     function meshPrep(geometry, name){
-        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(-10,-12.8-1.39194,0));
+        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(-10/2.78388,(-12.8-1.39194)/2.78388,0));
         meshes[name] = new THREE.Mesh(geometry, material);
         if (allLoaded()) callback(meshes);
     }
     var loader = new THREE.STLLoader();
     loader.load("assets/stls/oneBitBot/zAxis.stl", function(geometry){
         geometryScale(geometry);
-        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(5,-2.4+1.39194,-0.8-1.9685));
+        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(5/2.78388,(-2.4+1.39194)/2.78388,(-0.8-1.9685)/2.78388));
         meshPrep(geometry, "zAxis");
     });
     loader.load("assets/stls/oneBitBot/zDrive.stl", function(geometry){
         geometryScale(geometry);
-        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(5,-2.4+1.39194,0));
+        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(5/2.78388,(-2.4+1.39194)/2.78388,0));
         meshPrep(geometry, "zDrive");
     });
     loader.load("assets/stls/oneBitBot/yAxisMount.stl", function(geometry){
         geometryScale(geometry);
-        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(5,0,0));
+        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(5/2.78388,0,0));
         meshPrep(geometry, "yAxisMount");
     });
     loader.load("assets/stls/oneBitBot/basePlate.stl", function(geometry){