gcode preview works now on direct load and laser working area workflows

This commit is contained in:
Teja 2015-01-28 12:50:37 +01:00
parent 4ecf06bedd
commit ff5e371bff
7 changed files with 32 additions and 25 deletions

View file

@ -467,7 +467,8 @@ input[type="submit"].btn.btn-mini {
}
.navbar .brand {
padding-top: 4px;
padding-bottom: 0px;
padding-bottom: 4px;
margin-left: 0px;
}
#navbar .navbar-inner .brand span {
background-image: url(../img/mr-typo-red_x120.png);
@ -835,10 +836,16 @@ input[type="submit"].btn.btn-mini {
.navbar {
margin-bottom: 0px;
margin-top: 6px;
/*margin-top: 6px;*/
}
.navbar>.container {
background-color: white;
border-bottom: 1px dotted #EEEEEE;
}
body {
padding-top: 48px; /* necessary for navbar-fixed-top */
background-color:whitesmoke;
}

View file

@ -32,11 +32,14 @@ function VectorConversionViewModel(params) {
$("#dialog_vector_graphics_conversion").modal("show");
};
// shows conversion dialog and extracts svg first
self.show_conversion_dialog = function() {
var tmpsvg = snap.select("#scaleGroup").innerSVG(); // get working area
// TODO use lasercutterprofiles
var dpiFactor = 90/25.4; // convert mm to pix with 90dpi (inkscape default - TODO use 72 for illustrator svg and fetch from settings)
var w = dpiFactor * self.settings.printerProfiles.currentProfileData().volume.width;
var h = dpiFactor * self.settings.printerProfiles.currentProfileData().volume.depth;
self.svg = '<svg height="'+ h +'" version="1.1" width="'+ w +'" xmlns="http://www.w3.org/2000/svg"><defs/>'+ tmpsvg +'</svg>';
// TODO: js svg conversion
self.title(gettext("Converting"));
@ -241,6 +244,4 @@ function VectorConversionViewModel(params) {
}).on("slideStop", self.changeFeedrate);
};
self.state.convertWorkingArea = self.show_conversion_dialog; // hack! injecting method to avoid circular dependency.
}

View file

@ -12,8 +12,8 @@
</head>
<body>
<div class="container octoprint-container">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header brand" style="min-width: 272px;">
<a class="navbar-brand" href="#">
<img alt="Mr Beam Logo" src="{{ url_for('static', filename='img/mr-typo-red_x120.png') }}">

View file

@ -342,12 +342,12 @@ GCODE.renderer = (function(){
};
var drawLayer = function(layerNum, fromProgress, toProgress, isNotCurrentLayer){
var i;
var mdlInfo = GCODE.gCodeReader.getModelInfo();
var yShift = mdlInfo.min.y;
// console.log("drawLayer", mdlInfo, model);
//~~ store current layer values
isNotCurrentLayer = isNotCurrentLayer !== undefined ? isNotCurrentLayer : false;
@ -478,7 +478,6 @@ GCODE.renderer = (function(){
};
var applyOffsets = function(mdlInfo) {
console.log("applyOffsets", mdlInfo);
var canvasCenter;
// determine bed and model offsets

View file

@ -162,6 +162,7 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicing
};
self.loadFile = function(file, printAfterLoad) {
console.log("files loadFile", file);
if (!file || !file.refs || !file.refs.hasOwnProperty("resource")) return;
$.ajax({
@ -351,16 +352,15 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicing
};
self.onSlicingDone = function(payload) {
console.log("files.js onSlicingDone", payload);
var url = API_BASEURL + "files/" + payload.gcode_location + "/" + payload.gcode;
var data = {refs: {resource: url}};
self.loadFile(data, false); // loads gcode into gcode viewer
var callback = function(e) {
e.preventDefault();
var url = API_BASEURL + "files/" + payload.gcode_location + "/" + payload.gcode;
$.ajax({
url: url,
type: "POST",
dataType: "json",
contentType: "application/json; charset=UTF-8",
data: JSON.stringify({command: "select", print: true})
});
self.loadFile(data, true); // starts print
};
self.printerState.show_safety_glasses_warning(callback);

View file

@ -470,12 +470,12 @@ function GcodeViewModel(loginStateViewModel, settingsViewModel) {
self.reset();
}
self.onSlicingDone = function(payload){
console.log("gcode.js onSlicingDone", payload);
var file = payload.gcode;
var loc = payload.gcode_location;
self.loadFile(file, Date.now());
};
// self.onSlicingDone = function(payload){
// console.log("gcode.js onSlicingDone", payload);
// var file = payload.gcode;
// var loc = payload.gcode_location;
// self.loadFile(file, payload.date);
// };
self.onUpdatedFiles = function(payload){
// console.log("gcode.js onUpdatedFiles", payload);

View file

@ -131,8 +131,8 @@ function PrinterStateViewModel(loginStateViewModel, timelapseViewModel, vectorCo
self._processPos = function(posStr) {
// example posStr: "X: 73.0000 Y: 192.0000 Z: 0.0000"
var parts = posStr.split(" ");
var x = parseFloat(parts[1]).toFixed(2)
var y = parseFloat(parts[3]).toFixed(2)
var x = parseFloat(parts[1]).toFixed(2);
var y = parseFloat(parts[3]).toFixed(2);
self.currentPos({x:x, y:y});
};
@ -213,7 +213,7 @@ function PrinterStateViewModel(loginStateViewModel, timelapseViewModel, vectorCo
};
self.show_safety_glasses_warning = function(callback){
$('#confirmation_dialog .confirmation_dialog_message').html();
jQuery('<div/>', {
class: "safety_glasses_heads_up"
}).appendTo("#confirmation_dialog .confirmation_dialog_message");