From 382e0cd5d7d812a9f0342f6da9f88e41eb8d0eb8 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 23 Feb 2025 10:52:29 -0500 Subject: [PATCH] fix type 1 thin wall --- src/kiri-mode/fdm/post.js | 4 ++++ src/kiri-mode/fdm/slice.js | 1 - src/kiri/slice.js | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kiri-mode/fdm/post.js b/src/kiri-mode/fdm/post.js index 92741492..0621e055 100644 --- a/src/kiri-mode/fdm/post.js +++ b/src/kiri-mode/fdm/post.js @@ -111,17 +111,21 @@ function thin_type_1(params) { let { z, top, count, top_poly, offsetN, last, gaps } = params; top.thin_fill = []; top.fill_sparse = []; + let layers = POLY.inset(top_poly, offsetN, count, z, true); last = layers.last().mid; top.shells = layers.map(r => r.mid).flat(); top.gaps = layers.map(r => r.gap).flat(); + let off = offsetN; let min = off * 0.75; let max = off * 4; + for (let poly of layers.map(r => r.gap).flat()) { let centers = poly.centers(off/2, z, min, max, {lines:false}); top.fill_sparse.appendAll(centers); } + return { last, gaps }; } diff --git a/src/kiri-mode/fdm/slice.js b/src/kiri-mode/fdm/slice.js index b16168f7..22e2ba50 100644 --- a/src/kiri-mode/fdm/slice.js +++ b/src/kiri-mode/fdm/slice.js @@ -1000,7 +1000,6 @@ function doRender(slice, isSynth, params, opt = {}) { if (slice.tops) // missing for supports slice.tops.forEach(top => { - console.log({ render: top }); if (isThin) output .setLayer('part', Color.part) .addPolys([top.poly]); diff --git a/src/kiri/slice.js b/src/kiri/slice.js index d2414e75..8629ba08 100644 --- a/src/kiri/slice.js +++ b/src/kiri/slice.js @@ -155,6 +155,7 @@ class Slice { let top = new Top(data.poly); top.thin_fill = data.thin_fill ? data.thin_fill.map(p => base.newPoint(p.x,p.y,p.z)) : undefined; top.fill_lines = data.fill_lines; + top.fill_sparse = data.fill_sparse; top.fill_off = data.fill_off; top.last = data.last; top.gaps = data.gaps;