diff --git a/src/kiri/mode/cam/cl-flip.js b/src/kiri/mode/cam/cl-flip.js index 427ae9db..166d8b4a 100644 --- a/src/kiri/mode/cam/cl-flip.js +++ b/src/kiri/mode/cam/cl-flip.js @@ -1,7 +1,7 @@ /** Copyright Stewart Allen -- All Rights Reserved */ import { api } from '../../core/api.js'; -import { env, opRender } from './client.js'; +import { env, opAdd, opRender } from './client.js'; import { CAM } from './driver-fe.js'; import { clearTabs, restoreTabs } from './cl-tab.js'; import { updateStock } from './cl-stock.js'; diff --git a/src/kiri/mode/cam/client.js b/src/kiri/mode/cam/client.js index 59fa9e10..bd509dbf 100644 --- a/src/kiri/mode/cam/client.js +++ b/src/kiri/mode/cam/client.js @@ -226,7 +226,7 @@ const traceClear = () => { api.conf.save(); }; -const opAdd = (rec) => { +export const opAdd = (rec) => { if (!env.isCamMode) return; clearPops(); let oplist = env.current.process.ops; diff --git a/src/kiri/mode/cam/op-outline.js b/src/kiri/mode/cam/op-outline.js index 67558e4b..c5fa2b7e 100644 --- a/src/kiri/mode/cam/op-outline.js +++ b/src/kiri/mode/cam/op-outline.js @@ -269,9 +269,11 @@ class OpOutline extends CamOp { let polyLast; // console.log({order, orderPolys}); printPoint = poly2polyEmit(orderPolys, printPoint, function(poly, index, count) { - polyLast = polyEmit(poly, index, count, polyLast); - }, { swapdir: false }); + }, { + swapdir: false, + weight: process.camInnerFirst + }); }) newLayer(); } diff --git a/src/kiri/mode/cam/op-rough.js b/src/kiri/mode/cam/op-rough.js index ad034435..ddc8140c 100644 --- a/src/kiri/mode/cam/op-rough.js +++ b/src/kiri/mode/cam/op-rough.js @@ -310,6 +310,8 @@ class OpRough extends CamOp { POLY.setWinding(level, cutdir, false); poly2polyEmit(level, printPoint, (poly, index, count) => { printPoint = polyEmit(poly, index, count, printPoint, {cutFromLast: true}); + }, { + weight: process.camInnerFirst }); newLayer(); } diff --git a/src/kiri/mode/cam/prepare.js b/src/kiri/mode/cam/prepare.js index a51d1a49..7ad44092 100644 --- a/src/kiri/mode/cam/prepare.js +++ b/src/kiri/mode/cam/prepare.js @@ -1072,7 +1072,10 @@ export function prepEach(widget, settings, print, firstPoint, update) { fromPoint = depthOutlinePath(fromPoint, depth + 1, levels, radius, emitter, dir, ease); fromPoint = depthOutlinePath(fromPoint, depth + 1, levels, radius, emitter, !dir, ease); return fromPoint; - }, { weight: false, swapdir: false }); + }, { + weight: innerFirst, + swapdir: false + }); return start; }