Skip to content

Organizar en X - Documentación Completa

COLOCAR IMAGEN DEL PANEL LATERAL CON LA OPCIÓN "Organizar en X" EN FOCO AQUÍ

La herramienta "Organizar en X" de DAMTools permite distribuir objetos seleccionados en una fila a lo largo del eje X, con espaciado configurable y opciones para resetear Y/Z y ordenar por nombre. Es ideal para organizar piezas, modelos importados o preparar escenas para impresión 3D.


Índice


Que es Organizar en X

Permite distribuir objetos seleccionados en una fila a lo largo del eje X, calculando el offset automáticamente según el tamaño de cada objeto (bounding box) y aplicando un espaciado definido por el usuario. Opcionalmente, puede resetear Y/Z y la rotación.

COLOCAR IMAGEN DE OBJETOS ANTES Y DESPUÉS DE ORGANIZAR EN X AQUÍ


Flujo de Trabajo

  1. Seleccionar los objetos a organizar.
  2. Activar el operador "Organizar en X" desde el panel lateral o menú pie.
  3. Configurar el espaciado, reset Y/Z y orden en el diálogo emergente.
  4. Los objetos se distribuyen automáticamente en X.

COLOCAR GIF O SECUENCIA DE IMÁGENES DEL FLUJO DE ORGANIZACIÓN AQUÍ


Atajos y Accesos

  • Panel Lateral DAMTools: Opción "Organizar en X".
  • Menú Pie DAMTools (Shift+W): Opción "Arrange in X".
  • Operador: object.arrange_selected_x
  • Arrange + Reset Rotación: Alt+Click en el menú o usar object.arrange_selected_x_reset_rot

Explicacion de Funcionalidades

Espaciado Configurable

  • El usuario puede definir el espaciado en X entre objetos.
  • El offset se calcula usando la bounding box de cada objeto.

Resetear Y/Z

  • Opción para colocar todos los objetos en Y=0 y Z=0 (base).
  • Útil para alinear objetos en el plano base.

Ordenar por Nombre

  • Opción para ordenar los objetos alfabéticamente antes de organizarlos.
  • Permite un orden lógico y predecible.

Arrange + Reset Rotacion Alt

  • Si se usa Alt+Click, además de organizar en X, se resetea la rotación de los objetos a (0,0,0).

Snippets de Codigo Clave

Distribuir Objetos en X

def execute(self, context):
    # ...
    objects_to_arrange = sorted(selected_objects, key=lambda obj: obj.name) if self.sort_by_name else selected_objects
    current_x_cursor = 0.0
    for i, obj in enumerate(objects_to_arrange):
        # Calcular BBox y extremos
        world_corners = get_world_bbox_corners(obj)
        min_x, max_x, min_y, max_y, min_z, max_z = get_world_bbox_extremes(world_corners)
        shift_x = current_x_cursor - min_x
        shift_y = 0.0 - min_y if self.reset_y_z else 0.0
        shift_z = 0.0 - min_z if self.reset_y_z else 0.0
        obj.matrix_world.translation += Vector((shift_x, shift_y, shift_z))
        # Actualizar cursor X para el siguiente objeto
        world_corners_after_move = get_world_bbox_corners(obj)
        _, final_max_x, _, _, _, _ = get_world_bbox_extremes(world_corners_after_move)
        current_x_cursor = final_max_x + self.spacing

Resetear Rotación (Alt)

def execute(self, context):
    bpy.ops.object.arrange_selected_x()
    for obj in context.selected_objects:
        obj.rotation_euler = (0.0, 0.0, 0.0)

Imagenes Sugeridas

  • COLOCAR IMAGEN DEL PANEL LATERAL CON LA OPCIÓN EN FOCO
  • COLOCAR GIF DEL FLUJO DE ORGANIZACIÓN EN X
  • COLOCAR IMAGEN DE OBJETOS ANTES Y DESPUÉS DE USAR LA HERRAMIENTA
  • COLOCAR IMAGEN DEL MENU PIE DAMTools CON "Arrange in X" EN FOCO

Para detalles técnicos y explicación de cada archivo, ver la documentación técnica en la carpeta [DOCUMENTATION].