Hatching

Hatching fills closed contours with scan lines for a solid burn: filled text, plates, deep engraving. It is configured in the Hatch Settings dialog (the Pen → Hatch… menu, the H key); hatching lives on the object — every object has its own, with its own bounding box.

Five types

Type How it burns
Unidirectional all lines one way: burn → travel back → next line; the most predictable heating, slower than the rest
Bidirectional a “snake”: even lines forward, odd lines back, no travel returns (the default type)
Ring the contour is offset inward repeatedly until it collapses — a “spiral to the center” fill; the line angle does not apply
Optimized Bidirectional a serpentine: between adjacent lines the beam does not jump but follows the contour edge with the laser on; fewer jumps and ragged edges
Gong like Optimized Bidirectional, but gaps inside a line (holes in the shape) are crossed with jumps — faster on shapes with large cutouts

Layers

An object’s hatching is a list of layers (three by default), each layer a full parameter set plus its own pen. A typical setup: layer 1 — fill at 0°, layer 2 — fill at 90° with another pen, layer 3 — a finishing contour pass. Layers are added, duplicated, and deleted with the dialog buttons.

Layer parameters

  • Angle — scan line direction (0° — right, 90° — down, as in EzCad).
  • Space — distance between lines (0.05 mm by default); smaller means a denser fill.
  • Count — fill repeats per mark for the layer.
  • Cross Hatch — a second set of lines at +90°.
  • Follow Edge — an outline pass around the fill area.
  • Optimize Order — nearest-neighbor reordering of lines to minimize jumps.
  • Avg. Distribute — adjusts the spacing for equal gaps, with no “clipped” last row.
  • Advanced: Edge Offset, Num Loops and Loop Distance (edge rings before the fill), Start / End Offset, Line Reduction, and Auto Rotate — an angle increment on every pass.

For the whole object: Mark Contour (burn the outline itself) and the order — Contour First or Hatch First.

Per-glyph hatching of text

Text is hatched character by character: every letter is an independent region, scan lines are not stitched across letters, and the inner contours of letters (o, e, a) stay holes of their own glyph. Works for italic fonts too.

Presets

A preset stores everything: layers with parameters and pens, the contour and its order. Presets are shared across documents; the last applied settings are remembered and seed the next dialog — EzCad behavior.

The in-dialog mini simulation

The PREVIEW section: a static preview of the fill that updates as you change parameters, and a laser path simulation — an animation of line order, jumps, and passes with a current-pass caption, scrubbing, and a speed control. Very dense fills animate simplified, with an explicit badge — the coverage still matches the real fill.

Hardware verification status

  • Hatch types, layers, pass order, and per-glyph fill produce the same command stream as EzCad and are used on the machine daily.
  • Auto Rotate and the start/end offsets are fully implemented, but their systematic cross-check against EzCad on the machine is still in progress; for the offsets, side correspondence is being verified.

Limitations

  • Hatching applies only to closed contours — open lines are not filled.
  • The accumulated Auto Rotate angle is session state and is not saved to the file.
  • On very dense fills (thousands of lines) the preview and the first render are computed in the background.