def test_create_3P(): p1 = (3.0, 3.0) p2 = (5.0, 7.0) p3 = (12.0, 5.0) circle = ConstructionCircle.from_3p(p1, p2, p3) assert isclose(circle.center[0], 7.6875, abs_tol=1e-4) assert isclose(circle.center[1], 3.15625, abs_tol=1e-4) assert isclose(circle.radius, 4.6901, abs_tol=1e-4)
def circle_3p(self, data: bytes): bs = ByteStream(data) attribs = self._build_dxf_attribs() p1 = Vec3(bs.read_vertex()) p2 = Vec3(bs.read_vertex()) p3 = Vec3(bs.read_vertex()) circle = ConstructionCircle.from_3p(p1, p2, p3) attribs['center'] = circle.center attribs['radius'] = circle.radius return self._factory('CIRCLE', dxfattribs=attribs)