Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillian Padovani Germano <wpgermano@gmail.com>2004-01-28 22:16:50 +0300
committerWillian Padovani Germano <wpgermano@gmail.com>2004-01-28 22:16:50 +0300
commitbdc624452b29ea53741dfc2223eb478921d16cbc (patch)
tree845e200cfc8ce392c74acd8b359ac380deea555c /release/scripts/off_import.py
parentabe7425f3c0d84e7722b4ace1017aec9ad8bdf87 (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/off_import.py')
-rw-r--r--release/scripts/off_import.py75
1 files changed, 75 insertions, 0 deletions
diff --git a/release/scripts/off_import.py b/release/scripts/off_import.py
new file mode 100644
index 00000000000..9f7fd5eb9f7
--- /dev/null
+++ b/release/scripts/off_import.py
@@ -0,0 +1,75 @@
+#!BPY
+
+"""
+Name: 'OFF...'
+Blender: 232
+Group: 'Import'
+Tooltip: 'Import Object File Format (*.off)'
+"""
+
+# +---------------------------------------------------------+
+# | Copyright (c) 2002 Anthony D'Agostino |
+# | http://ourworld.compuserve.com/homepages/scorpius |
+# | scorpius@compuserve.com |
+# | February 3, 2001 |
+# | Released under the Blender Artistic Licence (BAL) |
+# | Import Export Suite v0.5 |
+# +---------------------------------------------------------+
+# | Read and write Object File Format (*.off) |
+# +---------------------------------------------------------+
+
+import Blender
+#import time
+import mod_flags, mod_meshtools
+
+# =============================
+# ====== Read OFF Format ======
+# =============================
+def read(filename):
+ #start = time.clock()
+ file = open(filename, "rb")
+
+ verts = []
+ faces = []
+
+ # === OFF Header ===
+ offheader = file.readline()
+ numverts, numfaces, null = file.readline().split()
+ numverts = int(numverts)
+ numfaces = int(numfaces)
+
+ # === Vertex List ===
+ for i in range(numverts):
+ if not i%100 and mod_flags.show_progress:
+ Blender.Window.DrawProgressBar(float(i)/numverts, "Reading Verts")
+ x, y, z = file.readline().split()
+ x, y, z = float(x), float(y), float(z)
+ verts.append((x, y, z))
+
+ # === Face List ===
+ for i in range(numfaces):
+ if not i%100 and mod_flags.show_progress:
+ Blender.Window.DrawProgressBar(float(i)/numfaces, "Reading Faces")
+ line = file.readline().split()
+ numfaceverts = len(line)-1
+ facev = []
+ for j in range(numfaceverts):
+ index = int(line[j+1])
+ facev.append(index)
+ facev.reverse()
+ faces.append(facev)
+
+ 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, "OFF Import")