New Addon: Import Autodesk .max #105013

Closed
Sebastian Sille wants to merge 136 commits from (deleted):nrgsille-import_max into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Showing only changes of commit 4d4e74437d - Show all commits

View File

@ -56,7 +56,7 @@ class Import3DS(bpy.types.Operator, ImportHelper):
default=10.0,
)
convert_unit: BoolProperty(
name="Convert Units",
name="Scene Units",
description="Converts to scene unit length settings",
default=False,
)
@ -84,7 +84,7 @@ class Import3DS(bpy.types.Operator, ImportHelper):
default=True,
)
read_keyframe: BoolProperty(
name="Read Keyframe",
name="Animation",
description="Read the keyframe data",
default=True,
)
@ -134,9 +134,13 @@ class MAX3DS_PT_import_include(bpy.types.Panel):
sfile = context.space_data
operator = sfile.active_operator
layout.prop(operator, "use_image_search")
layrow = layout.row(align=True)
layrow.prop(operator, "use_image_search")
layrow.label(text="", icon='OUTLINER_OB_IMAGE' if operator.use_image_search else 'IMAGE_DATA')
layout.column().prop(operator, "object_filter")
layout.prop(operator, "read_keyframe")
layrow = layout.row(align=True)
layrow.prop(operator, "read_keyframe")
layrow.label(text="", icon='ANIM' if operator.read_keyframe else 'DECORATE_DRIVER')
class MAX3DS_PT_import_transform(bpy.types.Panel):
@ -161,9 +165,15 @@ class MAX3DS_PT_import_transform(bpy.types.Panel):
operator = sfile.active_operator
layout.prop(operator, "constrain_size")
layout.prop(operator, "convert_unit")
layout.prop(operator, "use_apply_transform")
layout.prop(operator, "use_world_matrix")
layrow = layout.row(align=True)
layrow.prop(operator, "convert_unit")
layrow.label(text="", icon='EMPTY_ARROWS' if operator.convert_unit else 'EMPTY_DATA')
layrow = layout.row(align=True)
layrow.prop(operator, "use_apply_transform")
layrow.label(text="", icon='MESH_CUBE' if operator.use_apply_transform else 'MOD_SOLIDIFY')
layrow = layout.row(align=True)
layrow.prop(operator, "use_world_matrix")
layrow.label(text="", icon='WORLD' if operator.use_world_matrix else 'META_BALL')
layout.prop(operator, "axis_forward")
layout.prop(operator, "axis_up")
@ -194,7 +204,7 @@ class Export3DS(bpy.types.Operator, ExportHelper):
default=False,
)
use_selection: BoolProperty(
name="Selection Only",
name="Selection",
description="Export selected objects only",
default=False,
)
@ -210,12 +220,12 @@ class Export3DS(bpy.types.Operator, ExportHelper):
default={'WORLD', 'MESH', 'LIGHT', 'CAMERA', 'EMPTY'},
)
use_hierarchy: BoolProperty(
name="Export Hierarchy",
name="Hierarchy",
description="Export hierarchy chunks",
default=False,
)
write_keyframe: BoolProperty(
name="Export Keyframes",
name="Animation",
description="Write the keyframe data",
default=False,
)
@ -260,10 +270,17 @@ class MAX3DS_PT_export_include(bpy.types.Panel):
sfile = context.space_data
operator = sfile.active_operator
layout.prop(operator, "use_selection")
layrow = layout.row(align=True)
layrow.prop(operator, "use_selection")
layrow.label(text="", icon='RESTRICT_SELECT_OFF' if operator.use_selection else 'RESTRICT_SELECT_ON')
layout.column().prop(operator, "object_filter")
layout.prop(operator, "use_hierarchy")
layout.prop(operator, "write_keyframe")
layrow = layout.row(align=True)
layrow.prop(operator, "use_hierarchy")
layrow.label(text="", icon='OUTLINER' if operator.use_hierarchy else 'CON_CHILDOF')
layrow = layout.row(align=True)
layrow.prop(operator, "write_keyframe")
layrow.label(text="", icon='ANIM' if operator.write_keyframe else 'DECORATE_DRIVER')
layout.use_property_split = True
class MAX3DS_PT_export_transform(bpy.types.Panel):
@ -288,7 +305,9 @@ class MAX3DS_PT_export_transform(bpy.types.Panel):
operator = sfile.active_operator
layout.prop(operator, "scale_factor")
layout.prop(operator, "apply_unit")
layrow = layout.row(align=True)
layrow.prop(operator, "apply_unit")
layrow.label(text="", icon='EMPTY_ARROWS' if operator.apply_unit else 'EMPTY_DATA')
layout.prop(operator, "axis_forward")
layout.prop(operator, "axis_up")