2026-01-01
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user