From de9ddf50ff40e23eb041c18edf8de929ae8686fb Mon Sep 17 00:00:00 2001 From: Bernhard Date: Sat, 17 Jan 2026 14:26:39 +0100 Subject: [PATCH] fuse extrude results in builder mode to match algebra mode --- src/build123d/operations_part.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/build123d/operations_part.py b/src/build123d/operations_part.py index e3fe8dd..7dab522 100644 --- a/src/build123d/operations_part.py +++ b/src/build123d/operations_part.py @@ -230,16 +230,14 @@ def extrude( ) ) + if len(new_solids) > 1: + fused_solids = new_solids.pop().fuse(*new_solids) + new_solids = fused_solids if isinstance(fused_solids, list) else [fused_solids] + if clean: + new_solids = [solid.clean() for solid in new_solids] + if context is not None: context._add_to_context(*new_solids, clean=clean, mode=mode) - else: - if len(new_solids) > 1: - fused_solids = new_solids.pop().fuse(*new_solids) - new_solids = ( - fused_solids if isinstance(fused_solids, list) else [fused_solids] - ) - if clean: - new_solids = [solid.clean() for solid in new_solids] return Part(ShapeList(new_solids).solids())