[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4429] trunk/py/scripts/addons/ io_mesh_stl: fix [#34682] STL importer ValueError exception

Campbell Barton ideasman42 at gmail.com
Tue Mar 26 05:06:48 CET 2013


Revision: 4429
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4429
Author:   campbellbarton
Date:     2013-03-26 04:06:46 +0000 (Tue, 26 Mar 2013)
Log Message:
-----------
fix [#34682] STL importer ValueError exception

Modified Paths:
--------------
    trunk/py/scripts/addons/io_mesh_stl/blender_utils.py
    trunk/py/scripts/addons/io_mesh_stl/stl_utils.py

Modified: trunk/py/scripts/addons/io_mesh_stl/blender_utils.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_stl/blender_utils.py	2013-03-26 01:18:33 UTC (rev 4428)
+++ trunk/py/scripts/addons/io_mesh_stl/blender_utils.py	2013-03-26 04:06:46 UTC (rev 4429)
@@ -38,6 +38,7 @@
 
     obj = bpy.data.objects.new(name, mesh)
     scene.objects.link(obj)
+    scene.objects.active = 
     obj.select = True
 
 

Modified: trunk/py/scripts/addons/io_mesh_stl/stl_utils.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_stl/stl_utils.py	2013-03-26 01:18:33 UTC (rev 4428)
+++ trunk/py/scripts/addons/io_mesh_stl/stl_utils.py	2013-03-26 04:06:46 UTC (rev 4429)
@@ -145,21 +145,17 @@
     data.readline()
 
     while True:
-        # strip facet normal // or end
-        data.readline()
-
-        # strip outer loup, in case of ending, break the loop
-        if not data.readline():
+        l = data.readline()
+        if not l:
             break
 
-        yield [tuple(map(float, data.readline().split()[1:]))
-               for _ in range(3)]
+        # if we encounter a vertex, read next 2
+        l = l.lstrip()
+        if l.startswith(b'vertex'):
+            yield [tuple(map(float, l_item.split()[1:]))
+                   for l_item in (l, data.readline(), data.readline())]
 
-        # strip facet normalend and outerloop end
-        data.readline()
-        data.readline()
 
-
 def _binary_write(filename, faces):
     with open(filename, 'wb') as data:
         # header



More information about the Bf-extensions-cvs mailing list