cnc first point now confined to Z

This commit is contained in:
Stewart Allen 2020-04-23 13:30:49 -04:00
commit 58a70b0396
3 changed files with 26 additions and 6 deletions

View file

@ -1230,7 +1230,13 @@ var gs_kiri_cam = exports;
nextIsMove = false;
}
let rate = feedRate;
if (!lastPoint) {
lastPoint = newPoint(origin.x, origin.y, point.z);
}
// only when we have a previous point to compare to
// TODO obsolete check. lastPoint now synthesized.
if (lastPoint) {
let deltaXY = lastPoint.distTo2D(point),
deltaZ = point.z - lastPoint.z,
@ -1665,6 +1671,12 @@ var gs_kiri_cam = exports;
function moveTo(out) {
let newpos = out.point;
// first point out sets the current position (but not Z)
if (points === 0) {
pos.x = newpos.x;
pos.y = newpos.y;
}
// no point == dwell
// out.speed = time to dwell in ms
if (!newpos) {
@ -1755,6 +1767,7 @@ var gs_kiri_cam = exports;
layer.forEach(function(out) {
point = out.point;
if (!point || point.mod) return;
// ensure not point is modified twice
point.mod = 1;
if (offset) {
point.x += offset.x;

View file

@ -324,8 +324,8 @@ let gs_kiri_sla = exports;
for (let index=0; ; index++) {
let layer = KIRI.newLayer(print.group);
let count = 0;
widgets.forEach(widget => {
let slice = widget.slices[index];
if (!slice) {
@ -339,6 +339,7 @@ let gs_kiri_sla = exports;
count++;
});
});
layer.renderSolid();
layer.render();

View file

@ -326,16 +326,22 @@ let gs_kiri_print = exports;
PRO.render = function() {
let scope = this,
mode = scope.settings.mode,
driver = KIRI.driver[mode];
settings = scope.settings,
process = settings.process,
origin = settings.origin,
mode = settings.mode,
driver = KIRI.driver[mode],
firstPoint;
switch (mode) {
case 'SLA':
driver.printRender(scope);
break;
case 'CAM':
console.log(scope.settings);
firstPoint = newPoint(origin.x, origin.y, process.camOriginTop ? settings.stock.z : origin.z);
case 'FDM':
scope.renderMoves(true, 0x888888);
scope.renderMoves(true, 0x888888, firstPoint);
break;
case 'LASER':
scope.renderMoves(false, 0x0088aa);
@ -420,9 +426,9 @@ let gs_kiri_print = exports;
return out;
}
PRO.renderMoves = function(showMoves, moveColor) {
PRO.renderMoves = function(showMoves, moveColor, firstPoint) {
let debug = KIRI.api.const.LOCAL;
let scope = this, last, emits, moves;
let scope = this, emits, moves, last = firstPoint;
// render layered output
scope.lines = 0;
scope.output.forEach(function(layerout) {