forked from bartvdbraak/blender
some PLY files dont have faces, made these import without raising an error.
This commit is contained in:
parent
fa4b04a210
commit
99857e40e3
@ -40,7 +40,7 @@ Run this script from "File->Import" and select the desired PLY file.
|
|||||||
# Portions of this code are taken from mod_meshtools.py in Blender
|
# Portions of this code are taken from mod_meshtools.py in Blender
|
||||||
# 2.32.
|
# 2.32.
|
||||||
|
|
||||||
import Blender, meshtools
|
import Blender
|
||||||
try:
|
try:
|
||||||
import re, struct, StringIO
|
import re, struct, StringIO
|
||||||
except:
|
except:
|
||||||
@ -268,14 +268,16 @@ def filesel_callback(filename):
|
|||||||
varr.append(vmap[vkey])
|
varr.append(vmap[vkey])
|
||||||
|
|
||||||
verts = obj['vertex']
|
verts = obj['vertex']
|
||||||
for f in obj['face']:
|
|
||||||
ind = f[findex]
|
if 'face' in obj:
|
||||||
nind = len(ind)
|
for f in obj['face']:
|
||||||
if nind <= 4:
|
ind = f[findex]
|
||||||
mesh.faces.append(add_face(verts, varr, ind, uvindices, colindices))
|
nind = len(ind)
|
||||||
else:
|
if nind <= 4:
|
||||||
for j in xrange(nind - 2):
|
mesh.faces.append(add_face(verts, varr, ind, uvindices, colindices))
|
||||||
mesh.faces.append(add_face(verts, varr, (ind[0], ind[j + 1], ind[j + 2]), uvindices, colindices))
|
else:
|
||||||
|
for j in xrange(nind - 2):
|
||||||
|
mesh.faces.append(add_face(verts, varr, (ind[0], ind[j + 1], ind[j + 2]), uvindices, colindices))
|
||||||
|
|
||||||
|
|
||||||
del obj # Reclaim memory
|
del obj # Reclaim memory
|
||||||
@ -289,20 +291,15 @@ def filesel_callback(filename):
|
|||||||
|
|
||||||
objname = Blender.sys.splitext(Blender.sys.basename(filename))[0]
|
objname = Blender.sys.splitext(Blender.sys.basename(filename))[0]
|
||||||
scn= Blender.Scene.GetCurrent()
|
scn= Blender.Scene.GetCurrent()
|
||||||
for obj in scn.objects:
|
scn.objects.selected = []
|
||||||
obj.sel= 0
|
|
||||||
|
|
||||||
obj= Blender.Object.New('Mesh', objname)
|
|
||||||
mesh.name= objname
|
mesh.name= objname
|
||||||
obj.link(mesh)
|
scn.objects.new(mesh)
|
||||||
scn.link(obj)
|
|
||||||
obj.sel= 1
|
|
||||||
obj.Layers= scn.Layers
|
|
||||||
|
|
||||||
Blender.Redraw()
|
Blender.Redraw()
|
||||||
Blender.Window.DrawProgressBar(1.0, '')
|
Blender.Window.DrawProgressBar(1.0, '')
|
||||||
message = 'Successfully imported ' + Blender.sys.basename(filename) + ' ' + str(Blender.sys.time()-t)
|
print '\nSuccessfully imported ' + Blender.sys.basename(filename) + ' ' + str(Blender.sys.time()-t)
|
||||||
meshtools.print_boxed(message)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user