[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1360] contrib/py/scripts/addons/ io_import_fbx.py: minor updates to fbx parser.
Campbell Barton
ideasman42 at gmail.com
Sat Jan 8 07:13:37 CET 2011
Revision: 1360
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=1360
Author: campbellbarton
Date: 2011-01-08 06:13:37 +0000 (Sat, 08 Jan 2011)
Log Message:
-----------
minor updates to fbx parser.
Modified Paths:
--------------
contrib/py/scripts/addons/io_import_fbx.py
Modified: contrib/py/scripts/addons/io_import_fbx.py
===================================================================
--- contrib/py/scripts/addons/io_import_fbx.py 2011-01-08 04:39:55 UTC (rev 1359)
+++ contrib/py/scripts/addons/io_import_fbx.py 2011-01-08 06:13:37 UTC (rev 1360)
@@ -66,14 +66,28 @@
CONTAINER = [None]
- def isfloat(val):
+ def is_int(val):
try:
+ CONTAINER[0] = int(val)
+ return True
+ except:
+ return False
+
+ def is_int_array(val):
+ try:
+ CONTAINER[0] = tuple([float(v) for v in val.split(",")])
+ return True
+ except:
+ return False
+
+ def is_float(val):
+ try:
CONTAINER[0] = float(val)
return True
except:
return False
- def isfloatlist(val):
+ def is_float_array(val):
try:
CONTAINER[0] = tuple([float(v) for v in val.split(",")])
return True
@@ -104,12 +118,18 @@
elif val.startswith('"') and val.endswith('"'):
ls.append((tag, None, val[1:-1])) # remove quotes
- elif isfloat(val):
+ elif is_int(val):
ls.append((tag, None, CONTAINER[0]))
- elif isfloatlist(val):
+ elif is_int_array(val):
ls.append((tag, None, CONTAINER[0]))
+ elif is_float(val):
+ ls.append((tag, None, CONTAINER[0]))
+ elif is_float_array(val):
+ ls.append((tag, None, CONTAINER[0]))
+ else:
+ print("\tParser Skipping:", (tag, None, val))
- #name = .lstrip()[0]
+ # name = .lstrip()[0]
if DEBUG:
print("TAG:", tag)
print("VAL:", val)
@@ -135,7 +155,12 @@
if tag1 == "Objects":
for tag2, name2, value2 in value1:
if tag2 == "Model":
- print(tag2, name2)
+ '''
+ print("")
+ print(tag2)
+ print(name2)
+ print(value2)
+ '''
# we dont parse this part properly
# the name2 can be somtrhing like
# Model "Model::kimiko", "Mesh"
@@ -154,7 +179,7 @@
# convert odd fbx verts and faces to a blender mesh.
if verts and faces:
- me = bpy.data.meshes.new(name='MyMesh')
+ me = bpy.data.meshes.new(name=tag2.lstrip("Model::"))
# get a list of floats as triples
blen_verts = [verts[i - 3:i] for i in range(3, len(verts) + 3, 3)]
@@ -177,6 +202,10 @@
obj = bpy.data.objects.new("SomeFBXObj", me)
base = scene.objects.link(obj)
+
+ elif name2.endswith(" \"Camera\""):
+ pass
+
return {'FINISHED'}
More information about the Bf-extensions-cvs
mailing list