From 7ea9f2a7ef58c68eb3f5e81ef00fea777bf34151 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Mon, 27 Sep 2021 11:28:07 -0400 Subject: [PATCH] fixes to allow cam processing with engine.html --- src/kiri/engine.js | 15 +++++++++++++++ src/kiri/widget.js | 10 ++++++++++ src/mode/cam/export.js | 5 +++-- src/mode/cam/prepare.js | 4 ++-- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/kiri/engine.js b/src/kiri/engine.js index 3b4c0a36..160642fe 100644 --- a/src/kiri/engine.js +++ b/src/kiri/engine.js @@ -82,6 +82,21 @@ class Engine { return this; } + setTools(tools) { + this.settings.tools = tools; + return this; + } + + setStock(stock) { + this.settings.stock = stock; + return this; + } + + setOrigin(x,y,z) { + this.settings.origin = { x, y, z }; + return this; + } + moveTo(x, y, z) { this.widget.move(x, y, z, true); return this; diff --git a/src/kiri/widget.js b/src/kiri/widget.js index c770290c..4e886a70 100644 --- a/src/kiri/widget.js +++ b/src/kiri/widget.js @@ -761,6 +761,16 @@ console.log/** Copyright Stewart Allen -- All Rights Reserved */ return this.bounds; }; + PRO.getPositionBox = function() { + let bounds = this.getBoundingBox().clone(); + let pos = this.track.pos; + bounds.min.x += pos.x; + bounds.max.x += pos.x; + bounds.min.y += pos.y; + bounds.max.y += pos.y; + return bounds; + }; + PRO.isModified = function() { return this.modified; }; diff --git a/src/mode/cam/export.js b/src/mode/cam/export.js index fbd13fec..21d09a1b 100644 --- a/src/mode/cam/export.js +++ b/src/mode/cam/export.js @@ -29,6 +29,7 @@ settings = print.settings, device = settings.device, gcodes = settings.device || {}, + origin = settings.origin || { x: 0, y: 0, z: 0 }, tools = settings.tools, space = gcodes.gcodeSpace ? ' ' : '', isRML = device.gcodeFExt.toLowerCase() === 'rml', @@ -57,8 +58,8 @@ min: { x:Infinity, y:Infinity, z:Infinity} }, offset = { - x: -settings.origin.x, - y: settings.origin.y + x: -origin.x, + y: origin.y }, consts = { tool: 0, diff --git a/src/mode/cam/prepare.js b/src/mode/cam/prepare.js index 83cde33d..d147b7f6 100644 --- a/src/mode/cam/prepare.js +++ b/src/mode/cam/prepare.js @@ -54,8 +54,8 @@ let device = settings.device, process = settings.process, - stock = settings.stock, - outer = settings.bounds, + stock = settings.stock || {}, + outer = settings.bounds || widget.getPositionBox(), outerz = outer.max.z, slices = widget.slices, hasStock = stock.x && stock.y && stock.z && process.camStockOn,