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); | |