diff options
author | Willian Padovani Germano <wpgermano@gmail.com> | 2004-01-28 22:16:50 +0300 |
---|---|---|
committer | Willian Padovani Germano <wpgermano@gmail.com> | 2004-01-28 22:16:50 +0300 |
commit | bdc624452b29ea53741dfc2223eb478921d16cbc (patch) | |
tree | 845e200cfc8ce392c74acd8b359ac380deea555c /release/scripts/raw_import.py | |
parent | abe7425f3c0d84e7722b4ace1017aec9ad8bdf87 (diff) |
BPython:
-- fixing a last minute bug: scripts w/o guis that called the file selector were
not being checked for errors, which could cause crash dumps upon exiting.
-- docs: updates for Draw (fixed example) and Material (added tex related methods docs)
Scripts:
-- added some more scripts, all I could get in shape in time (at least they export / import back).
Only tested on linux.
Diffstat (limited to 'release/scripts/raw_import.py')
-rw-r--r-- | release/scripts/raw_import.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/release/scripts/raw_import.py b/release/scripts/raw_import.py new file mode 100644 index 00000000000..c080d028e3d --- /dev/null +++ b/release/scripts/raw_import.py @@ -0,0 +1,68 @@ +#!BPY + +""" +Name: 'Raw Triangle...' +Blender: 232 +Group: 'Import' +Tooltip: 'Import Raw Triangle File Format (*.raw)' +""" + +# +---------------------------------------------------------+ +# | Copyright (c) 2002 Anthony D'Agostino | +# | http://ourworld.compuserve.com/homepages/scorpius | +# | scorpius@compuserve.com | +# | April 28, 2002 | +# | Released under the Blender Artistic Licence (BAL) | +# | Import Export Suite v0.5 | +# +---------------------------------------------------------+ +# | Read and write RAW Triangle File Format (*.raw) | +# +---------------------------------------------------------+ + +import Blender +#import time +import mod_flags, mod_meshtools + +# ================================== +# ==== Read RAW Triangle Format ==== +# ================================== +def read(filename): + #start = time.clock() + file = open(filename, "rb") + + # Collect data from RAW format + faces = [] + for line in file.readlines(): + try: + f1, f2, f3, f4, f5, f6, f7, f8, f9 = map(float, line.split()) + faces.append([(f1, f2, f3), (f4, f5, f6), (f7, f8, f9)]) + except: # Quad + f1, f2, f3, f4, f5, f6, f7, f8, f9, A, B, C = map(float, line.split()) + faces.append([(f1, f2, f3), (f4, f5, f6), (f7, f8, f9), (A, B, C)]) + + # Generate verts and faces lists, without duplicates + verts = [] + coords = {} + index = 0 + for i in range(len(faces)): + for j in range(len(faces[i])): + vertex = faces[i][j] + if not coords.has_key(vertex): + coords[vertex] = index + index += 1 + verts.append(vertex) + faces[i][j] = coords[vertex] + + objname = Blender.sys.splitext(Blender.sys.basename(filename))[0] + + mod_meshtools.create_mesh(verts, faces, objname) + Blender.Window.DrawProgressBar(1.0, '') # clear progressbar + file.close() + #end = time.clock() + #seconds = " in %.2f %s" % (end-start, "seconds") + message = "Successfully imported " + Blender.sys.basename(filename)# + seconds + mod_meshtools.print_boxed(message) + +def fs_callback(filename): + read(filename) + +Blender.Window.FileSelector(fs_callback, "Raw Import") |