Automatización de Maquetado de Prendas Deportivas
Budget: $250 – $750 USD
1) Objetivo
Automatizar tallaje y maquetado para prendas deportivas (camisetas, pantalonetas, calentadores, busos y otras) a partir de:
• Moldes por talla (archivos .ai) que contienen la forma de cada pieza (para usar como máscara de recorte).
• Pedidos desde Excel o portapapeles (una fila = una prenda terminada).
• Reglas de orientación por pieza (vertical, horizontal o rotación permitida ±X°).
• Anidado (nesting) poligonal en mesas de trabajo de 1.68 m de ancho y hasta 5 m de largo (creando las mesas necesarias con límites de documento).
Unidades de interfaz: cm.
Conversión interna a puntos para AI.
2) Alcance
Carga de moldes por talla desde carpeta (AI 2024).
• Carga de pedido desde Excel (.xlsx) o portapapeles (CSV/TSV).
• Conteo por tallas y resumen en la UI.
• Vinculación de textos del diseño base con variables del pedido:
o Doble modo: marcadores {{VARIABLE}} y/o selección manual de objetos de texto.
o Variables soportadas: TALLA, NOMBRE, NUM_FRENTE, NUM_ESPALDA, LOGO (1..n), DATO1 (y potencialmente DATO2, etc. si el diseño lo incluye).
o Respeta tipografías, tamaños, colores, estilos y efectos existentes en el diseño.
o Si el texto no cabe, reduce fuente hasta el mínimo definido por el usuario.
• Inserta un texto de TALLA por pieza:
o Arial Black 14 pt, color elegido por el usuario (global por pedido).
o Ubicado en la parte inferior de cada prenda, siempre dentro del contorno del molde.
• Parámetros de maquetado:
o Separación entre piezas (cm) ingresada por el usuario.
o Prioridad de llenado orientada a optimizar área.
• Nesting poligonal:
o Cumple orientación por pieza: fija (0°) vertical/horizontal o rango permitido (p. ej., mangas ±30°).
o Sin sangrado adicional.
o Sin reglas de proximidad especiales (el objetivo es optimizar espacio).
• Mesas (artboards):
o Tamaño ingresado por el usuario: 1.68 m x hasta 5.00 m.
o Máximo 3 mesas por documento; si se necesitan más, crear nuevo documento y continuar.
o Si para colocar la última pieza se requiere exceder el largo por < 100 mm, permitir el exceso; si ≥ 100 mm, crear nueva mesa/documento según corresponda.
• Guardado:
o Al finalizar, guardar el/los documento(s) AI para prevenir pérdidas.
o Sin exportaciones (no PDF/CSV). El resumen se muestra en UI.
• Persistencia:
o Guardar/cargar proyecto (JSON) con rutas, mapeos, colores, parámetros.
o Recordar última carpeta de moldes y logos.
o Perfiles por cliente/torno con parámetros guardados.
3) Entradas
3.1 Moldes por talla (AI)
• Tallas desde XS a 8XL (XS, S, M, L, XL, 2XL, 3XL, 4XL, 5XL, 6XL, 7XL, 8XL).
• Un archivo .ai por talla, que contiene únicamente la geometría (contorno vectorial) de cada pieza de la prenda, usada como máscara de recorte.
o Ejemplos de piezas: Frente, Espalda, Manga_D, Manga_I, Pierna_D, Pierna_I, Capucha, Pretina, etc.
o Reglas de orientación por pieza definibles en el plugin:
Vertical fija (0°)
Horizontal fija (0°)
Rotación permitida ±K° (p. ej., mangas ±30°)
• El diseño de partida (arte) es el que contiene los objetos de texto a variar (nombre, números, logos, dato1...) y las posibles cajas/áreas para logos; dichos objetos se identifican:
o Mediante marcadores {{VARIABLE}}, y/o
o Por selección manual en UI (se guarda el mapeo).
3.2 Pedido (Excel/portapapeles)
• Una fila = 1 prenda terminada.
• Columnas mínimas: talla, nombre, numero_frente, numero_espalda, logo, dato1.
o logo: nombre de arte (AI/JPG/PNG/SVG, o cualquier formato legible por Illustrator). Puede haber 1 o más logos según diseño (el plugin permite mapear LOGO_1, LOGO_2, etc. si están en el diseño).
• Lectura Excel: .xlsx (primera hoja o selector).
• Portapapeles: CSV/TSV con encabezados (autodetección separador).
4) Parámetros de maquetado (definidos por el usuario)
• Separación entre piezas (cm).
• Color global para el texto TALLA (por pedido).
• Tamaño mínimo de fuente (pt) para auto-reducción cuando el texto no quepa.
• Rango de rotación permitido por pieza (si aplica); p. ej., mangas ±30°.
5) Reglas de colocación y orientación
• Cada pieza tiene una regla de orientación:
o Vertical (0°), Horizontal (0°), o Rotación ±K°.
• El texto TALLA:
o Se coloca automáticamente en la zona inferior de la prenda, dentro del polígono (el plugin debe garantizar que no se salga del contorno).
o Arial Black 14 pt por defecto; color elegible por el usuario (global).
• Los textos del diseño base:
o Se reemplazan manteniendo tipografías/colores/efectos; si no caben, reducción hasta el mínimo configurado y aviso.
6) Nesting (anidado) poligonal
• Anidado basado en contornos poligonales reales (no solo bounding boxes) para minimizar desperdicio.
• Cumple separación entre piezas y margen de mesa.
• Heurística: algoritmo de empaquetado poligonal (p. ej., basada en NFP/no-fit polygon o estrategia equivalente) con objetivo de optimización de área.
• Orden de llenado: optimización de área (no por talla ni por pedido, salvo que eso mejore el packing).
7) Interfaz de usuario (UI)
• Pestañas:
1. Datos: seleccionar carpeta de moldes; cargar Excel o pegar desde portapapeles; ver resumen por talla.
2. Vinculaciones: mapear variables → objetos de texto (detección por {{}} y/o selección manual); mapear logos (1..n) a sus cajas.
3. Maquetado: separación (mm), margen (mm), reglas de orientación por pieza (vertical/horizontal/±K°), color del texto TALLA, tamaño mínimo de fuente.
4. Resultados: listado de mesas, conteo por talla, cantidad total de prendas, documentos creados y botón Guardar. (Sin % de aprovechamiento)
8) Persistencia y perfiles
• Guardar/Cargar Proyecto (JSON) con:
o rutas (moldes, logos),
o mapeos de variables (por prenda/talla),
o reglas por pieza,
o parámetros (separación, margen, fuente mínima, color TALLA),
o perfiles de cliente/torno.
• Recordar automáticamente últimas carpetas de moldes y logos.
9) Validaciones y manejo de errores
• Talla sin molde → Detener proceso y avisar (lista de faltantes).
• Logo no encontrado → Detener y avisar (indicar fila y logo faltante).
• Fuentes faltantes → Aviso y opción de sustituir o continuar (respetando al máximo estilo).
• Campos obligatorios vacíos → marcar fila y exigir corrección.
• Límites de documento:
o Hasta 2 mesas por documento; al exceder, crear nuevo archivo (nombrado secuencialmente).
o Exceso de largo < 100 mm permitido; si ≥ 100 mm, nueva mesa/documento.
10) Compatibilidad técnica
• Adobe Illustrator 2024 (v28.x) — UXP.
• Lenguaje: TypeScript (preferente) o JavaScript moderno.
• UI: Spectrum (UXP).
• Lectura Excel: librería compatible pure JS para .xlsx (p. ej., equivalente a SheetJS; empaquetada para UXP).
• Geometría poligonal: librerías pure JS para operaciones poligonales/NFP (empaquetadas para UXP).
• Sin Node APIs nativas ni módulos binarios; todo debe ir bundled (rollup/webpack/esbuild).
11) Rendimiento y UX
• Soportar pedidos de hasta 1500 piezas sin bloquear la UI: procesamiento por lotes (async/await), barra de progreso y logs.
• Operaciones agrupadas en un solo estado de Undo por mesa/documento cuando sea posible.
• Autosave opcional y guardado al finalizar.
12) Criterios de aceptación (QA)
1. Reglas por pieza respetadas:
o Piezas marcadas como vertical u horizontal salen a 0°.
o Piezas con rotación permitida no superan su ±K°.
2. Poligonal: ninguna intersección entre contornos tras aplicar separación; ninguna pieza invade el margen.
3. Texto:
o Todas las variables reemplazadas; estilos del diseño respetados.
o Reducción automática de fuente hasta mínimo definido si no cabe; si aún no cabe, se muestra aviso.
o TALLA en Arial Black 14 pt, dentro del contorno y en la parte inferior.
4. Mesas/documentos:
o Máximo 2 mesas por archivo; al exceder, se crea nuevo archivo.
o Exceso < 100 mm permitido; ≥100 mm → mesa nueva.
5. Resumen UI: conteo por talla correcto y total de prendas coincide con filas de pedido.
6. Guardado: documentos AI guardados sin errores.
13) Entregables del desarrollador
• Paquete .ccx instalable del plugin (UXP) + código fuente.
• Scripts de build y README de instalación/uso.
• Manual de usuario (PDF o Markdown con capturas).
• Archivos demo: carpeta de moldes por talla (mock), un diseño base con variables, Excel de ejemplo.
• Plan de pruebas y registro de QA (casos pasados).
14) Casos de prueba mínimos
• Camiseta con piezas: Frente(vert), Espalda(vert), Manga_D/I(±30°).
• Pantaloneta con Pierna_D/I(±15°) y Pretina(horiz 0°).
• Pedido de 20 filas con varias tallas, múltiples logos en algunas filas.
• Separación=8 mm, Margen=15 mm; fuente mínima=10 pt.
• Caso límite: llenar 3 mesas y crear 2º archivo automáticamente.
• Caso error: falta L.ai → el sistema detiene y lista faltantes.
• Caso error: logo inexistente en fila 7 → detiene y reporta.
Notas operativas
• Si una pieza requiere rotación permitida diferente (p. ej., ±10° en Pretina), el usuario debe poder configurarla en la pestaña Maquetado y guardarla en el perfil del cliente/torno.
• El texto TALLA se coloca con algoritmo que:
1. busca una línea de soporte en la franja inferior del polígono (offset interno),
2. centra el texto,
3. ajusta la fuente si es necesario para que no cruce el contorno.
Archivos Adjuntos para su mayor entendimiento
https://drive.google.com/drive/folders/17O6yaZPWMBFP58BQ57d_tq2z0dqPp0OZ?usp=drive_link
Automatizar tallaje y maquetado para prendas deportivas (camisetas, pantalonetas, calentadores, busos y otras) a partir de:
• Moldes por talla (archivos .ai) que contienen la forma de cada pieza (para usar como máscara de recorte).
• Pedidos desde Excel o portapapeles (una fila = una prenda terminada).
• Reglas de orientación por pieza (vertical, horizontal o rotación permitida ±X°).
• Anidado (nesting) poligonal en mesas de trabajo de 1.68 m de ancho y hasta 5 m de largo (creando las mesas necesarias con límites de documento).
Unidades de interfaz: cm.
Conversión interna a puntos para AI.
2) Alcance
Carga de moldes por talla desde carpeta (AI 2024).
• Carga de pedido desde Excel (.xlsx) o portapapeles (CSV/TSV).
• Conteo por tallas y resumen en la UI.
• Vinculación de textos del diseño base con variables del pedido:
o Doble modo: marcadores {{VARIABLE}} y/o selección manual de objetos de texto.
o Variables soportadas: TALLA, NOMBRE, NUM_FRENTE, NUM_ESPALDA, LOGO (1..n), DATO1 (y potencialmente DATO2, etc. si el diseño lo incluye).
o Respeta tipografías, tamaños, colores, estilos y efectos existentes en el diseño.
o Si el texto no cabe, reduce fuente hasta el mínimo definido por el usuario.
• Inserta un texto de TALLA por pieza:
o Arial Black 14 pt, color elegido por el usuario (global por pedido).
o Ubicado en la parte inferior de cada prenda, siempre dentro del contorno del molde.
• Parámetros de maquetado:
o Separación entre piezas (cm) ingresada por el usuario.
o Prioridad de llenado orientada a optimizar área.
• Nesting poligonal:
o Cumple orientación por pieza: fija (0°) vertical/horizontal o rango permitido (p. ej., mangas ±30°).
o Sin sangrado adicional.
o Sin reglas de proximidad especiales (el objetivo es optimizar espacio).
• Mesas (artboards):
o Tamaño ingresado por el usuario: 1.68 m x hasta 5.00 m.
o Máximo 3 mesas por documento; si se necesitan más, crear nuevo documento y continuar.
o Si para colocar la última pieza se requiere exceder el largo por < 100 mm, permitir el exceso; si ≥ 100 mm, crear nueva mesa/documento según corresponda.
• Guardado:
o Al finalizar, guardar el/los documento(s) AI para prevenir pérdidas.
o Sin exportaciones (no PDF/CSV). El resumen se muestra en UI.
• Persistencia:
o Guardar/cargar proyecto (JSON) con rutas, mapeos, colores, parámetros.
o Recordar última carpeta de moldes y logos.
o Perfiles por cliente/torno con parámetros guardados.
3) Entradas
3.1 Moldes por talla (AI)
• Tallas desde XS a 8XL (XS, S, M, L, XL, 2XL, 3XL, 4XL, 5XL, 6XL, 7XL, 8XL).
• Un archivo .ai por talla, que contiene únicamente la geometría (contorno vectorial) de cada pieza de la prenda, usada como máscara de recorte.
o Ejemplos de piezas: Frente, Espalda, Manga_D, Manga_I, Pierna_D, Pierna_I, Capucha, Pretina, etc.
o Reglas de orientación por pieza definibles en el plugin:
Vertical fija (0°)
Horizontal fija (0°)
Rotación permitida ±K° (p. ej., mangas ±30°)
• El diseño de partida (arte) es el que contiene los objetos de texto a variar (nombre, números, logos, dato1...) y las posibles cajas/áreas para logos; dichos objetos se identifican:
o Mediante marcadores {{VARIABLE}}, y/o
o Por selección manual en UI (se guarda el mapeo).
3.2 Pedido (Excel/portapapeles)
• Una fila = 1 prenda terminada.
• Columnas mínimas: talla, nombre, numero_frente, numero_espalda, logo, dato1.
o logo: nombre de arte (AI/JPG/PNG/SVG, o cualquier formato legible por Illustrator). Puede haber 1 o más logos según diseño (el plugin permite mapear LOGO_1, LOGO_2, etc. si están en el diseño).
• Lectura Excel: .xlsx (primera hoja o selector).
• Portapapeles: CSV/TSV con encabezados (autodetección separador).
4) Parámetros de maquetado (definidos por el usuario)
• Separación entre piezas (cm).
• Color global para el texto TALLA (por pedido).
• Tamaño mínimo de fuente (pt) para auto-reducción cuando el texto no quepa.
• Rango de rotación permitido por pieza (si aplica); p. ej., mangas ±30°.
5) Reglas de colocación y orientación
• Cada pieza tiene una regla de orientación:
o Vertical (0°), Horizontal (0°), o Rotación ±K°.
• El texto TALLA:
o Se coloca automáticamente en la zona inferior de la prenda, dentro del polígono (el plugin debe garantizar que no se salga del contorno).
o Arial Black 14 pt por defecto; color elegible por el usuario (global).
• Los textos del diseño base:
o Se reemplazan manteniendo tipografías/colores/efectos; si no caben, reducción hasta el mínimo configurado y aviso.
6) Nesting (anidado) poligonal
• Anidado basado en contornos poligonales reales (no solo bounding boxes) para minimizar desperdicio.
• Cumple separación entre piezas y margen de mesa.
• Heurística: algoritmo de empaquetado poligonal (p. ej., basada en NFP/no-fit polygon o estrategia equivalente) con objetivo de optimización de área.
• Orden de llenado: optimización de área (no por talla ni por pedido, salvo que eso mejore el packing).
7) Interfaz de usuario (UI)
• Pestañas:
1. Datos: seleccionar carpeta de moldes; cargar Excel o pegar desde portapapeles; ver resumen por talla.
2. Vinculaciones: mapear variables → objetos de texto (detección por {{}} y/o selección manual); mapear logos (1..n) a sus cajas.
3. Maquetado: separación (mm), margen (mm), reglas de orientación por pieza (vertical/horizontal/±K°), color del texto TALLA, tamaño mínimo de fuente.
4. Resultados: listado de mesas, conteo por talla, cantidad total de prendas, documentos creados y botón Guardar. (Sin % de aprovechamiento)
8) Persistencia y perfiles
• Guardar/Cargar Proyecto (JSON) con:
o rutas (moldes, logos),
o mapeos de variables (por prenda/talla),
o reglas por pieza,
o parámetros (separación, margen, fuente mínima, color TALLA),
o perfiles de cliente/torno.
• Recordar automáticamente últimas carpetas de moldes y logos.
9) Validaciones y manejo de errores
• Talla sin molde → Detener proceso y avisar (lista de faltantes).
• Logo no encontrado → Detener y avisar (indicar fila y logo faltante).
• Fuentes faltantes → Aviso y opción de sustituir o continuar (respetando al máximo estilo).
• Campos obligatorios vacíos → marcar fila y exigir corrección.
• Límites de documento:
o Hasta 2 mesas por documento; al exceder, crear nuevo archivo (nombrado secuencialmente).
o Exceso de largo < 100 mm permitido; si ≥ 100 mm, nueva mesa/documento.
10) Compatibilidad técnica
• Adobe Illustrator 2024 (v28.x) — UXP.
• Lenguaje: TypeScript (preferente) o JavaScript moderno.
• UI: Spectrum (UXP).
• Lectura Excel: librería compatible pure JS para .xlsx (p. ej., equivalente a SheetJS; empaquetada para UXP).
• Geometría poligonal: librerías pure JS para operaciones poligonales/NFP (empaquetadas para UXP).
• Sin Node APIs nativas ni módulos binarios; todo debe ir bundled (rollup/webpack/esbuild).
11) Rendimiento y UX
• Soportar pedidos de hasta 1500 piezas sin bloquear la UI: procesamiento por lotes (async/await), barra de progreso y logs.
• Operaciones agrupadas en un solo estado de Undo por mesa/documento cuando sea posible.
• Autosave opcional y guardado al finalizar.
12) Criterios de aceptación (QA)
1. Reglas por pieza respetadas:
o Piezas marcadas como vertical u horizontal salen a 0°.
o Piezas con rotación permitida no superan su ±K°.
2. Poligonal: ninguna intersección entre contornos tras aplicar separación; ninguna pieza invade el margen.
3. Texto:
o Todas las variables reemplazadas; estilos del diseño respetados.
o Reducción automática de fuente hasta mínimo definido si no cabe; si aún no cabe, se muestra aviso.
o TALLA en Arial Black 14 pt, dentro del contorno y en la parte inferior.
4. Mesas/documentos:
o Máximo 2 mesas por archivo; al exceder, se crea nuevo archivo.
o Exceso < 100 mm permitido; ≥100 mm → mesa nueva.
5. Resumen UI: conteo por talla correcto y total de prendas coincide con filas de pedido.
6. Guardado: documentos AI guardados sin errores.
13) Entregables del desarrollador
• Paquete .ccx instalable del plugin (UXP) + código fuente.
• Scripts de build y README de instalación/uso.
• Manual de usuario (PDF o Markdown con capturas).
• Archivos demo: carpeta de moldes por talla (mock), un diseño base con variables, Excel de ejemplo.
• Plan de pruebas y registro de QA (casos pasados).
14) Casos de prueba mínimos
• Camiseta con piezas: Frente(vert), Espalda(vert), Manga_D/I(±30°).
• Pantaloneta con Pierna_D/I(±15°) y Pretina(horiz 0°).
• Pedido de 20 filas con varias tallas, múltiples logos en algunas filas.
• Separación=8 mm, Margen=15 mm; fuente mínima=10 pt.
• Caso límite: llenar 3 mesas y crear 2º archivo automáticamente.
• Caso error: falta L.ai → el sistema detiene y lista faltantes.
• Caso error: logo inexistente en fila 7 → detiene y reporta.
Notas operativas
• Si una pieza requiere rotación permitida diferente (p. ej., ±10° en Pretina), el usuario debe poder configurarla en la pestaña Maquetado y guardarla en el perfil del cliente/torno.
• El texto TALLA se coloca con algoritmo que:
1. busca una línea de soporte en la franja inferior del polígono (offset interno),
2. centra el texto,
3. ajusta la fuente si es necesario para que no cruce el contorno.
Archivos Adjuntos para su mayor entendimiento
https://drive.google.com/drive/folders/17O6yaZPWMBFP58BQ57d_tq2z0dqPp0OZ?usp=drive_link