Skip to content

init.py - Documentación Técnica

COLOCAR IMAGEN DEL CÓDIGO FUENTE DE init.py EN EL EDITOR AQUÍ

El archivo __init__.py es el núcleo de DAMTools. Define la información del addon, importa y registra todos los módulos, operadores, paneles y preferencias, y gestiona la integración de QuickSnap y la configuración de atajos globales.


Índice


Proposito General

  • Es el punto de entrada del addon DAMTools.
  • Define la metadata para Blender (bl_info).
  • Importa y registra todos los módulos y herramientas.
  • Integra la funcionalidad de QuickSnap.
  • Gestiona preferencias y atajos globales.

Estructura del Archivo

  1. bl_info: Metadata del addon (nombre, autor, versión, descripción, etc).
  2. Importación de módulos: Importa properties, operators, ui, menu, y QuickSnap.
  3. Integración de QuickSnap: Importa clases y menús de QuickSnap, maneja errores de importación.
  4. Definición de preferencias: Clase DAMToolsPreferences con propiedades para atajos y opciones globales.
  5. Operadores de captura de atajos: Permite configurar atajos desde las preferencias.
  6. Registro y desregistro: Funciones register() y unregister() para registrar todos los componentes.

Bloques Clave y Explicación

bl_info y Metadatos

bl_info = {
    "name": "DAMTools",
    "author": "NDSynrg",
    "version": (1, 1, 0),
    "blender": (3, 0, 0),
    "location": "View3D > Sidebar (N Panel) > DAMTools | Menú Pie (configurable)",
    "description": "Importa/Exporta, alinea, une, renombra por X, organiza en X (Panel y Pie Menu configurable).",
    "warning": "Sobrescribe atajos de teclado configurados para el Menú Pie.",
    "doc_url": "",
    "category": "Import-Export",
}
- Define la información que Blender muestra en la lista de addons.

Importacion de Módulos

from . import properties
from . import operators
from . import ui
from . import menu
- Importa los módulos principales del addon.

Integracion de QuickSnap

try:
    from .quicksnap.quicksnap import QuickVertexSnapOperator, QuickVertexSnapPreference, ...
    print("DAMTools: Importación de QuickSnap exitosa.")
except ImportError as e:
    print(f"DAMTools: Error al importar QuickSnap: {e}")
    # Define clases placeholder para evitar fallos
- Importa las clases y menús de QuickSnap, maneja errores para evitar que el addon falle si hay problemas.

Definicion de Preferencias

class DAMToolsPreferences(AddonPreferences):
    bl_idname = __name__
    # Propiedades para atajos y opciones globales
    hotkey_key_str: StringProperty(...)
    # ...
- Permite configurar atajos y opciones globales desde las preferencias del addon.

Registro y Desregistro

def register():
    # Registra todos los módulos, operadores, paneles y preferencias
    ...
def unregister():
    # Desregistra todos los componentes
    ...
- Funciones estándar para el ciclo de vida del addon en Blender.


Snippets de Codigo Clave

Captura de Atajos Personalizados

class DAMTOOLS_OT_CaptureHotkey(Operator):
    bl_idname = "damtools.capture_hotkey"
    # ...
    def modal(self, context, event):
        # Captura la combinación de teclas y la guarda en las preferencias

Registro de Preferencias y Atajos

class DAMToolsPreferences(AddonPreferences):
    bl_idname = __name__
    # Propiedades para atajos y opciones globales

Imagenes Sugeridas

  • COLOCAR IMAGEN DEL CÓDIGO FUENTE DE init.py EN EL EDITOR
  • COLOCAR DIAGRAMA DE DEPENDENCIAS ENTRE MÓDULOS
  • COLOCAR CAPTURA DE LAS PREFERENCIAS DEL ADDON EN BLENDER

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