diff --git a/modules/workbenches/modeler/features/loft/loft.operation.ts b/modules/workbenches/modeler/features/loft/loft.operation.ts index 98118ead..ce29871c 100644 --- a/modules/workbenches/modeler/features/loft/loft.operation.ts +++ b/modules/workbenches/modeler/features/loft/loft.operation.ts @@ -19,17 +19,33 @@ export const LoftOperation: OperationDescriptor = { icon: 'img/cad/loft', info: 'Lofts 2D sketch', paramsInfo: ({ }) => `(${r()})`, - run: async (params: LoftParams, ctx: ApplicationContext) => { + run:async (params: LoftParams, ctx: ApplicationContext) => { let occ = ctx.occService; const oci = occ.commandInterface; + + + console.log(params.loops); + + let sketches = []; + + const wires = params.loops.map((loop, i) => { + const shapeName = "loop/" + i; + sketches.push(loop.parent); + + return occ.io.sketchLoader.pushContourAsWire(loop.contour, shapeName, loop.face.csys).wire + }); + + console.log("This is the info you are looking for", sketches); + let loftType = 0; if (params.loftType == "smooth") loftType = 0; if (params.loftType == "sharp") loftType = 1; console.log(params.loops); +<<<<<<< HEAD let sketches = []; const wires = params.loops.map((loop, i) => { @@ -47,24 +63,11 @@ export const LoftOperation: OperationDescriptor = { let sweepSources = []; - let indexOfMostSegments = 0; - let longestPath = 0; - let primarySketch = {}; - - sketches.forEach(function (item, index) { + sketches.forEach(await async function (item, index) { console.log(item, index); - if(params.loops[index].contour.segments.length > longestPath){ - longestPath = params.loops[index].contour.segments.length; - - primarySketch = params.loops[index].parent; - } - const face = occ.utils.sketchToFaces(ctx.sketchStorageService.readSketch(item.id), item.csys); - sweepSources = face; + await sweepSources.concat(await occ.utils.sketchToFaces(ctx.sketchStorageService.readSketch(item.id), item.csys)) }); - - - const productionAnalyzer = new FromSketchProductionAnalyzer(sweepSources); @@ -74,7 +77,7 @@ export const LoftOperation: OperationDescriptor = { let tools = []; tools.push(occ.io.getShell("th", productionAnalyzer)); - return occ.utils.applyBooleanModifier(tools, params.boolean, [], [],) + return occ.utils.applyBooleanModifier(tools, params.boolean, sketches, [],) },