Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign up
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); | |