fix frame api

This commit is contained in:
Stewart Allen 2025-12-29 22:21:03 -05:00
commit 841082c485
6 changed files with 13 additions and 4 deletions

View file

@ -115,6 +115,9 @@ window.addEventListener('message', msg => {
let bin = data.parse;
let widget;
switch ((data.type || 'stl').toLowerCase()) {
case 'gcode':
api.function.parse(bin, 'gcode');
break;
case 'stl':
if (!bin.buffer) bin = new Float32Array(bin).buffer;
new load.STL().parse(bin, vertices => {

View file

@ -28,6 +28,7 @@ import { space } from '../../../moto/space.js';
import { LAST, MODES, SEED, VIEWS } from '../../core/consts.js';
import STACKS from '../stacks.js';
import '../frame.js';
let { SETUP } = api.const,
{ CAM, SLA, FDM, LASER, DRAG, WJET, WEDM } = MODES,

View file

@ -870,10 +870,13 @@ export async function prepare_one(widget, settings, print, firstPoint, update) {
// we're coming from another widget. offset compensated below
printPoint = firstPoint;
// console.log('coming from another widget', { printPoint });
} else {
} else if (center) {
// we're the first widget output. offset is center
printPoint = origin.clone().move({ x: center.x, y: center.y });
// console.log('first widget output', { printPoint });
} else {
console.log({ missing_center_using_origin: origin });
printPoint = origin.clone();
}
let ops = {

View file

@ -241,7 +241,7 @@ export class Topo {
}
}
// raise output points when inside tab boundaries
if (!inside && tabsOn && clipTab.length)
if (tabsOn && clipTab.length)
for (let poly of lines) {
for (let p of poly.points) {
for (let clip of clipTab) {

View file

@ -123,6 +123,7 @@ class Engine {
process.camStockX = stock.x;
process.camStockY = stock.y;
process.camStockZ = stock.z;
if (this.origin) settings.stock.center = origin;
return this;
}
@ -131,7 +132,8 @@ class Engine {
}
setOrigin(x, y, z) {
this.settings.origin = { x, y, z };
this.origin = { x, y, z };
if (this.settings.stock) this.settings.stock.center = { x, y, z };
return this;
}

View file

@ -47,7 +47,7 @@
window.addEventListener('message', onMessage);
},
send: send,
send,
load: (load) => { send({ load }) },