summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--camera.py2
-rw-r--r--stl.py11
-rwxr-xr-xview.py2
3 files changed, 11 insertions, 4 deletions
diff --git a/camera.py b/camera.py
index a786971..2feafd7 100644
--- a/camera.py
+++ b/camera.py
@@ -391,7 +391,7 @@ if __name__ == '__main__':
if os.path.exists(args[0]):
root, ext = os.path.splitext(os.path.split(args[0])[1])
- if ext.lower() == '.stl':
+ if ext.lower() in ('.stl', '.bz2'):
obj = mesh_from_stl(args[0])
else:
members = dict(inspect.getmembers(detectors) + inspect.getmembers(solids) + inspect.getmembers(scenes))
diff --git a/stl.py b/stl.py
index f88c3fa..9a63306 100644
--- a/stl.py
+++ b/stl.py
@@ -2,9 +2,13 @@ import numpy as np
import string
import struct
from geometry import Mesh
+import bz2
def mesh_from_stl(filename):
- f = open(filename)
+ if filename.endswith('.bz2'):
+ f = bz2.BZ2File(filename)
+ else:
+ f = open(filename)
buf = f.read(200)
f.close()
@@ -15,7 +19,10 @@ def mesh_from_stl(filename):
return mesh_from_ascii_stl(filename)
def mesh_from_ascii_stl(filename):
- f = open(filename)
+ if filename.endswith('.bz2'):
+ f = bz2.BZ2File(filename)
+ else:
+ f = open(filename)
vertices = []
triangles = []
diff --git a/view.py b/view.py
index 96f7530..5752767 100755
--- a/view.py
+++ b/view.py
@@ -350,7 +350,7 @@ if __name__ == '__main__':
head, tail = os.path.split(args[0])
root, ext = os.path.splitext(tail)
- if ext.lower() == '.stl':
+ if ext.lower() in ('.stl', '.bz2'):
view(mesh_from_stl(args[0]), size, root, options.bits, options.load_bvh)
else:
members = dict(inspect.getmembers(detectors) + inspect.getmembers(solids) + inspect.getmembers(scenes))