I have a scene and I want to turn it into a blockout scene for presentational purposes. I want to turn every mesh into a box or a block model. Is there any way to achieve this? Scripts are also welcome
Quick, n dirty little bmesh script to do this. For all mesh objects in the screen replace the mesh with the box created from the eight corners of the bounding box.
- I've used the convex hull operator which produces a triangulated mesh.
- Current version replaces mesh with hull.
- As always save before, and / or test on a copy.
import bpy import bmesh context = bpy.context scene = context.scene bm = bmesh.new() mesh_obs = [o for o in scene.objects if o.type == 'MESH'] for ob in mesh_obs: me = ob.data #me = ob.data.copy() # create a copy verts = [bm.verts.new(b) for b in ob.bound_box] bmesh.ops.convex_hull(bm, input=verts) bm.to_mesh(me) ob.data = me # needed if copy bm.clear() bm.free()