From eafdd1414446de79848adc27380dac244c82bb2e Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Mon, 25 Jul 2011 03:02:01 +0000
Subject: [PATCH] reverse stl export vector rotation order,         also clear
 temp meshes after export.

---
 io_mesh_stl/blender_utils.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/io_mesh_stl/blender_utils.py b/io_mesh_stl/blender_utils.py
index 8d19e30ce..2e8c8d6d0 100644
--- a/io_mesh_stl/blender_utils.py
+++ b/io_mesh_stl/blender_utils.py
@@ -59,7 +59,9 @@ def faces_from_mesh(ob, apply_modifier=False, triangulate=True):
     try:
         mesh = ob.to_mesh(bpy.context.scene, apply_modifier, "PREVIEW")
     except RuntimeError:
-        return ()
+        raise StopIteration
+
+    mesh.transform(ob.matrix_world)
 
     if triangulate:
         # From a list of faces, return the face triangulated if needed.
@@ -76,5 +78,9 @@ def faces_from_mesh(ob, apply_modifier=False, triangulate=True):
             for face in mesh.faces:
                 yield face.vertices[:]
 
-    return ([(mesh.vertices[index].co * ob.matrix_world)[:]
-             for index in indexes] for indexes in iter_face_index())
+    vertices = mesh.vertices
+
+    for indexes in iter_face_index():
+        yield [vertices[index].co.copy() for index in indexes]
+
+    bpy.data.meshes.remove(mesh)
-- 
GitLab