[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4068] trunk/py/scripts/addons/ space_view3d_panel_measure.py: * Measure Panel - Version 0.9.0
Martin Buerbaum
martin.buerbaum at gmx.at
Wed Dec 19 11:13:18 CET 2012
Revision: 4068
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4068
Author: pontiac
Date: 2012-12-19 10:13:18 +0000 (Wed, 19 Dec 2012)
Log Message:
-----------
* Measure Panel - Version 0.9.0
* Update for correct calculation of feet-inch (Patch by Alessandro Sala)
* Upped precision for display to 5 digits (same as Blender)
Modified Paths:
--------------
trunk/py/scripts/addons/space_view3d_panel_measure.py
Modified: trunk/py/scripts/addons/space_view3d_panel_measure.py
===================================================================
--- trunk/py/scripts/addons/space_view3d_panel_measure.py 2012-12-19 02:45:32 UTC (rev 4067)
+++ trunk/py/scripts/addons/space_view3d_panel_measure.py 2012-12-19 10:13:18 UTC (rev 4068)
@@ -27,7 +27,7 @@
"author": "Buerbaum Martin (Pontiac), TNae (Normal patch)," \
" Benjamin Lauritzen (Loonsbury; Volume code)," \
" Alessandro Sala (patch: Units in 3D View)",
- "version": (0, 8, 9),
+ "version": (0, 9, 0),
"blender": (2, 6, 0),
"location": "View3D > Properties > Measure Panel",
"description": "Measure distances between objects",
@@ -82,7 +82,7 @@
# Precicion for display of float values.
-PRECISION = 4
+PRECISION = 5
# Name of the custom properties as stored in the scene.
COLOR_LOCAL = (1.0, 0.5, 0.0, 0.8)
@@ -102,6 +102,7 @@
# and formatting options.
# Returned data is meant to be passed to formatDistance().
# Original by Alessandro Sala (Feb, 12th 2012)
+# Update by Alessandro Sala (Dec, 18th 2012)
def getUnitsInfo():
scale = bpy.context.scene.unit_settings.scale_length
unit_system = bpy.context.scene.unit_settings.system
@@ -110,9 +111,9 @@
scale_steps = ((1000, 'km'), (1, 'm'), (1 / 100, 'cm'),
(1 / 1000, 'mm'), (1 / 1000000, '\u00b5m'))
elif unit_system == 'IMPERIAL':
- scale_steps = ((1760, 'mi'), (1, 'yd'), (1 / 3, '\''),
- (1 / 36, '"'), (1 / 36000, 'thou'))
- scale *= 1.0936133
+ scale_steps = ((5280, 'mi'), (1, '\''),
+ (1 / 12, '"'), (1 / 12000, 'thou'))
+ scale /= 0.3048 # BU to feet
else:
scale_steps = ((1, ' BU'),)
separate_units = False
@@ -123,13 +124,13 @@
# Converts a distance from BU into the measuring system
# described by units_info.
# Original by Alessandro Sala (Feb, 12th 2012)
+# Update by Alessandro Sala (Dec, 18th 2012)
def convertDistance(val, units_info):
scale, scale_steps, separate_units = units_info
sval = val * scale
- rsval = round(sval, PRECISION)
idx = 0
while idx < len(scale_steps) - 1:
- if rsval >= scale_steps[idx][0]:
+ if sval >= scale_steps[idx][0]:
break
idx += 1
factor, suffix = scale_steps[idx]
@@ -138,14 +139,14 @@
dval = str(round(sval, PRECISION)) + suffix
else:
ival = int(sval)
- dval = str(ival) + suffix
+ dval = str(round(ival, PRECISION)) + suffix
fval = sval - ival
idx += 1
while idx < len(scale_steps):
fval *= scale_steps[idx - 1][0] / scale_steps[idx][0]
if fval >= 1:
dval += ' ' \
- + str(round(fval, 1)) \
+ + ("%.1f" % fval) \
+ scale_steps[idx][1]
break
idx += 1
More information about the Bf-extensions-cvs
mailing list