[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4022] contrib/py/scripts/addons/ io_atomblend_utilities/io_atomblend_utilities.py: The distance of two selected vertices can now be measured.

Clemens Barth barth at root-1.de
Sat Dec 1 21:59:05 CET 2012


Revision: 4022
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4022
Author:   blendphys
Date:     2012-12-01 20:59:03 +0000 (Sat, 01 Dec 2012)
Log Message:
-----------
The distance of two selected vertices can now be measured. If several
vertices are selected, the first two are taken.

Blendphys

Modified Paths:
--------------
    contrib/py/scripts/addons/io_atomblend_utilities/io_atomblend_utilities.py

Modified: contrib/py/scripts/addons/io_atomblend_utilities/io_atomblend_utilities.py
===================================================================
--- contrib/py/scripts/addons/io_atomblend_utilities/io_atomblend_utilities.py	2012-11-30 14:40:47 UTC (rev 4021)
+++ contrib/py/scripts/addons/io_atomblend_utilities/io_atomblend_utilities.py	2012-12-01 20:59:03 UTC (rev 4022)
@@ -178,13 +178,32 @@
 # which are active.
 def distance():
 
-    if len(bpy.context.selected_bases) > 1:
-        object_1 = bpy.context.selected_objects[0]
-        object_2 = bpy.context.selected_objects[1]
+    # In the 'Edit mode'
+    if bpy.context.mode == 'EDIT_MESH':
+
+        obj = bpy.context.edit_object
+        bm = bmesh.from_edit_mesh(obj.data)
+        locations = []
+
+        for v in bm.verts:
+            if v.select:
+                locations.append(obj.matrix_world * v.co)
+                
+        if len(locations) > 1:
+            location1 = locations[0]
+            location2 = locations[1]        
+        else:
+            return "N.A"
+    # In the object mode
     else:
-        return "N.A."
 
-    dv = object_2.location - object_1.location
+        if len(bpy.context.selected_bases) > 1:
+            location1 = bpy.context.selected_objects[0].location
+            location2 = bpy.context.selected_objects[1].location
+        else:
+            return "N.A."
+
+    dv = location2 - location1
     dist = str(dv.length)
     pos = str.find(dist, ".")
     dist = dist[:pos+4]



More information about the Bf-extensions-cvs mailing list