Beside of measuring areas I need to measure normals. Below there is the diff of a rough implementation against the current script version. (I’m not much of a python programmer.) Could something like that be added to your script?
> #
> # Change by TNae (marked by TNae):
> # Measurement of face normals
> #
> ######################################################################
>
394c400,401
< return area
---
> # return area
> return area,n
406a414
> nTotal = Vector((0.0,0.0,0.0)); # TNae
414c422,424
< areaTotal += faceAreaGlobal(face, obj)
---
> a,n = faceAreaGlobal(face, obj);
> areaTotal += a;
> nTotal += n; # TNae
418c428,429
< return areaTotal
---
> # return areaTotal;
> return areaTotal,nTotal; # TNae
421c432
< return -1
---
> return -1,Vector((0.0,0.0,0.0))
649c660,663
< area = objectSurfaceArea(obj, True,
---
> # area = objectSurfaceArea(obj, True,
> # measureGlobal(sce))
> # TNae
> area,normal = objectSurfaceArea(obj, True,
652a667
> sce.measure_panel_normal1 = normal # TNae
682,683c697,698
< area1 = objectSurfaceArea(obj1, False, measureGlobal(sce))
< area2 = objectSurfaceArea(obj2, False, measureGlobal(sce))
---
> area1,normal1 = objectSurfaceArea(obj1, False, measureGlobal(sce))
> area2,normal2 = objectSurfaceArea(obj2, False, measureGlobal(sce))
684a700
> sce.measure_panel_normal1 = normal1
685a702
> sce.measure_panel_normal2 = normal2
691c708
< area = objectSurfaceArea(obj, False, measureGlobal(sce))
---
> area,normal = objectSurfaceArea(obj, False, measureGlobal(sce))
693a711
> sce.measure_panel_normal1 = normal
929a948,949
> row = layout.row()
> row.prop(sce, "measure_panel_normal1")
1097a1118,1120
> bpy.types.Scene.measure_panel_normal1 = bpy.props.FloatVectorProperty(
> precision=PRECISION,
> subtype="XYZ") # TNae
1100a1124,1126
> bpy.types.Scene.measure_panel_normal2 = bpy.props.FloatVectorProperty(
> precision=PRECISION,
> subtype="XYZ") # TNae