Merging two separated parts back into one perfectly I have a spherical-like object whose thickness is 1.6 mm.  There is a section of the surface that is to be only 0.8 mm thick.  So I changed the thickness of the entire object to 0.8 mm, then selected the faces that define that special region, then pressed P to separate it from the rest of the object, then changed the entire object's thickness back to 1.6 mm.  So now that special region is 0.8 mm as desired.  The problem now is the gap between that region and the rest of the surface caused by the separation.  I want to close that gap so that from the outside, the surface looks like a single surface and no one can tell where the 0.8 mm thick region is.  What is the most precise way to do this?

I tried moving the edges and vertices of the region so that it intersects with the original surface, but the intersection is not clean (see below).  How to do it perfectly so that it looks like the original surface from the outside?


When I join the two with Ctrl+J, the two regions share the same edges, so I'm stuck on how to proceed there as well.
Have you tried smooth vertex?


Select mesh
Edit Mode
Select these vertices/faces
select smooth vertex from the tools panel


UPDATE:

Another way to do this is adding the thickness to the opposite direction by flipping the face normals and then adding thickness using the solidify modifier. This will add thickness internally so that the original mesh is not messed up as shown below:

I split the sphere into upper and lower half:


I then switched to edit mode and flip normals:


Then add the solidify modifier with the desired thickness and apply it:


as shown I added thickness -0.8 which was added internally.

I then joined the two meshes:



As shown the lower half has more thickness than the upper half.

I wrote the below script to do these steps between two meshes automatically:

import bpy

ob = bpy.data.objects['Sphere.001']
ob.select = True
bpy.context.scene.objects.active = ob
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.flip_normals()
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.modifier_add(type='SOLIDIFY')
bpy.context.object.modifiers["Solidify"].thickness = 0.8
bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Solidify")
ob2 = bpy.data.objects['Sphere']
ob2.select = True
bpy.ops.object.join()


A blend file can be downloaded from here: