Skip to content

Commit 56d5b03

Browse files
committed
BUGFIX: Selected objects are not preserved after export
1 parent 38e0b5d commit 56d5b03

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/core.py

+16
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22
import bpy
33

44

5+
def preserve_selection(func):
6+
def inner(*args, **kwargs):
7+
orig_selected_objs = bpy.context.selected_objects
8+
try:
9+
return func(*args, **kwargs)
10+
finally:
11+
bpy.ops.object.select_all(action="DESELECT")
12+
for o in orig_selected_objs:
13+
o.select_set(True)
14+
15+
return inner
16+
17+
18+
@preserve_selection
519
def export_objects(objects, folder, object_types):
620
for an_obj in objects:
721
bpy.ops.object.select_all(action="DESELECT")
@@ -28,7 +42,9 @@ def export_objects(objects, folder, object_types):
2842
bpy.ops.object.delete()
2943

3044

45+
@preserve_selection
3146
def export_collections(parent_collection, folder, object_types):
47+
3248
for coll in parent_collection.children:
3349
if len(coll.all_objects) == 0: # skip empty collections
3450
continue

0 commit comments

Comments
 (0)