From ebab2f3277c4cdea24f89ee8805e082dd2c4f6a8 Mon Sep 17 00:00:00 2001 From: Campbell Barton <ideasman42@gmail.com> Date: Sun, 23 Jan 2011 12:48:31 +0000 Subject: [PATCH] write predictable material order. --- io_scene_x3d/export_x3d.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/io_scene_x3d/export_x3d.py b/io_scene_x3d/export_x3d.py index 4157878de..aae369ed1 100644 --- a/io_scene_x3d/export_x3d.py +++ b/io_scene_x3d/export_x3d.py @@ -378,7 +378,11 @@ class x3d_class: for i, (material_index, image) in enumerate(zip(mesh_faces_materials, mesh_faces_image)): face_groups[material_index, image].append(i) - for (material_index, image), face_group in face_groups.items(): + # same as face_groups.items() but sorted so we can get predictable output. + face_groups_items = list(face_groups.items()) + face_groups_items.sort(key=lambda m: (m[0][0], getattr(m[0][1], "name", ""))) + + for (material_index, image), face_group in face_groups_items: # face_groups.items() if face_group: material = mesh_materials[material_index] -- GitLab