Skip to content

ui.py - Documentación Técnica

El archivo ui.py define el panel lateral (N-Panel) de DAMTools en el 3D Viewport de Blender. Este panel agrupa y organiza todas las herramientas del addon, permitiendo un acceso intuitivo y visual a cada función, incluidas las opciones de QuickSnap y los accesos directos configurables.


Índice


Proposito General

  • Define el panel lateral de DAMTools en el 3D Viewport.
  • Organiza y agrupa todas las herramientas del addon para acceso rápido.
  • Permite acceder a QuickSnap y configurar atajos desde el panel.

Estructura del Archivo

  1. Definición del panel principal: Clase DAMTools_PT_MainPanel que crea la pestaña y el layout general.
  2. Integración de herramientas: Añade botones y secciones para cada herramienta (importar, exportar, alinear, organizar, etc).
  3. Sección de QuickSnap: Botón y opciones para activar QuickSnap desde el panel.
  4. Accesos directos y preferencias: Muestra y permite configurar atajos desde el panel.
  5. Registro de clases: Lista de clases a registrar en Blender.

Bloques Clave y Explicación

Definicion del Panel Principal

class DAMTools_PT_MainPanel(Panel):
    bl_label = "DAMTools"
    bl_idname = "DAMTools_PT_main_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "DAMTools"
    def draw(self, context):
        layout = self.layout
        # ...
- Define el panel principal en la pestaña DAMTools del N-Panel.

Integracion de Herramientas

layout.operator("DAMTools.batch_import", text="Batch Import", icon='IMPORT')
layout.operator("DAMTools.batch_export", text="Batch Export", icon='EXPORT')
# ...
- Añade botones para cada herramienta del addon.

Seccion de QuickSnap

box_quicksnap = layout.box()
box_quicksnap.label(text="QuickSnap", icon='SNAP_ON')
box_quicksnap.operator("object.quicksnap", text="Activar QuickSnap (Ctrl+Shift+V)")
- Añade una sección dedicada a QuickSnap con botón de activación.

Accesos Directos y Preferencias

layout.prop(preferences, "hotkey_key_str", text="Atajo Menú Pie")
layout.operator("DAMTools.capture_hotkey", text="Configurar Atajo Pie Menu")
- Permite visualizar y configurar atajos desde el panel.

Registro de Clases

classes = (
    DAMTools_PT_MainPanel,
    # ... otras clases de UI
)
- Lista de clases a registrar en Blender.


Snippets de Codigo Clave

Estructura del Panel Lateral

class DAMTools_PT_MainPanel(Panel):
    def draw(self, context):
        layout = self.layout
        # ...

Botón de QuickSnap en el Panel

box_quicksnap.operator("object.quicksnap", text="Activar QuickSnap (Ctrl+Shift+V)")

Para ver la integración con cada herramienta, consultar la documentación de los módulos correspondientes en la carpeta [DOCUMENTATION].