gcode preview works now on direct load and laser working area workflows
This commit is contained in:
parent
4ecf06bedd
commit
ff5e371bff
7 changed files with 32 additions and 25 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
}
|
||||
|
|
@ -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') }}">
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Reference in a new issue