From 17a28df49c35da5670c2964f29f0768d650a1d0a Mon Sep 17 00:00:00 2001 From: Bastien Montagne <montagne29@wanadoo.fr> Date: Tue, 17 Feb 2015 15:06:05 +0100 Subject: [PATCH] Fix T43707: FBX 7.4 Binary Exporter replaces all meshes with the same name when working with linked libraries. Now take libname (lib namespace) into account when generating ID's name or key... --- io_scene_fbx/fbx_utils.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/io_scene_fbx/fbx_utils.py b/io_scene_fbx/fbx_utils.py index fffcc0980..01a5520e0 100644 --- a/io_scene_fbx/fbx_utils.py +++ b/io_scene_fbx/fbx_utils.py @@ -284,18 +284,24 @@ def get_key_from_fbx_uuid(uuid): # Blender-specific key generators +def get_bid_name(bid): + if bid.library is not None: + return "_L_".join((bid.name, bid.library.name)) + return bid.name + + def get_blenderID_key(bid): if isinstance(bid, Iterable): - return "|".join("B" + e.rna_type.name + "#" + e.name for e in bid) + return "|".join("B" + e.rna_type.name + "#" + get_bid_name(e) for e in bid) else: - return "B" + bid.rna_type.name + "#" + bid.name + return "B" + bid.rna_type.name + "#" + get_bid_name(bid) def get_blenderID_name(bid): if isinstance(bid, Iterable): - return "|".join(e.name for e in bid) + return "|".join(get_bid_name(e) for e in bid) else: - return bid.name + return get_bid_name(bid) def get_blender_empty_key(obj): -- GitLab