fdm slice/prepare/export for non-threaded mode working

This commit is contained in:
Stewart Allen 2025-07-05 00:53:58 -04:00
commit e13c1e7430
2 changed files with 8 additions and 6 deletions

View file

@ -2,6 +2,8 @@
import { base, util } from '../../geo/base.js'; import { base, util } from '../../geo/base.js';
import { getRangeParameters } from './driver.js'; import { getRangeParameters } from './driver.js';
import { FDM } from './driver-be.js';
import { version } from '../../moto/license.js';
const { config } = base; const { config } = base;
const debug = false; const debug = false;
@ -23,6 +25,7 @@ export function fdm_export(print, online, ondone, ondebug) {
isBambu = extras.bbl, isBambu = extras.bbl,
{ extrudeAbs } = device, { extrudeAbs } = device,
{ exportThumb } = controller, { exportThumb } = controller,
{ extrudeMM, extrudePerMM } = FDM,
extused = Object.keys(print.extruders).map(v => parseInt(v)), extused = Object.keys(print.extruders).map(v => parseInt(v)),
timeFactor = (device.gcodeTime || 1) * 1.5, timeFactor = (device.gcodeTime || 1) * 1.5,
decimals = config.gcode_decimals || 4, decimals = config.gcode_decimals || 4,
@ -119,9 +122,7 @@ export function fdm_export(print, online, ondone, ondebug) {
arcQ = [], arcQ = [],
minz = { x: Infinity, y: Infinity, z: Infinity }, minz = { x: Infinity, y: Infinity, z: Infinity },
// lenghts of each filament (by nozzle) consumed // lenghts of each filament (by nozzle) consumed
segments = [], segments = [];
extrudeMM = FDM.extrudeMM,
extrudePerMM = FDM.extrudePerMM;
let tools_used = Object.keys(tools); let tools_used = Object.keys(tools);
for (let tool of tools_used) { for (let tool of tools_used) {
@ -285,7 +286,7 @@ export function fdm_export(print, online, ondone, ondebug) {
} }
function preamble() { function preamble() {
append(`; Generated by Kiri:Moto ${kiri.version}`); append(`; Generated by Kiri:Moto ${version}`);
append(`; ${new Date().toString()}`); append(`; ${new Date().toString()}`);
appendSub("; Bed left:{left} right:{right} top:{top} bottom:{bottom}"); appendSub("; Bed left:{left} right:{right} top:{top} bottom:{bottom}");
append(`; Bed type: ${bedType}`); append(`; Bed type: ${bedType}`);

View file

@ -3,8 +3,9 @@
import { base, util } from '../../geo/base.js'; import { base, util } from '../../geo/base.js';
import { poly2polyEmit, tip2tipEmit } from '../../geo/paths.js'; import { poly2polyEmit, tip2tipEmit } from '../../geo/paths.js';
import { newPoint } from '../../geo/point.js'; import { newPoint } from '../../geo/point.js';
import { newPolygon } from '../../geo/polygon.js'; import { newPolygon, Polygon } from '../../geo/polygon.js';
import { polygons as POLY, fillArea } from '../../geo/polygons.js'; import { polygons as POLY, fillArea } from '../../geo/polygons.js';
import { newPrint } from '../../kiri/print.js';
import { newSlice } from '../../kiri/slice.js'; import { newSlice } from '../../kiri/slice.js';
import { render } from '../../kiri/render.js'; import { render } from '../../kiri/render.js';
import { getRangeParameters } from './driver.js'; import { getRangeParameters } from './driver.js';
@ -27,7 +28,7 @@ export async function fdm_prepare(widgets, settings, update) {
{ bedWidth, bedDepth } = device, { bedWidth, bedDepth } = device,
{ lineType } = controller, { lineType } = controller,
printPoint = newPoint(0,0,0), printPoint = newPoint(0,0,0),
print = self.worker.print = kiri.newPrint(settings, widgets), print = self.kiri_worker.current.print = newPrint(settings, widgets),
nozzle = process.sliceLineWidth || device.extruders[0].extNozzle, nozzle = process.sliceLineWidth || device.extruders[0].extNozzle,
isBelt = device.bedBelt, isBelt = device.bedBelt,
isThin = lineType === "line", isThin = lineType === "line",