mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-15 15:20:37 -08:00
fix extrude in both directions for algebra mode
This commit is contained in:
parent
57360e20d8
commit
2227ee939a
2 changed files with 11 additions and 2 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue