fix extrude in both directions for algebra mode

This commit is contained in:
Bernhard 2023-05-11 20:25:19 +02:00
parent 57360e20d8
commit 2227ee939a
2 changed files with 11 additions and 2 deletions

View file

@ -155,8 +155,11 @@ def extrude(
if context is not None:
context._add_to_context(*new_solids, clean=clean, mode=mode)
elif clean:
new_solids = [solid.clean() for solid in new_solids]
else:
if len(new_solids) > 1:
new_solids = new_solids.pop().fuse(*new_solids)
if clean:
new_solids = new_solids.clean()
return Part(Compound.make_compound(new_solids).wrapped)

View file

@ -690,6 +690,12 @@ class OperationsTests(unittest.TestCase):
self.assertAlmostEqual(r.area, 2.0, 6)
self.assertAlmostEqual(c.area, 1.92, 4)
def test_extrude_both(self):
s = Circle(1)
p = extrude(s, amount=1, both=True)
p = chamfer(p.edges().filter_by(GeomType.CIRCLE), 0.3)
self.assertEqual(len(p.edges().filter_by(GeomType.CIRCLE)), 5)
if __name__ == "__main__":
unittest.main()