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:
authorCampbell Barton <ideasman42@gmail.com>2006-07-06 23:02:22 +0400
committerCampbell Barton <ideasman42@gmail.com>2006-07-06 23:02:22 +0400
commite8d39a3ca327c3cea1d8fa7f809b10ab854bf7bd (patch)
tree99ec4d957e7e5edac0a30f8a8d266a1a7d320e66 /release/scripts/raw_export.py
parent96c6457b26f36bd80a8b8d65b76a90c994f6d25f (diff)
updated raw import/export nice error messages, optimized with LC's removed meshtools depencancy, use Mesh instead of NMesh
Diffstat (limited to 'release/scripts/raw_export.py')
-rw-r--r--release/scripts/raw_export.py75
1 files changed, 37 insertions, 38 deletions
diff --git a/release/scripts/raw_export.py b/release/scripts/raw_export.py
index b8469adc5f4..02eb5ad3f36 100644
--- a/release/scripts/raw_export.py
+++ b/release/scripts/raw_export.py
@@ -1,8 +1,8 @@
#!BPY
"""
-Name: 'Raw Triangle (.raw)...'
-Blender: 232
+Name: 'Raw Faces (.raw)...'
+Blender: 242
Group: 'Export'
Tooltip: 'Export selected mesh to Raw Triangle Format (.raw)'
"""
@@ -53,49 +53,48 @@ Usage:<br>
#
# ***** END GPL LICENCE BLOCK *****
-import Blender, meshtools
-import sys
-#import time
+import Blender
+import BPyMesh
# =================================
# === Write RAW Triangle Format ===
# =================================
def write(filename):
- #start = time.clock()
+ start = Blender.sys.time()
+ if not filename.lower().endswith('.raw'):
+ filename += '.raw'
+
+ scn= Blender.Scene.GetCurrent()
+ object= scn.getActiveObject()
+ if not object:
+ Blender.Draw.PupMenu('Error%t|Select 1 active object')
+ return
+
+ file = open(filename, 'wb')
+
+ mesh = BPyMesh.getMeshFromObject(object, None, True, False, scn)
+ if not mesh:
+ Blender.Draw.PupMenu('Error%t|Could not get mesh data from active object')
+ return
+
+ mesh.transform(object.matrixWorld)
+
+
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
+ for f in mesh.faces:
+ for v in f.v:
+ file.write('%.6f %.6f %.6f ' % tuple(v.co))
+ file.write('\n')
+ file.close()
+
+ end = Blender.sys.time()
+ message = 'Successfully exported "%s" in %.4f seconds' % ( Blender.sys.basename(filename), end-start)
+ print message
- 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
- meshtools.print_boxed(message)
+def main():
+ Blender.Window.FileSelector(write, 'RAW Export', Blender.sys.makename(ext='.raw'))
-def fs_callback(filename):
- if filename.find('.raw', -4) <= 0: filename += '.raw'
- write(filename)
-Blender.Window.FileSelector(fs_callback, "Export Raw")
+if __name__=='__main__':
+ main()