Objects
A Zenom document is built from 16 object types. Every object carries a pen assignment and its own hatch settings, participates in alignment, snapping and simulation, and can be copied, arrayed and locked.
Shapes and paths
- Five primitives: line, rectangle, circle/ellipse, polygon (3–128 sides) and star (2–64 points, adjustable sharpness).
- Corner rounding everywhere — a shared radius or an independent radius per corner, edited right on the canvas with handles; adjacent radii clamp automatically, so the geometry always stays valid.
- A circle with start/end angles becomes a closed sector (“pie wedge”) that hatching can fill.
- Bézier paths: draw with the Pen tool, edit nodes (corner / smooth / symmetric), break and close contours, round individual corners without destroying the node structure.
- Compound paths keep holes (the letter “O”, a frame with a cutout): fill respects them, and Uncombine takes them apart again.
- Any shape, text or barcode can be turned into editable curves with Convert to Path.
Text
- TrueType/OTF fonts — system fonts plus your own font folders; the Font Manager has favorites, recents, collections and category/language filters.
- Height in millimeters, character and line spacing, alignment including justify, bold/italic, vertical text, independent X/Y stretch that does not distort the font size.
- Touch Type: move, scale and rotate individual characters of a text object.
- Text on a path: around a circle or along any Bézier curve — inside or outside, with vertical placement control and a “keep glyphs upright” mode.
- Break apart splits text into per-character objects that are still editable text — kerning and positions are preserved exactly.
- Each glyph hatches independently, so counters of letters stay crisp.
Variable text and serial numbers
Templates mix fixed fragments with dynamic sources:
- Serial number — start value, increment (negative counts down), repeat count, wrap limit and .NET number formatting (zero padding and more).
- Date/time — any .NET format string, refreshed at the moment of marking.
- File data — lines from a TXT/CSV file with column and separator control.
- Auto-advance after marking steps serials and file rows forward (date/time simply reflects the clock at the moment of marking); in arrays each copy gets its own value — one press of MARK numbers the whole batch.
Barcodes
QR Code, DataMatrix, Code 128, EAN-13 and Code 39. Codes are built as vector modules, so they hatch and mark like any other geometry. QR has selectable error correction; 1D codes can show a human-readable label inside the object bounds. Barcode content can use the same variable templates as text — serialized QR codes out of the box.
Raster images and 3D relief
- Imported images are embedded into the document (no broken external links).
- Engraving modes: threshold, dithering (Floyd-Steinberg, Jarvis, Stucki, Atkinson, Ordered 4×4/8×8), grayscale power modulation and multi-pass 3D Slice relief.
- Brightness, contrast, gamma and inversion — with a live engrave preview on the canvas; marking uses exactly the parameters the preview shows.
- STL models: orient the model in 3D, Zenom bakes a depth map from the chosen view and engraves it layer by layer (intaglio or relief).
- The raster and 3D engraving paths are implemented end to end and work through the emulator and tests; systematic on-machine validation of these scan modes is still in progress.
Containers
- Groups with unlimited nesting and scoped editing (double-click to enter, Esc to leave).
- Editable arrays — rectangular (brick shift, snake order) or circular; edit the source and every copy updates, explode when you need independent objects.
- Live symmetry — draw one half, the mirror follows in real time; contours touching the axis weld into a single shape, so the seam is not burned twice.
Not in Zenom
- No SHX / single-stroke engraving fonts — use a thin contour TTF and mark outlines without fill.
- No barcode inversion (light modules on dark background) and no configurable quiet zone — leave the margin when placing the code.
- No spiral or arrow shape tools — draw a spiral with the Path tool, build an arrow from primitives and a boolean union.