← ClaudeAtlas

ui-panelslisted

Author Blender UI panels with bpy.types.Panel, declarative draw(), bl_space_type and bl_region_type, layout primitives like row/column/split, and conditional UI via .enabled. Targets 5.2 LTS.
TMHSDigital/Blender-Developer-Tools · ★ 13 · Web & Frontend · score 66
Install: claude install-skill TMHSDigital/Blender-Developer-Tools
# UI Panels ## Trigger Use this skill when the user: - Wants a sidebar tab in the 3D viewport, properties editor, or any other space - Mentions `bpy.types.Panel`, `bl_space_type`, `bl_region_type`, "N panel", "sidebar" - Needs to expose properties or operators in a custom UI - Asks why a property is showing without a label or in the wrong column ## Required inputs - **Where the panel lives**: the editor (3D viewport, Properties, etc.) and the region (sidebar, header, tools) - **Tab name** if it lives in a sidebar (`bl_category`) - **Class name** convention: `EDITOR_PT_name` (`VIEW3D_PT_my_addon`) ## The minimum viable panel ```python import bpy class VIEW3D_PT_my_addon(bpy.types.Panel): bl_label = "My Addon" bl_idname = "VIEW3D_PT_my_addon" bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_category = "My Addon" def draw(self, context): layout = self.layout layout.label(text="Hello from the N panel") ``` After registering the class, the panel appears in the 3D viewport's sidebar (press `N`) under a "My Addon" tab. ## The bl_* fields that decide where it lives | Field | Common values | Effect | | --- | --- | --- | | `bl_space_type` | `'VIEW_3D'`, `'PROPERTIES'`, `'NODE_EDITOR'`, `'IMAGE_EDITOR'`, `'TEXT_EDITOR'`, `'OUTLINER'`, `'SEQUENCE_EDITOR'` | Which editor the panel appears in | | `bl_region_type` | `'UI'` (sidebar), `'TOOLS'` (toolbar, deprecated for new add-ons), `'WINDOW'` (main, used in PROPERTIES), `'HEADER'` | Whi