Mirrored Mesh won't weld or combine verts at seam


(Michael Pryor) #1

I haven’t run into this problem before so I would like to know if anyone knows a solution to this or at least why it is not working. I have a mesh which I have split and mirrored. I am trying to join the two mesh halves together so that there is not duplicate verts at the seam, reading as an open naked edge. I have tried Welding and C# mesh.Vertices.CombineIdentical(); which are what I usually use but for some reason it just doesn’t want to become one. Mesh in question attached. 1.3dm (129.5 KB)


(Michael Pryor) #2

Edit: Just found this and tried and it worked. Not really sure why though I cannot seem to find any non coincident points there at the seam.


#3

Hi @Michael_Pryor,

it is strange i can weld manually using _Weld 180 in RH5 and RH6. Doing it with python it only works using mesh.CombineIdentical if i set ignoreNormals = True.

import Rhino
import scriptcontext
import rhinoscriptsyntax as rs

def DoSomething():
    
    mesh_id = rs.GetObject("Mesh", 32, True, False)
    if not mesh_id: return
    
    mesh_obj = rs.coercerhinoobject(mesh_id, True, True)
    mesh_obj.Geometry.Vertices.CombineIdentical(True, True)
    mesh_obj.CommitChanges()
    
    scriptcontext.doc.Views.Redraw()
    
DoSomething()

_
c.


(Michael Pryor) #4

I believe it is some tolerance thing going on. If I move it away from the origin I was able to get it with Weld 180. When not, I had to do _AlignMeshVertices then Weld 180. In the end I am using a c# method for welding within a distance tolerance as I needed it for a script anyway. Seems to catch it every time now.