Smooth shading calculates the normal of any point in a polygonal face of a mesh by interpolating between the normals at its corners. The normals at the corners of a face are stored in the mesh data, and are usually calculated from the normals of adjacent faces.
When the cylinder is cut, some of the adjacent faces are missing, so the calculated corner normals are changed.
However, you can copy the corner normals from an intact cylinder to the cut cylinder by applying a Data Transfer modifier.
- Place the cut cylinder directly over an intact version of the same cylinder
- Add a Data Transfer modifier to the cut cylinder, with the option 'Face Corner Data' checked, set to copy from 'Nearest Corner .. etc', and the intact cylinder as its target.
- Apply the modifier
Cylinders: 1. Intact. 2. Cut with no transfer. 3. Cut with transfer.