From 2e8e879c9727929d07762eb83f1deda6ea75c2ac Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Tue, 26 Jun 2012 21:52:16 +0000
Subject: [PATCH] patch from Chris Want to make ply script more useful when
 imported from other scripts (returning a mesh).

---
 io_mesh_ply/import_ply.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/io_mesh_ply/import_ply.py b/io_mesh_ply/import_ply.py
index ee64552a5..98184307c 100644
--- a/io_mesh_ply/import_ply.py
+++ b/io_mesh_ply/import_ply.py
@@ -217,12 +217,10 @@ def read(filepath):
 import bpy
 
 
-def load_ply(filepath):
-    import time
+def load_ply_mesh(filepath, ply_name):
     from bpy_extras.io_utils import unpack_face_list
     # from bpy_extras.image_utils import load_image  # UNUSED
 
-    t = time.time()
     obj_spec, obj, texture = read(filepath)
     if obj is None:
         print('Invalid file')
@@ -292,8 +290,6 @@ def load_ply(filepath):
                 for j in range(len_ind - 2):
                     add_face(verts, (ind[0], ind[j + 1], ind[j + 2]), uvindices, colindices)
 
-    ply_name = bpy.path.display_name_from_filepath(filepath)
-
     mesh = bpy.data.meshes.new(name=ply_name)
 
     mesh.vertices.add(len(obj[b'vertex']))
@@ -358,6 +354,16 @@ def load_ply(filepath):
             for face in mesh.uv_textures[0].data:
                 face.image = image
 
+    return mesh
+
+def load_ply(filepath):
+    import time
+
+    t = time.time()
+    ply_name = bpy.path.display_name_from_filepath(filepath)
+
+    mesh = load_ply_mesh(filepath, ply_name)
+
     scn = bpy.context.scene
 
     obj = bpy.data.objects.new(ply_name, mesh)
-- 
GitLab