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:
Diffstat (limited to 'release/scripts/raw_export.py')
-rw-r--r--release/scripts/raw_export.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/release/scripts/raw_export.py b/release/scripts/raw_export.py
new file mode 100644
index 00000000000..809f6e2354e
--- /dev/null
+++ b/release/scripts/raw_export.py
@@ -0,0 +1,66 @@
+#!BPY
+
+"""
+Name: 'Raw Triangle...'
+Blender: 232
+Group: 'Export'
+Tooltip: 'Export selected mesh to Raw Triangle 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, sys
+#import time
+import mod_flags, mod_meshtools
+
+# ===================================
+# ==== Write RAW Triangle Format ====
+# ===================================
+def write(filename):
+ #start = time.clock()
+ file = open(filename, "wb")
+
+ objects = Blender.Object.GetSelected()
+ objname = objects[0].name
+ meshname = objects[0].data.name
+ mesh = Blender.NMesh.GetRaw(meshname)
+ obj = Blender.Object.Get(objname)
+
+
+ std=sys.stdout
+ sys.stdout=file
+ for face in mesh.faces:
+ if len(face.v) == 3: # triangle
+ v1, v2, v3 = face.v
+ faceverts = tuple(v1.co) + tuple(v2.co) + tuple(v3.co)
+ print "% f % f % f % f % f % f % f % f % f" % faceverts
+ else: # quadrilateral
+ v1, v2, v3, v4 = face.v
+ faceverts1 = tuple(v1.co) + tuple(v2.co) + tuple(v3.co)
+ faceverts2 = tuple(v3.co) + tuple(v4.co) + tuple(v1.co)
+ print "% f % f % f % f % f % f % f % f % f" % faceverts1
+ print "% f % f % f % f % f % f % f % f % f" % faceverts2
+ sys.stdout=std
+
+
+ Blender.Window.DrawProgressBar(1.0, '') # clear progressbar
+ file.close()
+ #end = time.clock()
+ #seconds = " in %.2f %s" % (end-start, "seconds")
+ message = "Successfully exported " + Blender.sys.basename(filename)# + seconds
+ mod_meshtools.print_boxed(message)
+
+def fs_callback(filename):
+ if filename.find('.raw', -4) <= 0: filename += '.raw'
+ write(filename)
+
+Blender.Window.FileSelector(fs_callback, "Raw Export")