This script averages vertex normals at the borders (Open Edges).
It allows you to smooth a surfaces after separating vertexs / edges / faces.
(example: after detaching faces or splitting edges).
It still keeping a hard Edges if the object have multiple Smoothing Group ID
Images shown are not a welding operation

New UI :
