diff --git a/release/scripts/3ds_import.py b/release/scripts/3ds_import.py
index b8e91234987..55bf4c97bc2 100644
--- a/release/scripts/3ds_import.py
+++ b/release/scripts/3ds_import.py
@@ -18,6 +18,10 @@ This script imports a 3ds file and the materials into Blender for editing.
Loader is based on 3ds loader from www.gametutorials.com (Thanks DigiBen).
+0.995 by Campbell Barton
+- workaround for buggy mesh vert delete
+- minor tweaks
+
0.99 by Bob Holcomb
- added support for floating point color values that previously broke on import.
@@ -130,13 +134,9 @@ try:
except:
from sets import Set as set
-#global SCN_OBJECTS
-#SCN_OBJECTS = None
BOUNDS_3DS= []
-
-
#this script imports uvcoords as sticky vertex coords
#this parameter enables copying these to face uv coords
#which shold be more useful.
@@ -373,11 +373,11 @@ def process_next_chunk(file, previous_chunk, importedObjects):
try: img= TEXTURE_DICT[bmat.name]
except: img= None
-
- bmesh.verts.extend( [Vector()] )
- bmesh.verts.extend( [myContextMesh_vertls[i] for i in vertsToUse] )
+ bmesh_verts = bmesh.verts
+ bmesh_verts.extend( [Vector()] )
+ bmesh_verts.extend( [myContextMesh_vertls[i] for i in vertsToUse] )
# +1 because of DUMMYVERT
- face_mapping= bmesh.faces.extend( [ [ bmesh.verts[ myVertMapping[vindex]+1] for vindex in myContextMesh_facels[fIdx]] for fIdx in faces ], indexList=True )
+ face_mapping= bmesh.faces.extend( [ [ bmesh_verts[ myVertMapping[vindex]+1] for vindex in myContextMesh_facels[fIdx]] for fIdx in faces ], indexList=True )
if contextMeshUV or img:
bmesh.faceUV= 1
@@ -782,6 +782,8 @@ def load_3ds(filename, PREF_UI= True):
if not Blender.Draw.PupBlock('Import 3DS...', pup_block):
return
+ Blender.Window.WaitCursor(1)
+
IMPORT_CONSTRAIN_BOUNDS= IMPORT_CONSTRAIN_BOUNDS.val
IMPORT_AS_INSTANCE= IMPORT_AS_INSTANCE.val
@@ -803,10 +805,13 @@ def load_3ds(filename, PREF_UI= True):
# Layers= scn.Layers
# REMOVE DUMMYVERT, - remove this in the next release when blenders internal are fixed.
+
+ '''
for ob in importedObjects:
if ob.getType()=='Mesh':
me= ob.getData(mesh=1)
me.verts.delete([me.verts[0],])
+ '''
# Done DUMMYVERT
"""
if IMPORT_AS_INSTANCE:
@@ -859,7 +864,6 @@ def load_3ds(filename, PREF_UI= True):
# SCALE Matrix
SCALE_MAT= Blender.Mathutils.Matrix([SCALE,0,0,0],[0,SCALE,0,0],[0,0,SCALE,0],[0,0,0,1])
-
for ob in importedObjects:
ob.setMatrix(ob.matrixWorld*SCALE_MAT)
@@ -868,6 +872,8 @@ def load_3ds(filename, PREF_UI= True):
# Select all new objects.
print 'finished importing: "%s" in %.4f sec.' % (filename, (Blender.sys.time()-time1))
file.close()
+ Blender.Window.WaitCursor(0)
+
DEBUG= False
@@ -875,6 +881,7 @@ if __name__=='__main__' and not DEBUG:
Blender.Window.FileSelector(load_3ds, 'Import 3DS', '*.3ds')
# For testing compatibility
+'''
else:
# DEBUG ONLY
TIME= Blender.sys.time()
@@ -902,3 +909,4 @@ else:
load_3ds(_3ds, False)
print 'TOTAL TIME: %.6f' % (Blender.sys.time() - TIME)
+'''
\ No newline at end of file