Some Maya dev thaught it would be a fun joke to format floats with a comma instead...
authorCampbell Barton <ideasman42@gmail.com>
Tue, 11 Apr 2006 00:00:07 +0000 (00:00 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 11 Apr 2006 00:00:07 +0000 (00:00 +0000)
Obj importer now supports 4,845 as well as the more useual 4.845 floating point value.

release/scripts/obj_import.py

index 1e5e53426f3d326b082663e9e680994f27b5d93d..ab9055d3c57ed58b1fb77972de7c501a1a5d783e 100644 (file)
@@ -294,8 +294,18 @@ def load_obj(file, IMPORT_MTL=1, IMPORT_EDGES=1, IMPORT_SMOOTH_ALL=0, IMPORT_FGO
        # Ignore normals and comments.
        fileLines= [lsplit for l in fileLines if not l.startswith('vn') if not l.startswith('#') for lsplit in (l.split(),) if lsplit]
        Vert= NMesh.Vert
-       vertList= [Vert(float(l[1]), float(l[2]), float(l[3]) ) for l in fileLines if l[0] == 'v']
-       uvMapList= [(float(l[1]), float(l[2])) for l in fileLines if l[0] == 'vt']
+       try:
+               vertList= [Vert(float(l[1]), float(l[2]), float(l[3]) ) for l in fileLines if l[0] == 'v']
+       except ValueError:
+               # What??? Maya 7 uses "6,45" instead of "6.45"
+               vertList= [Vert(float(l[1].replace(',', '.')), float(l[2].replace(',', '.')), float(l[3].replace(',', '.')) ) for l in fileLines if l[0] == 'v']
+               
+       try:
+               uvMapList= [(float(l[1]), float(l[2])) for l in fileLines if l[0] == 'vt']
+       except ValueError:
+               # Same amazement as above. call that a float?
+               uvMapList= [(float(l[1].replace(',', '.')), float(l[2].replace(',', '.'))) for l in fileLines if l[0] == 'vt']
+               
        if IMPORT_SMOOTH_GROUPS:
                smoothingGroups=  dict([('_'.join(l[1:]), None) for l in fileLines if l[0] == 's' ])
        else: