io_scene_3ds: Fixed object filter description #104784
@ -18,7 +18,7 @@ import bpy
|
||||
bl_info = {
|
||||
"name": "Autodesk 3DS format",
|
||||
"author": "Bob Holcomb, Campbell Barton, Andreas Atteneder, Sebastian Schrand",
|
||||
"version": (2, 4, 4),
|
||||
"version": (2, 4, 5),
|
||||
"blender": (3, 6, 0),
|
||||
"location": "File > Import-Export",
|
||||
"description": "3DS Import/Export meshes, UVs, materials, textures, "
|
||||
@ -170,14 +170,14 @@ class Export3DS(bpy.types.Operator, ExportHelper):
|
||||
)
|
||||
|
||||
scale_factor: FloatProperty(
|
||||
name="Scale",
|
||||
description="Scale factor for all objects",
|
||||
name="Scale Factor",
|
||||
description="Master scale factor for all objects",
|
||||
min=0.0, max=100000.0,
|
||||
soft_min=0.0, soft_max=100000.0,
|
||||
default=1.0,
|
||||
)
|
||||
apply_unit: BoolProperty(
|
||||
name="Apply Units",
|
||||
name="Scene Units",
|
||||
description="Take the scene unit length settings into account",
|
||||
default=False,
|
||||
)
|
||||
@ -186,13 +186,23 @@ class Export3DS(bpy.types.Operator, ExportHelper):
|
||||
description="Export selected objects only",
|
||||
default=False,
|
||||
)
|
||||
object_filter: bpy.props.EnumProperty(
|
||||
name="Object Filter", options={'ENUM_FLAG'},
|
||||
items=(('MESH',"Mesh".rjust(11),"",'MESH_DATA',0x1),
|
||||
('LIGHT',"Light".rjust(12),"",'LIGHT_DATA',0x2),
|
||||
('CAMERA',"Camera".rjust(11),"",'CAMERA_DATA',0x4),
|
||||
('EMPTY',"Empty".rjust(11),"",'EMPTY_DATA',0x8),
|
||||
),
|
||||
description="Object types to export",
|
||||
default={'MESH', 'LIGHT', 'CAMERA', 'EMPTY'},
|
||||
)
|
||||
use_hierarchy: BoolProperty(
|
||||
name="Export Hierarchy",
|
||||
description="Export hierarchy chunks",
|
||||
default=False,
|
||||
)
|
||||
write_keyframe: BoolProperty(
|
||||
name="Write Keyframe",
|
||||
name="Export Keyframes",
|
||||
description="Write the keyframe data",
|
||||
default=False,
|
||||
)
|
||||
@ -238,7 +248,10 @@ class MAX3DS_PT_export_include(bpy.types.Panel):
|
||||
operator = sfile.active_operator
|
||||
|
||||
layout.prop(operator, "use_selection")
|
||||
layout.prop(operator, "use_hierarchy")
|
||||
laysub = layout.column(align=True)
|
||||
laysub.enabled = (not operator.use_selection)
|
||||
laysub.prop(operator, "object_filter")
|
||||
layout.column().prop(operator, "use_hierarchy")
|
||||
layout.prop(operator, "write_keyframe")
|
||||
|
||||
|
||||
|
@ -1489,8 +1489,8 @@ def make_ambient_node(world):
|
||||
# EXPORT #
|
||||
##########
|
||||
|
||||
def save(operator, context, filepath="", scale_factor=1.0, apply_unit=False,
|
||||
use_selection=False, use_hierarchy=False, write_keyframe=False, global_matrix=None):
|
||||
def save(operator, context, filepath="", scale_factor=1.0, apply_unit=False, use_selection=False,
|
||||
object_filter=None, use_hierarchy=False, write_keyframe=False, global_matrix=None):
|
||||
"""Save the Blender scene to a 3ds file."""
|
||||
|
||||
# Time the export
|
||||
@ -1504,7 +1504,7 @@ def save(operator, context, filepath="", scale_factor=1.0, apply_unit=False,
|
||||
|
||||
unit_measure = 1.0
|
||||
if apply_unit:
|
||||
unit_length = sce.unit_settings.length_unit
|
||||
unit_length = scene.unit_settings.length_unit
|
||||
if unit_length == 'KILOMETERS':
|
||||
unit_measure = 0.001
|
||||
elif unit_length == 'CENTIMETERS':
|
||||
@ -1566,7 +1566,7 @@ def save(operator, context, filepath="", scale_factor=1.0, apply_unit=False,
|
||||
if use_selection:
|
||||
objects = [ob for ob in scene.objects if ob.visible_get(view_layer=layer) and ob.select_get(view_layer=layer)]
|
||||
else:
|
||||
objects = [ob for ob in scene.objects if ob.visible_get(view_layer=layer)]
|
||||
objects = [ob for ob in scene.objects if ob.type in object_filter and ob.visible_get(view_layer=layer)]
|
||||
|
||||
empty_objects = [ob for ob in objects if ob.type == 'EMPTY']
|
||||
light_objects = [ob for ob in objects if ob.type == 'LIGHT']
|
||||
|
Loading…
Reference in New Issue
Block a user