diff --git a/src/mesh/api.js b/src/mesh/api.js index 46433042..dcd36a46 100644 --- a/src/mesh/api.js +++ b/src/mesh/api.js @@ -384,10 +384,10 @@ const tool = { return { id: m.id, matrix: m.matrix, tool: m.tool() } })) .then(data => { - let group = api.group.new(data.map(el => new mesh.model({ + let group = api.group.new([new mesh.model({ file: `subtracted`, - mesh: el - }) )).promote(); + mesh: data + })]).promote(); api.selection.set([group]); api.log.emit('subtract complete').unpin(); }); diff --git a/src/mesh/work.js b/src/mesh/work.js index ac74a078..926f2f81 100644 --- a/src/mesh/work.js +++ b/src/mesh/work.js @@ -160,9 +160,9 @@ let model = { let subs = []; for (let obj of bases) { let sub = base.CSG.subtract(obj, ...tools); - subs.append(base.CSG.toPositionArray(sub)); + subs.appendAll(base.CSG.toPositionArray(sub)); } - return subs; + return subs.toFloat32(); }, // used to generate a list for split snapping