HoopLang Docs
/
Playground
El libro · Capítulo 03

3. Puntadas

Ya sabes construir formas. Ahora decides cómo se cose cada una. En HoopLang no dibujas: eliges una primitiva de bordado, y el compilador genera las puntadas. Hay cinco: fill, satin, run, triple y text (el texto tiene su propio capítulo). Elegir bien entre ellas es la mitad del oficio.

Un muestrario#

Este diseño usa todas las puntadas del capítulo. Compílalo y mira la vista previa mientras lees.

HoopLang
// puntadas.hoop: las maneras de poner hilo, en una hoja.
design "Muestrario" {
  canvas: rect(size: (100mm, 60mm))
  fabric: Twill // sarga: tela firme, la más agradecida
}

thread azul   = #1f3a8a "Azul"
thread blanco = #f0f0f0 "Blanco"
thread negro  = #1c1616 "Negro"

shape cuadro = rect(at: (5mm, 5mm), size: (30mm, 30mm))

layer rellenos {
  // Relleno (tatami) a 45°, densidad estándar.
  fill azul { shape: cuadro, angle: 45deg, density: 0.4mm }
  // Otro, más abierto y con filas horizontales.
  fill azul { shape: cuadro.move(35mm, 0mm), angle: 0deg, density: 0.6mm, stitch: 3mm }
}

layer columnas {
  // Satín como borde de una forma.
  satin negro { border: cuadro, width: 3mm }
  // Satín a lo largo de un camino: una cinta de 2.5 mm.
  satin negro {
    along: path { from (75mm, 10mm) curve (95mm, 15mm) (75mm, 30mm) (95mm, 35mm) },
    width: 2.5mm
  }
  // Satín con dos rieles: un trazo que se afina.
  satin blanco {
    rails: [path { from (40mm, 45mm) line (95mm, 45mm) },
      path { from (40mm, 50mm) line (95mm, 47mm) }]
  }
}

layer corridos {
  // Corrido simple: un detalle fino, o un contorno.
  run negro { path: path { from (5mm, 45mm) line (35mm, 45mm) }, stitch: 2mm }
  // Corrido triple: la misma línea, más gruesa y visible.
  triple negro { path: path { from (5mm, 52mm) line (35mm, 52mm) }, passes: 3 }
}
Salida del compilador
puntadas.hoop: 90.6 × 47.2 mm, 3457 stitches, 3 threads, 7 trims, 20 ms

Todas las primitivas tienen la misma forma: primitiva hilo { propiedad: valor, … }. Las propiedades van con nombre, separadas por comas o por saltos de línea, en cualquier orden. Las que no escribes toman un valor por defecto realista según la tela.

fill: relleno tatami#

El relleno cubre un área con filas paralelas de puntadas, como un tejido. Cada fila está hecha de puntadas de un largo fijo, y las filas se desfasan entre sí para que las perforaciones no formen surcos (por eso se llama tatami, como la estera).

HoopLang
fill azul { shape: cuadro, angle: 45deg, density: 0.4mm, stitch: 4mm }
PropiedadTipoRangoPara qué
shapeShapeobligatoriael área a cubrir
angleAngle o autodirección de las filas
densityLength0.2 a 1 mmseparación entre filas
stitchLength1.5 a 7 mmlargo de cada puntada de la fila (4 mm por defecto)
underlayUnderlayla subcapa
pullLength0 a 0.6 mmcompensación de tirón

Cuándo usar relleno: para áreas anchas, más de 7 u 8 mm en cualquier dirección: fondos, la estrella de un escudo, letras muy grandes. Es estable y plano.

angle: 0° son filas horizontales; con y hacia abajo, los ángulos positivos giran en sentido horario. Sin angle (o con angle: auto), el compilador elige uno para cada forma. Escríbelo cuando importa: dos rellenos vecinos con el mismo ángulo se funden en uno; con ángulos distintos (45° el fondo, −20° la franja, como en galeria/insignia.hoop) la luz los separa, aunque sean de colores parecidos.

density: la distancia entre filas. Más chica, más hilo: más cobertura, pero también más rígido y más riesgo de que la tela se frunza. 0.4 mm es el estándar para hilo de calibre 40; 0.35 mm para cubrir bien una tela oscura con hilo claro; 0.45 a 0.6 mm para telas livianas o fondos que no necesitan tapar del todo. Si no la escribes, el compilador usa una cobertura alta: 0.20 mm (0.22 mm en Stretch), el mínimo que puedes escribir.

Un valor fuera de rango no compila:

Salida del compilador
t.hoop:4:39: error E002: `density` = 0.1 mm: valid range is 0.2 to 1 mm

underlay (subcapa): antes del relleno, el compilador cose filas abiertas por debajo y un corrido por dentro del borde. La subcapa fija la tela al estabilizador, levanta el relleno para que no se hunda en la tela (sobre todo en tejidos de punto y polar) y evita que el borde se deforme. Está activada por defecto (Auto: contorno más filas abiertas). Otras opciones: Edge (sólo el contorno, para rellenos chicos), Tatami (sólo las filas, cuando un satín va a tapar el borde), DoubleTatami (dos pasadas cruzadas, para polar o toalla) y None (nada, sólo en rellenos muy chicos o muy abiertos).

pull (compensación de tirón): el hilo tensado encoge la forma en la dirección de las puntadas. Para compensar, el compilador alarga cada fila un poco en ambos extremos. El valor por defecto viene de la tela; cámbialo sólo si mediste una prueba (capítulo 10).

satin: la columna de satín#

El satín es una columna de puntadas que van de un lado al otro, en zigzag apretado. Brilla, porque el hilo queda largo y paralelo, y por eso es la puntada de los bordes, las letras y los trazos finos.

Hay tres maneras de decir dónde va la columna (una por objeto):

HoopLang
// no-check Plantilla sintáctica con elipsis, no un programa ejecutable.
satin negro { border: cuadro, width: 3mm }                      // el borde de una forma
satin negro { along: path { from … curve … }, width: 2.5mm }      // a lo largo de un camino
satin blanco { rails: [path { … }, path { … }] }                // entre dos rieles
  • border + width: un borde de ancho fijo por dentro del contorno de la forma. El marco de un escudo, el borde tipo merrow de un parche.
  • along + width: una cinta centrada en un camino abierto. Un tallo, una línea gruesa, una firma.
  • rails: dos caminos abiertos (los rieles), uno a cada lado de la columna, como par (a, b) o como lista [a, b]. El ancho cambia a lo largo: un trazo que se afina. Existe también rungs: [path { … }, …] (travesaños), pero el compilador todavía no los usa y lo avisa (W010).
PropiedadTipoRangoNotas
widthLength0.8 a 8 mmobligatoria con border y along
densityLength o auto0.2 a 0.6 mmauto por defecto
underlayNone, Center, Edge, Zigzag, AutoAuto por defecto
pullLength0 a 0.6 mm

Cuándo usar satín: para columnas de 1 a 7 mm. Más angosto que 1 mm no se distingue de un corrido; más ancho que 7 mm, las puntadas quedan tan largas que se enganchan y se aflojan con el uso. El compilador te avisa desde los 7 mm y no acepta más de 8:

Salida del compilador
t.hoop:4:41: warning W003: 7.5 mm satin: from 7 mm on, split it or use fill

density: auto: en el satín, la densidad automática depende del ancho: las columnas angostas se abren y las anchas se cierran, porque el hilo de una puntada larga se aplana y cubre más. Rara vez necesitas escribirla.

underlay: Auto: también según el ancho. Una columna de menos de 1 mm no lleva subcapa (no cabe); hasta unos 2.5 mm, un corrido por el centro (Center); hasta unos 4.5 mm, un corrido por dentro de cada borde (Edge); y más ancha, borde y además un zigzag (Zigzag) que levanta la columna. Los cortes exactos dependen de la tela.

Por qué el borde va en satín: el canto de un relleno es irregular (las filas terminan donde terminan). Un satín encima lo tapa y deja un contorno limpio y brillante. Por eso el marco va en la última capa (capítulo 6), y el relleno de abajo se achica con .inset: así no se acumula tanto hilo bajo el satín.

run y triple: corridos#

Un corrido es una línea de puntadas una detrás de otra, como a mano.

HoopLang
run negro { path: path { from (5mm, 45mm) line (35mm, 45mm) }, stitch: 2mm }
triple negro { path: path { from (5mm, 52mm) line (35mm, 52mm) }, passes: 3 }
PropiedadTipoRangoNotas
pathPath o Shapeobligatoriacon una forma, recorre su contorno
stitchLength1 a 6 mm2.5 mm por defecto
passesInt (sólo triple)impar, 1 a 73 por defecto
  • run: detalles finos, contornos sutiles, y sobre todo las puntadas que no se ven: marcar dónde va un aplique, o una línea guía.
  • triple: el mismo camino ida, vuelta e ida. Una línea más gruesa y visible, sin llegar a ser satín: el contorno de un dibujo, un tallo fino.

Con una curva, una puntada más corta (1.5 a 2 mm) sigue mejor la forma; en rectas, 2.5 a 3 mm queda más limpio.

passes es impar para que la línea termine en el extremo opuesto al que empezó, listo para seguir:

Salida del compilador
t.hoop:4:40: error E002: passes = 2: odd, 1 to 7 (so it ends on the far side)

Si path es una forma, el corrido recorre su contorno (lo verás en el aplique del capítulo 6). La forma debe ser de una sola pieza:

Salida del compilador
t.hoop:4:19: error E004: run along a shape needs a single piece (this shape has several)

Elegir la puntada: una guía rápida#

Lo que quieresUsa
un área de más de ~7 mm de anchofill
un borde, una columna de 1 a 7 mmsatin (border o along)
un trazo de ancho variablesatin con rails
una línea finarun
una línea fina pero visibletriple
marcar, hilvanar, guiarrun

Si un detalle es demasiado chico para bordarse limpio, el compilador te avisa. Un círculo de 0.5 mm de radio:

Salida del compilador
t.hoop:4:23: warning W001: shape of 0.78 mm²: under 1.5 mm² does not sew cleanly

La tela: fabric#

La misma puntada no se comporta igual en una sarga que en un polar. Por eso el diseño declara su tela, y el compilador ajusta los valores por defecto:

fabricTelaQué cambia respecto de la sarga
Twillsarga, drill, gabardina, algodón firme (por defecto)la base
Piquepiqué de polera, tejido de puntomás compensación, subcapa más cerrada
Fleecepolar, polerón afelpadoaún más compensación y subcapa; satines con puntadas más cortas
Capgorrosatines más cortos, y un orden de bordado propio del gorro
Stretchelástica, bistretch, jerseymenos denso, más compensación y orden del centro hacia afuera
HoopLang
design "Polera promoción" {
  canvas: rect(size: (80mm, 95mm))
  fabric: Pique
}

Lo que escribes en un objeto (density: 0.4mm, pull: 0.3mm) manda sobre el perfil de la tela. Lo que no escribes, lo decide la tela. Y cuando montas un diseño en un bastidor con otra tela (capítulo 9), la del bastidor manda: el mismo escudo se cose distinto en la polera que en el polerón, sin cambiar su archivo.

Resumen#

  • fill rellena áreas anchas; angle, density, stitch, underlay y pull lo ajustan.
  • satin hace columnas de 1 a 7 mm con border, along (y width) o rails; su densidad y subcapa automáticas dependen del ancho.
  • run y triple son líneas; path acepta un camino o el contorno de una forma.
  • La subcapa estabiliza; la compensación de tirón corrige el encogimiento.
  • fabric elige los valores por defecto; lo que escribes manda sobre ellos.

Referencia: primitivas · tipos · diagnósticos · catálogos