add screenshot support for grid-print
This commit is contained in:
parent
fbe99720a0
commit
23bfbf09db
2 changed files with 26 additions and 6 deletions
23
js/kiri.js
23
js/kiri.js
|
|
@ -411,6 +411,7 @@ self.kiri.license = exports.LICENSE;
|
|||
STARTMODE = SETUP.sm && SETUP.sm.length === 1 ? SETUP.sm[0] : null,
|
||||
MODE = MODES.FDM,
|
||||
onEvent = {},
|
||||
screenShot = null,
|
||||
currentPrint = null,
|
||||
selectedMeshes = [],
|
||||
localFilterKey ='kiri-gcode-filters',
|
||||
|
|
@ -804,8 +805,6 @@ self.kiri.license = exports.LICENSE;
|
|||
}
|
||||
|
||||
function preparePrint(callback) {
|
||||
setViewMode(VIEWS.PREVIEW);
|
||||
|
||||
// kick off slicing it hasn't been done already
|
||||
for (var i=0; i < WIDGETS.length; i++) {
|
||||
if (!WIDGETS[i].slices || WIDGETS[i].isModified()) {
|
||||
|
|
@ -814,6 +813,8 @@ self.kiri.license = exports.LICENSE;
|
|||
}
|
||||
}
|
||||
|
||||
setViewMode(VIEWS.PREVIEW);
|
||||
|
||||
clearPrint();
|
||||
saveSettings();
|
||||
|
||||
|
|
@ -916,8 +917,8 @@ self.kiri.license = exports.LICENSE;
|
|||
KIRI.serial.setGCode(gcode, currentPrint.bounds);
|
||||
}
|
||||
|
||||
var pre = MODE === MODES.CAM ? "cnc-" : "print-",
|
||||
filename = pre+(new Date().getTime().toString(36)),
|
||||
var pre = MODE === MODES.CAM ? "cnc" : "print",
|
||||
filename = pre,// + (new Date().getTime().toString(36)),
|
||||
fileext = settings.device.gcodeFExt || "gcode",
|
||||
octo_host,
|
||||
octo_apik,
|
||||
|
|
@ -1025,13 +1026,20 @@ self.kiri.license = exports.LICENSE;
|
|||
setProgress(Math.ceil(evt.loaded/evt.total), "sending");
|
||||
});
|
||||
filename = $('print-filename').value;
|
||||
if (screenShot) {
|
||||
var post = new XMLHttpRequest();
|
||||
post.open("POST", host + "/api/image?filename=" + filename);
|
||||
post.setRequestHeader("Content-Type", "text/plain");
|
||||
post.send(screenShot);
|
||||
}
|
||||
xhtr.open("POST",
|
||||
host + "/api/print?" +
|
||||
"filename=" + filename +
|
||||
"&target=" + target +
|
||||
"&key=" + apik +
|
||||
"&time=" + Math.round(currentPrint.time) +
|
||||
"&length=" + Math.round(currentPrint.distance)
|
||||
"&length=" + Math.round(currentPrint.distance) +
|
||||
"&image=" + filename
|
||||
);
|
||||
xhtr.setRequestHeader("Content-Type", "text/plain");
|
||||
xhtr.send(gcode);
|
||||
|
|
@ -1127,6 +1135,11 @@ self.kiri.license = exports.LICENSE;
|
|||
* @param {Function} callback
|
||||
*/
|
||||
function prepareSlices(callback) {
|
||||
if (viewMode == VIEWS.ARRANGE) {
|
||||
screenShot = SPACE.screenshot();
|
||||
screenShot = screenShot.substring(screenShot.indexOf(",")+1);
|
||||
}
|
||||
|
||||
setViewMode(VIEWS.SLICE);
|
||||
|
||||
var selectSave = selectedMeshes.slice();
|
||||
|
|
|
|||
|
|
@ -519,6 +519,10 @@ var gs_moto_space = exports;
|
|||
return WC;
|
||||
},
|
||||
|
||||
screenshot: function(format) {
|
||||
return renderer.domElement.toDataURL(format || "image/png");
|
||||
},
|
||||
|
||||
init: function(domelement, slider) {
|
||||
container = domelement;
|
||||
|
||||
|
|
@ -528,7 +532,10 @@ var gs_moto_space = exports;
|
|||
domelement.style.width = width();
|
||||
domelement.style.height = height();
|
||||
|
||||
renderer = new THREE.WebGLRenderer({ antialias: true });
|
||||
renderer = new THREE.WebGLRenderer({
|
||||
antialias: true,
|
||||
preserveDrawingBuffer: true
|
||||
});
|
||||
camera = perspective ?
|
||||
new THREE.PerspectiveCamera(perspective, aspect(), 1, 100000) :
|
||||
new THREE.OrthographicCamera(-100 * aspect(), 100 * aspect(), 100, -100, 0.1, 100000);
|
||||
|
|
|
|||
Loading…
Reference in a new issue