Permalink
Cannot retrieve contributors at this time
Fetching contributors…

// Photonic3D Modifications and Features to SLAcer | |
// Utils | |
function findPythagoreanC(a, b) { | |
return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); | |
} | |
function setPrinterCalibrationSettings(printer) { | |
var slicingProfile = printer.configuration.slicingProfile; | |
var monitorDriverConfig = printer.configuration.machineConfig.MonitorDriverConfig; | |
var dotsPermmX = slicingProfile.DotsPermmX; | |
var dotsPermmY = slicingProfile.DotsPermmY; | |
var dotsPermmXYAverage = (dotsPermmX + dotsPermmY) / 2; | |
// Uncomment when not in testing anymore | |
// if (Math.abs(dotsPermmX - dotsPermmY) >= 0.1) { | |
// return true; | |
// } | |
var buildVolXmm = Math.round(monitorDriverConfig.DLP_X_Res / dotsPermmXYAverage); | |
var buildVolYmm = Math.round(monitorDriverConfig.DLP_Y_Res / dotsPermmXYAverage); | |
var diagonalMM = Math.round(findPythagoreanC(buildVolXmm, buildVolYmm)); | |
$slicerSpeedYes[0].checked = true; | |
$slicerSpeedNo[0].checked = false; | |
$slicerSpeedDelay.val(0); | |
// Convert mm to microns | |
$slicerLayerHeight.val(slicingProfile.InkConfig[slicingProfile.selectedInkConfigIndex].SliceHeight * 1000); | |
settings.set('slicer.speed', $slicerSpeedYes[0].checked); | |
settings.set('slicer.speedDelay', $slicerSpeedDelay.val()); | |
settings.set('slicer.layers.height', $slicerLayerHeight.val()); | |
$buildVolumeX.val(buildVolXmm); | |
$buildVolumeY.val(buildVolYmm); | |
$buildVolumeZ.val(printer.configuration.machineConfig.PlatformZSize); | |
updateBuildVolumeSettings(); | |
var unit = settings.get('screen.diagonal.unit') | |
var convert = unit == 'in'; | |
$screenDiagonalSize.val(convert ? parseUnit(diagonalMM, unit) : diagonalMM); | |
$screenWidth.val(monitorDriverConfig.DLP_X_Res); | |
$screenHeight.val(monitorDriverConfig.DLP_Y_Res); | |
updateScreenSettings(); | |
if (convert) { | |
$('#screen-diagonal-unit-in').prop('checked', false); | |
$('#screen-diagonal-unit-mm').prop('checked', true); | |
updateScreenSettings(); | |
} | |
// No error occurred so return false | |
return false; | |
} | |
// Initialize values | |
function initializeValues() { | |
makeButton(); | |
// settings.set('#slicer.panel.collapsed', true); | |
// $slicerBody.collapse('hide'); | |
var XYerr = false; | |
$.get( "/services/printers/getFirstAvailablePrinter", function( data ) { | |
if (data !== null && data !== undefined) { | |
XYerr = setPrinterCalibrationSettings(data); | |
} | |
}).fail(function (data) { | |
alert("Error: "+ data.responseText); | |
}); | |
if (XYerr) { | |
// Error handling | |
alert("Your DotsPermmX and DotsPermmY are more than 0.1 mm apart"); | |
} | |
} | |
function makeZip() { | |
$('#uploadzip-icon').prop('class', 'glyphicon glyphicon-refresh glyphicon-spin'); | |
if (zipFile === null || zipFile === undefined) { | |
alert("You must first slice images to generate a zip file."); | |
} else { | |
var name = 'SLAcer'; | |
if (loadedFile && loadedFile.name) { | |
name = loadedFile.name; | |
} | |
uploadZip(zipFile.generate({type: 'blob'}), name + '.zip'); | |
} | |
} | |
function uploadZip(zipFile, fileName) { | |
var blob = zipFile; | |
form = new FormData(); | |
form.append("file",blob,fileName); | |
request = new XMLHttpRequest(); | |
request.open("POST", "/services/printables/uploadPrintableFile"); | |
// When the request is successfully sent, alert the user | |
request.onreadystatechange = function () { | |
if (request.readyState == 4 && request.status == 200) { | |
// window.open('/printablesPage', '_self'); | |
$('#uploadzip-icon').prop('class', 'glyphicon glyphicon-upload'); | |
alert("Upload successful! Refresh printables page on Photonic3D to see the file."); | |
} | |
} | |
request.send(form); | |
} | |
function makeButton() { | |
//rename original zip button | |
var btn = document.getElementById("zip-button"); | |
btn.innerHTML = '<span class="glyphicon glyphicon-compressed"></span> ZIP'; | |
//create new zip button | |
var newbtn = document.createElement("BUTTON"); | |
$(newbtn).css({ | |
'margin-top' : '10px' | |
}); | |
btn.parentNode.insertBefore(newbtn, btn.nextSibling); | |
newbtn.onclick = function () { | |
makeZip(); | |
} | |
newbtn.id = "new-zip-button"; | |
newbtn.className = "btn btn-primary"; | |
newbtn.disabled = true; | |
newbtn.innerHTML = '<i class="glyphicon glyphicon-upload" id="uploadzip-icon"></i> Upload ZIP To Photonic3D'; | |
} | |
var oldEndSlicing = endSlicing; | |
endSlicing = function() { | |
oldEndSlicing(); | |
$('#new-zip-button').prop('disabled', !zipFile); | |
} | |
$(document).ready(initializeValues); | |