Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import bpy
- import bmesh
- import random
- # getting current mode
- curr_mode = bpy.context.active_object.mode
- bpy.ops.object.mode_set(mode='EDIT')
- bpy.context.scene.tool_settings.mesh_select_mode = (False, False, True)
- mesh = bpy.context.object.data
- bm = bmesh.from_edit_mesh(mesh)
- assigned=[] #to trace assigned face
- for f in bm.faces:
- if f in assigned: #if already assigned
- pass #do nothing
- else :
- f.select_set(1) #select
- bpy.ops.mesh.select_linked() #select linked
- matindex=random.randint(0,4) #generate ID
- for s in bm.faces: #for s in faces
- if s.select: #if selected
- s.material_index = matindex #assign m ID
- assigned.append(s) #mark as assigned
- bpy.ops.mesh.select_all(action='TOGGLE') #unselect
- bm.select_flush(True)
- #mesh.update()
- bpy.ops.object.mode_set(mode=curr_mode)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement