#!BPY
""" Registration info for Blender menus: <- these words are ignored
Name: 'Painted faces erazer'
Blender: 232
Group: 'Mesh'
Tip: 'remove vertex colored faces beyond a limit.'
"""
#----------------------------------------------
# jm soler 08/2005 : 'reorganize_buildeffectmesh'
#----------------------------------------------
# Page officielle :
# http://jmsoler.free.fr/util/blenderfile/py/cpl_PaintedFacesErazer.htm
# Communiquer les problemes et erreurs sur:
# http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender
#---------------------------------------------
#--------------------------------------------
# Reorganize faces from the selected one
# for a built effect
# Jm Soler august 2005
#
# This script is under GPL licence.
#--------------------------------------------
import Blender
from Blender import *
import sys
def removecoloredfaces(niveaudegris,all=None):
mesh=Blender.Scene.getCurrent().getActiveObject().getData()
LF=[]
if all:
SF=[f for f in mesh.faces if f.sel==1]
else :
SF=[f for f in mesh.faces]
for f in SF:
color=0
for n in range(len(f.col)):
color=color+(f.col[n].r+f.col[n].g+f.col[n].b)/3
if color/len(f.v)>niveaudegris:
LF.append(f)
NewMESH=NMesh.GetRaw()
print len(LF)
for f in LF:
for v in f.v :
if v not in NewMESH.verts:
NewMESH.verts.append(v)
NewMESH.faces.append(f)
NewMESH.materials=mesh.materials[:]
NMesh.PutRaw(NewMESH,mesh.name,1)
if 1:#try:
EDITMODE=Blender.Window.EditMode()
Blender.Window.EditMode(0)
removecoloredfaces(100)
Blender.Window.EditMode(EDITMODE)
#except:
# print 'perhaps not a mesh or no object selected'
Blender.Redraw()
|