def displayExternal(internValue,decimals=4,dim='Length'): '''return an internal value (ie mm) Length or Angle converted for display according to Units Schema in use.''' from FreeCAD import Units if dim == 'Length': qty = FreeCAD.Units.Quantity(1.0,FreeCAD.Units.Length) pref = qty.getUserPreferred() conversion = pref[1] uom = pref[2] elif dim == 'Angle': qty = FreeCAD.Units.Quantity(1.0,FreeCAD.Units.Angle) pref=qty.getUserPreferred() conversion = pref[1] uom = pref[2].decode('latin-1') else: conversion = 1.0 uom = "??" fmt = "{0:."+ str(decimals) + "f} "+ uom displayExt = fmt.format(float(internValue) / float(conversion)) return displayExt