Just a slight confusion of how the two components behave and if I should use one or the other, or both?
In some tutorials, they use Weld Mesh. In another tutorial , they use WeldVertices.
Another thing. Regarding Weaverbird’s Join Meshes and Weld, should I use it over the native Join Meshes and Weld Edges? There have been instances where the results were not identical when I used one over the other.
Grasshopper only provides the Weld Mesh and Unweld Mesh components. Weld MeshVertices must come from a plugin. It is possible that the plugin provided the functionality before the native components were added.
I see, I guess I got it from MeshEdit.
I’m guessing though that the native components should be preferred over the plug-in version?i.e. Weld Mesh over Weld MeshVertices and Mesh Join + Weld Mesh over the weaverbird equivalent?
All these tools rely on Rhinocommon, my understanding is that
Weld Mesh uses
http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Mesh_Weld.htm
"Makes sure that faces sharing an edge and having a difference of normal greater than or equal to angleToleranceRadians share vertexes along that edge, vertex normals are averaged."
=> just a difference in rendering , suppress some creases
Unweld Mesh
http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Mesh_Unweld.htm
=> Could be useful if you want a cube look like a cube and not a sphere
Weld MeshVertices
is like
http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Collections_MeshVertexList_CombineIdentical.htm
Just a bit more powerful because it uses a tolerance.
=> there is a modification in Mesh topology, Very useful to seal the mesh, to lower the number of vertices, to connect faces, edges, vertices.
Join Meshes and Weld Edges
Join multiples separates meshes and may use
http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Mesh_Append.htm
then weld all vertices near from each other.
For the normals you will also need Unify Normals but use it after the welding
If you go in C# it is important to follow these steps :
Optional : Unweld or weld depending if you want to see crease or not
Mesh.FaceNormals.ComputeFaceNormals();
Mesh.Normals.ComputeNormals();
Mesht.UnifyNormals();
Mesh.Compact();
7 Likes
Thanks.
Just a clarification. So Weld MeshVertices is a bit more powerful than the native Weld Mesh?
For mes yes, because it works first on vertices. Weld Mesh is first for rendering and then work on vertices. If you want full control use a C#.
Then looking at the explanation you did, when using “Weld MeshVertices”, since it takes also into account the vertices with a tolerance then can the command Align Vertices be remove previously to weld the mesh?
I am saying that since I am having troubles with the mesh I am working on:
Naked Edges Problem - Grasshopper - McNeel Forum
Anyway, thank you for the explanations!
Hello
I suppose they are doing the same. But I am not Mc Neel I don’t know the details. And also it depends on the version it seems there are some differences between Rh6, 7 and 8.