update sla device with resolution. add halot sky device

This commit is contained in:
Stewart Allen 2021-07-24 18:02:09 -04:00
commit ed9ddfd83e
10 changed files with 48 additions and 14 deletions

View file

@ -96,9 +96,9 @@
"outputFeedrate": 30,
"outputFinishrate": 30,
"outputSeekrate": 80,
"outputShellMult": 1.1,
"outputFillMult": 1.1,
"outputSparseMult": 1.1,
"outputShellMult": 1.15,
"outputFillMult": 1.15,
"outputSparseMult": 1.15,
"outputFanLayer": 0,
"outputRetractDist": 6,
"outputRetractSpeed": 70,
@ -149,9 +149,9 @@
"outputFeedrate": 30,
"outputFinishrate": 30,
"outputSeekrate": 80,
"outputShellMult": 1.1,
"outputFillMult": 1.1,
"outputSparseMult": 1.1,
"outputShellMult": 1.15,
"outputFillMult": 1.15,
"outputSparseMult": 1.15,
"outputFanLayer": 0,
"outputRetractDist": 6,
"outputRetractSpeed": 70,

View file

@ -5,6 +5,8 @@
"bed_width": 120.96,
"bed_depth": 68.04,
"bed_height": 1,
"max_height": 150
"max_height": 150,
"resolution_x": 2560,
"resolution_y": 1440
}
}

View file

@ -0,0 +1,12 @@
{
"no_clone": true,
"cmd":{},
"settings":{
"bed_width": 192,
"bed_depth": 120,
"bed_height": 1,
"max_height": 200,
"resolution_x": 3840,
"resolution_y": 2400
}
}

View file

@ -115,6 +115,8 @@
bedDepth: valueOf(set.bed_depth, 175),
bedRound: valueOf(set.bed_circle, false),
bedBelt: valueOf(set.bed_belt, false),
resolutionX: valueOf(set.resolution_x, 1600),
resolutionY: valueOf(set.resolution_y, 900),
deviceZMax: valueOf(set.z_move_max, 0),
maxHeight: valueOf(set.build_height, 150),
originCenter: valueOf(set.origin_center, false),
@ -397,7 +399,9 @@
bedWidth: 150,
bedDepth: 150,
bedHeight: 1.5,
maxHeight: 150
maxHeight: 150,
resolutionX: 1600,
resolutionY: 900
},
// process defaults SLA:Process
p:{

View file

@ -764,6 +764,8 @@
UI.bedDepth,
UI.bedWidth,
UI.maxHeight,
UI.resolutionX,
UI.resolutionY,
UI.deviceOrigin,
UI.deviceRound,
UI.deviceBelt,
@ -1575,11 +1577,13 @@
bedWidth: UC.newInput(LANG.dv_bedw_s, {title:LANG.dv_bedw_l, convert:UC.toFloat, size:6, units:true, round:2}),
bedDepth: UC.newInput(LANG.dv_bedd_s, {title:LANG.dv_bedd_l, convert:UC.toFloat, size:6, units:true, round:2}),
maxHeight: UC.newInput(LANG.dv_bedh_s, {title:LANG.dv_bedh_l, convert:UC.toFloat, size:6, modes:FDM_SLA}),
resolutionX: UC.newInput(LANG.dv_rezx_s, {title:LANG.dv_rezx_l, convert:UC.toInt, size:6, modes:SLA}),
resolutionY: UC.newInput(LANG.dv_rezy_s, {title:LANG.dv_rezy_l, convert:UC.toInt, size:6, modes:SLA}),
spindleMax: UC.newInput(LANG.dv_spmx_s, {title:LANG.dv_spmx_l, convert:UC.toInt, size: 6, modes:CAM}),
deviceZMax: UC.newInput(LANG.dv_zmax_s, {title:LANG.dv_zmax_l, convert:UC.toInt, size: 6, modes:FDM}),
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM}),
fwRetract: UC.newBoolean(LANG.dv_retr_s, onBooleanClick, {title:LANG.dv_retr_l, modes:FDM}),
deviceOrigin: UC.newBoolean(LANG.dv_orgc_s, onBooleanClick, {title:LANG.dv_orgc_l, modes:FDM_LASER_SLA}),
deviceOrigin: UC.newBoolean(LANG.dv_orgc_s, onBooleanClick, {title:LANG.dv_orgc_l, modes:FDM_LASER}),
deviceRound: UC.newBoolean(LANG.dv_bedc_s, onBooleanClick, {title:LANG.dv_bedc_l, modes:FDM, trigger:true, show:isNotBelt}),
deviceBelt: UC.newBoolean(LANG.dv_belt_s, onBooleanClick, {title:LANG.dv_belt_l, modes:FDM, trigger:true, show:() => !UI.deviceRound.checked}),

View file

@ -1271,7 +1271,7 @@
for (let [k,v] of Object.entries(consts)) {
eva.push(`let ${k} = "${v}";`);
}
eva.push(`function range(a,b) { return (a + (layer / layers) * (b-a)).round(3) }`)
eva.push(`function range(a,b) { return (a + (layer / layers) * (b-a)).round(4) }`)
eva.push(`try {( ${tok} )} catch (e) {console.log(e);0}`);
let scr = eva.join('');
let evl = eval(`{ ${scr} }`);

View file

@ -1034,10 +1034,10 @@
* 'expand' is used for top offsets in SLA mode
*/
function doDiff(slice, minArea, options = {}) {
const { sla, fakedown } = options;
if (slice.index === 0 && !fakedown) {
return;
}
const { sla, fakedown } = options;
const top = slice,
down = slice.down || (fakedown ? newSlice(-1) : null),
topInner = sla ? top.topPolys() : top.topInners(),

View file

@ -22,8 +22,8 @@
process = settings.process,
output = print.output,
layermax = 0,
width = 2560,
height = 1440,
width = device.resolutionX,
height = device.resolutionY,
width2 = width/2,
height2 = height/2,
scaleX = width / device.bedWidth,
@ -75,6 +75,9 @@
case 'Anycubic.Photon.S':
exp_func = generatePhotons;
break;
case 'Creality.Halot.Sky':
exp_func = generateCXDLP;
break;
}
let file = exp_func(print, {
@ -96,6 +99,10 @@
console.log('print.export', Date.now() - mark);
};
function generateCXDLP(print, conf, progress) {
console.log({generateCXDLP: print, conf, progress});
}
function generatePhoton(print, conf, progress) {
let printset = print.settings,
process = printset.process,

View file

@ -50,7 +50,8 @@
});
}
let b64 = atob(self.worker.snap);
let sws = self.worker.snap.url;
let b64 = atob(sws.substring(sws.indexOf(',') + 1));
let bin = Uint8Array.from(b64, c => c.charCodeAt(0));
let img = new png.PNG();
img.parse(bin, (err, data) => {

View file

@ -93,6 +93,10 @@ kiri.lang['en-us'] = {
dv_bedd_l: "workspace units",
dv_bedh_s: "height",
dv_bedh_l: ["max build height","in workspace units"],
dv_rezx_s: "resolution X",
dv_rezx_l: ["x resolution"],
dv_rezy_s: "resolution Y",
dv_rezy_l: ["y resolution"],
dv_zmax_s: "Z axis speed limit",
dv_zmax_l: ["maximum Z axis speed","in millimeters / second","0 to disable"],
dv_spmx_s: "max spindle",