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)