[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