diff --git a/modules/workbenches/modeler/features/extrude/extrude.operation.ts b/modules/workbenches/modeler/features/extrude/extrude.operation.ts index 0b5cecff..2c595cf3 100644 --- a/modules/workbenches/modeler/features/extrude/extrude.operation.ts +++ b/modules/workbenches/modeler/features/extrude/extrude.operation.ts @@ -28,10 +28,19 @@ export const ExtrudeOperation: OperationDescriptor = { const face = params.face; - let sketch = ctx.sketchStorageService.readSketch(face.id); - if (!sketch) throw 'sketch not found for the face ' + face.id; + + let occFaces = []; + + let sketch = ctx.sketchStorageService.readSketch(face.id); + if (!sketch) { + occFaces.push(params.face); + } else { + occFaces = occ.utils.sketchToFaces(sketch, face.csys); + } + + + - const occFaces = occ.utils.sketchToFaces(sketch, face.csys); const dir: UnitVector = params.direction || face.normal(); diff --git a/modules/workbenches/modeler/features/revolve/revolve.operation.ts b/modules/workbenches/modeler/features/revolve/revolve.operation.ts index 6a24d94f..b6171368 100644 --- a/modules/workbenches/modeler/features/revolve/revolve.operation.ts +++ b/modules/workbenches/modeler/features/revolve/revolve.operation.ts @@ -26,9 +26,15 @@ export const RevolveOperation: OperationDescriptor = { const face = params.face; + let occFaces = []; + let sketch = ctx.sketchStorageService.readSketch(face.id); - if (!sketch) throw 'sketch not found for the face ' + face.id; - const occFaces = occ.utils.sketchToFaces(sketch, face.csys); + if (!sketch) { + occFaces.push(params.face); + }else{ + occFaces = occ.utils.sketchToFaces(sketch, face.csys); + } + const tools = occFaces.map((faceName, i) => {