Is there any addon that will allow me to merge multiple different meshes into one solid mesh?
I've spent a great deal of time constructing a fancy window frame, but I made it out of multiple individual meshes.
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It only takes a minute to sign up.
Sign up to join this communityIs there any addon that will allow me to merge multiple different meshes into one solid mesh?
I've spent a great deal of time constructing a fancy window frame, but I made it out of multiple individual meshes.
There are two methods of combining meshes that I know of; The first uses the addon BoolTool:
Select the separate objects that you want to combine
Press Ctrl+Numpad +, to perform a union operation
Press Ctrl+Shift+Numpad Enter to apply the operation
Your separate pieces will now be combined, with new geometry created at the intersections, forming one solid mesh.
The second and lengthier way uses the Intersect (Knife) mesh operation:
Combine two (or more) objects together with Ctrl+J
In edit mode, select all of the faces of one of the meshes, the easy way to do this is to select one face and press Ctrl+L to select all of the linked faces
Press Ctrl+F to bring up the faces menu and select Intersect (Knife), cuts will be made into the unselected faces where the selected faces overlap with them
You will end up with the same result as the first method. It is advised that when using this method to only combine two objects at a time, repeating the above steps for each pairing.
In both cases you will likely be left with N-GONs, a quick, though messy way to remove these without resorting to the Knife tool is the following:
Select all of the faces and/or N-GONs and press Ctrl+T to triangulate them
With all of the faces still selected, press Alt+J to convert the resulting triangles to quads
This may save some time in some areas of the mesh where the N-GONs are relatively simple, but the resulting topology may be lacking.
I hope this helps.
Ctrl
+Numpad +
command? I do not have a number pad so your shortcut is, unfortunately, useless to me. I searched under F3
for "union" but nothing comes up.
$\endgroup$
Nov 13, 2019 at 4:10
You can merge multiple meshes together using a feature in Blender by default.
Simply select all the meshes you wish to merge, and hit CTRL+J to join them together.
The following python script does it in Blender 2.80:
import bpy
bpy.ops.object.select_all(action='DESELECT')
mesh = [m for m in bpy.context.scene.objects if m.type == 'MESH']
for obj in mesh:
obj.select_set(state=True)
bpy.context.view_layer.objects.active = obj
bpy.ops.object.join()
Here is an add-on script.
bl_info = {
"name": "Merge all meshes",
"author": "s.mehta",
"version": (1,0),
"blender": (2, 80, 0),
"location": "View3D > Add > Mesh > Merge Meshes",
"description": "Merge all meshes",
"category": "Add Mesh",
}
import bpy
class MergeMeshes(bpy.types.Operator):
"""Merges all meshes into one mesh"""
bl_idname = "mesh.merge_meshes"
bl_label = "Merge Meshes"
bl_description = "Merge all meshes"
bl_options = {'REGISTER', 'UNDO'}
def execute(self,context):
#bpy.ops.object.select_all(action='DESELECT')
mesh = [m for m in bpy.context.scene.objects if m.type == 'MESH']
for obj in mesh:
obj.select_set(state=True)
bpy.context.view_layer.objects.active = obj
bpy.ops.object.join()
return {'FINISHED'}
def menu_func(self, context):
self.layout.operator(MergeMeshes.bl_idname)
def register():
bpy.utils.register_class(MergeMeshes)
bpy.types.VIEW3D_MT_mesh_add.append(menu_func)
def unregister():
bpy.utils.unregister_class(MergeMeshes)
bpy.types.VIEW3D_MT_mesh_add.remove(menu_func)
if __name__ == "__main__":
register()
Easiest method:
Open Blender and go to Preferences > Add-ons.
Search for Bool Tool and tick the checkbox to enable the script.
Select Objects you want to merge
Click Union in the Edit panel (see screenshot below)
Learn more here on Blender documentation
If you want to join meshes through Blender's Python API:
item='MESH'
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_by_type(type=item)
bpy.ops.object.join()
where item
can take any of the following values according to this documentation:
[‘MESH’, ‘CURVE’, ‘SURFACE’, ‘META’, ‘FONT’, ‘ARMATURE’, ‘LATTICE’, ‘EMPTY’, ‘CAMERA’, ‘LAMP’, ‘SPEAKER’]
Bool Tool is excellent (and also available for 2.8). Works very well.
In Blender 2.8 it's available in the EDIT tab (on the right). You will need to activate the addon in preferences first. Select all of the objects you wish to join into a single mesh and click UNION (in OBJECT mode).
Another option would be to use the 'fast carve master' addon for 2.79 - it's basically the same thing, albeit a little more involved / flexible.