more move move, color, border changes
This commit is contained in:
parent
af7d1de2fb
commit
544348b42c
7 changed files with 81 additions and 154 deletions
|
|
@ -374,6 +374,7 @@ const conf = exports({
|
||||||
outputAlternating: false,
|
outputAlternating: false,
|
||||||
outputLayerRetract: false,
|
outputLayerRetract: false,
|
||||||
outputOriginCenter: true,
|
outputOriginCenter: true,
|
||||||
|
outputNozzle: 0,
|
||||||
outputLoops: 0,
|
outputLoops: 0,
|
||||||
outputInvertX: false,
|
outputInvertX: false,
|
||||||
outputInvertY: false,
|
outputInvertY: false,
|
||||||
|
|
|
||||||
123
src/kiri/init.js
123
src/kiri/init.js
|
|
@ -795,33 +795,6 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
ui.fwRetract.checked = dev.fwRetract;
|
ui.fwRetract.checked = dev.fwRetract;
|
||||||
if (!dev.filamentSource) ui.filamentSource.selectedIndex = 0;
|
if (!dev.filamentSource) ui.filamentSource.selectedIndex = 0;
|
||||||
|
|
||||||
// add extruder selection buttons
|
|
||||||
if (dev.extruders) {
|
|
||||||
for (let ext of dev.extruders) {
|
|
||||||
// add missing deselect field from legacy configs
|
|
||||||
if (!ext.extDeselect) {
|
|
||||||
ext.extDeselect = [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let ext = api.lists.extruders = [];
|
|
||||||
dev.internal = 0;
|
|
||||||
let selext = $('pop-nozzle');
|
|
||||||
selext.innerHTML = '';
|
|
||||||
for (let i=0; i<dev.extruders.length; i++) {
|
|
||||||
let d = DOC.createElement('div');
|
|
||||||
d.innerHTML = `<label>extruder ${i}</label>`;
|
|
||||||
d.setAttribute('id', `sel-ext-${i}`);
|
|
||||||
d.onclick = function() {
|
|
||||||
api.selection.for_widgets(w => {
|
|
||||||
api.widgets.annotate(w.id).extruder = i;
|
|
||||||
});
|
|
||||||
api.platform.update_selected();
|
|
||||||
};
|
|
||||||
selext.appendChild(d);
|
|
||||||
ext.push({id:i, name:i});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// disable editing for non-local devices
|
// disable editing for non-local devices
|
||||||
[
|
[
|
||||||
ui.deviceName,
|
ui.deviceName,
|
||||||
|
|
@ -1646,12 +1619,12 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
speedbar: $('speedbar'),
|
speedbar: $('speedbar'),
|
||||||
context: $('context-menu'),
|
context: $('context-menu'),
|
||||||
|
|
||||||
options: {
|
// options: {
|
||||||
// area: $('lt-options'),
|
// // area: $('lt-options'),
|
||||||
trash: $('lt-trash'),
|
// // trash: $('lt-trash'),
|
||||||
enable: $('lt-w-enable'),
|
// // enable: $('lt-w-enable'),
|
||||||
disable: $('lt-w-disable'),
|
// // disable: $('lt-w-disable'),
|
||||||
},
|
// },
|
||||||
|
|
||||||
back: $('lt-back'),
|
back: $('lt-back'),
|
||||||
ltsetup: $('lt-setup'),
|
ltsetup: $('lt-setup'),
|
||||||
|
|
@ -1854,41 +1827,19 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
_____: newGroup(LANG.sw_menu, $('fdm-walls'), { modes:FDM, driven, separator }),
|
_____: newGroup(LANG.sw_menu, $('fdm-walls'), { modes:FDM, driven, separator }),
|
||||||
sliceShells: newInput(LANG.sl_shel_s, { title:LANG.sl_shel_l, convert:toFloat }),
|
sliceShells: newInput(LANG.sl_shel_s, { title:LANG.sl_shel_l, convert:toFloat }),
|
||||||
sliceLineWidth: newInput(LANG.sl_line_s, { title:LANG.sl_line_l, convert:toFloat, bound:bound(0,5) }),
|
sliceLineWidth: newInput(LANG.sl_line_s, { title:LANG.sl_line_l, convert:toFloat, bound:bound(0,5) }),
|
||||||
sliceShellOrder: newSelect(LANG.sl_ordr_s, {title:LANG.sl_ordr_l}, "shell"),
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
sliceShellOrder: newSelect(LANG.sl_ordr_s, { title:LANG.sl_ordr_l}, "shell"),
|
||||||
sliceDetectThin: newSelect(LANG.ad_thin_s, { title: LANG.ad_thin_l, action: thinWallSave }, "thin"),
|
sliceDetectThin: newSelect(LANG.ad_thin_s, { title: LANG.ad_thin_l, action: thinWallSave }, "thin"),
|
||||||
outputAlternating: newBoolean(LANG.ad_altr_s, onBooleanClick, {title:LANG.ad_altr_l}),
|
outputAlternating: newBoolean(LANG.ad_altr_s, onBooleanClick, {title:LANG.ad_altr_l}),
|
||||||
_____: newGroup(LANG.fl_menu, $('fdm-base'), { modes:FDM, driven, separator }),
|
|
||||||
firstSliceHeight: newInput(LANG.fl_lahi_s, {title:LANG.fl_lahi_l, convert:toFloat, show:isNotBelt}),
|
|
||||||
firstLayerNozzleTemp:newInput(LANG.fl_nozl_s, {title:LANG.fl_nozl_l, convert:toInt, show:isNotBelt}),
|
|
||||||
firstLayerBedTemp: newInput(LANG.fl_bedd_s, {title:LANG.fl_bedd_l, convert:toInt, show:isNotBelt}),
|
|
||||||
firstLayerFanSpeed: newInput(LANG.ou_fans_s, {title:LANG.ou_fans_l, convert:toInt, bound:bound(0,255), show:isBelt}),
|
|
||||||
firstLayerYOffset: newInput(LANG.fl_zoff_s, {title:LANG.fl_zoff_l, convert:toFloat, show:isBelt}),
|
|
||||||
firstLayerFlatten: newInput(LANG.fl_flat_s, {title:LANG.fl_flat_l, convert:toFloat, show:isBelt}),
|
|
||||||
firstLayerRate: newInput(LANG.fl_rate_s, {title:LANG.fl_rate_l, convert:toFloat}),
|
|
||||||
firstLayerFillRate: newInput(LANG.fl_frat_s, {title:LANG.fl_frat_l, convert:toFloat, show:isNotBelt}),
|
|
||||||
separator: newBlank({ class:"set-sep", driven }),
|
|
||||||
firstLayerLineMult: newInput(LANG.fl_sfac_s, {title:LANG.fl_sfac_l, convert:toFloat, bound:bound(0.5,2), show:isNotBelt}),
|
|
||||||
firstLayerPrintMult: newInput(LANG.fl_mult_s, {title:LANG.fl_mult_l, convert:toFloat}),
|
|
||||||
firstLayerBrim: newInput(LANG.fl_brim_s, {title:LANG.fl_brim_l, convert:toInt, show:isBelt}),
|
|
||||||
firstLayerBrimIn: newInput(LANG.fl_brin_s, {title:LANG.fl_brin_l, convert:toInt, show:isBelt}),
|
|
||||||
firstLayerBrimTrig: newInput(LANG.fl_brmn_s, {title:LANG.fl_brmn_l, convert:toInt, show:isBelt}),
|
|
||||||
firstLayerBrimGap: newInput(LANG.fl_brgp_s, {title:LANG.fl_brgp_l, convert:toFloat, show:isBelt}),
|
|
||||||
firstLayerBeltLead: newInput(LANG.fl_bled_s, {title:LANG.fl_bled_l, convert:toFloat, show:isBelt}),
|
|
||||||
firstLayerBeltBump: newInput(LANG.fl_blmp_s, {title:LANG.fl_blmp_l, convert:toFloat, bound:bound(0, 10), show:isBelt}),
|
|
||||||
separator: newBlank({ class:"set-sep", driven }),
|
|
||||||
outputBrimCount: newInput(LANG.fl_skrt_s, {title:LANG.fl_skrt_l, convert:toInt, show:isNotBelt}),
|
|
||||||
outputBrimOffset: newInput(LANG.fl_skro_s, {title:LANG.fl_skro_l, convert:toFloat, show:isNotBelt}),
|
|
||||||
outputRaftSpacing: newInput(LANG.fr_spac_s, {title:LANG.fr_spac_l, convert:toFloat, bound:bound(0.0,3.0), show: () => ui.outputRaft.checked && isNotBelt() }),
|
|
||||||
separator: newBlank({ class:"set-sep", driven }),
|
|
||||||
outputRaft: newBoolean(LANG.fr_nabl_s, onBooleanClick, {title:LANG.fr_nabl_l, trigger: true, show:() => isNotBelt()}),
|
|
||||||
outputDraftShield: newBoolean(LANG.fr_draf_s, onBooleanClick, {title:LANG.fr_draf_l, trigger: true, show:() => isNotBelt()}),
|
|
||||||
_____: newGroup(LANG.fi_menu, $('fdm-fill'), { modes:FDM, driven, separator }),
|
_____: newGroup(LANG.fi_menu, $('fdm-fill'), { modes:FDM, driven, separator }),
|
||||||
sliceFillType: newSelect(LANG.fi_type, {trigger:true}, "infill"),
|
sliceFillType: newSelect(LANG.fi_type, {trigger:true}, "infill"),
|
||||||
sliceFillSparse: newInput(LANG.fi_pcnt_s, {title:LANG.fi_pcnt_l, convert:toFloat, bound:bound(0.0,1.0)}),
|
sliceFillSparse: newInput(LANG.fi_pcnt_s, {title:LANG.fi_pcnt_l, convert:toFloat, bound:bound(0.0,1.0)}),
|
||||||
sliceFillRepeat: newInput(LANG.fi_rept_s, {title:LANG.fi_rept_l, convert:toInt, bound:bound(1,10), show:fillShow}),
|
sliceFillRepeat: newInput(LANG.fi_rept_s, {title:LANG.fi_rept_l, convert:toInt, bound:bound(1,10), show: fillShow}),
|
||||||
sliceFillOverlap: newInput(LANG.fi_over_s, {title:LANG.fi_over_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
sliceFillOverlap: newInput(LANG.fi_over_s, {title:LANG.fi_over_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
sliceFillRate: newInput(LANG.ou_feed_s, {title:LANG.ou_feed_l, convert:toInt, bound:bound(0,500)}),
|
sliceFillRate: newInput(LANG.ou_feed_s, {title:LANG.ou_feed_l, convert:toInt, bound:bound(0,500)}),
|
||||||
sliceSolidRate: newInput(LANG.ou_fini_s, {title:LANG.ou_fini_l, convert:toInt, bound:bound(0,500)}),
|
sliceSolidRate: newInput(LANG.ou_fini_s, {title:LANG.ou_fini_l, convert:toInt, bound:bound(0,500)}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
sliceFillGrow: newInput(LANG.fi_grow_s, {title:LANG.fi_grow_l, convert:toFloat}),
|
sliceFillGrow: newInput(LANG.fi_grow_s, {title:LANG.fi_grow_l, convert:toFloat}),
|
||||||
sliceFillAngle: newInput(LANG.fi_angl_s, {title:LANG.fi_angl_l, convert:toFloat}),
|
sliceFillAngle: newInput(LANG.fi_angl_s, {title:LANG.fi_angl_l, convert:toFloat}),
|
||||||
_____: newGroup(LANG.fh_menu, $('fdm-heat'), { modes:FDM, driven, separator }),
|
_____: newGroup(LANG.fh_menu, $('fdm-heat'), { modes:FDM, driven, separator }),
|
||||||
|
|
@ -1915,27 +1866,58 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
sliceSupportGen: newRow([
|
sliceSupportGen: newRow([
|
||||||
ui.ssaGen = newButton(LANG.sp_detect, onButtonClick, {class: "f-col grow a-center"})
|
ui.ssaGen = newButton(LANG.sp_detect, onButtonClick, {class: "f-col grow a-center"})
|
||||||
], { modes: FDM, class: "ext-buttons f-row grow" }),
|
], { modes: FDM, class: "ext-buttons f-row grow" }),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
sliceSupportManual: newRow([
|
sliceSupportManual: newRow([
|
||||||
(ui.ssmAdd = newButton(undefined, onButtonClick, {icon:'<i class="fas fa-plus"></i>'})),
|
(ui.ssmAdd = newButton(undefined, onButtonClick, {icon:'<i class="fas fa-plus"></i>'})),
|
||||||
(ui.ssmDun = newButton(undefined, onButtonClick, {icon:'<i class="fas fa-check"></i>'})),
|
(ui.ssmDun = newButton(undefined, onButtonClick, {icon:'<i class="fas fa-check"></i>'})),
|
||||||
(ui.ssmClr = newButton(undefined, onButtonClick, {icon:'<i class="fas fa-trash-alt"></i>'}))
|
(ui.ssmClr = newButton(undefined, onButtonClick, {icon:'<i class="fas fa-trash-alt"></i>'}))
|
||||||
], {class:"ext-buttons f-row"}),
|
], {class:"ext-buttons f-row"}),
|
||||||
|
_____: newGroup(LANG.fl_menu, $('fdm-base'), { modes:FDM, driven, separator }),
|
||||||
|
firstSliceHeight: newInput(LANG.fl_lahi_s, {title:LANG.fl_lahi_l, convert:toFloat, show:isNotBelt}),
|
||||||
|
firstLayerNozzleTemp:newInput(LANG.fl_nozl_s, {title:LANG.fl_nozl_l, convert:toInt, show:isNotBelt}),
|
||||||
|
firstLayerBedTemp: newInput(LANG.fl_bedd_s, {title:LANG.fl_bedd_l, convert:toInt, show:isNotBelt}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
firstLayerFanSpeed: newInput(LANG.ou_fans_s, {title:LANG.ou_fans_l, convert:toInt, bound:bound(0,255), show:isBelt}),
|
||||||
|
firstLayerYOffset: newInput(LANG.fl_zoff_s, {title:LANG.fl_zoff_l, convert:toFloat, show:isBelt}),
|
||||||
|
firstLayerFlatten: newInput(LANG.fl_flat_s, {title:LANG.fl_flat_l, convert:toFloat, show:isBelt}),
|
||||||
|
firstLayerRate: newInput(LANG.fl_rate_s, {title:LANG.fl_rate_l, convert:toFloat}),
|
||||||
|
firstLayerFillRate: newInput(LANG.fl_frat_s, {title:LANG.fl_frat_l, convert:toFloat, show:isNotBelt}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
firstLayerLineMult: newInput(LANG.fl_sfac_s, {title:LANG.fl_sfac_l, convert:toFloat, bound:bound(0.5,2), show:isNotBelt}),
|
||||||
|
firstLayerPrintMult: newInput(LANG.fl_mult_s, {title:LANG.fl_mult_l, convert:toFloat}),
|
||||||
|
firstLayerBrim: newInput(LANG.fl_brim_s, {title:LANG.fl_brim_l, convert:toInt, show:isBelt}),
|
||||||
|
firstLayerBrimIn: newInput(LANG.fl_brin_s, {title:LANG.fl_brin_l, convert:toInt, show:isBelt}),
|
||||||
|
firstLayerBrimTrig: newInput(LANG.fl_brmn_s, {title:LANG.fl_brmn_l, convert:toInt, show:isBelt}),
|
||||||
|
firstLayerBrimGap: newInput(LANG.fl_brgp_s, {title:LANG.fl_brgp_l, convert:toFloat, show:isBelt}),
|
||||||
|
firstLayerBeltLead: newInput(LANG.fl_bled_s, {title:LANG.fl_bled_l, convert:toFloat, show:isBelt}),
|
||||||
|
firstLayerBeltBump: newInput(LANG.fl_blmp_s, {title:LANG.fl_blmp_l, convert:toFloat, bound:bound(0, 10), show:isBelt}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
outputBrimCount: newInput(LANG.fl_skrt_s, {title:LANG.fl_skrt_l, convert:toInt, show:isNotBelt}),
|
||||||
|
outputBrimOffset: newInput(LANG.fl_skro_s, {title:LANG.fl_skro_l, convert:toFloat, show:isNotBelt}),
|
||||||
|
outputRaftSpacing: newInput(LANG.fr_spac_s, {title:LANG.fr_spac_l, convert:toFloat, bound:bound(0.0,3.0), show: () => ui.outputRaft.checked && isNotBelt() }),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
outputRaft: newBoolean(LANG.fr_nabl_s, onBooleanClick, {title:LANG.fr_nabl_l, trigger: true, show:() => isNotBelt()}),
|
||||||
|
outputDraftShield: newBoolean(LANG.fr_draf_s, onBooleanClick, {title:LANG.fr_draf_l, trigger: true, show:() => isNotBelt()}),
|
||||||
_____: newGroup(LANG.ou_menu, $('fdm-output'), { modes:FDM, driven, separator }),
|
_____: newGroup(LANG.ou_menu, $('fdm-output'), { modes:FDM, driven, separator }),
|
||||||
outputFeedrate: newInput(LANG.ou_feed_s, {title:LANG.ou_feed_l, convert:toInt}),
|
outputFeedrate: newInput(LANG.ou_feed_s, {title:LANG.ou_feed_l, convert:toInt}),
|
||||||
outputFinishrate: newInput(LANG.ou_fini_s, {title:LANG.ou_fini_l, convert:toInt}),
|
outputFinishrate: newInput(LANG.ou_fini_s, {title:LANG.ou_fini_l, convert:toInt}),
|
||||||
outputSeekrate: newInput(LANG.ou_move_s, {title:LANG.ou_move_l, convert:toInt}),
|
outputSeekrate: newInput(LANG.ou_move_s, {title:LANG.ou_move_l, convert:toInt}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
outputShellMult: newInput(LANG.ou_shml_s, {title:LANG.ou_exml_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
outputShellMult: newInput(LANG.ou_shml_s, {title:LANG.ou_exml_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
||||||
outputFillMult: newInput(LANG.ou_flml_s, {title:LANG.ou_exml_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
outputFillMult: newInput(LANG.ou_flml_s, {title:LANG.ou_exml_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
||||||
outputSparseMult: newInput(LANG.ou_spml_s, {title:LANG.ou_exml_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
outputSparseMult: newInput(LANG.ou_spml_s, {title:LANG.ou_exml_l, convert:toFloat, bound:bound(0.0,2.0)}),
|
||||||
sliceLayerStart: newSelect(LANG.sl_strt_s, {title:LANG.sl_strt_l}, "start"),
|
|
||||||
separator: newBlank({ class:"set-sep", driven }),
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
outputLayerRetract: newBoolean(LANG.ad_lret_s, onBooleanClick, {title:LANG.ad_lret_l}),
|
|
||||||
outputAvoidGaps: newBoolean(LANG.ad_agap_s, onBooleanClick, {title:LANG.ad_agap_l}),
|
|
||||||
outputBeltFirst: newBoolean(LANG.ad_lbir_s, onBooleanClick, {title:LANG.ad_lbir_l, show: isBelt}),
|
|
||||||
_____: newGroup(LANG.ad_menu, $('fdm-expert'), { modes:FDM, driven, separator }),
|
|
||||||
outputRetractDist: newInput(LANG.ad_rdst_s, {title:LANG.ad_rdst_l, convert:toFloat}),
|
outputRetractDist: newInput(LANG.ad_rdst_s, {title:LANG.ad_rdst_l, convert:toFloat}),
|
||||||
outputRetractSpeed: newInput(LANG.ad_rrat_s, {title:LANG.ad_rrat_l, convert:toInt}),
|
outputRetractSpeed: newInput(LANG.ad_rrat_s, {title:LANG.ad_rrat_l, convert:toInt}),
|
||||||
outputRetractWipe: newInput(LANG.ad_wpln_s, {title:LANG.ad_wpln_l, convert:toFloat, bound:bound(0.0,10)}),
|
outputRetractWipe: newInput(LANG.ad_wpln_s, {title:LANG.ad_wpln_l, convert:toFloat, bound:bound(0.0,10)}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
sliceLayerStart: newSelect(LANG.sl_strt_s, {title:LANG.sl_strt_l}, "start"),
|
||||||
|
outputLayerRetract: newBoolean(LANG.ad_lret_s, onBooleanClick, {title:LANG.ad_lret_l}),
|
||||||
|
outputAvoidGaps: newBoolean(LANG.ad_agap_s, onBooleanClick, {title:LANG.ad_agap_l}),
|
||||||
|
separator: newBlank({ class:"set-sep", driven }),
|
||||||
|
outputBeltFirst: newBoolean(LANG.ad_lbir_s, onBooleanClick, {title:LANG.ad_lbir_l, show: isBelt}),
|
||||||
|
outputNozzle: newSelect(LANG.sp_nozl_s, {title:LANG.sp_nozl_l}, "extruders"),
|
||||||
|
_____: newGroup(LANG.ad_menu, $('fdm-expert'), { modes:FDM, driven, separator }),
|
||||||
outputRetractDwell: newInput(LANG.ad_rdwl_s, {title:LANG.ad_rdwl_l, convert:toInt}),
|
outputRetractDwell: newInput(LANG.ad_rdwl_s, {title:LANG.ad_rdwl_l, convert:toInt}),
|
||||||
sliceSolidMinArea: newInput(LANG.ad_msol_s, {title:LANG.ad_msol_l, convert:toFloat}),
|
sliceSolidMinArea: newInput(LANG.ad_msol_s, {title:LANG.ad_msol_l, convert:toFloat}),
|
||||||
outputMinSpeed: newInput(LANG.ad_mins_s, {title:LANG.ad_mins_l, convert:toFloat, bound:bound(1,200)}),
|
outputMinSpeed: newInput(LANG.ad_mins_s, {title:LANG.ad_mins_l, convert:toFloat, bound:bound(1,200)}),
|
||||||
|
|
@ -2773,10 +2755,9 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
ui.acct.export.title = LANG.acct_xpo;
|
ui.acct.export.title = LANG.acct_xpo;
|
||||||
$('file-recent').onclick = () => { api.modal.show('files') };
|
$('file-recent').onclick = () => { api.modal.show('files') };
|
||||||
$('file-import').onclick = (ev) => { api.event.import(ev); };
|
$('file-import').onclick = (ev) => { api.event.import(ev); };
|
||||||
ui.back.onclick = api.platform.layout;
|
// ui.options.trash.onclick = api.selection.delete;
|
||||||
ui.options.trash.onclick = api.selection.delete;
|
// ui.options.enable.onclick = api.selection.enable;
|
||||||
ui.options.enable.onclick = api.selection.enable;
|
// ui.options.disable.onclick = api.selection.disable;
|
||||||
ui.options.disable.onclick = api.selection.disable;
|
|
||||||
ui.func.slice.onclick = (ev) => { ev.stopPropagation(); api.function.slice() };
|
ui.func.slice.onclick = (ev) => { ev.stopPropagation(); api.function.slice() };
|
||||||
ui.func.preview.onclick = (ev) => { ev.stopPropagation(); api.function.print() };
|
ui.func.preview.onclick = (ev) => { ev.stopPropagation(); api.function.print() };
|
||||||
ui.func.animate.onclick = (ev) => { ev.stopPropagation(); api.function.animate() };
|
ui.func.animate.onclick = (ev) => { ev.stopPropagation(); api.function.animate() };
|
||||||
|
|
@ -2789,10 +2770,6 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
$('view-left').onclick = space.view.left;
|
$('view-left').onclick = space.view.left;
|
||||||
$('view-right').onclick = space.view.right;
|
$('view-right').onclick = space.view.right;
|
||||||
$('view-clear').onclick = api.platform.clear;
|
$('view-clear').onclick = api.platform.clear;
|
||||||
// $('mode-fdm').onclick = () => { api.mode.set('FDM'); api.space.set_focus() };
|
|
||||||
// $('mode-sla').onclick = () => { api.mode.set('SLA'); api.space.set_focus() };
|
|
||||||
// $('mode-cam').onclick = () => { api.mode.set('CAM'); api.space.set_focus() };
|
|
||||||
// $('mode-laser').onclick = () => { api.mode.set('LASER'); api.space.set_focus() };
|
|
||||||
$('unrotate').onclick = () => {
|
$('unrotate').onclick = () => {
|
||||||
api.widgets.for(w => w.unrotate());
|
api.widgets.for(w => w.unrotate());
|
||||||
api.selection.update_info();
|
api.selection.update_info();
|
||||||
|
|
|
||||||
|
|
@ -921,7 +921,6 @@ gapp.register("kiri.main", [], (root, exports) => {
|
||||||
api.event.emit('device.set', currentDeviceName());
|
api.event.emit('device.set', currentDeviceName());
|
||||||
}
|
}
|
||||||
// hide/show
|
// hide/show
|
||||||
api.uc.setVisible($('menu-nozzle'), mode === 'FDM');
|
|
||||||
api.uc.setVisible($('set-tools'), mode === 'CAM');
|
api.uc.setVisible($('set-tools'), mode === 'CAM');
|
||||||
// updates right-hand menu by enabling/disabling fields
|
// updates right-hand menu by enabling/disabling fields
|
||||||
setViewMode(VIEWS.ARRANGE);
|
setViewMode(VIEWS.ARRANGE);
|
||||||
|
|
|
||||||
|
|
@ -234,7 +234,7 @@ function platformUpdateSelected() {
|
||||||
const { device } = settings;
|
const { device } = settings;
|
||||||
const { extruders } = device;
|
const { extruders } = device;
|
||||||
const { selection, ui } = api;
|
const { selection, ui } = api;
|
||||||
const { enable, disable } = ui.options;
|
// const { enable, disable } = ui.options;
|
||||||
|
|
||||||
const selreal = selection.widgets();
|
const selreal = selection.widgets();
|
||||||
const selwid = selection.widgets(true);
|
const selwid = selection.widgets(true);
|
||||||
|
|
@ -243,8 +243,8 @@ function platformUpdateSelected() {
|
||||||
if (selcount) {
|
if (selcount) {
|
||||||
let enaC = selwid.filter(w => w.meta.disabled !== true).length;
|
let enaC = selwid.filter(w => w.meta.disabled !== true).length;
|
||||||
let disC = selwid.filter(w => w.meta.disabled === true).length;
|
let disC = selwid.filter(w => w.meta.disabled === true).length;
|
||||||
enable.style.display = disC ? 'flex' : 'none';
|
// enable.style.display = disC ? 'flex' : 'none';
|
||||||
disable.style.display = enaC ? 'flex' : 'none';
|
// disable.style.display = enaC ? 'flex' : 'none';
|
||||||
if (api.feature.meta && selcount === 1) {
|
if (api.feature.meta && selcount === 1) {
|
||||||
let sel = selwid[0];
|
let sel = selwid[0];
|
||||||
let name = sel.meta.file || sel.meta.url;
|
let name = sel.meta.file || sel.meta.url;
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,10 @@
|
||||||
--holdbar-sf: linear-gradient(to top, rgba(200,200,200,0.1), rgba(255,255,255,1), rgba(200,200,200,0.1)) !important;
|
--holdbar-sf: linear-gradient(to top, rgba(200,200,200,0.1), rgba(255,255,255,1), rgba(200,200,200,0.1)) !important;
|
||||||
--highlight: rgba(126,153,183,0.4);
|
--highlight: rgba(126,153,183,0.4);
|
||||||
--main-color: rgba(126,153,183,1);
|
--main-color: rgba(126,153,183,1);
|
||||||
--main-color-hover: rgb(96, 127, 164);
|
--main-color-hover: rgb(96,127,164);
|
||||||
--work-area: rgba(255,255,255,0.75);
|
--row-hover: rgb(126,153,183,0.25);
|
||||||
|
--work-area: rgba(255,255,255,1);
|
||||||
|
--header: rgba(126,153,183,0.5);
|
||||||
--menu: #f0f0f0;
|
--menu: #f0f0f0;
|
||||||
--menu-text: #222;
|
--menu-text: #222;
|
||||||
--menu-border: #555;
|
--menu-border: #555;
|
||||||
|
|
@ -99,10 +101,10 @@ button[del] {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
input {
|
input {
|
||||||
background-color: #eeeeeed6;
|
background-color: #f8f8ff;
|
||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
border: 1px solid #bbb;
|
border: 0.5px solid #bbb;
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
margin-top: 1px;
|
margin-top: 1px;
|
||||||
|
|
@ -110,10 +112,8 @@ input {
|
||||||
}
|
}
|
||||||
input:focus {
|
input:focus {
|
||||||
color: #495057;
|
color: #495057;
|
||||||
background-color: #fff;
|
|
||||||
border-color: #6C7F94;
|
|
||||||
outline: 0;
|
outline: 0;
|
||||||
box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 10%);
|
box-shadow: 0 0 0 0.2rem rgb(0 100 255 / 10%);
|
||||||
}
|
}
|
||||||
input[disabled] {
|
input[disabled] {
|
||||||
background-color: #ddd;
|
background-color: #ddd;
|
||||||
|
|
@ -223,7 +223,7 @@ th, tr, td, label {
|
||||||
color: var(--dark-menu-text)
|
color: var(--dark-menu-text)
|
||||||
}
|
}
|
||||||
.top-menu svg {
|
.top-menu svg {
|
||||||
color: var(--main-color);
|
color: #555;
|
||||||
}
|
}
|
||||||
.top-menu > span {
|
.top-menu > span {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -232,16 +232,16 @@ th, tr, td, label {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.top-menu > span:hover label {
|
.top-menu > span:hover label {
|
||||||
color: var(--menu-text);
|
color: var(--menu-hover);
|
||||||
}
|
}
|
||||||
.dark .top-menu > span:hover label {
|
.dark .top-menu > span:hover label {
|
||||||
color: var(--dark-menu-text) !important;
|
color: var(--dark-menu-text) !important;
|
||||||
}
|
}
|
||||||
.top-menu > span:hover > svg {
|
.top-menu > span:hover > svg {
|
||||||
color: var(--main-color-hover);
|
color: black;
|
||||||
}
|
}
|
||||||
.top-menu > span:hover {
|
.top-menu > span:hover {
|
||||||
background-color: var(--menu);
|
background-color: var(--row-hover);
|
||||||
border-left: 1px solid var(--menu-border);
|
border-left: 1px solid var(--menu-border);
|
||||||
border-right: 1px solid var(--menu-border);
|
border-right: 1px solid var(--menu-border);
|
||||||
}
|
}
|
||||||
|
|
@ -858,6 +858,7 @@ th, tr, td, label {
|
||||||
min-width: 200px;
|
min-width: 200px;
|
||||||
}
|
}
|
||||||
#menu-render {
|
#menu-render {
|
||||||
|
margin: 4px 0 0 0;
|
||||||
gap: 3px;
|
gap: 3px;
|
||||||
flex-direction: row;;
|
flex-direction: row;;
|
||||||
}
|
}
|
||||||
|
|
@ -1926,9 +1927,10 @@ th, tr, td, label {
|
||||||
border-right: 3px solid transparent;
|
border-right: 3px solid transparent;
|
||||||
}
|
}
|
||||||
.set2-group .var-row:hover {
|
.set2-group .var-row:hover {
|
||||||
border-left: 3px solid #ddd;
|
/* border-left: 3px solid var(--main-color-hover); */
|
||||||
border-right: 3px solid #ddd;
|
border-right: 3px solid var(--main-color-hover);
|
||||||
background-color: #f8f8f8 !important;
|
/* background-color: #f8f8f8 !important; */
|
||||||
|
background-color: var(--row-hover) !important;
|
||||||
}
|
}
|
||||||
.set2-group .var-row label {
|
.set2-group .var-row label {
|
||||||
margin-right: 25px;
|
margin-right: 25px;
|
||||||
|
|
@ -1950,15 +1952,16 @@ th, tr, td, label {
|
||||||
.set-header {
|
.set-header {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
justify-content: center;
|
justify-content: left;
|
||||||
background-color: var(--menu);
|
background-color: var(--header);
|
||||||
border-left: 3px solid #ddd;
|
/* /* border-top: 0.5px solid #888; */
|
||||||
border-right: 3px solid #ddd;
|
border-left: 3px solid transparent;
|
||||||
|
border-right: 3px solid var(--main-color-hover);
|
||||||
|
border-bottom: 0.5px solid var(--main-color-hover);
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
margin: 0 0 4px 0;
|
margin: 0 0 4px 0;
|
||||||
}
|
}
|
||||||
.settings .set-header {
|
.settings .set-header {
|
||||||
border-radius: 2px;
|
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
.set-header-line {
|
.set-header-line {
|
||||||
|
|
|
||||||
|
|
@ -124,13 +124,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
<span id="menu-nozzle">
|
|
||||||
<i class="fas fa-map-marker"></i>
|
|
||||||
<label>tool</label>
|
|
||||||
<div class="top-menu-drop top-menu-right">
|
|
||||||
<div id="pop-nozzle" class="content"></div>
|
|
||||||
</div>
|
|
||||||
</span>
|
|
||||||
<span>
|
<span>
|
||||||
<i class="fas fa-eye"></i>
|
<i class="fas fa-eye"></i>
|
||||||
<label>view</label>
|
<label>view</label>
|
||||||
|
|
@ -224,15 +217,6 @@
|
||||||
|
|
||||||
<!-- left settings menu -->
|
<!-- left settings menu -->
|
||||||
<div id="panel-left" class="f-col j-left">
|
<div id="panel-left" class="f-col j-left">
|
||||||
<!-- ephemeral -->
|
|
||||||
<div id="lt-back" class="lt-menu lt-enabled">
|
|
||||||
<i class="fas fa-arrow-circle-left"></i>
|
|
||||||
</div>
|
|
||||||
<div id="lt-options" class="lt-menu lt-enabled">
|
|
||||||
<div id="lt-trash"><i class="fas fa-trash"></i></div>
|
|
||||||
<div id="lt-w-enable"><i class="fas fa-check-circle"></i></div>
|
|
||||||
<div id="lt-w-disable"><i class="fas fa-times-circle"></i></div>
|
|
||||||
</div>
|
|
||||||
<!-- always up -->
|
<!-- always up -->
|
||||||
<div id="mode-info" class="f-col">
|
<div id="mode-info" class="f-col">
|
||||||
<div><label>Mode</label><select id="mode-name">
|
<div><label>Mode</label><select id="mode-name">
|
||||||
|
|
@ -245,16 +229,14 @@
|
||||||
<div><label>Profile</label><span id="mode-profile"></span></div>
|
<div><label>Profile</label><span id="mode-profile"></span></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line-sep2"></div>
|
<div class="line-sep2"></div>
|
||||||
<!-- <div class="chonk"></div>
|
|
||||||
<div class="line-sep"></div> -->
|
|
||||||
<div class="f-col grow settings">
|
<div class="f-col grow settings">
|
||||||
<!-- FDM -->
|
<!-- FDM -->
|
||||||
<div id="fdm-layers" class="set2-group mode-fdm"></div>
|
<div id="fdm-layers" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-walls" class="set2-group mode-fdm"></div>
|
<div id="fdm-walls" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-base" class="set2-group mode-fdm"></div>
|
|
||||||
<div id="fdm-fill" class="set2-group mode-fdm"></div>
|
<div id="fdm-fill" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-heat" class="set2-group mode-fdm"></div>
|
<div id="fdm-heat" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-cool" class="set2-group mode-fdm"></div>
|
<div id="fdm-cool" class="set2-group mode-fdm"></div>
|
||||||
|
<div id="fdm-base" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-support" class="set2-group mode-fdm"></div>
|
<div id="fdm-support" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-output" class="set2-group mode-fdm"></div>
|
<div id="fdm-output" class="set2-group mode-fdm"></div>
|
||||||
<div id="fdm-expert" class="set2-group mode-fdm"></div>
|
<div id="fdm-expert" class="set2-group mode-fdm"></div>
|
||||||
|
|
@ -316,20 +298,7 @@
|
||||||
<div class="set-header">
|
<div class="set-header">
|
||||||
<a>workspace</a>
|
<a>workspace</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="set2-set f-col">
|
|
||||||
<div class="line-sep2"></div>
|
|
||||||
<div class="chonk2"></div>
|
|
||||||
<div class="line-sep2"></div>
|
|
||||||
</div>
|
|
||||||
<div id="ws-widgets" class="f-col"></div>
|
<div id="ws-widgets" class="f-col"></div>
|
||||||
<div class="set-header">
|
|
||||||
<a>render</a>
|
|
||||||
</div>
|
|
||||||
<div class="set2-set f-col">
|
|
||||||
<div class="line-sep2"></div>
|
|
||||||
<div class="chonk2"></div>
|
|
||||||
<div class="line-sep2"></div>
|
|
||||||
</div>
|
|
||||||
<div id="menu-render" class="j-center">
|
<div id="menu-render" class="j-center">
|
||||||
<span id="render-solid" class="j-center" title="solid">
|
<span id="render-solid" class="j-center" title="solid">
|
||||||
<i class="fas fa-square"></i>
|
<i class="fas fa-square"></i>
|
||||||
|
|
@ -347,11 +316,6 @@
|
||||||
<div class="set-header">
|
<div class="set-header">
|
||||||
<a>ranges</a>
|
<a>ranges</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="set2-set f-col">
|
|
||||||
<div class="line-sep2"></div>
|
|
||||||
<div class="chonk2"></div>
|
|
||||||
<div class="line-sep2"></div>
|
|
||||||
</div>
|
|
||||||
<div id="fdm-ranges" class="f-col"></div>
|
<div id="fdm-ranges" class="f-col"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set2-group f-col">
|
<div class="set2-group f-col">
|
||||||
|
|
@ -399,11 +363,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div id="end" class="f-col a-center">
|
|
||||||
the end
|
|
||||||
<div id="bottom">the bottom</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<!-- ThreeJS container -->
|
<!-- ThreeJS container -->
|
||||||
<div id="container"></div>
|
<div id="container"></div>
|
||||||
|
|
||||||
|
|
@ -436,16 +395,6 @@
|
||||||
<!-- device selector / editor -->
|
<!-- device selector / editor -->
|
||||||
<div id="mod-setup" class="mdialog f-row">
|
<div id="mod-setup" class="mdialog f-row">
|
||||||
<div class="f-col left a-stretch">
|
<div class="f-col left a-stretch">
|
||||||
<!-- <label class="header" lk="dm_sldt">select a device type</label>
|
|
||||||
<div class="f-col">
|
|
||||||
<table><tr>
|
|
||||||
<th><button id="mode-fdm" class="dev-type"><label>FDM</label></button></th>
|
|
||||||
<th><button id="mode-sla" class="dev-type"><label>SLA</label></button></th>
|
|
||||||
</tr><tr>
|
|
||||||
<th><button id="mode-cam" class="dev-type"><label>CNC</label></button></th>
|
|
||||||
<th><button id="mode-laser" class="dev-type"><label>LASER</label></button></th>
|
|
||||||
</tr></table>
|
|
||||||
</div> -->
|
|
||||||
<div id="dev-header" class="header sub f-col j-center">
|
<div id="dev-header" class="header sub f-col j-center">
|
||||||
<label lk="dm_stdd">standard devices</label>
|
<label lk="dm_stdd">standard devices</label>
|
||||||
<div id="dev-search">
|
<div id="dev-search">
|
||||||
|
|
@ -593,8 +542,6 @@
|
||||||
<button id="gotit" class="f-col j-center">got it</button>
|
<button id="gotit" class="f-col j-center">got it</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div id="tool-info" class="noshow"></div> -->
|
|
||||||
|
|
||||||
<!-- right click pop-up menu -->
|
<!-- right click pop-up menu -->
|
||||||
<div id="context-menu">
|
<div id="context-menu">
|
||||||
<button id="context-export-workspace" lk="rc_xpws">export workspace</button>
|
<button id="context-export-workspace" lk="rc_xpws">export workspace</button>
|
||||||
|
|
|
||||||
|
|
@ -328,22 +328,22 @@ self.kiri.lang['en-us'] = {
|
||||||
sl_lbot_l: ["number of solid layers at bottom of the print or under bridge spans"],
|
sl_lbot_l: ["number of solid layers at bottom of the print or under bridge spans"],
|
||||||
|
|
||||||
// FDM WALLS
|
// FDM WALLS
|
||||||
sw_menu: "walls",
|
sw_menu: "shells",
|
||||||
sl_shel_s: "wall count",
|
sl_shel_s: "shell count",
|
||||||
sl_shel_l: ["number of perimeter","walls to generate"],
|
sl_shel_l: ["number of perimeter","walls to generate"],
|
||||||
ad_thin_s: "thin wall",
|
ad_thin_s: "thin wall",
|
||||||
ad_thin_l: ["detect and fill gaps","between shell walls"],
|
ad_thin_l: ["detect and fill gaps","between shell walls"],
|
||||||
|
|
||||||
// FDM SHELLS
|
// FDM SHELLS
|
||||||
sl_line_s: "wall width",
|
sl_line_s: "shell width",
|
||||||
sl_line_l: ["extrusion width in millimeters","0 = nozzle diameter"],
|
sl_line_l: ["extrusion width in millimeters","0 = nozzle diameter"],
|
||||||
sl_ordr_s: "wall order",
|
sl_ordr_s: "shell order",
|
||||||
sl_ordr_l: ["output shell order","inside to outside","or outside to inside","affects surface quality"],
|
sl_ordr_l: ["output shell order","inside to outside","or outside to inside","affects surface quality"],
|
||||||
sl_strt_s: "layer start",
|
sl_strt_s: "layer start",
|
||||||
sl_strt_l: ["layer starting point","last = last layer end","center = part center","origin = device origin"],
|
sl_strt_l: ["layer starting point","last = last layer end","center = part center","origin = device origin"],
|
||||||
|
|
||||||
// FDM FILL
|
// FDM FILL
|
||||||
fi_menu: "infill",
|
fi_menu: "sparse fill",
|
||||||
fi_type: "fill type",
|
fi_type: "fill type",
|
||||||
fi_pcnt_s: "fill amount",
|
fi_pcnt_s: "fill amount",
|
||||||
fi_pcnt_l: ["fill density values","0.0 - 1.0"],
|
fi_pcnt_l: ["fill density values","0.0 - 1.0"],
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue