[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20080] trunk/blender/release/scripts/ export_fbx.py: - Export hard edge and face info
Campbell Barton
ideasman42 at gmail.com
Wed May 6 06:24:02 CEST 2009
Revision: 20080
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20080
Author: campbellbarton
Date: 2009-05-06 06:24:01 +0200 (Wed, 06 May 2009)
Log Message:
-----------
- Export hard edge and face info
- Use Edges field rather then 2 vert faces (worked in some apps but crashed maya)
Modified Paths:
--------------
trunk/blender/release/scripts/export_fbx.py
Modified: trunk/blender/release/scripts/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/export_fbx.py 2009-05-06 02:19:16 UTC (rev 20079)
+++ trunk/blender/release/scripts/export_fbx.py 2009-05-06 04:24:01 UTC (rev 20080)
@@ -1,13 +1,13 @@
#!BPY
"""
Name: 'Autodesk FBX (.fbx)...'
-Blender: 244
+Blender: 249
Group: 'Export'
Tooltip: 'Selection to an ASCII Autodesk FBX '
"""
__author__ = "Campbell Barton"
__url__ = ['www.blender.org', 'blenderartists.org']
-__version__ = "1.1"
+__version__ = "1.2"
__bpydoc__ = """\
This script is an exporter to the FBX file format.
@@ -1385,22 +1385,18 @@
else: file.write(',%i,%i,%i,%i' % fi )
i+=1
- ed_val = [None, None]
- LOOSE = Blender.Mesh.EdgeFlags.LOOSE
+ file.write('\n\t\tEdges: ')
+ i=-1
for ed in me.edges:
- if ed.flag & LOOSE:
- ed_val[0] = ed.v1.index
- ed_val[1] = -(ed.v2.index+1)
if i==-1:
- file.write('%i,%i' % tuple(ed_val) )
+ file.write('%i,%i' % (ed.v1.index, ed.v2.index))
i=0
else:
if i==13:
file.write('\n\t\t')
i=0
- file.write(',%i,%i' % tuple(ed_val) )
+ file.write(',%i,%i' % (ed.v1.index, ed.v2.index))
i+=1
- del LOOSE
file.write('\n\t\tGeometryVersion: 124')
@@ -1423,6 +1419,51 @@
i+=1
file.write('\n\t\t}')
+ # Write Face Smoothing
+ file.write('''
+ LayerElementSmoothing: 0 {
+ Version: 102
+ Name: ""
+ MappingInformationType: "ByPolygon"
+ ReferenceInformationType: "Direct"
+ Smoothing: ''')
+
+ i=-1
+ for f in me.faces:
+ if i==-1:
+ file.write('%i' % f.smooth); i=0
+ else:
+ if i==54:
+ file.write('\n '); i=0
+ file.write(',%i' % f.smooth)
+ i+=1
+
+ file.write('\n\t\t}')
+
+ # Write Edge Smoothing
+ file.write('''
+ LayerElementSmoothing: 0 {
+ Version: 101
+ Name: ""
+ MappingInformationType: "ByEdge"
+ ReferenceInformationType: "Direct"
+ Smoothing: ''')
+
+ SHARP = Blender.Mesh.EdgeFlags.SHARP
+ i=-1
+ for ed in me.edges:
+ if i==-1:
+ file.write('%i' % ((ed.flag&SHARP)!=0)); i=0
+ else:
+ if i==54:
+ file.write('\n '); i=0
+ file.write(',%i' % ((ed.flag&SHARP)!=0))
+ i+=1
+
+ file.write('\n\t\t}')
+ del SHARP
+
+
# Write VertexColor Layers
# note, no programs seem to use this info :/
collayers = []
More information about the Bf-blender-cvs
mailing list