В API Blender 2.8 ужесточаются требования к наименованию классов и их идентификаторов. Имя класса должно соответствовать следующему шаблону:
1 |
UPPER_CASE_{SEPARATOR}_mixed_case |
Где {SEPARATOR} – две буквы, обозначающие принадлежность класса к определенному типу (от какого типа наследуется класс):
- HT – Заголовок
- MT – Меню
- OT – Оператор
- PT – Панель
- UL – Список UI
Идентификатор класса “bl_idname” должен соответствовать имени класса.
Примеры правильного наименования классов и идентификаторов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class MYADDON_OT_my_operator(bpy.types.Operator): bl_idname = 'myaddon.my_operator' ... class MYADDON_MT_my_menu(bpy.types.Menu): bl_idname = 'MYADDON_MT_my_menu' ... class MYADDON_HT_my_header(bpy.types.Header): bl_idname = 'MYADDON_HT_my_header' ... class MYADDON_PT_my_panel(bpy.types.Panel): bl_idname = 'MYADDON_PT_my_panel' ... |
В случае неправильного наименования класса или его идентификатора, Blender сигнализирует ошибкой:
‘Oscurart Files Tools’ doesn’t contain ‘_PT_’ with prefix & suffix