mirror of
https://github.com/Doodle3D/doodle3d-client.git
synced 2024-11-22 09:17:56 +01:00
SettingsWindow printerType dropdown is now populated by API call
This commit is contained in:
parent
c3fa844966
commit
2edba7a4c9
@ -1,30 +1,5 @@
|
|||||||
//these settings are defined in the firmware (conf_defaults.lua) and will be initialized in loadSettings()
|
//these settings are defined in the firmware (conf_defaults.lua) and will be initialized in loadSettings()
|
||||||
var settings = {
|
var settings = { }
|
||||||
"network.ap.ssid": "d3d-ap-%%MAC_ADDR_TAIL%%",
|
|
||||||
"network.ap.address": "192.168.10.1",
|
|
||||||
"network.ap.netmask": "255.255.255.0",
|
|
||||||
"printer.temperature": 220,
|
|
||||||
"printer.maxObjectHeight": 150,
|
|
||||||
"printer.layerHeight": 0.2,
|
|
||||||
"printer.wallThickness": 0.7,
|
|
||||||
"printer.screenToMillimeterScale": 0.3,
|
|
||||||
"printer.speed": 50,
|
|
||||||
"printer.travelSpeed": 200,
|
|
||||||
"printer.filamentThickness": 2.85,
|
|
||||||
"printer.enableTraveling": true,
|
|
||||||
"printer.useSubLayers": true,
|
|
||||||
"printer.firstLayerSlow": true,
|
|
||||||
"printer.autoWarmUp": true,
|
|
||||||
"printer.simplify.iterations": 10,
|
|
||||||
"printer.simplify.minNumPoints": 15,
|
|
||||||
"printer.simplify.minDistance": 3,
|
|
||||||
"printer.retraction.enabled": true,
|
|
||||||
"printer.retraction.speed": 50,
|
|
||||||
"printer.retraction.minDistance": 1,
|
|
||||||
"printer.retraction.amount": 5,
|
|
||||||
"printer.autoWarmUpCommand": "M104 S220 (hardcoded temperature)"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//wrapper to prevent scoping issues in showSettings()
|
//wrapper to prevent scoping issues in showSettings()
|
||||||
function openSettingsWindow() {
|
function openSettingsWindow() {
|
||||||
@ -108,8 +83,19 @@ function SettingsWindow() {
|
|||||||
self.form = self.window.find("form");
|
self.form = self.window.find("form");
|
||||||
self.form.submit(function (e) { self.submitwindow(e) });
|
self.form.submit(function (e) { self.submitwindow(e) });
|
||||||
|
|
||||||
self.loadSettings();
|
$.ajax({
|
||||||
|
url: self.wifiboxURL + "/printer/listall",
|
||||||
|
dataType: 'json',
|
||||||
|
timeout: self.timeoutTime,
|
||||||
|
success: function(response) {
|
||||||
|
console.log("Settings:printer/listall response: ",response.data.printers);
|
||||||
|
|
||||||
|
$.each(response.data.printers, function(key, value) {
|
||||||
|
// console.log(key,value);
|
||||||
|
$('#printerType').append($('<option>').text(value).attr('value', key));
|
||||||
|
});
|
||||||
|
|
||||||
|
self.loadSettings();
|
||||||
|
|
||||||
var btnAP = self.form.find("label[for='ap']");
|
var btnAP = self.form.find("label[for='ap']");
|
||||||
var btnClient = self.form.find("label[for='client']");
|
var btnClient = self.form.find("label[for='client']");
|
||||||
@ -137,9 +123,14 @@ function SettingsWindow() {
|
|||||||
var $printerPanelElement = self.form.find("#printerPanel");
|
var $printerPanelElement = self.form.find("#printerPanel");
|
||||||
self.printerPanel.init(wifiboxURL,$printerPanelElement);
|
self.printerPanel.init(wifiboxURL,$printerPanelElement);
|
||||||
self.printerPanel.fillForm = self.fillForm;
|
self.printerPanel.fillForm = self.fillForm;
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
}).fail(function() {
|
||||||
|
console.log("FATAL ERROR: Settings:printer/listall failed");
|
||||||
|
});
|
||||||
|
}); //this.window.find
|
||||||
|
|
||||||
|
} //this.init
|
||||||
|
|
||||||
this.submitwindow = function(e) {
|
this.submitwindow = function(e) {
|
||||||
disableButton(self.btnOK,self.submitwindow);
|
disableButton(self.btnOK,self.submitwindow);
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -161,14 +152,14 @@ function SettingsWindow() {
|
|||||||
this.showSettings = function() {
|
this.showSettings = function() {
|
||||||
keyboardShortcutsEnabled = false;
|
keyboardShortcutsEnabled = false;
|
||||||
this.loadSettings(function() { // reload settings
|
this.loadSettings(function() { // reload settings
|
||||||
$("#contentOverlay").fadeIn(375, function() {
|
$("#contentOverlay").fadeIn(175, function() {
|
||||||
document.body.removeEventListener('touchmove',prevent,false);
|
document.body.removeEventListener('touchmove',prevent,false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.hideSettings = function(complete) {
|
this.hideSettings = function(complete) {
|
||||||
keyboardShortcutsEnabled = true;
|
keyboardShortcutsEnabled = true;
|
||||||
$("#contentOverlay").fadeOut(375, function() {
|
$("#contentOverlay").fadeOut(175, function() {
|
||||||
document.body.addEventListener('touchmove',prevent,false);
|
document.body.addEventListener('touchmove',prevent,false);
|
||||||
// self.window.css("display","none");
|
// self.window.css("display","none");
|
||||||
complete();
|
complete();
|
||||||
@ -376,6 +367,14 @@ function SettingsWindow() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.downloadSvg = function() {
|
||||||
|
var svg = saveToSvg();
|
||||||
|
if (svg!=undefined) {
|
||||||
|
var blob = new Blob([svg], {type: "text/plain;charset=utf-8"});
|
||||||
|
saveAs(blob, "doodle3d.svg");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Networks ui
|
* Networks ui
|
||||||
*/
|
*/
|
||||||
|
@ -1,37 +1,10 @@
|
|||||||
/*var gcodeStart = [];
|
|
||||||
gcodeStart.push(";Generated with Doodle3D");
|
|
||||||
gcodeStart.push("G21"); // metric values
|
|
||||||
gcodeStart.push("G91"); // relative positioning
|
|
||||||
gcodeStart.push("M107"); // start with the fan off
|
|
||||||
gcodeStart.push("G28 X0 Y0"); // move X/Y to min endstops
|
|
||||||
gcodeStart.push("G28 Z0"); // move Z to min endstops
|
|
||||||
gcodeStart.push("G1 Z15 F9000"); // move the platform down 15mm
|
|
||||||
gcodeStart.push("G92 E0"); // zero the extruded length
|
|
||||||
gcodeStart.push("G1 F200 E10"); // extrude 10mm of feed stock
|
|
||||||
gcodeStart.push("G92 E0"); // zero the extruded length again
|
|
||||||
//gcodeStart.push("G92 X-100 Y-100 E0"); // zero the extruded length again and make center the start position
|
|
||||||
gcodeStart.push("G1 F9000");
|
|
||||||
gcodeStart.push("G90"); // absolute positioning
|
|
||||||
gcodeStart.push("M117 Printing Doodle... "); // display message (20 characters to clear whole screen)
|
|
||||||
|
|
||||||
var gcodeEnd= [];
|
var MAX_POINTS_TO_PRINT = 200000
|
||||||
gcodeEnd.push("M107"); // fan off
|
|
||||||
gcodeEnd.push("G91"); // relative positioning
|
|
||||||
gcodeEnd.push("G1 E-1 F300"); // retract the filament a bit before lifting the nozzle, to release some of the pressure
|
|
||||||
gcodeEnd.push("G1 Z+0.5 E-5 X-20 Y-20 F9000"); // move Z up a bit and retract filament even more
|
|
||||||
gcodeEnd.push("G28 X0 Y0"); // move X/Y to min endstops, so the head is out of the way
|
|
||||||
gcodeEnd.push("M84"); // disable axes / steppers
|
|
||||||
gcodeEnd.push("G90"); // absolute positioning
|
|
||||||
gcodeEnd.push("M117 Done "); // display message (20 characters to clear whole screen)*/
|
|
||||||
|
|
||||||
|
|
||||||
var MAX_POINTS_TO_PRINT = 200000; //400000; //80000; //40000;
|
|
||||||
var gcode = [];
|
var gcode = [];
|
||||||
|
|
||||||
function generate_gcode() {
|
function generate_gcode() {
|
||||||
console.log("f:generategcode()");
|
console.log("f:generategcode()");
|
||||||
|
|
||||||
|
|
||||||
gcode = [];
|
gcode = [];
|
||||||
|
|
||||||
console.log("settings: ",settings);
|
console.log("settings: ",settings);
|
||||||
@ -43,7 +16,6 @@ function generate_gcode() {
|
|||||||
var wallThickness = settings["printer.wallThickness"];
|
var wallThickness = settings["printer.wallThickness"];
|
||||||
var screenToMillimeterScale = settings["printer.screenToMillimeterScale"];
|
var screenToMillimeterScale = settings["printer.screenToMillimeterScale"];
|
||||||
var layerHeight = settings["printer.layerHeight"];
|
var layerHeight = settings["printer.layerHeight"];
|
||||||
var maxObjectHeight = settings["printer.maxObjectHeight"];
|
|
||||||
var temperature = settings["printer.temperature"];
|
var temperature = settings["printer.temperature"];
|
||||||
var bedTemperature = settings["printer.bed.temperature"];
|
var bedTemperature = settings["printer.bed.temperature"];
|
||||||
var useSubLayers = settings["printer.useSubLayers"];
|
var useSubLayers = settings["printer.useSubLayers"];
|
||||||
@ -54,66 +26,35 @@ function generate_gcode() {
|
|||||||
var retractionamount = settings["printer.retraction.amount"];
|
var retractionamount = settings["printer.retraction.amount"];
|
||||||
var preheatTemperature = settings["printer.heatup.temperature"];
|
var preheatTemperature = settings["printer.heatup.temperature"];
|
||||||
var preheatBedTemperature = settings["printer.heatup.bed.temperature"];
|
var preheatBedTemperature = settings["printer.heatup.bed.temperature"];
|
||||||
var printerBedWidth = settings["printer.bed.width"];
|
var printerDimensionsX = settings["printer.dimensions.x"];
|
||||||
var printerBedHeight = settings["printer.bed.height"];
|
var printerDimensionsY = settings["printer.dimensions.y"];
|
||||||
|
var printerDimensionsZ = settings["printer.dimensions.z"];
|
||||||
|
|
||||||
var gCodeOffsetX = printerBedWidth/2; //110; // mm
|
var gCodeOffsetX = printerDimensionsX/2;
|
||||||
var gCodeOffsetY = printerBedHeight/2; //110; // mm
|
var gCodeOffsetY = printerDimensionsY/2;
|
||||||
|
|
||||||
var startCode = generateStartCode();
|
var startCode = generateStartCode();
|
||||||
var endCode = generateEndCode();
|
var endCode = generateEndCode();
|
||||||
|
|
||||||
/*
|
|
||||||
console.log("f:generate_gcode >> EFFE CHECKEN:");
|
|
||||||
console.log(" speed: " + speed);
|
|
||||||
console.log(" travelSpeed: " + travelSpeed);
|
|
||||||
console.log(" filamentThickness: " + filamentThickness);
|
|
||||||
console.log(" wallThickness: " + wallThickness);
|
|
||||||
console.log(" screenToMillimeterScale: " + screenToMillimeterScale);
|
|
||||||
console.log(" layerHeight: " + layerHeight);
|
|
||||||
console.log(" objectHeight: " + objectHeight);
|
|
||||||
console.log(" maxObjectHeight: " + maxObjectHeight);
|
|
||||||
console.log(" temperature: " + temperature);
|
|
||||||
console.log(" maxObjectHeight: " + maxObjectHeight);
|
|
||||||
console.log(" useSubLayers: " + useSubLayers);
|
|
||||||
console.log(" enableTraveling: " + enableTraveling);
|
|
||||||
console.log(" retractionspeed: " + retractionspeed);
|
|
||||||
console.log(" retractionminDistance: " + retractionminDistance);
|
|
||||||
console.log(" retractionamount: " + retractionamount);
|
|
||||||
console.log("");
|
|
||||||
//*/
|
|
||||||
|
|
||||||
// max amount of real world layers
|
// max amount of real world layers
|
||||||
var layers = maxObjectHeight / layerHeight; //maxObjectHeight instead of objectHeight
|
var layers = printerDimensionsZ / layerHeight; //maxObjectHeight instead of objectHeight
|
||||||
|
|
||||||
// translate numLayers in preview to objectHeight in real world
|
// translate numLayers in preview to objectHeight in real world
|
||||||
//objectHeight = Math.ceil(numLayers / 5); // in settings objectHeight = 20, in previewRendering_v01.js numLayers is 100, hence the / 5
|
objectHeight = Math.round(numLayers/maxNumLayers*printerDimensionsZ);
|
||||||
//objectHeight = numLayers; // in settings objectHeight = 20, in previewRendering_v01.js numLayers is 100, hence the / 5
|
|
||||||
objectHeight = Math.round(numLayers/maxNumLayers*maxObjectHeight);
|
|
||||||
|
|
||||||
// translate preview rotation (per layer) to real world rotation
|
// translate preview rotation (per layer) to real world rotation
|
||||||
var rStepGCode = rStep * maxNumLayers/layers; ///maxNumLayers*maxObjectHeight;
|
var rStepGCode = rStep * maxNumLayers/layers; ///maxNumLayers*maxObjectHeight;
|
||||||
|
|
||||||
// correct direction
|
// correct direction
|
||||||
rStepGCode = -rStepGCode;
|
rStepGCode = -rStepGCode;
|
||||||
|
|
||||||
// todo hier een array van PATHS maken wat de losse paths zijn
|
|
||||||
|
|
||||||
// copy array without reference -> http://stackoverflow.com/questions/9885821/copying-of-an-array-of-objects-to-another-array-without-object-reference-in-java
|
// copy array without reference -> http://stackoverflow.com/questions/9885821/copying-of-an-array-of-objects-to-another-array-without-object-reference-in-java
|
||||||
var points = JSON.parse(JSON.stringify(_points));
|
var points = JSON.parse(JSON.stringify(_points));
|
||||||
|
|
||||||
// console.log("f:generategcode() >> paths: " + paths.toString());
|
|
||||||
// console.log("paths.toString(): " + paths.toString());
|
|
||||||
// return;
|
|
||||||
|
|
||||||
//gcode.push("M104 S" + temperature); // set target temperature and do not wait for the extruder to reach it
|
|
||||||
//gcode.push("M109 S" + temperature); // set target temperature and wait for the extruder to reach it
|
|
||||||
|
|
||||||
// add gcode begin commands
|
// add gcode begin commands
|
||||||
gcode = gcode.concat(startCode);
|
gcode = gcode.concat(startCode);
|
||||||
|
|
||||||
//gcode.push("M109 S" + temperature); // set target temperature and wait for the extruder to reach it
|
var layers = printerDimensionsZ / layerHeight; //maxObjectHeight instead of objectHeight
|
||||||
|
|
||||||
var layers = maxObjectHeight / layerHeight; //maxObjectHeight instead of objectHeight
|
|
||||||
var extruder = 0.0;
|
var extruder = 0.0;
|
||||||
var prev = new Point(); prev.set(0, 0);
|
var prev = new Point(); prev.set(0, 0);
|
||||||
|
|
||||||
@ -121,19 +62,13 @@ function generate_gcode() {
|
|||||||
var centerOfDoodle = {
|
var centerOfDoodle = {
|
||||||
x: doodleBounds[0] + (doodleBounds[2]- doodleBounds[0])/2,
|
x: doodleBounds[0] + (doodleBounds[2]- doodleBounds[0])/2,
|
||||||
y: doodleBounds[1] + (doodleBounds[3] - doodleBounds[1])/2
|
y: doodleBounds[1] + (doodleBounds[3] - doodleBounds[1])/2
|
||||||
// x: doodleBounds[0],
|
|
||||||
// y: doodleBounds[1]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("f:generategcode() >> layers: " + layers);
|
console.log("f:generategcode() >> layers: " + layers);
|
||||||
if (layers == Infinity) return;
|
if (layers == Infinity) return;
|
||||||
|
|
||||||
// check feasibility of design
|
// check feasibility of design
|
||||||
var pointsToPrint = points.length * layers*(objectHeight/maxObjectHeight)
|
var pointsToPrint = points.length * layers*(objectHeight/printerDimensionsZ)
|
||||||
//console.log(" points.length: ",points.length);
|
|
||||||
//console.log(" numLayers: ",(layers*(objectHeight/maxObjectHeight)));
|
|
||||||
//console.log(" pointsToPrint: ",pointsToPrint);
|
|
||||||
//console.log(" MAX_POINTS_TO_PRINT: ",MAX_POINTS_TO_PRINT);
|
|
||||||
|
|
||||||
console.log("pointsToPrint: ",pointsToPrint);
|
console.log("pointsToPrint: ",pointsToPrint);
|
||||||
|
|
||||||
@ -153,8 +88,6 @@ function generate_gcode() {
|
|||||||
var even = (layer % 2 == 0);
|
var even = (layer % 2 == 0);
|
||||||
var progress = layer / layers;
|
var progress = layer / layers;
|
||||||
|
|
||||||
// float layerScale = scaleFunction(float(layer)/layers); // scaleFactor van de layer -> lookup naar vfunc[] voor die scaleVals
|
|
||||||
// var layerScale = 1.0;
|
|
||||||
var layerScale = scaleFunction(progress);
|
var layerScale = scaleFunction(progress);
|
||||||
|
|
||||||
// if begin point this row and end point last row are close enough, isLoop is true
|
// if begin point this row and end point last row are close enough, isLoop is true
|
||||||
@ -164,11 +97,6 @@ function generate_gcode() {
|
|||||||
pointsTranslate(p, -centerOfDoodle.x, -centerOfDoodle.y);
|
pointsTranslate(p, -centerOfDoodle.x, -centerOfDoodle.y);
|
||||||
pointsScale(p, screenToMillimeterScale,-screenToMillimeterScale);
|
pointsScale(p, screenToMillimeterScale,-screenToMillimeterScale);
|
||||||
pointsScale(p, layerScale, layerScale);
|
pointsScale(p, layerScale, layerScale);
|
||||||
|
|
||||||
// sort-of in de buurt van (360/2.5)
|
|
||||||
// // -> aight.. er zijn 750 lines vs 1000 in de d3d app. 135 = .75 * 180... dit kan je nog rechttrekken als je NET wat slimmer nadenkt :)
|
|
||||||
// update: NEE, het is niet .75 * 180 want 135 was niet de beste value.
|
|
||||||
//pointsRotate(p, rStep * progress * 139);
|
|
||||||
pointsRotate(p, rStepGCode * layer);
|
pointsRotate(p, rStepGCode * layer);
|
||||||
|
|
||||||
if (layer == 0) {
|
if (layer == 0) {
|
||||||
@ -202,24 +130,17 @@ function generate_gcode() {
|
|||||||
paths[pathCounter].push([p[i][0], p[i][1]]);
|
paths[pathCounter].push([p[i][0], p[i][1]]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log("f:generategcode() >> paths.length: " + paths.length);
|
|
||||||
|
|
||||||
// loop over the subpaths (the separately drawn lines)
|
// loop over the subpaths (the separately drawn lines)
|
||||||
for (var j = 0; j < paths.length; j++) { // TODO paths > subpaths
|
for (var j = 0; j < paths.length; j++) { // TODO paths > subpaths
|
||||||
// this line is probably for drawing efficiency, alternating going from 0->end and end->0 (i.e. to and fro)
|
var commands = paths[j];
|
||||||
// vector<ofSubPath::Command> &commands = subpaths[even ? j : subpaths.size()-1-j].getCommands();
|
|
||||||
var commands = paths[j]; //commands zijn alle points uit subpath j // TODO commands > subpathPoints
|
|
||||||
|
|
||||||
// loop over the coordinates of the subpath
|
// loop over the coordinates of the subpath
|
||||||
for (var i = 0; i < commands.length; i++) {
|
for (var i = 0; i < commands.length; i++) {
|
||||||
var last = commands.length - 1;
|
var last = commands.length - 1;
|
||||||
|
|
||||||
// this line is probably for drawing efficiency, alternating going from 0->end and end->0 (i.e. to and fro)
|
|
||||||
// ofPoint to = commands[(even || isLoop || loopAlways) ? i : last-i].to;
|
|
||||||
var to = new Point(); to.set(commands[i][0], commands[i][1]);
|
var to = new Point(); to.set(commands[i][0], commands[i][1]);
|
||||||
|
|
||||||
// TODO 2013-09-18 evaluate if this should stay..
|
|
||||||
// this was added when Rick mailed us wrt the Ultimaker delivery of Doodle3D
|
|
||||||
to.x += gCodeOffsetX;
|
to.x += gCodeOffsetX;
|
||||||
to.y += gCodeOffsetY;
|
to.y += gCodeOffsetY;
|
||||||
|
|
||||||
@ -230,13 +151,10 @@ function generate_gcode() {
|
|||||||
var doRetract = retractionEnabled && prev.distance(to) > retractionminDistance;
|
var doRetract = retractionEnabled && prev.distance(to) > retractionminDistance;
|
||||||
|
|
||||||
if (enableTraveling && isTraveling) {
|
if (enableTraveling && isTraveling) {
|
||||||
// console.log("enableTraveling && isTraveling >> doRetract: " + doRetract + ", retractionspeed: " + retractionspeed);
|
|
||||||
if (doRetract) gcode.push("G0 E" + (extruder - retractionamount).toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); //retract
|
if (doRetract) gcode.push("G0 E" + (extruder - retractionamount).toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); //retract
|
||||||
gcode.push("G0 X" + to.x.toFixed(3) + " Y" + to.y.toFixed(3) + " Z" + z.toFixed(3) + " F" + (travelSpeed * 60).toFixed(3));
|
gcode.push("G0 X" + to.x.toFixed(3) + " Y" + to.y.toFixed(3) + " Z" + z.toFixed(3) + " F" + (travelSpeed * 60).toFixed(3));
|
||||||
if (doRetract) gcode.push("G0 E" + extruder.toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); // return to normal
|
if (doRetract) gcode.push("G0 E" + extruder.toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); // return to normal
|
||||||
} else {
|
} else {
|
||||||
// console.log(" else");
|
|
||||||
//extruder += prev.distance(to) * wallThickness * layerHeight / filamentThickness;
|
|
||||||
extruder += prev.distance(to) * wallThickness * layerHeight / (Math.pow((filamentThickness/2), 2) * Math.PI);
|
extruder += prev.distance(to) * wallThickness * layerHeight / (Math.pow((filamentThickness/2), 2) * Math.PI);
|
||||||
gcode.push("G1 X" + to.x.toFixed(3) + " Y" + to.y.toFixed(3) + " Z" + z.toFixed(3) + " F" + (speed * 60).toFixed(3) + " E" + extruder.toFixed(3));
|
gcode.push("G1 X" + to.x.toFixed(3) + " Y" + to.y.toFixed(3) + " Z" + z.toFixed(3) + " F" + (speed * 60).toFixed(3) + " E" + extruder.toFixed(3));
|
||||||
}
|
}
|
||||||
@ -249,8 +167,8 @@ function generate_gcode() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((layer/layers) > (objectHeight/maxObjectHeight)) {
|
if ((layer/layers) > (objectHeight/printerDimensionsZ)) {
|
||||||
console.log("f:generategcode() >> (layer/layers) > (objectHeight/maxObjectHeight) is true -> breaking at layer " + (layer + 1));
|
console.log("f:generategcode() >> (layer/layers) > (objectHeight/printerDimensionsZ) is true -> breaking at layer " + (layer + 1));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
3
js_src/libs/jquery-coolfieldset.js
vendored
3
js_src/libs/jquery-coolfieldset.js
vendored
@ -45,7 +45,8 @@
|
|||||||
showFieldsetContent(fieldset, setting);
|
showFieldsetContent(fieldset, setting);
|
||||||
}
|
}
|
||||||
|
|
||||||
legend.bind('touchstart mousedown', function() {
|
// legend.bind('touchstart mousedown', function() {
|
||||||
|
legend.bind('click', function() {
|
||||||
if(fieldset.hasClass("collapsed")) {
|
if(fieldset.hasClass("collapsed")) {
|
||||||
showFieldsetContent(fieldset, setting);
|
showFieldsetContent(fieldset, setting);
|
||||||
} else {
|
} else {
|
||||||
|
@ -32,8 +32,9 @@ $(function() {
|
|||||||
if (getURLParameter("u") != "null") autoUpdate = (getURLParameter("u") == "1");
|
if (getURLParameter("u") != "null") autoUpdate = (getURLParameter("u") == "1");
|
||||||
|
|
||||||
if (wifiboxIsRemote) {
|
if (wifiboxIsRemote) {
|
||||||
wifiboxURL = "http://192.168.5.1/d3dapi";
|
var hostname = "http://10.0.0.45"; //http://192.168.5.1";
|
||||||
wifiboxCGIBinURL = "http://192.168.5.1/cgi-bin/d3dapi";
|
wifiboxURL = hostname+"/d3dapi";
|
||||||
|
wifiboxCGIBinURL = hostname+"/cgi-bin/d3dapi";
|
||||||
} else {
|
} else {
|
||||||
wifiboxURL = "http://" + window.location.host + "/d3dapi";
|
wifiboxURL = "http://" + window.location.host + "/d3dapi";
|
||||||
wifiboxCGIBinURL = "http://" + window.location.host + "/cgi-bin/d3dapi";
|
wifiboxCGIBinURL = "http://" + window.location.host + "/cgi-bin/d3dapi";
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 12 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.4 KiB |
@ -118,7 +118,7 @@
|
|||||||
<div class="settingsContainer"></div>
|
<div class="settingsContainer"></div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="btnContainer">
|
<div class="btnContainer">
|
||||||
<img src="img/buttons/btnOk_settings.png" class="btn btnOK" alt="save"/>
|
<img src="img/buttons/btnOk.png" class="btn btnOK" alt="save"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
<fieldset id="printerPanel">
|
<fieldset id="printerPanel">
|
||||||
<legend>3D printer</legend>
|
<legend>3D printer</legend>
|
||||||
<label for="printerType">Type:</label>
|
<label for="printerType">Type:</label>
|
||||||
<select id="printerType" name="printer.type">
|
<select id="printerType" name="printer.type"></select>
|
||||||
<option value="rigidbot">Rigidbot</option>
|
<!-- <option value="rigidbot">Rigidbot</option>
|
||||||
<option value="ultimaker">Ultimaker</option>
|
<option value="ultimaker">Ultimaker</option>
|
||||||
<option value="ultimaker2">Ultimaker2</option>
|
<option value="ultimaker2">Ultimaker2</option>
|
||||||
<option value="makerbot_replicator2">MakerBot Replicator2</option>
|
<option value="makerbot_replicator2">MakerBot Replicator2</option>
|
||||||
@ -51,9 +51,15 @@
|
|||||||
<option value="vision_3d_printer">Vision 3D Printer</option>
|
<option value="vision_3d_printer">Vision 3D Printer</option>
|
||||||
<option value="marlin_generic">Generic Marlin Printer</option>
|
<option value="marlin_generic">Generic Marlin Printer</option>
|
||||||
<option value="makerbot_generic">Generic Makerbot Printer</option>
|
<option value="makerbot_generic">Generic Makerbot Printer</option>
|
||||||
</select><br/>
|
</select> --><br/>
|
||||||
<label for="printerBedWidth">Bed width:</label><input id="printerBedWidth" type="number" class="small" name="printer.bed.width">mm<br>
|
|
||||||
<label for="printerBedHeight">Bed height:</label><input id="printerBedHeight" type="number" class="small" name="printer.bed.height">mm<br>
|
<label for="printerDimensionsX">Dimensions:</label>
|
||||||
|
x:<input id="printerDimensionsX" type="number" class="small" name="printer.dimensions.x" placeholder="x">mm<br>
|
||||||
|
<label for="printerDimensionsY"></label>
|
||||||
|
y:<input id="printerDimensionsY" type="number" class="small" name="printer.dimensions.y" placeholder="y">mm<br>
|
||||||
|
<label for="printerDimensionsZ"></label>
|
||||||
|
z:<input id="printerDimensionsZ" type="number" class="small" name="printer.dimensions.z" placeholder="z">mm<br>
|
||||||
|
|
||||||
<fieldset id="gcodePanel">
|
<fieldset id="gcodePanel">
|
||||||
<legend>GCODE settings</legend>
|
<legend>GCODE settings</legend>
|
||||||
<div>
|
<div>
|
||||||
@ -107,7 +113,7 @@
|
|||||||
<fieldset id="doodlesettings">
|
<fieldset id="doodlesettings">
|
||||||
<legend>Doodle3D settings</legend>
|
<legend>Doodle3D settings</legend>
|
||||||
<label for="simplifyMinDistance">Minimal line distance:</label><input id="simplifyMinDistance" type="number" class="small" name="doodle3d.simplify.minDistance">px<br>
|
<label for="simplifyMinDistance">Minimal line distance:</label><input id="simplifyMinDistance" type="number" class="small" name="doodle3d.simplify.minDistance">px<br>
|
||||||
<label for="maxObjectHeight">Max object height:</label><input id="maxObjectHeight" type="number" class="small" name="printer.maxObjectHeight">mm<br>
|
<!-- <label for="maxObjectHeight">Max object height:</label><input id="maxObjectHeight" type="number" class="small" name="printer.maxObjectHeight">mm<br> -->
|
||||||
<label for="screenToMillimeterScale">Pixels to mm scale:</label><input id="screenToMillimeterScale" type="number" step="0.1" class="small" name="printer.screenToMillimeterScale"><br>
|
<label for="screenToMillimeterScale">Pixels to mm scale:</label><input id="screenToMillimeterScale" type="number" step="0.1" class="small" name="printer.screenToMillimeterScale"><br>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
@ -161,7 +167,8 @@
|
|||||||
<fieldset id="debugPanel">
|
<fieldset id="debugPanel">
|
||||||
<legend>Debug</legend>
|
<legend>Debug</legend>
|
||||||
<input type="button" onclick="settingsWindow.downloadlogs()" name="downloadlogs" value="Download logs" class="button" id="downloadlogs"/>
|
<input type="button" onclick="settingsWindow.downloadlogs()" name="downloadlogs" value="Download logs" class="button" id="downloadlogs"/>
|
||||||
<input type="button" onclick="settingsWindow.downloadGcode()" name="downloadGcode" value="Download gcode" class="button" id="downloadGcode"/>
|
<input type="button" onclick="settingsWindow.downloadGcode()" name="downloadGcode" value="Download GCODE" class="button" id="downloadGcode"/>
|
||||||
|
<input type="button" onclick="settingsWindow.downloadSvg()" name="downloadSvg" value="Download SVG" class="button" id="downloadSvg"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset id="restorePanel">
|
<fieldset id="restorePanel">
|
||||||
<legend>Restore</legend>
|
<legend>Restore</legend>
|
||||||
|
Loading…
Reference in New Issue
Block a user