a few more tweaks to rafts, device copy names, ender3 profile

This commit is contained in:
stewart allen 2022-03-06 17:15:28 -05:00
commit 9787d400e1
4 changed files with 28 additions and 23 deletions

View file

@ -108,9 +108,9 @@
"outputFeedrate": 80,
"outputFinishrate": 30,
"outputSeekrate": 150,
"outputShellMult": 1,
"outputFillMult": 1.1,
"outputSparseMult": 1.1,
"outputShellMult": 1.35,
"outputFillMult": 1.3,
"outputSparseMult": 1.3,
"outputRetractDist": 4,
"outputRetractSpeed": 60,
"outputRetractWipe": 2,

View file

@ -117,7 +117,7 @@
"outputFeedrate": 100,
"outputFinishrate": 30,
"outputSeekrate": 150,
"outputShellMult": 1,
"outputShellMult": 1.05,
"outputFillMult": 1.1,
"outputSparseMult": 1.1,
"outputRetractDist": 1,
@ -199,7 +199,7 @@
"outputFeedrate": 100,
"outputFinishrate": 40,
"outputSeekrate": 150,
"outputShellMult": 1.05,
"outputShellMult": 1.1,
"outputFillMult": 1.15,
"outputSparseMult": 1.15,
"outputRetractDist": 1,
@ -253,7 +253,7 @@
"sliceLayerStart": "center",
"sliceFillAngle": 45,
"sliceFillOverlap": 0.35,
"sliceFillSparse": 0.08,
"sliceFillSparse": 0.1,
"sliceFillType": "hex",
"sliceAdaptive": false,
"sliceMinHeight": 0,

View file

@ -127,26 +127,23 @@ FDM.prepare = function(widgets, settings, update) {
if (useRaft) {
let offset = newPoint(0,0,0),
height = nozzle,
angle = process.sliceFillAngle,
rate1 = firstLayerRate / 3,
rate2 = process.outputFeedrate,
rafts = process.outputBrimCount ?
POLY.expand(brims, nozzle * 4, 0, null, 1) : brims;
// cause first point of raft to be used
printPoint = null;
let raft = function(height, angle, spacing, speed, extrude, trace) {
function raft(height, angle, spacing, speed, extrude, outline) {
let slice = kiri.newSlice(zoff + height / 2);
rafts.forEach(function(brim) {
for (let brim of rafts) {
// use first point of first brim as start point
if (printPoint === null) printPoint = brim.first();
let t = slice.addTop(brim);
if (trace) t.traces = [ brim ];
t.inner = POLY.expand([ brim ], -nozzle * 0.5, 0, null, 1);
// tweak bounds for fill to induce an offset
t.inner[0].bounds.minx -= nozzle/2;
t.inner[0].bounds.maxx += nozzle/2;
if (outline) t.traces = [ brim ];
t.inner = POLY.expand([ brim ], nozzle * -0.8, 0, null, 1);
t.fill_lines = POLY.fillArea(t.inner, angle, spacing, []);
t.isRaft = true;
})
}
offset.z = slice.z;
printPoint = slicePrintPath(print, slice, printPoint, offset, layerout, {
speed,
@ -161,11 +158,14 @@ FDM.prepare = function(widgets, settings, update) {
zneg = height / 2;
};
raft(nozzle/1, process.sliceFillAngle + 0 , nozzle * 5.0, firstLayerRate / 3, 4, true);
// raft(nozzle/1, process.sliceFillAngle + 0 , nozzle * 5.0, firstLayerRate / 2, 4, true);
raft(nozzle/2, process.sliceFillAngle + 90, nozzle * 3.0, process.outputFeedrate, 2.5, true);
raft(nozzle/2, process.sliceFillAngle + 0 , nozzle * 1.0, process.outputFeedrate, 1.5);
raft(nozzle/2, process.sliceFillAngle + 90 , nozzle * 0.7, process.outputFeedrate, 0.75);
// cause first point of raft to be used
printPoint = null;
// emit raft layers
raft(nozzle * 1.5, angle + 0, nozzle * 6.00, rate1, 2.50, true);
raft(nozzle * 0.5, angle + 90, nozzle * 2.00, rate2, 1.50, true);
raft(nozzle * 0.5, angle + 0, nozzle * 1.00, rate2, 1.00);
raft(nozzle * 0.5, angle + 90, nozzle * 0.75, rate2, 0.75);
// raise first layer off raft slightly to lessen adhesion
firstLayerHeight += process.outputRaftSpacing || 0;

View file

@ -729,9 +729,14 @@ gapp.register("kiri.init", [], (root, exports) => {
// only for local filters
function cloneDevice() {
let name = `${getSelectedDevice().replace(/\./g,' ')} Copy`;
let name = `${getSelectedDevice().replace(/\./g,' ')}`;
let code = api.clone(settings().device);
code.mode = api.mode.get();
if (name.toLowerCase().indexOf('my ') >= 0) {
name = `${name} copy`;
} else {
name = `My ${name}`;
}
putLocalDevice(name, code);
setDeviceCode(code, name);
}