diff --git a/index.html b/index.html
index cd44dc0..306ea5d 100644
--- a/index.html
+++ b/index.html
@@ -194,6 +194,7 @@
Running analysis....
+
@@ -230,6 +231,8 @@ Running analysis....
+
+
diff --git a/js/renderer.js b/js/renderer.js
index b22913b..8c72f81 100644
--- a/js/renderer.js
+++ b/js/renderer.js
@@ -11,7 +11,7 @@ GCODE.renderer = (function(){
var canvas;
var ctx;
var zoomFactor= 3, zoomFactorDelta = 0.4;
- var gridSizeX=200,gridSizeY=200,gridStep=10;
+ var gridStep=10;
var ctxHeight, ctxWidth;
var prevX=0, prevY=0;
@@ -41,11 +41,14 @@ GCODE.renderer = (function(){
moveModel: true,
differentiateColors: true,
showNextLayer: false,
+ showGrid: true,
alpha: false,
actualWidth: false,
renderErrors: false,
renderAnalysis: false,
- speedDisplayType: displayType.speed
+ speedDisplayType: displayType.speed,
+ bedSizeX: 500,
+ bedSizeY: 500,
};
var offsetModelX=0, offsetModelY=0;
@@ -218,6 +221,7 @@ GCODE.renderer = (function(){
};
var drawGrid = function() {
+ if (!renderOptions["showGrid"]) return;
var i;
ctx.strokeStyle = renderOptions["colorGrid"];
ctx.lineWidth = 1;
@@ -228,16 +232,16 @@ GCODE.renderer = (function(){
}
ctx.beginPath();
- for(i=0;i<=gridSizeX;i+=gridStep){
+ for(i=0;i<=renderOptions["bedSizeX"];i+=gridStep){
ctx.moveTo(i*zoomFactor-offsetX, 0-offsetY);
- ctx.lineTo(i*zoomFactor-offsetX, -gridSizeY*zoomFactor-offsetY);
+ ctx.lineTo(i*zoomFactor-offsetX, -renderOptions["bedSizeY"]*zoomFactor-offsetY);
}
ctx.stroke();
ctx.beginPath();
- for(i=0;i<=gridSizeY;i+=gridStep){
+ for(i=0;i<=renderOptions["bedSizeY"];i+=gridStep){
ctx.moveTo(0-offsetX, -i*zoomFactor-offsetY);
- ctx.lineTo(gridSizeX*zoomFactor-offsetX, -i*zoomFactor-offsetY);
+ ctx.lineTo(renderOptions["bedSizeX"]*zoomFactor-offsetX, -i*zoomFactor-offsetY);
}
ctx.stroke();
@@ -447,7 +451,7 @@ GCODE.renderer = (function(){
init: function(){
startCanvas();
initialized = true;
- ctx.translate((canvas.width - gridSizeX*zoomFactor)/2,gridSizeY*zoomFactor+(canvas.height - gridSizeY*zoomFactor)/2);
+ ctx.translate((canvas.width - renderOptions["bedSizeX"]*zoomFactor)/2,renderOptions["bedSizeY"]*zoomFactor+(canvas.height - renderOptions["bedSizeY"]*zoomFactor)/2);
},
setOption: function(options){
for(var opt in options){
@@ -517,8 +521,8 @@ GCODE.renderer = (function(){
min = mdlInfo.min;
// console.log(speeds);
// console.log(mdlInfo.min.x + ' ' + mdlInfo.modelSize.x);
- offsetModelX = (gridSizeX/2-(mdlInfo.min.x+mdlInfo.modelSize.x/2))*zoomFactor;
- offsetModelY = (mdlInfo.min.y+mdlInfo.modelSize.y/2)*zoomFactor-gridSizeY/2*zoomFactor;
+ offsetModelX = (renderOptions["bedSizeX"]/2-(mdlInfo.min.x+mdlInfo.modelSize.x/2))*zoomFactor;
+ offsetModelY = (mdlInfo.min.y+mdlInfo.modelSize.y/2)*zoomFactor-renderOptions["bedSizeY"]/2*zoomFactor;
if(ctx)ctx.translate(offsetModelX, offsetModelY);
var scaleF = mdlInfo.modelSize.x>mdlInfo.modelSize.y?(canvas.width)/mdlInfo.modelSize.x/zoomFactor:(canvas.height)/mdlInfo.modelSize.y/zoomFactor;
var pt = ctx.transformedPoint(canvas.width/2,canvas.height/2);
diff --git a/js/ui.js b/js/ui.js
index 641521f..b5e356f 100644
--- a/js/ui.js
+++ b/js/ui.js
@@ -471,7 +471,6 @@ GCODE.ui = (function(){
nozzleDia: Number($('#nozzleDia').val()) || 0.4,
hourlyCost: Number($('#hourlyCost').val()) || 1.0,
filamentPrice: Number($('#filamentPrice').val()) || 0.05,
-
filamentType: document.getElementById('plasticABS').checked ? 'ABS' : 'PLA',
});
@@ -482,7 +481,11 @@ GCODE.ui = (function(){
differentiateColors: document.getElementById('differentiateColorsCheckbox').checked,
actualWidth: document.getElementById('thickExtrusionCheckbox').checked,
alpha: document.getElementById('alphaCheckbox').checked,
- showNextLayer: document.getElementById('showNextLayer').checked,
+ showNextLayer: document.getElementById('showNextLayer').checked,
+ showGrid: document.getElementById('showGrid').checked,
+
+ bedSizeX: Number($('#bedSizeX').val()) || 200,
+ bedSizeY: Number($('#bedSizeY').val()) || 200,
});
showGCode = document.getElementById('showGCodeCheckbox').checked;