Roles y auto-roles

Tutorial paso a paso sobre cómo manejar roles de pieza (Puerta, Lateral, Fondo, Estante…) en Despiece y cómo aplicar auto-roles por nombre con aliases configurables y multi-locale. El modelo de ejemplo es CocinaV9.despiece; cualquier proyecto con piezas nombradas en castellano sirve — el matcher pliega acentos y es case-insensitive.

Auto-roles usa la misma lógica que auto-cantos pero aplica a un campo por pieza (partRole) en lugar de a 4 lados. Solo rellena piezas en «Sin rol» y por defecto trae 12 roles built-in (puerta, lateral, fondo, estante, techo, base, faja, otro, gola, zocalo, frente, lateral_cajon) + el sentinel none.

01 Cargar el modelo y abrir la lista plana

Vista general al cargar el modelo
01 Vista general al cargar el modelo. STEP/IGES/BREP/glTF/GLB; la sidebar izquierda muestra el árbol jerárquico (assemblies / piezas). Para trabajar con roles lo más cómodo es la lista plana.

Al importar el modelo, la sidebar izquierda muestra el árbol jerárquico. Para trabajar con roles lo más cómodo es la lista plana (todas las piezas en un solo scroll, sin anidar assemblies): botón de la topbar o atajo.

La cámara vuelve a vista isométrica con Home; el zoom encaja con F.

02 La lista plana y sus chips de rol

Lista plana con filas de piezas y sus chips de rol
02 Lista plana con filas de piezas. Cada fila expone nombre, cotas, el chip de rol (1 letra), los chips de cantos (L1·L2·A1·A2), chip de veta, chip de material y visibilidad.

Cada fila muestra:

03 Anatomía de un chip de rol

Detalle de un chip de rol
03 Detalle del chip de rol. Cuadrado de 26×26 px con la letra del rol (mono, 700). Borde cobalt si tiene rol asignado; sin fondo si está en «Sin rol».

El chip de rol es el primer elemento de la fila, antes de los cantos:

EstadoVisualSignificado
none (sentinel)cuadrado con borde line-2, glyph · en ink-mutePieza sin clasificar — auto-roles puede rellenarla.
asignadocuadrado con borde cobalt-tint, fondo cobalt-soft, glyph del rol en inkClick cicla al siguiente rol built-in/custom (Shift+R hace lo mismo sobre la selección).
removidoImposible: none siempre está presente (es sentinel de runtime).

A diferencia de cantos, los roles no son máscaras: cada pieza tiene exactamente un rol (o none), no cuatro. Click → cicla al siguiente rol del catálogo activo (defaults − removedBuiltins + customs).

04 Ciclar el rol a mano

Tres estados del chip de rol: sin rol, asignado, removido
04 Tres estados del chip. Sin rol (gris) → asignado (cobalt) → cambia al siguiente del catálogo. El catálogo activo se ve en Configuración → Roles.

Cada click sobre el chip cicla el rol. La secuencia por defecto (con los 12 built-in) es:

Sin rol · none (sentinel) Cualquier rol asignado Resaltado: el ciclo recorre este catálogo

Con el catálogo base el orden del ciclo es: nonepuertalateralfondoestantetechobasefajaotrogolazocalofrentelateral_cajonnone. Los customs (paso 8) se insertan al final en orden de creación.

Selección múltiple: con varias piezas seleccionadas, el ciclo se aplica a todas. Equivalente directo: Shift+R cicla el rol de toda la selección de una sola vez.

05 Renombrar una pieza

Input inline de renombre
05 Input inline de renombre. Doble click sobre el nombre, escribir, Enter confirma, Esc cancela. El nombre es la clave del auto-roles.

Hacé doble click sobre el nombre de la pieza para entrar en modo edición. Escribí el nuevo nombre, Enter confirma, Esc cancela.

El nombre es la clave del auto-roles: las keywords de cada rol (label + key + aliases) matchean sobre él (con pliegue de acentos y multi-locale). Renombrar Pieza_23 a Puerta alacena hace que el rol Puerta (puerta) la tome en el próximo Shift+B.

06 Aplicar auto-roles con Shift+B

Modelo después de auto-roles
06 Modelo después de auto-roles. Las piezas que matchearon cambiaron su chip de rol. Las que no matchearon quedan en «Sin rol» (estado unmatched).
Sidebar después de auto-roles
06b Sidebar después de auto-roles. Mismas filas; chips de rol actualizados.

El atajo Shift+B ejecuta Auto-roles ✦ sobre todas las piezas del proyecto (también accesible desde el botón Auto-roles de la topbar, entre Auto-cantos y Auto-glued-up). La regla es:

Para cada pieza, se matchea el rol cuyo label / key / alias (acorde a la jerarquía longest-keyword-wins / first-def-wins) aparezca en el nombre de la pieza. Solo se rellenan piezas en «Sin rol» — las que ya tienen rol asignado a mano no se pisan.

Roles built-in del catálogo default:

RolGlyphAliases clave
PuertaPpuerta, puertas, abatible
LateralLlateral, laterales, lat, parante
FondoFfondo, fondos, trasera
EstanteEestante, estantes, entrepaño
TechoTtecho, tapa, tapas
BaseBbase, bases
FajaJfaja, fajas, fyf
OtroOotro, t y e
GolaGgola, golas, perfil gola
ZócaloZzócalo, zoc, lat zoc, f zoc
FrenteRff, frente, frente falso
Lateral CajónClat caj, lateral cajon, lateral cajón

Compará la sidebar antes/después: las piezas que matchearon cambiaron su chip al rol detectado. Las que no matchearon quedan en · y el toast distingue unmatched vs skipped vs cambiadas.

«Sin rol» es sentinel de runtime: nunca se borra del catálogo. Si tu pieza no matchea ningún rol, queda en none y la columna Rol del BOM/Pedido la lista vacía o como «Sin clasificar».

07 Configuración → Roles

Tabla de roles en Configuración
07 Configuración → Roles. Lista de roles del taller. Cada row expone glyph, label, preview de aliases, contador de uso y acciones. Sin rol aparece como fijo.

Configuración → Roles (botón de la topbar) abre la lista de roles del taller. Cada row expone:

08 Crear un rol nuevo

Formulario de nuevo rol
08 Formulario de rol. Glyph + label + aliases como chips removibles. Guardar la deja en el catálogo custom y persiste.

+ Agregar rol abre una card con:

  1. Glyph (1 carácter; default ·; se truncan los extras).
  2. Label (1–40 chars; único entre todos los roles). Ej. Cajón.
  3. Aliases — chips removibles; tipear y Enter o , para agregar. Cada alias es una keyword matchable más (sin acentos, minúsculas). Ej. cajon, cajones, drawer.

Guardar la deja persistida en localStorage[despiece.roles.v1] como rol custom (no-builtin). Aparece al final del catálogo y participa del próximo Shift+B como una keyword más.

Colisiones entre aliases: si tu nueva keyword ya está en uso por otro rol, el Guardar rechaza el alta y muestra cuál es el alias que choca. Ejemplo: agregar puerta a un rol custom falla porque Puerta ya tiene ese alias.

Los customs viven en rolesCatalog.custom del .despiece. Para volver al catálogo built-in limpio: Restablecer roles por defecto (al pie del tab) borra los customs y revierte los overrides de labels/aliases/glyph que hubieras hecho sobre built-ins.

09 Catálogo y aliases por locale

Aliases por locale
09 Aliases por locale. Cada rol carga una lista de aliases distinta según el idioma del usuario. En castellano matchea puerta; en inglés matchea door; en portugués porta, etc.

Cada rol built-in carga 6 listas de aliases, una por locale soportado: es-AR, en-US, pt-BR, fr-FR, de-DE, it-IT. La lista es-AR es la fuente de verdad para legacy matching; las demás se usan por auto-detect cross-locale.

Por ejemplo, para Puerta (puerta):

LocaleAliases
es-ARpuerta, puertas, puerta batiente, abatible
en-USdoor, doors, door leaf, front
pt-BRporta, portas, folha de porta
fr-FRporte, portes, porte battante
de-DETür, Türen, Türblatt, Drehtür
it-ITporta, porte, anta, anta battente

Cuando un modelo está en inglés y la UI en castellano, el matcher usa la lista de aliases del locale activo (no del locale del modelo). Cambiar idioma en la topbar re-machea automáticamente al próximo run; los roles ya asignados se preservan porque auto-roles solo rellena «Sin rol».

Los roles custom aceptan aliases únicamente en es-AR (los demás locales heredan la lista es-AR por compatibilidad). Editar aliasesByLocale por código es soportado pero no expuesto en la UI.

10 Atajos de teclado

Hoja de atajos
10 Hoja de atajos. Help (botón de la topbar o ?) abre la hoja completa.

Los más usados en el flujo de roles:

AtajoAcción
Shift+BAuto-roles ✦ (sobre todo el proyecto, solo rellena «Sin rol»)
Click en chip de rolCicla al siguiente rol del catálogo activo
Shift+RCicla el rol de toda la selección (equivalente a clicks encadenados)
Doble click en nombreRenombrar pieza
BAuto-cantos ✦ (sobre todo el proyecto, complementario)
GCicla veta en la selección
IAislar selección
EscLimpiar selección / salir de measure
F / HomeFit / Fit + iso

En Mac el modificador de sistema es ; en otros sistemas Ctrl.


Ver también