def test_get_union_volume_exact_overlap(self):
     f3d = self.testdata_dir / "common/BooleanExactOverlap.f3d"
     self.load_f3d(f3d)
     tool_comp = self.get_component("Tool")
     bodies = []
     for body in self.design.rootComponent.bRepBodies:
         bodies.append(body)
     for body in tool_comp.bRepBodies:
         bodies.append(body)
     volume = geometry.get_union_volume(bodies)
     self.assertAlmostEqual(volume, 1, places=self.places)
 def test_get_union_volume_overlap_3way(self):
     f3d = self.testdata_dir / "common/BooleanOverlap3Way.f3d"
     self.load_f3d(f3d)
     volume = geometry.get_union_volume(
         self.design.rootComponent.bRepBodies)
     self.assertAlmostEqual(volume, 4, places=self.places)
 def test_get_union_volume_separate(self):
     f3d = self.testdata_dir / "common/BooleanSeparate.f3d"
     self.load_f3d(f3d)
     volume = geometry.get_union_volume(
         self.design.rootComponent.bRepBodies)
     self.assertAlmostEqual(volume, 2, places=self.places)