Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2007-01-13 06:07:04 +0300
committerCampbell Barton <ideasman42@gmail.com>2007-01-13 06:07:04 +0300
commitc6a57fb4b09aca9ec862c7c3003ad0ff52ef9f21 (patch)
treee1fd079783a3b26fee2580b42d5e81f96231d163 /release/scripts/weightpaint_clean.py
parent29c99ee306cff4fb3337b7f14ace0a16f3a8d35c (diff)
import_obj - name imported objects/mesh data
weightpaint_clean - report how many verts removed from groups save_theme - no need to do type(''), just use type(vat) == str
Diffstat (limited to 'release/scripts/weightpaint_clean.py')
-rw-r--r--release/scripts/weightpaint_clean.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/release/scripts/weightpaint_clean.py b/release/scripts/weightpaint_clean.py
index f6e42507f26..038c5e18c1a 100644
--- a/release/scripts/weightpaint_clean.py
+++ b/release/scripts/weightpaint_clean.py
@@ -38,7 +38,7 @@ It removes very low weighted verts from the current group with a weight option.
# ***** END GPL LICENCE BLOCK *****
# --------------------------------------------------------------------------
-from Blender import Scene, Draw
+from Blender import Scene, Draw, Object
import BPyMesh
SMALL_NUM= 0.000001
def weightClean(me, PREF_THRESH, PREF_KEEP_SINGLE, PREF_OTHER_GROUPS):
@@ -46,6 +46,8 @@ def weightClean(me, PREF_THRESH, PREF_KEEP_SINGLE, PREF_OTHER_GROUPS):
groupNames, vWeightDict= BPyMesh.meshWeight2Dict(me)
act_group= me.activeGroup
+ rem_count = 0
+
if PREF_OTHER_GROUPS:
for wd in vWeightDict:
l = len(wd)
@@ -55,6 +57,7 @@ def weightClean(me, PREF_THRESH, PREF_KEEP_SINGLE, PREF_OTHER_GROUPS):
if w <= PREF_THRESH:
# small weight, remove.
del wd[group]
+ rem_count +=1
l-=1
if PREF_KEEP_SINGLE and l == 1:
@@ -68,11 +71,13 @@ def weightClean(me, PREF_THRESH, PREF_KEEP_SINGLE, PREF_OTHER_GROUPS):
if w <= PREF_THRESH:
# small weight, remove.
del wd[act_group]
+ rem_count +=1
except:
pass
# Copy weights back to the mesh.
BPyMesh.dict2MeshWeight(me, groupNames, vWeightDict)
+ return rem_count
def main():
@@ -98,7 +103,19 @@ def main():
if not Draw.PupBlock('Clean Selected Meshes...', pup_block):
return
- weightClean(me, PREF_PEAKWEIGHT.val, PREF_KEEP_SINGLE.val, PREF_OTHER_GROUPS.val)
+ rem_count = weightClean(me, PREF_PEAKWEIGHT.val, PREF_KEEP_SINGLE.val, PREF_OTHER_GROUPS.val)
+
+ # Run on entire blend file. usefull sometimes but dont let users do it.
+ '''
+ rem_count = 0
+ for ob in Object.Get():
+ if ob.type != 'Mesh':
+ continue
+ me= ob.getData(mesh=1)
+
+ rem_count += weightClean(me, PREF_PEAKWEIGHT.val, PREF_KEEP_SINGLE.val, PREF_OTHER_GROUPS.val)
+ '''
+ Draw.PupMenu('Removed %i verts from groups' % rem_count)
if __name__=='__main__':
main() \ No newline at end of file