def plane_shape_intersection(plane_face, shape):
     edges = []
     section = BRepAlgoAPI_Section(shape, plane_face)
     section.Approximation(True)
     section.Build()
     section_edges = section.SectionEdges()
     while (section_edges.IsEmpty() != True):
         edges.append(section_edges.First())
         section_edges.RemoveFirst()
     return edges
 def plane_shape_intersection(plane_face, shape):
     edges = []
     section = BRepAlgoAPI_Section(shape, plane_face)
     section.Approximation(True)
     section.Build()
     section_edges = section.SectionEdges()
     while (section_edges.IsEmpty() != True):
         edges.append(section_edges.First())
         display.DisplayShape(section_edges.First(),
                              color='BLACK',
                              update=False)
         section_edges.RemoveFirst()
     return edges