Hi
Here is a solution that creates slices as meshes of topology 2 in 3 dimensions and that interpolates from the 3D solution to the slice. You can also use the StructuredGrid routine in the fenicstools package
from dolfin import *
# Create original mesh with solution to be sliced
mesh = UnitCubeMesh(10, 10, 10)
V = FunctionSpace(mesh, "CG", 1)
u0 = interpolate(Expression("x[2]"), V)
# Create a UnitSquareMesh of topology 2 in 3 dimensions
bmesh = BoundaryMesh(mesh, "exterior")
# Choose a side with normal in z-direction
z0 = AutoSubDomain(lambda x, on_bnd: x[2] < DOLFIN_EPS)
ff = CellFunction("size_t", bmesh, 0)
z0.mark(ff, 1)
smesh = SubMesh(bmesh, ff, 1)
# Move the slice to the z-location you want
xyz = smesh.coordinates()
xyz[:, 2] = 0.5
# interpolate from u0 to the slice
Q = FunctionSpace(smesh, 'CG', 1)
lp = LagrangeInterpolator()
u = Function(Q)
lp.interpolate(u, u0)
plot(u)
print "Integral over slice = ", assemble(u*dx)