Merge branch 'stable-1.2.2' into mrbeam-multipass
Conflicts: src/octoprint/static/js/app/viewmodels/printerstate.js src/octoprint/util/comm_acc2.py
This commit is contained in:
commit
cfacbe2610
4 changed files with 32 additions and 16 deletions
|
|
@ -70,12 +70,14 @@ Snap.plugin(function (Snap, Element, Paper, global) {
|
||||||
|
|
||||||
// Validity checks from http://www.w3.org/TR/SVG/shapes.html#RectElement:
|
// Validity checks from http://www.w3.org/TR/SVG/shapes.html#RectElement:
|
||||||
// If 'x' and 'y' are not specified, then set both to 0. // CorelDraw is creating that sometimes
|
// If 'x' and 'y' are not specified, then set both to 0. // CorelDraw is creating that sometimes
|
||||||
if (!isFinite(x))
|
if (!isFinite(x)) {
|
||||||
console.log('No attribute "x" in image tag. Assuming 0.')
|
console.log('No attribute "x" in image tag. Assuming 0.')
|
||||||
x = 0;
|
x = 0;
|
||||||
if (!isFinite(y))
|
}
|
||||||
|
if (!isFinite(y)) {
|
||||||
console.log('No attribute "y" in image tag. Assuming 0.')
|
console.log('No attribute "y" in image tag. Assuming 0.')
|
||||||
y = 0;
|
y = 0;
|
||||||
|
}
|
||||||
var transform = elem.transform();
|
var transform = elem.transform();
|
||||||
var matrix = transform['totalMatrix'];
|
var matrix = transform['totalMatrix'];
|
||||||
var transformedX = matrix.x(x, y);
|
var transformedX = matrix.x(x, y);
|
||||||
|
|
|
||||||
|
|
@ -345,7 +345,7 @@ $(function(){
|
||||||
dx = -svgBB.x + 0.01;
|
dx = -svgBB.x + 0.01;
|
||||||
outside = true;
|
outside = true;
|
||||||
} else if(svgBB.x2 > waBB.x2){
|
} else if(svgBB.x2 > waBB.x2){
|
||||||
dx = -svgBB.x2 + waBB.x2 - 0.01;
|
dx = -svgBB.x + 0.01;
|
||||||
outside = true;
|
outside = true;
|
||||||
}
|
}
|
||||||
if(svgBB.y < waBB.y){
|
if(svgBB.y < waBB.y){
|
||||||
|
|
@ -390,7 +390,7 @@ $(function(){
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
self.placeIMG = function (file) {
|
self.placeIMG = function (file) {
|
||||||
var url = self._getIMGserveUrl(file);
|
var url = self._getIMGserveUrl(file);
|
||||||
var img = new Image();
|
var img = new Image();
|
||||||
|
|
@ -426,10 +426,16 @@ $(function(){
|
||||||
};
|
};
|
||||||
|
|
||||||
self.getUsefulDimensions = function(wpx, hpx){
|
self.getUsefulDimensions = function(wpx, hpx){
|
||||||
var maxWidthMM = wpx * 0.25; // TODO parametrize
|
var maxWidthMM = wpx * 0.25; // TODO parametrize
|
||||||
var aspectRatio = wpx / hpx;
|
var maxHeightMM = hpx * 0.25; // TODO parametrize
|
||||||
var destWidthMM = Math.min(self.workingAreaWidthMM() - 2, maxWidthMM);
|
var aspectRatio = wpx / hpx;
|
||||||
var destHeightMM = destWidthMM / aspectRatio;
|
var destWidthMM = Math.min(self.workingAreaWidthMM() - 2, maxWidthMM);
|
||||||
|
var destHeightMM = Math.min(self.workingAreaHeightMM() - 2, maxHeightMM);
|
||||||
|
if ((destWidthMM / aspectRatio) > destHeightMM) {
|
||||||
|
destWidthMM = destHeightMM * aspectRatio;
|
||||||
|
} else {
|
||||||
|
destHeightMM = destWidthMM / aspectRatio;
|
||||||
|
}
|
||||||
var destWidthPT = self.mm2svgUnits(destWidthMM);
|
var destWidthPT = self.mm2svgUnits(destWidthMM);
|
||||||
var destHeightPT = self.mm2svgUnits(destHeightMM);
|
var destHeightPT = self.mm2svgUnits(destHeightMM);
|
||||||
return [destWidthPT, destHeightPT];
|
return [destWidthPT, destHeightPT];
|
||||||
|
|
@ -632,13 +638,13 @@ $(function(){
|
||||||
|
|
||||||
var userContent = snap.select("#userContent").clone();
|
var userContent = snap.select("#userContent").clone();
|
||||||
compSvg.append(userContent);
|
compSvg.append(userContent);
|
||||||
|
|
||||||
self.renderInfill(compSvg, fillAreas, wMM, hMM, 10, function(svgWithRenderedInfill){
|
self.renderInfill(compSvg, fillAreas, wMM, hMM, 10, function(svgWithRenderedInfill){
|
||||||
callback( self._wrapInSvgAndScale(svgWithRenderedInfill));
|
callback( self._wrapInSvgAndScale(svgWithRenderedInfill));
|
||||||
$('#compSvg').remove();
|
$('#compSvg').remove();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
self._wrapInSvgAndScale = function(content){
|
self._wrapInSvgAndScale = function(content){
|
||||||
var svgStr = content.innerSVG();
|
var svgStr = content.innerSVG();
|
||||||
if(svgStr !== ''){
|
if(svgStr !== ''){
|
||||||
|
|
@ -721,7 +727,7 @@ $(function(){
|
||||||
self.clear_gcode = function(){
|
self.clear_gcode = function(){
|
||||||
snap.select('#gCodePreview').clear();
|
snap.select('#gCodePreview').clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
self.onStartup = function(){
|
self.onStartup = function(){
|
||||||
self.state.workingArea = self;
|
self.state.workingArea = self;
|
||||||
self.files.workingArea = self;
|
self.files.workingArea = self;
|
||||||
|
|
@ -754,11 +760,16 @@ $(function(){
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
self._embedAllImages = function(svg, callback){
|
self._embedAllImages = function(svg, callback){
|
||||||
|
|
||||||
var allImages = svg.selectAll('image');
|
var allImages = svg.selectAll('image');
|
||||||
var linkedImages = allImages.items.filter(function(i){ return !i.attr('href').startsWith('data:') });
|
var linkedImages = allImages.items.filter(function(i){
|
||||||
|
if(i.attr('xlink:href') != null) {
|
||||||
|
return !i.attr('xlink:href').startsWith('data:');
|
||||||
|
} else if(i.attr('href') != null) {
|
||||||
|
return !i.attr('href').startsWith('data:');
|
||||||
|
}});
|
||||||
if(linkedImages.length > 0){
|
if(linkedImages.length > 0){
|
||||||
var callbackCounter = linkedImages.length;
|
var callbackCounter = linkedImages.length;
|
||||||
for (var i = 0; i < linkedImages.length; i++) {
|
for (var i = 0; i < linkedImages.length; i++) {
|
||||||
|
|
@ -790,7 +801,7 @@ $(function(){
|
||||||
var fillings = userContent.removeUnfilled(fillAreas);
|
var fillings = userContent.removeUnfilled(fillAreas);
|
||||||
for (var i = 0; i < fillings.length; i++) {
|
for (var i = 0; i < fillings.length; i++) {
|
||||||
var item = fillings[i];
|
var item = fillings[i];
|
||||||
|
|
||||||
if (item.type === 'image') {
|
if (item.type === 'image') {
|
||||||
// remove filter effects on images for proper rendering
|
// remove filter effects on images for proper rendering
|
||||||
var style = item.attr('style');
|
var style = item.attr('style');
|
||||||
|
|
|
||||||
|
|
@ -357,7 +357,7 @@ $(function() {
|
||||||
self.intensityOverrideSlider.slider('setValue', 100);
|
self.intensityOverrideSlider.slider('setValue', 100);
|
||||||
self.intensityOverride(100);
|
self.intensityOverride(100);
|
||||||
self.feedrateOverride(100);
|
self.feedrateOverride(100);
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
OCTOPRINT_VIEWMODELS.push([
|
OCTOPRINT_VIEWMODELS.push([
|
||||||
|
|
|
||||||
|
|
@ -835,6 +835,9 @@ class MachineCom(object):
|
||||||
if self._currentFile is None:
|
if self._currentFile is None:
|
||||||
raise ValueError("No file selected for printing")
|
raise ValueError("No file selected for printing")
|
||||||
|
|
||||||
|
# reset feedrate and intesity factor in case they where changed in a previous run
|
||||||
|
self._feedrate_factor = 1
|
||||||
|
self._intensity_factor = 1
|
||||||
self._passes = 1
|
self._passes = 1
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue