add nozzle selector for supports. move list consts to api

This commit is contained in:
Stewart Allen 2020-04-10 15:19:47 -04:00
commit 3888e62dd8
6 changed files with 34 additions and 31 deletions

View file

@ -245,6 +245,7 @@ let gs_kiri_conf = exports;
sliceSupportArea: 1,
sliceSupportExtra: 1,
sliceSupportSpan: 1,
sliceSupportNozzle: 1,
sliceSolidMinArea: 1,
sliceSolidLayers: 1,
sliceBottomLayers: 1,
@ -283,7 +284,6 @@ let gs_kiri_conf = exports;
polishLayers: 1,
polishSpeed: 1,
outputLayerRetract: 1,
gcodeNozzle: 1,
gcodePauseLayers: 1,
outputClockwise: 1,
outputOriginCenter: 1,
@ -401,18 +401,6 @@ let gs_kiri_conf = exports;
},
// --------------- default settings
template: {
// use by UI for populating selectors
infill:[
{ name: "vase" },
{ name: "hex" },
{ name: "grid" },
{ name: "gyroid" },
{ name: "triangle" }
],
units:[
{ name: "mm" },
{ name: "in" }
],
// CAM only
bounds: {},
origin: {},
@ -517,6 +505,7 @@ let gs_kiri_conf = exports;
sliceSupportArea: 1,
sliceSupportExtra: 0,
sliceSupportSpan: 6,
sliceSupportNozzle: 0,
sliceSolidMinArea: 1,
sliceSolidLayers: 3,
sliceBottomLayers: 3,
@ -555,7 +544,6 @@ let gs_kiri_conf = exports;
polishLayers: 0,
polishSpeed: 40,
outputLayerRetract: false,
gcodeNozzle: 0,
gcodePauseLayers: "",
// --- LASER ---

View file

@ -635,10 +635,10 @@ var gs_kiri_fdm = exports;
left: offset ? 0 : -device.bedWidth/2,
right: offset ? device.bedWidth : device.bedWidth/2,
bottom: offset ? 0 : -device.bedDepth/2,
nozzle: process.gcodeNozzle || 0,
tool: process.gcodeNozzle || 0,
z_max: device.maxHeight,
layers: layers.length
layers: layers.length,
nozzle: 0,
tool: 0
},
seekMMM = process.outputSeekrate * 60,
retDist = process.outputRetractDist,
@ -837,6 +837,7 @@ var gs_kiri_fdm = exports;
// look for extruder change and recalc emit factor
if (out.tool !== undefined && out.tool !== tool) {
tool = out.tool;
consts.nozzle = consts.tool = tool;
extruder = extruders[tool];
offset_x = extruder.extOffsetX;
offset_y = extruder.extOffsetY;

View file

@ -542,10 +542,10 @@ var gs_kiri_init = exports;
// add extruder selection buttons
if (dev.extruders) {
let ext = API.lists.extruders = [];
dev.internal = 0;
let selext = $('sel-ext');
selext.innerHTML = '';
let arr = [];
for (let i=dev.extruders.length-1; i>=0; i--) {
let b = DOC.createElement('button');
b.appendChild(DOC.createTextNode(i));
@ -557,6 +557,7 @@ var gs_kiri_init = exports;
});
};
selext.appendChild(b);
ext.push({id:i, name:i});
}
}
@ -1311,6 +1312,7 @@ var gs_kiri_init = exports;
sliceSupportSpan: UC.newInput(LANG.sp_span_s, {title:LANG.sp_span_l, bound:UC.bound(0.0,200.0), convert:UC.toFloat, modes:FDM}),
sliceSupportArea: UC.newInput(LANG.sp_area_s, {title:LANG.sp_area_l, bound:UC.bound(0.1,200.0), convert:UC.toFloat, modes:FDM}),
sliceSupportExtra: UC.newInput(LANG.sp_xpnd_s, {title:LANG.sp_xpnd_l, bound:UC.bound(0.0,200.0), convert:UC.toFloat, modes:FDM, expert:true}),
sliceSupportNozzle: UC.newSelect(LANG.sp_nozl_s, {title:LANG.sp_nozl_l, modes:FDM, expert:true}, "extruders"),
sliceSupportEnable: UC.newBoolean(LANG.enable, onBooleanClick, {modes:FDM}),
laserOffset: UC.newInput(LANG.ls_offs_s, {title:LANG.ls_offs_l, convert:UC.toFloat, modes:LASER}),
@ -1414,11 +1416,8 @@ var gs_kiri_init = exports;
// detectThinWalls: UC.newBoolean("thin wall fill", onBooleanClick, {title: "detect and fill thin openings\nbetween shells walls", modes:FDM, expert:true})
polishLayers: LOCAL ? UC.newInput(LANG.ad_play_s, {title:LANG.ad_play_l, bound:UC.bound(0,10), convert:UC.toFloat, modes:FDM, expert:true}) : null,
polishSpeed: LOCAL ? UC.newInput(LANG.ad_pspd_s, {title:LANG.ad_pspd_l, bound:UC.bound(10,2000), convert:UC.toInt, modes:FDM, expert:true}) : null,
outputLayerRetract: UC.newBoolean(LANG.ad_lret_s, onBooleanClick, {title:LANG.ad_lret_l, modes:FDM, expert:true}),
gcodeVars: UC.newGroup(LANG.ag_menu, null, {modes:FDM, expert:true}),
gcodeNozzle: UC.newInput(LANG.ag_nozl_s, {title:LANG.ag_nozl_l, convert:UC.toInt, modes:FDM, expert:true}),
gcodePauseLayers: UC.newInput(LANG.ag_paws_s, {title:LANG.ag_paws_l, modes:FDM, expert:true})
gcodePauseLayers: UC.newInput(LANG.ag_paws_s, {title:LANG.ag_paws_l, modes:FDM, expert:true}),
outputLayerRetract: UC.newBoolean(LANG.ad_lret_s, onBooleanClick, {title:LANG.ad_lret_l, modes:FDM, expert:true})
});
if (!lang_set) {

View file

@ -127,6 +127,20 @@ self.kiri.copyright = exports.COPYRIGHT;
cam_sliced_opacity: 0.25
};
const lists = {
infill: [
{ name: "vase" },
{ name: "hex" },
{ name: "grid" },
{ name: "gyroid" },
{ name: "triangle" }
],
units:[
{ name: "mm" },
{ name: "in" }
],
};
const API = KIRI.api = {
ui: UI,
uc: UC,
@ -194,6 +208,7 @@ self.kiri.copyright = exports.COPYRIGHT;
import: function() { UI.import.style.display = 'none' }
},
language: KIRI.lang,
lists,
modal: {
show: showModal,
hide: hideModal,
@ -1275,8 +1290,6 @@ self.kiri.copyright = exports.COPYRIGHT;
function updateFieldsFromSettings(scope) {
if (!scope) return console.trace("missing scope");
// CONF.normalize(settings);
for (let key in scope) {
if (!scope.hasOwnProperty(key)) continue;
let val = scope[key];
@ -1289,11 +1302,11 @@ self.kiri.copyright = exports.COPYRIGHT;
} else if (typ === 'select-one') {
uie.innerHTML = '<option></option>';
let source = uie.parentNode.getAttribute('source'),
list = settings[source],
list = settings[source] || lists[source],
chosen = null;
list.forEach(function(tool, index) {
if (list) list.forEach(function(tool, index) {
let id = tool.id || tool.name;
if (val === id) {
if (val == id) {
chosen = index + 1;
}
let opt = DOC.createElement('option');
@ -1341,6 +1354,8 @@ self.kiri.copyright = exports.COPYRIGHT;
if (src === 'tools') {
nval = parseInt(nval);
}
} else {
nval = scope[key];
}
} else if (uie.type === 'textarea') {
nval = uie.value.trim().split('\n');
@ -1434,8 +1449,6 @@ self.kiri.copyright = exports.COPYRIGHT;
return;
}
settings = CONF.normalize(data.settings);
// MOTO.restore(data.moto);
// SDB.setItem('kiri-init', data.init || 2);
API.conf.save();
LOC.reload();
}

View file

@ -207,6 +207,8 @@ kiri.lang['en-us'] = {
sp_area_l: "minimum area for\na support column\nin millimeters",
sp_xpnd_s: "expand",
sp_xpnd_l: "expand support area\nbeyond part boundary\nin millimeters",
sp_nozl_s: "extruder",
sp_nozl_l: "in multi-extruder systems\nthe extruder to use for\nsupport material",
// LASER SLICING
ls_offs_s: "offset",

View file

@ -735,7 +735,7 @@ button[import="1"] {
justify-content: center;
align-items: center;
position: fixed;
bottom: 40px;
top: 40px;
left: 0;
right: 0;
}