2026-01-01

This commit is contained in:
2026-03-17 15:16:34 -06:00
parent ec4cf523fb
commit b80274187b
263 changed files with 95164 additions and 3848 deletions
@@ -17,18 +17,6 @@
# Link to base names: Sybren, Texture renamer: Yadoob
# ###
bl_info = {
"name": "Material Utilities",
"author": "MichaleW, ChrisHinde",
"version": (2, 2, 2),
"blender": (3, 0, 0),
"location": "View3D > Shift + Q key",
"description": "Menu of material tools (assign, select..) in the 3D View",
"warning": "Beta",
"doc_url": "{BLENDER_MANUAL_URL}/addons/materials/material_utils.html",
"category": "Material"
}
"""
This script has several functions and operators, grouped for convenience:
@@ -1,12 +1,15 @@
schema_version = "1.0.0"
id = "material_utilities"
name = "Material Utilities"
version = "2.2.2"
version = "2.2.3"
tagline = "Menu of material tools (assign, select..) in the 3D View"
maintainer = "Community"
type = "add-on"
tags = ["Material"]
blender_version_min = "4.2.0"
license = ["SPDX:GPL-2.0-or-later"]
license = ["SPDX:GPL-3.0-or-later"]
website = "https://projects.blender.org/extensions/materials_utils"
copyright = ["2024 MichaleW", "2024 ChrisHinde"]
copyright = [
"2024 MichaleW",
"2024 ChrisHinde",
]
@@ -512,6 +512,8 @@ def mu_remove_all_materials(self, for_active_object = False):
objects = bpy.context.selected_editable_objects
for obj in objects:
if not hasattr(obj.data, "materials"):
continue
obj.data.materials.clear()
bpy.context.view_layer.objects.active = last_active
@@ -285,7 +285,16 @@ class VIEW3D_OT_materialutilities_remove_all_material_slots(bpy.types.Operator):
@classmethod
def poll(cls, context):
return (context.active_object is not None) and (context.active_object.mode != 'EDIT')
if (obj := context.active_object) is None:
cls.poll_message_set("No active object selected.")
return False
elif not hasattr(obj.data, "materials"):
cls.poll_message_set("Active object doesn't support materials.")
return False
elif obj.mode == "EDIT":
cls.poll_message_set("Active object is in EDIT mode.")
return False
return True
def draw(self, context):
layout = self.layout