Glue-up y Auto-glue-up
Tutorial paso a paso sobre cómo manejar el módulo
Glue-up (panel alistonado · alma + 2 tapas) en Despiece:
marcar piezas a mano o por lotes, dejar que Shift+G
proponga por nombre y leer el desglose en BOM / nest / pedido /
etiquetas. El modelo de ejemplo es CocinaV9.despiece;
cualquier proyecto con puertas, estantes grandes o tapas sirve —
el matcher pliega acentos y es case-insensitive.
GluedUpConfig vive por pieza y se
expande en 3 sub-piezas (alma + 2 tapas simétricas) en
cada export. El viewport 3D sigue mostrando un solo cuerpo;
el desglose aparece en BOM, nest, pedido y etiquetas con el
discriminador construccion: alma | tapa.
01 Cargar el modelo y abrir la lista plana
Al importar el modelo, la sidebar izquierda muestra el árbol jerárquico. Para trabajar con glue-up 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.
Configuración → Glue-up →
Habilitar Glue-up está apagado, el botón ▣ del topbar,
Shift+G y el submenú
Construcción ▸ del RMB no aparecen. El default de
fábrica es off (opt-in desde la spec 2026-07-18); lo que
sigue asume el toggle on.
02 La lista plana y el chip ▣ Alistonado
Cada fila muestra, en orden, los chips ya conocidos:
- Nombre de la pieza (editable con doble click — paso 5 del tutorial de roles).
- Cotas nominales
largo × ancho × espesor(mm) derivadas del AABB en espacio de diseño. - 4 chips de cantos L1 · L2 · A1 · A2 (rojo 0,45 mm / azul 2 mm).
- Chip de veta (H/V/—) y chip de material (color).
- Chip ▣ Alistonado — solo aparece en piezas con descriptor (paso 4). Las piezas sin descriptor no muestran chip; son sólidos simples en los exports.
03 Anatomía del chip ▣ Alistonado
El chip se muestra al final de la fila, después del chip de
material, y arranca con el glifo ▣ (square inside
square). El tooltip resume el descriptor resuelto:
Alistonado
Alma: Pino FK 18 mm
Tapas: MDF crudo 3 mm
Trim: 5 mm/lado
El cálculo t_alma = espesor_total − 2 × coverThickness
se hace en vivo a partir del AABB de la pieza
(src/ui/glued-up/chip.ts:buildGluedUpChip), así que
si el descriptor tiene cover=3 mm y la pieza es de
24 mm, el alma que reporta el chip es
18 mm.
04 Anatomía del descriptor (alma + 2 tapas)
coverThicknessMm.
Cuando marcás una pieza como alistonado, Despiece guarda un
GluedUpConfig (src/glued-up/types.ts)
con cinco campos:
| Campo | Significado | Default |
|---|---|---|
enabled | marca interna; siempre true cuando la pieza tiene descriptor | true |
coverThicknessMm | espesor de cada tapa (son simétricas) | 3 mm |
coreMaterialId | MaterialDef.id del alma (rol core) | "" |
coverMaterialId | MaterialDef.id de las 2 tapas (rol face) | "" |
coreStripsWidthMm | ancho nominal del listón del alma (informativo) | 35 mm |
trimAllowanceMm | merma prensa por lado (largo y ancho) | 5 mm |
La pieza sigue siendo un único cuerpo en el viewport 3D, pero al momento de exportar (BOM, nest, pedido, etiquetas) se expande en 3 sub-piezas:
padre 600×1800×24 · cover=3 · trim=5
Las cotas de cada sub-pieza son netas (acabado del padre
menos 2 × trim por lado), y los edges se
guardan vacíos (EMPTY_EDGES) porque los cantos del
panel van por fuera, no por las capas internas. Las tapas son
simétricas (mismo espesor y dimensiones); el índice
1 y 2 se diferencian solo a nivel de
label (Tapa sup / Tapa inf).
05 Marcar una pieza a mano
- Seleccioná la pieza (click en 3D o en la lista).
- RMB ▸ Construcción ▸ Marcar como alistonado… (o doble click sobre el chip ▣ si la pieza ya estaba marcada — abre Editar).
- Se abre el sheet modal con los defaults de Configuración → Glue-up prefilled.
- Ajustá:
- Espesor de tapas (
coverThicknessMm, mm). - Material de tapas (
coverMaterialId) — select filtrado porrole: face(MDF, melamina). - Material de alma (
coreMaterialId) — select filtrado porrole: core(Pino FK, Eucalipto, Paraíso). - Ancho de listón (
coreStripsWidthMm, mm; informativo). - Merma prensa (
trimAllowanceMm, mm/lado).
- Espesor de tapas (
- Apply aplica a la pieza seleccionada.
Si la pieza ya tenía descriptor, el modal abre Editar con
sus valores pre-rellenados (no los defaults del taller). El sheet
valida en cada change: si el material de alma no
tiene role: core o el de tapas no tiene
role: face, bloquea el Apply y muestra el
código de error
(src/glued-up/types-guards.ts:validateGluedUpConfig).
06 Marcar varias piezas en batch
Con 2+ piezas seleccionadas el modal agrega un segundo botón a la
derecha del Apply:
- Apply → aplica solo a la primera pieza de la selección.
- Apply a N seleccionadas → aplica la misma config a todas las piezas de la selección en una sola operación de undo.
GluedUpConfig y lo aplica idéntico a cada pieza. Si
entre piezas varía el espesor (puerta de 24 mm vs estante de
18 mm), ajustá el descriptor en dos pasadas: una por lote
homogéneo, o pieza por pieza.
Limpiar el descriptor es simétrico: RMB ▸ Construcción ▸
Limpiar alistonado. Aplica a todas las piezas seleccionadas
que tengan gluedUp !== null y deja un toast con el
conteo.
07 Auto-glue-up con Shift+G
El atajo Shift+G (también ⇧+G en Mac) ejecuta Auto-glue-up ✦ sobre todas las piezas del proyecto (botón ▣ del topbar entre Auto-cantos y Nesting). La regla es la misma que auto-cantos / auto-roles:
gluedUp === null),
se matchea el keyword (acorde a
longest-keyword-wins / first-def-wins) que aparezca
en el nombre. Solo se rellenan piezas sin marca previa —
las que ya tienen descriptor a mano no se pisan.
El keyword lleva asociado un trimAllowanceMm que
pisa al default del taller para esa pieza puntual. Si el nombre
matchea un keyword con trim=3 pero el default es
5, la pieza queda con trim=3; el resto
queda con 5.
Keywords built-in del catálogo default (src/glued-up/types.ts:DEFAULT_GLUED_UP_KEYWORDS):
| Keyword | Trim (mm) | Matchea |
|---|---|---|
alistonado | 5 | Pieza marcada como panel alistonado |
alistonada | 5 | Variante femenino (nombres de muebles) |
alist | 5 | Forma corta (ALIST, Alist.) |
alma | 5 | Pieza con alma explícita |
sandwich | 5 | Sandwich panel / multilaminado |
paneles | 5 | Plural genérico |
tapa maciza | 3 | Tapa de madera maciza |
puerta maciza | 3 | Puerta maciza |
estante macizo | 3 | Estante macizo (pocas piezas grandes) |
panel nido | 5 | Paneles con nido de abeja |
El reporte al final del toast distingue cambiadas vs skipped (ya tenían descriptor) vs unmatched (ningún keyword matcheó). Shift+G es idempotente — corrélo varias veces seguidas y solo las piezas nuevas entran al primer bucket.
08 Ver el desglose en BOM / nest / pedido / etiquetas
construccion lleva alma o tapa.
Las piezas con descriptor se expanden en 3 sub-piezas en cada
export. El discriminador llega como
construccion: 'alma' | 'tapa' en el
BomPartInput y como columna o nota según el destino:
- BOM CSV/XLSX → cada padre se desglosa en 3 filas con dimensiones netas y material diferenciado (alma = madera maciza, tapas = MDF / melamina). La columna
construccionllevaalmaotapa. Los cantos de las sub-piezas quedan en0/0/0/0(no llevan canto porque el canto del panel va por fuera). - Nest (N) → las 3 sub-piezas se empaquetan en tableros stock independientes (alma en tablero Pino FK 18 mm, tapas en tablero MDF 3 mm) — sin mezclar maderas. El discriminador
glue-upviaja como tag delNestItemy el optimizador respeta la separación. - Pedido PDF/CSV → agrupa por
(espesor_tapa × material_alma × material_tapa × trim)y suma al total de obra. - Etiquetas PDF → cada padre genera 1 etiqueta con breakdown abajo:
▣ ALISTONADO + Alma Pino FK 18 mm · Tapas MDF crudo 3 mm. El toggle vive ensettings.labelsIncludeGluedUpBreakdown(defaulttrue); apagado, la etiqueta vuelve al layout compacto sin bloque alistonado. - Cut TSV → las 3 sub-piezas llevan
[glued=alma]o[glued=tapa]en el campodetailsy[veta=none](la veta del panel vive en el alma, no en las tapas).
09 Configuración → Glue-up
Configuración → Glue-up (en el grupo Pieza)
tiene 3 bloques: un toggle maestro, los defaults
numéricos del taller y la lista editable de keywords de
auto-detección.
Toggle maestro
Habilitar Glue-up (default off, opt-in)
controla el módulo entero:
- Off → el botón ▣ del topbar desaparece, Shift+G no hace nada, las opciones RMB
Construcción ▸ Alistonadose ocultan, y las piezas con descriptor guardado colapsan a una sola fila en BOM/nest/etiquetas/pedido. Los datos persisten — el campoparts.gluedUpse queda en el.despiece. - On → todo vuelve a funcionar como alistonado expandido.
Settings. Apagarlo en un proyecto no afecta otros
proyectos.
Defaults del taller
Cinco campos numéricos/string que prefilledan el modal del paso 5 y el auto-glue-up del paso 7:
| Campo | Tipo | Default | Significado |
|---|---|---|---|
coverThicknessMm | número (0,1–50) | 3 mm | Espesor de cada tapa |
coreStripsWidthMm | número (5–150) | 35 mm | Ancho nominal del listón del alma |
trimAllowanceMm | número (0–30) | 5 mm | Merma prensa perimetral |
defaultCoreMaterialId | MaterialDef.id (rol core) | "" | Material del alma en nuevas piezas |
defaultCoverMaterialId | MaterialDef.id (rol face) | "" | Material de las tapas en nuevas piezas |
Persiste en localStorage[despiece.gluedup.defaults.v1]
vía src/glued-up/defaults-store.ts. No entra en
el .despiece — son preferencias de taller.
Sí entra en el export de Configuración (la sección
"taller" del IO config junto con materiales, roles, herraje,
lineales, auto-cantos y logo).
Auto-detección por nombre (keywords)
+ Agregar toma los inputs Palabra + Merma y los suma al catálogo.
Lista editable de keywords (el catálogo del paso 7). Cada row expone:
- Keyword — palabra/frase matchable, se guarda en minúsculas y trim.
- Trim (mm) — el
trimAllowanceMmoverride para esa keyword (numérico, 0–30, step 0,5). - × — botón para eliminar (sin confirmación; agregar y volver a tipear es rápido).
* Agregar (debajo de la lista) toma los inputs
Palabra + Merma (mm) y los suma al
catálogo. Persiste en localStorage[despiece.gluedup.auto.v1].
Restablecer keywords por defecto (al pie) borra los
customs y revierte a los 10 built-in del paso 7.
es-AR, en-US,
pt-BR, fr-FR, de-DE,
it-IT) en
src/glued-up/defaults-store.ts:GLUED_UP_KEYWORD_DEFS.
Editarlas por código es soportado pero no está expuesto en la
UI; la UI solo edita el mapa keywords del locale
activo (es-AR).
10 Maderas precargadas para el alma
role: core: Pino FK / Eucalipto / Paraíso en espesores 18 mm y 24 mm.
El catálogo de Materiales ya viene con 6 entradas pensadas como alma del panel alistonado:
Madera Pino FK · Listonado 18 mmMadera Pino FK · Listonado 24 mmMadera Eucalipto · Listonado 18 mmMadera Eucalipto · Listonado 24 mmMadera Paraíso · Listonado 18 mmMadera Paraíso · Listonado 24 mm
Todas tienen role: 'core', así que aparecen en el
select Material de alma del modal sin configuración extra.
Si necesitás más (roble, guatambú, etc.) agregalas desde
Materiales con la categoría que corresponda y
role: 'core'.
11 Atajos de teclado
Help (botón de la topbar o ?) abre la hoja completa. Los más usados en el flujo de glue-up:
| Atajo | Acción |
|---|---|
| Shift+G | Auto-glue-up ✦ (sobre todo el proyecto, solo rellena sin descriptor) |
| G | Cicla veta en la selección (sin / horizontal / vertical) |
| RMB ▸ Construcción ▸ Marcar… | Abre el modal de pieza con defaults del taller |
| RMB ▸ Construcción ▸ Editar… | Igual, con valores del descriptor actual |
| RMB ▸ Construcción ▸ Limpiar | Saca el descriptor a todas las seleccionadas |
| Doble click en chip ▣ | Abre el modal (Mark si no tiene, Edit si tiene) |
| Doble click en nombre | Renombrar pieza (clave del auto-glue-up) |
| B / Shift+B | Auto-cantos ✦ (complementario) |
| Shift+B | Auto-roles ✦ (también desde la topbar) |
| I | Aislar selección |
| Esc | Limpiar selección / salir de measure |
| F / Home | Fit / Fit + iso |
En Mac el modificador de sistema es ⌘; en otros sistemas Ctrl.
Ver también
- Tutorial · Cantos y auto-cantos — mismo flujo (paleta plana + Shift+letra) sobre los 4 lados de la pieza.
- Tutorial · Roles y auto-roles — flujo análogo para el campo
partRole. - Manual § 07 · Glue-up (alistonado) — referencia corta de la feature.
- Manual § Configuración — el tab Glue-up en contexto de la sección de taller.
- Spec
2026-07-18-glued-up-panel.md— diseño del módulo, expansión 3×, locales y rol del toggle.