diff --git a/src/build123d/build_common.py b/src/build123d/build_common.py index e5edde3..abfa4a0 100644 --- a/src/build123d/build_common.py +++ b/src/build123d/build_common.py @@ -466,7 +466,13 @@ class Builder(ABC, Generic[ShapeT]): elif mode == Mode.INTERSECT: if self._obj is None: raise RuntimeError("Nothing to intersect with") - combined = self._obj.intersect(*typed[self._shape]) + intersections: ShapeList[Shape] = ShapeList() + for target in typed[self._shape]: + result = self._obj.intersect(target) + if result is None: + continue + intersections.extend(result) + combined = self._sub_class(intersections) elif mode == Mode.REPLACE: combined = self._sub_class(list(typed[self._shape]))