DXNestFabrication manual Open Fabrication

What this program is

DXNest Fabrication is a browser application for nesting and production preparation of façade panels: from a parts list and an elevation layout through sheet nesting, CNC programs, the bill of materials and printable reports.

How to use this manual

  • The search box at the top filters the whole document as you type — enter a label you see in the program. Press / to jump into it.
  • The contents on the left highlights the section you are reading.
  • Click any screenshot to open it full size; Esc or another click closes it.
  • The button switches between light and dark; your choice is remembered.
  • New here? Start with the Quick start. Puzzled by a message on screen? See the Message reference. Unfamiliar term? The Glossary. Something went wrong? When something goes wrong.
  • The document prints cleanly — the contents and header are hidden on paper.

Everything happens in a single browser window. Your data lives on the server in a private space that belongs to your account: projects, your object library and every generated file. There is no public sign-up — accounts are created by an administrator.

The usual route through the program

Part List / Grid parts and elevation Sheet Settings materials and sheets Run ▶ nesting on the server Nesting hand-tune the layout CNC operations and .nc BOM bill of materials Reports Slip · Labels · CutPlan Project Tree download the files
Parts → materials and sheets → run → hand-tune the layout → CNC. The BOM and the reports are computed without a run, at any moment.

The main window

The DXNest Fabrication main window
Top to bottom: the title bar → the toolbar → the tabs → the working area → the status bar. On the right sits the collapsible settings panel.
About unitsEvery dimension is stored internally in millimetres. The selector at the bottom right only changes how numbers are displayed and typed (mm / inches / fractional inches), so switching back and forth never loses precision.

Quick start — your first job in 10 steps

The shortest path from an empty document to files ready for the machine. Every step has its own detailed section — this is just the order.

  1. Sign in with the username and password your administrator gave you. An empty document called Web order opens.
  2. Fill in the header. Right panel → Job Settings: Job Name (it becomes the name of the output folder), customer, date, PO. Set Nesting depth = 0 so the first run is quick.
  3. Describe the material and the sheets. Right panel → Sheet Settings: rename the material, choose its Kind (Steel / Aluminum / ACM), enter the stock formats and how many you have. Add a second material with + if you need one.
  4. Set the margins. Same place: Parts Margin is the clearance between parts, Frame Margin the distance to the sheet edge.
  5. Add the parts. Part List tab → Add part. For each row pick a Type, enter W and H (the depth D fills itself in), the quantity and a name. The material is limited by the type — if the one you need is missing, widen the list in the type's definition.
  6. Look at a part. The eye button in the Edit column shows the geometry exactly as the engine will build it. It is the fastest way to catch a wrong dimension.
  7. Check the BOM. The BOM tab is computed without a run: it already shows profile lengths, cut angles and flat-pattern sizes. If a flat pattern is bigger than your sheet, fix it now rather than after a failed run.
  8. Run the nesting — the Run ▶ button on the toolbar. The app switches to the Nesting tab by itself when the job finishes.
  9. Save the project. The Save project button in the Nesting tab (or the diskette on the toolbar). This is not optional: the server only keeps generated files for a saved project.
  10. Collect the files. Right panel → Project Tree: download them one by one, or press Download all (.zip) in the results window.
Where to go nextOnce the basic cycle works, add the rest: Grid instead of typing rows by hand, your own panel types, your machines and tools, your own report layouts and the API for automation.

What a document needs before it can run

The Run button will not start a job until all three conditions hold:

ConditionMessage if it does not hold
At least one part existsAdd at least one part before running.
The active material has at least one stock sheetAdd at least one stock sheet for the active material.
Every non-angle dimension of every part is greater than zeroCannot run — N parts have a dimension of 0: … listing each part and which dimensions are empty

The parts named in the third message are immediately flagged in the Part List with a .

Signing in

The application and every piece of data behind it are protected by a server session. There is no self-registration: the username and password come from an administrator.

Sign-in screen
The sign-in screen — nothing but the login card.

The sign-in form

Login card

Username is the account name, not the display name. The password is stored encrypted on the server; only an administrator can change it.

The demo

Try the demo button

Try the demo creates a throwaway account and signs you straight in. Everything works except taking files away — see Demo mode.

What happens after you sign in

  • a session opens that lasts at most 12 hours — after that you sign in again;
  • your library of panel types loads, so the Part List immediately knows what you can build;
  • your personal CNC settings and machine configuration are pulled in;
  • an empty document named Web order opens — start filling it in, or open a saved project.
Empty document after signing in
The starting state: one material, Steel 1mm, one 1500×3000 sheet format, zero parts.
Signing outThe Sign out button on the right of the title bar ends the session. As you leave, the server also removes output folders from runs that were not saved as a project — see the API panel.

The window frame

Four permanent strips: the title bar, the toolbar, the tabs and the status bar. They stay the same whichever tab you work in.

The title bar

Title bar
Logo
Logo
The product name. Not a button.
User name
Your name
The account's display name, not the login. It tells you which account you are working under.
Admin button
AdminAdministration
Visible to administrators only. Opens the account management panel — see Administrator panel.
Sign out button
Sign out
Ends the session. In demo mode it reads Exit demo and also deletes the temporary account with everything it produced.
Job name
Document name
On the right is the current Job Name (a field in Job Settings). The same name becomes the output folder for the generated files.

The tabs

Tabs
TabWhen it appearsWhat it is for
Gridwhen the grid button on the toolbar is switched onThe elevation layout: columns × rows of cells that panels are placed into.
Part ListalwaysThe parts table — the master list of what has to be made.
BOMalwaysThe bill of materials: profiles with lengths and cut angles, sheets, hardware.
Nestingafter a successful run (or after opening a project with a saved layout)The interactive sheet-layout editor.
CNCsameViewing and editing the generated machine programs.

The status bar

Status bar
  • On the left — how many part rows the document holds; a warning engine offline appears here if the server did not return the list of panel types.
  • On the right — the unit selector and the application state: Ready, or Running… during a job.
Unit selector
Three modes: mm, inch (decimal), inch (fractions) — the last shows sizes as 23 5/8" and accepts the same form as input.

How dimension fields behave

Every length field — in the Part List, in the sheet settings, in the grid, in the part editor — follows the same rules:

SituationWhat happens
While you typeThe text stays exactly as you typed it — the field does not reformat mid-edit, so a fraction like 23 5/8 can be typed in peace.
EnterLeaves the field and commits the value (the same as clicking elsewhere).
Losing focusThe text is parsed into millimetres, written into the document, and the field is redrawn in canonical form — so you see at once how the app understood you.
An empty fieldMeans 0. A part with a zero dimension will not pass the pre-run check.
Changing unitsEvery field is reformatted, but the stored millimetres are not rewritten — mm → inches → mm loses nothing.
The value changes from elsewhereFor example the grid recomputed a panel — the field updates, as long as your cursor is not in it.
What the field accepts in inch mode23 5/8, 23-5/8, 5/8, 23.62 are all valid. Fractions are rounded to 1/16″. The fields do not evaluate arithmetic (100+50).

The toolbar — every button

Thirteen buttons in groups separated by dividers: project · history · content · run · settings panel.

The whole toolbar

Project

New project
New projectNew project
Resets the document to its starting state: no parts, one material, default fields. The undo history, the last run's results and the link to a saved project are cleared too. It does not ask for confirmation — unsaved work is lost, so save first.
Open project
Open projectOpen project
Opens your private project library. If a layout was saved with the project, the Nesting and CNC tabs come back too.
Save project
Save projectSave project
The save dialog: a project name plus the list of what you already saved. An edited layout is stored along with the document. disabled in the demo

History and content

Undo
UndoUndo
Reverses the last change to the document (parts, materials, settings, grid). Greyed out while the history is empty.
Redo
RedoRedo
Puts back a change you undid. Becomes available right after Undo.
Clear parts
Clear partsClear parts
Deletes all part rows and empties the grid cells at the same time, keeping materials, sheets and settings. Handy when you move a new order onto an already configured template. Undo brings it back.
Import custom DXF parts
Import custom DXFImport custom DXF parts
Picks one or more .dxf files and adds them as CUSTOM parts — see Importing your own DXF files.
Object editor
Object editorObject editor (Assembly Settings)
The parametric object builder: your own panel types, their dimensions, hole rules, BOM content — see Object editor.
Grid
GridGrid — lay out an elevation and place panels in its cells
Shows and hides the Grid tab. The button stays highlighted while the mode is on.
CNC config
CNC configCNC machines, tools & materials
The manager for machines, tools and per-layer machining rules — see CNC machines, tools and materials.
API
APIAPI access & keys
Your disk usage, access keys and the full HTTP API documentation — see The API panel.

Run and the settings panel

Run
RunRun nesting job
The main action: sends the document to the server and performs the full run. Greyed out while the document has no parts and while another run is in progress. Drawn in the accent colour.
Settings panel
Settings panelToggle settings panel
Collapses and expands the right-hand settings panel, freeing space for the table or the canvas.
TooltipsEvery button shows a tooltip on hover — the monospaced line above each description is its exact wording. In demo mode the tooltip of a blocked button is replaced by “Disabled in the demo — the watermarked PDF report is the only download”.

The settings panel

Six accordion sections. As many can be open at once as you like; the state is remembered for the session.

The whole settings panel
The panel with Sheet Settings just expanded.

Collapsed sections

Panel sections

Clicking a heading expands the section. The open one is marked by an accent bar on its left.

Hiding the panel

Collapse handle

The narrow handle on the panel edge (or the gear button on the toolbar) hides the panel completely.

Collapsed panel

Project Tree — the produced files

Before the first run the section shows a structural summary of the document: the job name, the materials with how many sheet formats each has, and the number of parts.

Project Tree before a run

After a run it becomes a real tree of the generated files — exactly as they sit on the server.

Project Tree after a run
Folder row
Folder row
Clicking it collapses or expands the branch. Folders always sort before files.
File row
File row
The icon on the left shows the kind (DXF, NC, PDF, XLSX, image). On the right: the eye previews DXF geometry right in the browser; the down arrow downloads the file.
Folder in the treeWhat is inside
nesting/<material>/The sheet-layout DXFs — what goes to the cutter.
parts_dxf/<material>/The flat pattern of every individual part.
CNC/<material>/The .nc machine programs, one per sheet.
*_report.pdfThe printable sheet report, one per material.
*.xlsxBOM, Packing Slip, Labels, CutPlan — depending on which reports are switched on.
layout.jsonThe machine-readable description of the layout — this is what the Nesting tab reads.

Job Settings — the order header

Job Settings
FieldWhat it does
Job NameThe name of the order. Shown in the title bar and used as the name of the output folder, so every generated file lands in it.
Date, InvoiceDate and invoice number — they reach the headers of the Packing Slip, Labels and BOM.
CustomerThe customer.
Ship toThe delivery address (also available in templates as the address field).
POThe customer's purchase-order number.
Nesting depth (0–6)How hard the engine searches for a tighter layout. 0 is a fast greedy pass; higher values pack better but run time grows sharply.
Part Code EngravingEngrave the part code onto the part itself. Visible on the layout canvas and in the CNC tab as separate engraving operations.
In practiceStart with Nesting depth = 0. Once the order content is final and you want to squeeze out the last percent of yield, raise it to 2–3 and run again.

Sheet Settings — materials, sheets and margins

Sheet Settings

Margins

Parts Margin / Frame Margin
  • Parts Margin — the minimum clearance between parts.
  • Frame Margin — the distance to the sheet edge on all four sides.
  • Frame margin per side — switch it on to set each side separately (Top / Right / Bottom / Left). The sides start from the previous common value.
Per-side margins

Nesting options

  • Allow part rotation — let the engine turn parts. Switch it off for directional material (brushed, patterned, anodised).
  • Trim overlapping lines — remove lines that coincide on neighbouring parts so the cutter does not travel the same path twice.

Materials

Material tabs

Each material is its own tab. A dot “·” next to the name means no part uses that material yet (you can configure it in advance). + adds a material; the router icon on the right opens the CNC rules for that material.

Material editor
FieldMeaning
Material nameThe name you see and the one printed in reports.
KindThe material class for the engine: Steel · Aluminum · ACM. This is what decides which machine and which machining rules apply.
CNC machineAppears when your configuration has a machine able to process this kind. Auto picks the first capable one; None means no CNC output for this material.
binRemoves the material. The last remaining material cannot be removed.

Stock sheets

Sheet table
ColumnMeaning
Width / HeightThe size of the stock sheet.
QTYHow many sheets of that size are available.
PriorityThe order they are consumed: 1 is used first, then 2, then 3; none means no preference. Use it to burn off remnants or the cheaper format first.
When a part does not fitThe run fails with an explanation that the part plus the frame margin is larger than any configured sheet. Remember that what gets nested is the flat pattern (with its returns), not the assembled panel — it is considerably bigger.

Profile Settings — linear stock

Profile Settings
  • Kerf Width — the saw kerf; it is subtracted at every cut.
  • The bar table — name, length, quantity in stock.
  • Add bar — add a stock entry.
  • Export cut plan — pack the profile pieces from the BOM into these bars (first fit) and download the optimised plan as Excel. disabled in the demo
Where the pieces come fromNot from this table. The pieces themselves are described in the objects (BOM — Profiles in the object editor) and reach the BOM automatically. Here you only say which bars to cut them from.

Report Settings — which reports to produce

Report Settings
Report row
The checkbox means “generate automatically during a run”. The Download button produces the report right now, without nesting.
ReportWhat it contains
BOMThe bill of materials: profiles with lengths and cut angles, sheets with flat-pattern sizes, hardware.
Packing SlipThe packing slip: order header, part rows, total quantity.
LabelsA printable label sheet — one label per part, tiled across the page.
Profile cut planThe cutting plan for the bars defined in Profile Settings.

The Edit template… buttons open the layout editors for the Packing Slip and the Labels — see Reports and the layout editor. The tag project template means this project carries its own layout, overriding your personal default.

General Settings

General Settings

Shows the connection to the engine and how many panel types are loaded. If it reads Offline, the server is unreachable and the Part List cannot offer any types. The unit selector deliberately lives in the status bar so it is always within reach.

Part List

The main table of the document. One row is one line item: panel type, dimensions, quantity, name, material.

The parts table

The action bar

Action bar
Add part
Add part
Adds a row named Part N. The type is chosen automatically (the first suitable type with W/H/D), the depth comes from its Default Depth and angles from their defaults; width and height are yours to enter.
  • Duplicate — copies the selected rows with all their dimensions and inner contours.
  • Remove — deletes the selected rows.
  • Set group material… — changes the material for a whole material group at once (see below).
  • On the right — a counter: N parts or N selected.
Set group material

The columns

Table header
ColumnMeaning
#The row number. Clicking it selects the row; Ctrl/+click adds to the selection. A replaces the number when the part could not be placed in the last run.
W · H · D · W2 · ANGLEA · ANGLEB …Dimension columns are built dynamically: only those needed by the types actually present are shown. A dash “—” means this type has no such dimension.
QtyHow many identical parts.
NameThe part designation. It goes into the reports, into the flat-pattern file name and into the engraving.
TypeThe panel type from your library. Changing it rewrites the set of available dimensions.
MaterialWhat to cut it from (constrained by the type — see below).
EditThree actions on the row.

The buttons in the Edit column

Row actions
Actions
Pencil · Eye · Bin
Pencil — the part editor (name, quantity, dimensions, rotation, inner cut-outs). A small badge shows how many inner contours are already there. Eye — a quick geometry preview. Bin — delete the row.

Three kinds of dimension cell

A number

An ordinary row

A normal length field. It accepts the units selected in the status bar; internally the value is always millimetres.

An angle from a list

A row with angles

If the type has a variable angle, the cell becomes a dropdown of the permitted values (min…max with the declared step) — an arbitrary number cannot be typed.

A fixed value

A CUSTOM row

For CUSTOM (DXF) parts the dimensions are shown in italics and cannot be edited: they were read from the file.

Materials and material groups

A part's material is constrained by its type. The type declares a list of allowed materials and a group name:

  • A single-material type — the cell shows it as plain text, with no choice (a Back Pan is always Steel 1mm).
  • A multi-material type — a dropdown of the allowed materials only (a Standard: Aluminum 3mm or ACM 4 mm).
  • CUSTOM — any material in the project.

The Set group material… list is grouped by group name (“Exterior Panels”, “Back Pan Panels”, “Custom Group”) — one pick switches every part in the group.

What happens when you change a part's type

  1. Dimensions you already entered are kept — the app does not wipe W and H just because you switched type.
  2. Dimensions the new type is missing are filled from its settings: depth from Default Depth, fixed dimensions, angles from their defaults.
  3. If the part's current material is not allowed by the new type, it switches to the first allowed one. If that material does not exist in the project yet, it is created.
  4. The set of dimension columns is rebuilt around the types actually present in the list.
Materials create themselvesPicking a material by name (in the cell or through Set group material…) adds it to the project if it was not there — with an empty list of sheet formats. Do not forget to give it sheets in Sheet Settings, or there will be nothing to nest it on.

Small things that save time

  • Materials with no parts at all are left out of the run entirely — you can keep spare materials configured in advance.
  • If a part's material was deleted, the part is not lost: it runs with the first material that does have parts.
  • Duplicate copies inner contours as well.
  • Row order drives the numbering in reports and labels — drag rows to get the order you want.

Selection and ordering

A selected row
  • click the row number to select it; Ctrl/+click adds or removes;
  • a row can be dragged by any part of it and dropped onto another — the list order changes (and with it the numbering in reports);
  • rows that failed to place in the last run are highlighted and carry an explanatory tooltip.

Importing your own DXF files (CUSTOM)

An existing drawing can go into the nesting as it is — no parametric type required.

  1. Press Import custom DXF parts on the toolbar and pick one or several .dxf files.
  2. The server reads each file, works out its extents and stores it in your import area.
  3. A row of type Custom (DXF) appears in the Part List, named after the file without its extension.
An imported CUSTOM part in the list
Row 7 is the imported Bracket A.dxf: the size 420 × 260 is shown in italics (it came from the file), the type cannot be changed, the material is yours to choose.
Preview of the imported geometry
The eye button shows exactly the drawing that will be nested — contour in green, holes in red (colours follow the DXF layers).
Part editor for a CUSTOM part
In the editor of a CUSTOM part only Name and Qty are available: the geometry and the size belong to the file.
What the file must containA closed outer contour on the expected layers. If the engine finds no usable geometry, the run stops with “DXF contains no usable nesting geometry”.
Where imported files liveIn your personal space on the server, as their own group. They survive runs and are reused every time the project runs again, and automatic clean-up never touches them.

The part editor and inner contours

The pencil in a Part List row opens the part's card with a live geometry preview.

Part editor

The basic fields

Part editor fields
  • Name, Qty — the same as in the table, only easier to edit.
  • Dimensions — every one the type declares; angles are dropdowns of permitted values here as well.
  • Rotate 90° — force the part to be turned when nesting (material direction, texture).

Inner contours (cut-outs)

Add-contour buttons

Four cut-out shapes:

ShapeFields
RectangleCenter X · Center Y · Width · Height
Rounded rectCenter X · Center Y · Width · Height · Corner R
CircleCenter X · Center Y · Radius
SlotCenter X · Center Y · Width · Height
A contour card
A part with inner contours
Every contour you add appears immediately in the preview on the right.
Part preview
The preview redraws as you type.
Coordinate systemCoordinates are measured from the bottom-left corner of the part, in the selected units. Contours land on the INNER CONTOUR layer and are machined by the “Inner contour” layer rule.
SavingThere is no separate Save button — changes apply to the part immediately. Done just closes the window.

The DXF viewer

One viewer is used everywhere: for parts in the list, for files in the output tree, for object previews.

DXF viewer
Viewer toolbar
  • Fit — fit the drawing to the window;
  • mouse wheel — zoom around the cursor;
  • drag — pan;
  • on the right, the number of drawn entities.

Layer colours

ColourWhat it usually is
greenouter contour / cut
redholes
cyangrooves, fold lines
yellowinner contours
grey / whiteother lines, text

Grid — the elevation layout

Instead of typing dozens of rows by hand you draw the façade: columns × rows of cells with joints between them. Every filled cell creates — and keeps in sync — one part in the Part List.

The tab appears once you press Grid on the toolbar.

The Grid button switches tabs immediatelyTurning it on opens the Grid tab; turning it off returns you to Part List. The cells themselves are not lost when you turn it off — the grid is simply hidden along with its tab.
An empty grid

How the panel size is worked out

This is the key rule of the tab; without it the numbers in the cells look puzzling.

  • A column width and a row height are the module, measured from joint centre-line to joint centre-line.
  • The panel in a cell = the module minus half a joint on each of its four sides. That way two neighbouring panels always leave exactly one whole joint between them.
  • The outer boundaries of the elevation default to a joint of 0 — the panel runs out to the edge. They can still be given their own width like any other line.
  • The default joint is 16 mm (≈ 5/8″); a fresh grid is 4 columns × 3 rows of 1000 mm.

Example: a 1200 mm column with 20 mm joints left and right gives a panel of 1200 − 10 − 10 = 1180 mm.

How a joint sets the panel angle

  • An angle on a line is the turn of the wall at that joint.
  • The two panels either side share the turn, so the panel angle is 90 + wall angle / 2. A flat line (0) leaves a square 90° edge; a 90° wall corner bends the panel to 135°.
  • The result snaps onto the values the type allows (Min…Max with the declared Step). If it falls outside the range it is pulled to the limit and the cell is highlighted yellow — that is the “clamped” warning.
A yellow cellMeans the angle the wall geometry demands is one the panel type cannot produce. Either change the wall angle, or widen the angle range in the type's definition (object editor → Variable AnglesMin/Max).

Where a panel takes its angles from

CaseAngle sources, in the order of the type's dimensions
An ordinary cellIts vertical edges first (left, then right). If only the horizontal lines carry an angle, those are used instead (top, then bottom).
A horizontal corner panelThe first angle comes from the shared line (the corner itself), then the far left line, then the far right one. W = the left cell, W2 = the right cell, H = the row height.
A vertical corner panel (soffit)The first angle comes from the shared horizontal line, then the top one, then the bottom one. W = the height of the upper cell, W2 = the height of the lower one, H = the column width.

A panel is handed only the dimensions its type declares — anything else is dropped.

The top row of controls

Grid toolbar
ControlWhat it does
Rows / ColsThe number of rows and columns. Applied on Enter or when the field loses focus.
Joint X / Joint YThe default joint between columns and between rows. Individual joints can override it.
Place type…Put a panel type into every selected cell. The matching parts are created at once.
Corner panel…Join two neighbouring cells into a single corner panel spanning the joint between them. The list only offers types that can form a corner (they declare W2 or have a variable angle).
SplitBreak a corner panel back into two cells.
Disable / EnableMark a cell as “no panel” (a window opening, say) or bring it back.
EmptyRemove the type from the cell — its part disappears from the Part List.
Clear allEmpty every cell in the grid.
− / +Zoom the canvas.
Limits: 1 to 200 rows and columns; zoom from 0.02 to 0.6 pixels per millimetre, in ×1.25 steps.

Selecting cells

  • Click — select one cell;
  • Click and drag — a rectangular region;
  • Shift+click — extend the selection to that cell;
  • Ctrl/+click — add or remove a single cell;
  • click empty background — clear the selection;
  • double-click a filled cell — jump to the Part List with that panel's row selected.

The second row of controls — contextual

It shows whatever is currently picked: either a joint, or cells.

Cells selected

Controls for selected cells

The Top / Right / Bottom / Left fields set the joint for these cells specifically, overriding the default. An empty field means “as everywhere else” (the inherited value shows as the field's placeholder). Default clears the override.

A joint selected

Controls for a joint
A joint with a 90° angle
ControlWhat it does
AngleThe wall turn at this joint, in degrees. 0 is a flat wall.
90 · −90 · 0Presets: outside corner, inside corner, reset.
→ 135°For reference: the angle the panels themselves will get. A panel is mitred to 90 + angle/2, because two panels share the joint equally.
JointThe width of this particular joint; empty means the default.
DefaultReturn the joint to the default width.

What a cell shows

An ordinary panel

A grid cell

The type name, the computed panel size (module minus half joints) and the reference R1C1 — row and column.

A corner panel

A corner cell

The panel occupies both cells; the size reads W × H + W2, where W2 is the second leg.

Extra markers: a small dot in the corner means this cell has its own joint override; a yellow frame warns that a computed angle had to be clamped.

Hovering a cell

The cell tooltip gathers everything known about it: Cell R2C3, the panel size in your units (or Disabled), the type, where each angle came from (ANGLEA = 135° from corner line V2 (wall 90°)) and the name of the created part. A line's tooltip shows its number, the joint width and the angle with the resulting panel angle.

What happens when you resize the grid

  • Growing — new columns and rows take the size of the last existing column/row.
  • Shrinking — cells and line overrides that fall outside are removed along with their parts; a corner pair that lost half of itself is split automatically.

Corner panel rules

  • Only two neighbouring cells can be joined (horizontally or vertically) — the control stays disabled until exactly two neighbours are selected.
  • The panel “belongs” to the upper-left cell of the pair; the second becomes its continuation and has no part of its own.
  • The Corner panel… list contains only types capable of a corner: those declaring W2 or having a variable angle.
  • Split breaks the pair: the primary cell keeps its type, the other becomes empty.
  • Placing a type in a cell (Place type…) automatically clears its Disabled state and breaks an existing corner pair.

How the grid drives the parts

  • Every filled cell creates exactly one part, named after its coordinate: R1C1, R2C3
  • New parts are appended left to right, top to bottom.
  • Emptying a cell (Empty), disabling it (Disable) or Clear all removes the matching parts from the list.
  • The grid only rewrites geometry: W, H, W2 and angles. Quantity, name, material, depth and inner cut-outs stay exactly as you set them in the Part List.

A full example

A filled grid
Top row Standard, bottom row Back Pan. Cell sizes are typed straight into the row and column headers.
A grid with an angle and a corner panel
Joint V2 was given a 90° angle: it turned solid and picked up a 90° badge. The two neighbouring cells were joined into a Corner panel of 1180 × 2390 + 880.
Parts created by the grid
The same panels in the Part List. Their sizes and angles are recomputed by the grid automatically; quantity, name, material, depth and cut-outs stay under your control.
How to think about the gridThe grid owns the panel's geometry (width, height, angles); the Part List owns everything else. So change module sizes in the grid, and names and materials in the list.

BOM — the bill of materials

Computed by the engine from the current parts list and refreshed on its own whenever you change something. No run needed.

The BOM tab

How the table is structured

Rows are grouped into sections with orange headings:

SectionWhat is in it
ProfilesLinear profile pieces: cut length, quantity, cut angles A and B.
SheetSheet blanks with their flat-pattern sizes (Flat Pattern W / H).
Blocks, Screws, Sealant, …Hardware and consumables declared in the objects.
The BOM table

The columns

ColumnWhat it means
#A running item number (section headings are not numbered).
Panel NameThe item name: for a profile, profile name + segment label + part name; for a sheet, Sheet <part name>.
Profile LengthThe length of one piece after Cut Distance is taken off each end. Empty for sheet items.
QTYThe quantity including the part's own quantity (the expression from the object definition × the number of parts).
Cut Angle A / BThe cut angles at the two ends of the piece.
Flat Pattern W / HThe extents of the flat pattern of a sheet blank — this is the number that has to fit the sheet once the frame margin is taken into account.
The fastest pre-run checkCompare Flat Pattern W / H with your sheet formats in Sheet Settings. If a flat pattern is larger, the run will fail — better to find out here.

The export buttons

BOM toolbar
  • Export BOM — the whole table as a formatted Excel file;
  • Packing Slip — the packing slip in your layout;
  • Labels — the label sheet;
  • on the right, the number of items, or Computing… while the engine works.
Where the BOM content comes fromEvery panel type describes its own profiles (BOM — Profiles) and extra items (BOM — Details) in the object editor. Quantities may be expressions such as 4 * qty. Change the object definition and the whole bill of materials changes with it.
In the demoAll three exports are disabled: the only file that can leave the server is the watermarked PDF report.

Reports and the layout editor

The Packing Slip and the Labels have a full layout editor — a table with merged cells, fonts, borders and placeholders for both document fields and per-part columns.

Packing Slip

Packing Slip template editor

The sections of a layout

Layout sections
  • Header — the top of the page: company name, order fields, column headings;
  • Part rows — the row that repeats for every part;
  • Footer — totals, signatures.
The Part rows section
In Part rows the per-part column tokens become available — this is where one printed row is described.

The formatting bar

Layout editor toolbar
GroupButtonsWhat they do
FontB · I · U · sizeBold, italic, underline and point size for the selected cells.
Alignmentleft · centre · rightHorizontal text alignment.
CellsMerge · SplitMerge the selected rectangle into one cell, or split it back.
Structure+Row · −Row · +Col · −ColInsert a row below / delete a row / insert a column to the right / delete a column.
BordersBorder · NoneAdd or remove borders across the selection.
PlaceholdersField…Insert a document field into the cell: Customer, Address, Ship To, PO, Date, Invoice, Job Name, Material.
PlaceholdersPart column…Insert a per-part column: №, QTY, Name, Type and every dimension your parts actually use (Width, Height, Depth, Return W, Angle A/B…). Only active in the part-row section.
FillFill…Accent · Light · None.
SizeW · HColumn width and row height for the selected cell.
Toolbar with a cell selected
The W / H fields appear when exactly one cell is selected.

Editing the content

  • Click selects a cell, drag selects a range;
  • double-click edits the text; Enter confirms, Esc cancels;
  • green text in braces is a placeholder ({customer}, {QTY}), not literal text.
The Footer section

Saving a layout

Layout save buttons
ButtonWhat it does
Apply to projectStore the layout in this project (it overrides your personal default).
Save as my defaultMake it your personal default — it will apply to every new project.
Clear my defaultRemove your personal default; the built-in one comes back.
Remove project overrideRemove this project's own layout (the button only appears when one is stored).
Reset to defaultReset what is currently in the editor back to the default.
Export nowProduce this report as Excel right away. disabled in the demo

The window title tells you where the current layout came from: built-in default, your default or this project, plus an unsaved tag when there are pending changes.

Labels

Labels template editor

There are no three sections here but one label block, tiled across the page. The tiling is controlled at the top right:

Label tiling options
  • Columns — how many labels across;
  • Col gap / Row gap — the spacing between them, in table cells.
Tokens on a labelUse {QTY}, {Width}, {Height}, {Name}, {№} for the values of the individual part and {customer}, {job_name} for order fields. Everything else is printed literally.

Running a job

The Run button sends the document to the server: the engine builds the geometry of every part, lays them out on sheets and generates DXFs, CNC programs and reports.

The check before anything is sent

Before anything reaches the server the app validates the document locally. If something is wrong, the window opens straight away with the error and no job is created:

MessageCauseWhat to do
Add at least one part before running.The parts list is empty.Add a part in the Part List, or fill some grid cells.
Add at least one stock sheet for the active material.The materials that carry parts have no sheet format at all.Sheet SettingsAdd sheet.
Cannot run — N parts have a dimension of 0A required dimension is empty or zero. Angles are not checked, and neither are CUSTOM parts (their size comes from the file).The message lists each part and which dimensions are empty; those rows get a .

While it runs

Run progress
While the job runs the window shows the current stage. The calculation happens on the server, so the interface never freezes and stays usable.

The usual stages: preparing the parts → nesting onto sheets → generating DXF → CNC → reports.

How to read the progress barThe label above it is the real stage reported by the server (Queued…, Nesting parts onto sheets… and so on). The bar itself is a liveliness indicator: it eases towards the end but never reaches it until the real result arrives. An almost-full bar does not mean almost done.
The queueQueued… means the server is busy computing somebody else's job. Yours starts automatically when its turn comes. If the state does not change for a very long time, the previous job probably ran with a high Nesting depth.

When the run succeeds the app switches to the Nesting tab by itself, provided a layout was produced.

A successful finish

Run results

The files are grouped by kind: Report (PDF), CNC programs (.nc), DXF files, Other files. Each row shows the size, an eye for DXFs and a download button.

A result file row
A group of result files
Each group is one kind of output; here the CNC programs with sizes and download buttons.
Download all button
Download all (.zip) at the bottom takes the entire output folder as one archive.

Warnings worth reading

CNC skipped for some materialsMeans some of your parts are of types that produce no CNC output (a Back Pan, for instance). Their layouts and reports were created; a machine program was not. Whether CNC is produced is set by the CNC allowed checkbox in the panel type.
This job is not saved as a projectThe server keeps results only for a saved project. If you do not save, the folder is removed when you sign out. Save the project — or download what you need right away.

When a run fails

Error: the part does not fit a sheet
The most common failure: the flat pattern is larger than any configured sheet. The message carries the exact part size, the formats that were checked and a list of what you can change.
Error: no usable geometry
The second common failure: the engine could not build usable geometry (here because of an impossible combination of depth and angles). The path to the offending file is quoted in the text.

Parts that could not be placed are afterwards flagged in the Part List with a .

After the run

The app after a run
The Nesting and CNC tabs have appeared, and Project Tree now holds the whole tree of generated files.

Nesting — the layout editor

Whatever the engine produced can be reworked by hand: move a part, rotate it, delete it, bring one back from the queue, change the sheet format or the margins — and rewrite the files on disk.

The Nesting tab

The bar at the top

Nesting toolbar
ControlWhat it does
MaterialSwitches between materials (each is nested separately). Only shown when there is more than one.
FormatChange the format of the current sheet to another one configured in Sheet Settings. Parts keep their coordinates, so after shrinking a sheet some may end up outside — check the layout and move them.
Margins … · gap …Opens a small panel with this sheet's margins.
Delete sheetDeletes the sheet; all its parts return to the unplaced queue.
Save sheet DXFExport the current sheet as DXF. demo
Save all DXFEvery sheet of the material: a single DXF or a .zip. demo
Recompute CNCRewrite the layout DXFs and the CNC programs on disk from the current canvas. A dot “•” on the button means there are unsaved edits.
Save projectSave the project together with the layout (recomputing the files first if needed). demo
Sheet margins
Frame margins on all four sides and the gap between parts, for this sheet. Apply to all sheets pushes them onto every sheet of the material.

The sheet list

Sheet list
A sheet card

For each sheet: name, size, number of parts and which they are. A ×4 badge means this sheet repeats four times (the same layout, multiplied by the run quantity).

What ×N meansThe engine found that this very layout is needed N times — so there will be N physical sheets, all cut from one program. An edit on such a sheet applies to all of its copies.

The unplaced queue

The unplaced panel
Unplaced parts

Everything that did not fit, or came back after a sheet was deleted, ends up here. The thumbnail is drawn from the part's real contour; next to it is the remaining quantity.

Geometry loads progressivelyPart contours are separate files on the server, fetched in batches. While that happens a bar reads Loading part geometry N/M…. Until it disappears some parts may not be drawn yet — just wait.
Placing mode
Clicking a part enters placing mode: a ghost of the part follows the cursor.
Placing bar
Selected part in the queue
Canvas hint in placing mode
  • click a free spot — drop one copy;
  • drag — lay down an array of copies (as many as fit and as many as remain);
  • Angle / Rotate 90° — the angle the copies are placed at;
  • Esc or Cancel leaves the mode.

Working on the canvas

Layout canvas with a selected part
Canvas hint
ActionHow
Select a partclick it
Movedrag
Rotatedrag the round handle, or use the Angle field, or press R (90° steps). With Shift the angle snaps to 15°
DeleteDelete / Backspace, or the Delete part button
DeselectEsc
Zoom / panmouse wheel / drag the background; Fit fits the sheet
Selected-part bar
The bar shows the part's number and name, lets you type an exact angle, rotate by 90° and delete it.

The magnet

While you drag, a part snaps to the right distance as soon as it comes close enough (about 8 screen pixels):

  • onto the sheet's frame-margin lines — the part lands exactly on the edge of the working area;
  • onto a neighbour's contour offset by the gap — leaving precisely the configured clearance rather than an eyeballed one.

Snapping is computed from the real contour, not a bounding box, so shaped parts nest tightly. The same magnet works when placing a new part.

When a move is rejected

  • the part leaves the sheet's working area (sheet minus frame margins);
  • its contour comes closer to another part's contour than the configured gap.

An invalid position is drawn red while you drag, and on release the part returns to where it was.

A part that stays redInteractive dragging simply refuses an invalid position, but a part can become invalid another way: you typed an angle into the Angle field, or you shrank the sheet format. Such parts are drawn red permanently — an invitation to move them by hand until the highlight goes away.

Rotation

  • the handle above the selected part — drag to rotate; with Shift the angle snaps to 15°;
  • the Angle field accepts any number (normalised to 0…359°);
  • R or Rotate 90° steps by 90°;
  • rotation happens about the bottom-left corner of the part's footprint, as it does in the engine, so the angle on screen and in the program agree.

Arrays of copies

In placing mode hold the mouse button and drag: a grid is built out from the first copy. The step is the part size plus the gap between parts; the direction follows your drag. Only valid copies are laid down — those that would leave the sheet or clash are skipped — and the total is capped by the remaining unplaced quantity.

After hand edits

  1. Edits live in the browser and are marked by a “•” on the buttons.
  2. Recompute CNC rewrites the layout DXFs and machine programs to match the new arrangement.
  3. Save project does the same (when there is something to recompute) and stores the project with its layout — after that it can be reopened without running again.
Why the order mattersIf you edited operations in the CNC tab but did not touch the layout, Save project performs no recompute — your edits in the .nc survive. A recompute only happens when the layout itself changed.

CNC — the machine programs

Shows the generated program for each sheet: the toolpath with its travel order, and the operation list you can reorder.

The CNC tab

The bar at the top

CNC toolbar
Sheets with programs
On the left, only the sheets that actually produced a .nc; the file name is shown under each.
  • Material — switch materials; only those that produced CNC output are listed;
  • a caption such as CNC Woodwork · 3mm Aluminum — the machine and the rules the engine applied;
  • Edit CNC rules… — opens the CNC manager on exactly that material;
  • Recompute — regenerate the program;
  • Save project — write any unsaved operation edits into the .nc and save the project;
  • on the right, the number of operations and the tools involved.

The toolpath preview

Toolpath

The operations themselves are drawn plus a travel line connecting them in execution order — so wasted rapid moves are visible at a glance. The sheet outline is drawn as a frame.

Operation kindHow it is drawnColour
Drill, Weepa small circle at the pointred
Engrave, Groovea polylinecyan
Chart, Cut, Mill, Contoura polylinegreen
anything elsea polylinelight grey
travel between operationsone continuous polylineblue
the sheet outlinea framelight

Single-point operations (drilling) are shown as circles of a nominal radius — a position marker, not the hole diameter.

A highlighted operation
Selecting an operation in the list highlights its points in orange on the drawing.

The operation list

Operation list heading
An operation row
A selected operation
The operation list
ElementMeaning
⋮⋮The drag handle: rows can be swapped to change the machining order.
The position in the current sequence.
KindDrill, Engrave, Groove, Cut/Contour… The colour matches the drawing.
LabelThe operation label from the program.
toolThe tool for this individual operation. The field suggests the material's configured tools.
X… Y…The entry point coordinate.

Save CNC rewrites the .nc with the new order and tool assignments; it is only enabled when there are changes.

Where the tool suggestions come fromTwo sets combined: the tools declared in the material's CNC settings (the tool fields and the diameter table), and any already named in the program's “Required tools” header. The field is not restricted to the list — you may type your own name.

The order of saving — important

  1. Edits to the operation order and tools live in the browser until you press Save CNC (or Save project, which does it for you).
  2. Save project first writes the pending operation edits into the .nc, then stores the project.
  3. A layout recompute (Recompute) rewrites the .nc from scratch — every hand edit to order and tools in it is lost.
The ruleGet the layout right first (Nesting tab), recompute the CNC, and only then edit the operations. The other order throws your program edits away.
If the tab is emptyThat is normal when none of the order's materials produce CNC — for instance only Steel 1mm with Back Pan types. The message says so directly.

CNC machines, tools and materials

This is the brain behind the machine programs. You describe your machines, their tools and the machining rules for every layer of every material — and the engine uses them on every run.

CNC manager

The tabs

CNC manager tabs
  • Form — the ordinary editor with fields and tables;
  • JSON (this material) — the same content as a file: handy for copying between installations;
  • Guide — a reference for every field with a fully worked example;
  • Import all… / Export all — a backup of the entire configuration (all machines and materials). export disabled in the demo

The machine

Machine selector

The list of machines, a field to rename the current one, and + Machine to add a new one (it inherits the current machine's tools).

The material library

Material library

Shared by every machine. Each entry has:

  • Name — for example 3mm Aluminum;
  • KindSteel / Aluminum / ACM. The kind is what links a project material to these machining rules;
  • Default machine — which machine to use when a job does not name one.

The tool library

Tool library
ColumnMeaning
#The tool number (the T word in G-code).
LabelThe human name shown in the pickers.
Ø mmThe diameter — used by the per-diameter hole rules.
HThe length-offset register (the H word); defaults to the tool number.

Per-layer machining rules

Material selector for a machine
The material within a machine: + Add material… attaches an entry from the library, Export / Import material… moves the rules as a file.
Layer rules

For the chosen material × machine pair there is one row per layer:

LayerWhat it machines
ContourThe outer contour of the part.
Inner contourThe cut-outs added in the part editor.
GroovesFold grooves (usually a V-shaped cutter).
Weep linesDrainage slots.
Engraving (name)Engraving the part code, when Part Code Engraving is on.
ParameterMeaning
ToolA tool from this machine's library.
Depths (mm, per pass)Pass depths separated by commas: 1.15, 2.3, 3.45 means three passes.
Feed Z / Feed XYPlunge feed and working feed.
PeckThe peck-drilling step.
RPMSpindle speed (the S word).
The “Engraving (name)” row is differentIt has a single depth instead of a list of passes and no Peck — engraving is one pass. The other fields are the same.
An empty RPMMeans “do not set a speed in this row” — the machine keeps whatever the G-code block established.

Holes

A table of its own: an any (default) row plus as many “from Ø to Ø” rules as you like. A hole takes the first rule whose range contains its diameter; if none matches, the default applies.

  • Rules are checked top to bottom — keep narrow ranges above wide ones.
  • A new rule is created as a copy of the default, so you only change the diameters and the tool.
  • Per-diameter rules have no speed of their own: they take the RPM from the drilling block (the Holes default row). The table shows a dash for that.

G-code blocks

G-code blocks
BlockWhen it is emitted
Start CNC CodeAt the start of the program.
Start DrillingBefore the drilling block.
Start GroovingBefore the grooves.
Start MillingBefore contour milling.
End CNC CodeAt the end of the program.
Two-way synchronisationThe Tn M06, G43 Hn and /M03 Sn lines in these blocks stay automatically in step with the tables above: change a tool or a speed and the matching line updates; edit one of those lines and the field updates. Milling ↔ the Contour row, GroovingGrooves, Drilling ↔ the holes default. Every other line is yours to edit freely.

Only lines with recognised words are synchronised. Changing a tool number (#) or offset register (H) in the tool library updates the blocks of all materials on that machine.

What imports and exports cover

ButtonScopeWhen it helps
Export all / Import all…The whole configuration: every machine with its tools, the material library, every rule.A backup; moving your setup to another server or another user.
Export material / Import material…One file = one material on one machine: the layer rules, the holes and the G-code blocks. Tools are not included — they belong to the machine.Handing over proven cutting parameters for a particular material.
Save applies to everythingThe Save button at the bottom stores the whole configuration, not just the material you have open. The next runs use the new settings immediately; programs already generated do not change until you press Recompute.

JSON and Guide

Material JSON
One file per material × machine. Apply to form / Reset from form move changes between the text and the form; Export material / Import material… move them between installations.
Configuration guide
The Guide tab is a fully annotated example of a material file with every field explained.
Saving the configuration
Save makes these settings effective for every subsequent run.

Object editor — building panel types

The most powerful part of the application: here you describe what a panel of a given type is — which dimensions it has, how its geometry stretches, where holes are drilled, what its BOM consists of and which parts are made together with it.

Object editor
Editor with an object selected
A selected object fills every table of the form, and the built geometry appears on the right at once.

The three columns

Left — the library

Object library

Your objects: display name, type code and the list of dimensions. × deletes an object, + New Object starts a new one.

Right — the preview

Object preview

Two modes: Reference DXF, the source drawing you mark up, and Scaled preview, the result built at test sizes.

The action bar

Object editor action bar
Form/JSON tabs
Form / JSON
The form with its tables, or the complete definition JSON. Note: edits in JSON are used directly for Build & Preview and Save, but the form tables are not updated from JSON.
  • Load DXF… — load the reference drawing (the part at its minimum size) that you then mark up;
  • Import JSON… — load a ready definition from a file;
  • Build & Preview — build the object and show the result;
  • Save to library — store it; the type becomes available in the Part List straight away.

General Info

Object general info
FieldMeaning
Display NameWhat the type is called in the interface.
Type CodeA short code (R, C, BCAB…). Also used by the API and in file names.
Material GroupThe group name used for changing the material of a whole family at once in the Part List.
Default DepthThe depth given to new parts of this type.
MaterialsThe allowed materials. Empty means any. Class is the identifier used to group parts into per-material nesting jobs (steel_1mm).
CNC allowedWhether machine programs are generated for this type.
Layer AliasesLayer names in incoming DXF files that count as “this type”.
Type materials
Materials help

The mark-up sections

Seven sections follow. Each heading carries an icon — hovering it shows an illustrated hint inside the program; they are reproduced here.

Reference Geometry

Reference geometry
Reference Geometry help

Shows what could be read from the drawing: how many contour points, holes, inner contours and grooves.

Parameters — the dimensions

Parameters
Parameters help
ColumnMeaning
NameThe dimension code in capitals: W, H, D, and also W2, H2, A, L
MinThe size the reference drawing is drawn at.
FormulaAn expression for derived dimensions.
P1 · P2The two vertices the dimension spans — filled in by Pick Endpoints.
DescriptionA free comment.

Scaling Lines — how the geometry stretches

Scaling lines
Scaling Lines help
ColumnMeaning
ParameterWhich dimension moves this edge. The list comes from the Parameters table.
AxisX — the edge moves horizontally, Y — vertically.
Typeray — an infinite ray: everything on that line moves (for a vertical ray only X1 matters). segment — a finite edge between two points.
AnchorThe anchor name — the marker the engine matches against the drawing (for example Scale_X). Filled in automatically when you pick a line.
FormulaOptional, when the edge does not move one-to-one with the parameter.
X1 · Y1 · X2 · Y2The coordinates. In ray mode X2 and Y2 are disabled — a ray is defined by one point and an axis.

The buttons under the table: + Add Mark for a new row, − Remove for the selected one, Pick Line to enter line-picking mode on the drawing (pressing it again leaves the mode).

Variable Angles

Variable angles
Variable Angles help
ColumnMeaning
A · B · CThe three corner points; B is the vertex the leg swings about.
DefaultThe value used unless overridden.
Min · Max · StepThe range and increment — exactly what becomes the dropdown in the Part List.
PivotWhich arm rotates.
TagThe dimension name the angle appears under in the parts list (ANGLEA).
KeepPreserve the side length when the angle changes.

Pick Angle asks you to click the three points in turn: A → B → C.

Hole Rules

Hole rules
Hole Rules help
ColumnMeaning
NameThe rule's name — useful once there are several.
X1 · Y1The first point of the run.
X2 · Y2The second point of the run.
Max stepThe largest spacing between neighbouring holes. The engine chooses the count so the step never exceeds this and the run stays even.
DiameterThe hole diameter. Left empty with Pick 2 Holes/Points, the diameter of the first picked hole is adopted.
EndsWhether holes are placed at the end points themselves, or only between them.

BOM — Profiles

BOM profiles
BOM Profiles help
ColumnMeaning
Profile NameThe profile's name. Rows sharing a name are grouped together in the BOM.
LabelThe segment label (W1, H, W2…) — it reaches the BOM item name.
Cut DistanceHow much is taken off each end. G = 100 with a Cut Distance of 10 gives a piece of 80.
QtyThe quantity. May be an expression: qty, 2 * qty, 3.
Angle A / Angle BThe cut angles at the first and second ends (90/90 by default).
Orient.Which dimension the length follows: W (horizontal), H (vertical) or any model parameter.

BOM — Details

BOM details
BOM Details help

Non-profile items: Sheet, Screws, Blocks, Sealant, Other. The fields are the category, the name (which may contain {name}), the quantity (an expression) and the unit.

Child Objects

Child objects
Child Objects help
Child object card

An object can carry other objects — a galvanised inner sheet, say. The child is chosen from the library and its dimensions are expressions of the parent's.

Card fieldMeaning
Name and codeWhich library object is embedded.
DimensionsFor each of the child's dimensions, an expression in terms of the parent's — for example W - 40 or H. An empty field means “take the parent's dimension of the same name”.
Edit object…Open the child for editing right here. The action bar changes to ✓ Done (apply to parent) and Cancel, and a breadcrumb trail appears at the top. Nesting is unlimited — a child of a child works too.
×Remove the child object.
A child object

Picking mode on the drawing

The Pick Endpoints, Pick Line, Pick Angle and Pick 2 Holes/Points buttons put the preview into picking mode: a hint at the bottom says what to click next, and picked points stay marked on the drawing. Pressing the button again leaves the mode.

Building a new object from scratch

A new object
  1. + New Object — an empty form.
  2. Fill in Display Name and Type Code, choose the materials and the group.
  3. Load DXF… — load the drawing of the part at its minimum size.
  4. Add the Parameters and mark their end points on the drawing.
  5. Add Scaling Lines so the geometry follows those parameters.
  6. If needed, describe the angles, the hole runs, the BOM content and the child objects.
  7. Build & Preview — check the result at test sizes.
  8. Save to library. The type appears in the Type dropdown of the Part List.
Editor status line
The status line at the bottom reports briefly what was loaded and how much of it was read.
The JSON tab is one-wayEdits in JSON are used directly by Build & Preview and Save to library, but the form tables are not updated from JSON. So do not edit the same definition in both places — pick one. Switching to the JSON tab always regenerates the text from the current state.
Deleting an objectThe cross in the library list removes it. Parts in existing projects that reference the type remain, but the type is no longer offered in the Part List and can no longer be built.

Working with JSON

Object JSON
The complete definition: panel_type_spec (type metadata), object (dimensions, BOM, children) and draw (the geometry program). The format is documented in detail on the New object JSON tab of the API panel.

The project library

Your private store of projects on the server. Nobody else can reach it — ownership is checked both in the database and when files are served.

Opening

Project library
A project row
Each row shows the name and when it was last changed. The buttons on the right download the project as a JSON file and delete it.
DeletingDeleting a project also removes its output folder. If that project is the one currently open, the file links in the tree are refreshed.

Saving

Saving a project
Project name field

The name is proposed automatically: first the name of the project already open (so saving overwrites it), otherwise the Job Name. An edited nesting layout is stored with the document, so next time the Nesting and CNC tabs open without running again.

Uploading a file

Upload JSON button

Upload JSON accepts a project file you exported earlier. Every upload gets its own working folder, so two projects with the same name never overwrite each other's files.

In the demoThe library is read-only: projects cannot be saved, uploaded or downloaded, and your work lives only in the browser tab.

The API panel: disk, keys, documentation

The key button on the toolbar. It shows how much space your results occupy, it is where access keys are created, and it holds the full HTTP API documentation.

API panel

Disk usage

Disk usage

The bar shows how much of your account's quota is used. Below it, a breakdown by folder with tags:

TagWhat it is
ProjectOutput of a project saved in your library. Kept as long as the project exists.
UnsavedA run nobody saved as a project. Nothing in the interface can reach it any more.
API runOutput of a run made through the HTTP API.
CUSTOM DXFImported drawings your projects reuse on every run. Never removed automatically.
  • Refresh — recount;
  • Free … — delete unsaved output — remove everything not attached to a saved project in one go;
  • the bin in a row — delete a single folder.
Automatic clean-upThe server frees space by itself: at sign-out, every folder of yours with no saved project pointing at it; at sign-in, the same for folders untouched for more than two hours; and hourly, anything unreferenced older than a day (which gives API results time to be fetched). A job that would exceed the quota fails with error 507.

Access keys

API keys
  1. Type a name for the key (for example CI server) and press Generate key.
  2. Copy the key immediately — it is shown once and can never be read back.
  3. Afterwards the list shows only the prefix, the date of last use and a bin to revoke it.
A key is a passwordIt grants the same access as your account, from any program. Keep it secret; revoke a compromised key with the bin at once. In demo mode keys cannot be created at all.

The built-in documentation

Documentation tabs

Ten tabs, each with working examples and a copy button:

TabAbout
Getting startedAuthentication, the request envelope, examples in Python, curl and PowerShell.
Full sampleA ready bundle to download: a real project, an object definition with a child object and several CUSTOM DXF parts.
Job settingsThe fields of the job document.
Parts listHow the parts array is described.
Sheet settingsSheets, margins, priorities.
Engraving & nestingNesting and engraving options.
MaterialsMulti-material jobs.
Profile settingsBar stock and the cut plan.
Report settingsWhich reports to generate and how to pass your own layouts.
New object JSONThe complete object definition format: panel_type_spec, object, draw.
Docs: getting started
Getting started — authentication, the request envelope and ready-made examples in Python, curl and PowerShell.
Docs: full sample
Full sample — the downloadable bundle and the two ways to call it: one .zip, or one JSON.
Docs: job settings
Job settings — the order-header fields in the job document.
Docs: parts list
Parts list — the parts array: types, dimensions, quantities, CUSTOM.
Docs: sheet settings
Sheet settings — sheet formats, quantities, priorities and margins.
Docs: engraving and nesting
Engraving & nesting — rotation, search depth, engraving, trimming shared lines.
Docs: materials
Materials — multi-material jobs with their own sheets and parts.
Docs: profile settings
Profile settings — bar stock and cut-plan parameters.
Docs: report settings
Report settings — which reports to produce and how to pass custom layouts.
Docs: object format
New object JSON — the full object definition format with an annotated example.

A short endpoint reference

This part is only for automationIf you work in the browser you do not need it. It matters when you — or your developer — want to launch jobs from another program or a script.

The key is sent as the header Authorization: Bearer <key> or X-API-Key: <key>.

Method and pathPurpose
POST /api/jobA complete run in one call: objects + CUSTOM DXF (base64) + the document. Returns a .zip or a JSON manifest.
POST /api/job-zipThe same, but the input is a single .zip holding the JSON document, the objects and the DXFs.
GET /panel-typesThe available panel types and their dimensions.
GET /definitionsYour object library.
POST /definitions/{name}Add or replace an object.
DELETE /definitions/{name}Remove an object.
POST /custom-dxf?name=…Upload a CUSTOM DXF (the request body is the file).
GET/POST/PUT/DELETE /projectsThe project library.
GET /files?path=…Download one generated file.
GET /zip?path=…Download a whole output folder as an archive.
GET /me/usageQuota usage.
GET /me/storageThe per-folder breakdown with tags.
DELETE /me/storage?path=…Delete one listed folder.
POST /me/storage/pruneDelete every unreferenced folder.
GET/POST/DELETE /api-keysKey management.
POST /bom · /bom.xlsxCompute the BOM, or return it as an Excel file.
POST /packing-slip.xlsx · /labels.xlsx · /profiles.xlsxReports without a run.
GET/PUT /cnc-configThe machine configuration.
GET/POST /cnc-opsRead and rewrite the operations of a machine program.
API results have a lifetimeA run through /api/job is not attached to a project, so its folder is removed after roughly a day. Fetch the files in the same session.

The administrator panel

Available only to accounts marked as administrators — the Admin button in the title bar. The rights are checked on the server as well.

Administrator panel

Creating a user

  • username — the login;
  • display name — the name shown in the interface;
  • password — at least 14 characters;
  • admin — whether to grant administrator rights;
  • MB — the disk quota; 0 means unlimited.

The user table

ColumnWhat it does
UserThe login and display name; your own account is marked (you).
AdminToggles administrator rights.
ActiveDisables the account. Every session of theirs is revoked immediately.
Storage (MB)The quota; Save applies a new value.
UsageHow much is actually used.
Projects / Objects / KeysCounters; clicking expands that user's documents.
Last loginWhen they last signed in.
PasswordSet a new password. Changing it also revokes every session.
binDelete the account with all of its data. You cannot delete yourself.

A user's documents

A user's documents

The expanded view shows the selected user's Projects, Objects and API keys. An administrator can delete an individual document or key, and issue a key on the user's behalf.

CarefulDeleting a user takes their projects, objects, keys and output folder with them. It cannot be undone.

Demo mode

The Try the demo button on the sign-in screen creates a throwaway account and takes you straight into the program. Every visitor gets their own account, so parallel runs never interfere.

Demo button
The app in demo mode

How to tell you are in the demo

Title bar in the demo
Demo badge
Status bar in the demo
Toolbar in the demo
The save-project button is dimmed — the server would refuse the write anyway.
  • a Demo badge next to the logo;
  • a note in the status bar: “the PDF report is the only download”;
  • the sign-out button reads Exit demo.

What works and what does not

Fully working

  • importing your own DXF files;
  • Part List, Grid, the object editor;
  • nesting, the layout editor, CNC editing;
  • the BOM and viewing reports;
  • the PDF sheet report — this one can be downloaded.

Disabled

  • saving and uploading projects;
  • Excel exports (BOM, Slip, Labels, CutPlan);
  • layout DXFs, .zip, access to generated files;
  • backing up the CNC configuration;
  • creating API keys.
Reports in the demo
The report download buttons are dimmed; the reports are still written into the output folder on the server.
The library in the demo
The API panel in the demo
The watermarkEvery page of a PDF report produced by a demo account carries a DXNest Fabrication mark. It is applied on the server while the report is generated — nothing in the browser can bypass it.
Nothing is keptWhen the demo session ends (the Exit demo button), the account and everything it created are deleted.

Step-by-step recipes

Ten typical tasks from beginning to end. If you are not sure where to start, find the one closest to yours.

An order from parametric panels

  1. Open project — reuse a similar previous project, or New project for a clean sheet.
  2. Job Settings: Job Name, customer, date, PO, Nesting depth = 0.
  3. Sheet Settings: check the materials, their Kind and the sheet formats; use Priority to consume the right format first.
  4. Part ListAdd part for each line item; type, dimensions, quantity, name.
  5. Add identical items with Duplicate rather than from scratch.
  6. Check a few parts with the eye button.
  7. BOM — compare Flat Pattern W/H against your sheet formats.
  8. Run ▶.
  9. Save project — otherwise the files disappear when you sign out.
  10. Project Tree → download the DXFs, the .nc files and the reports.

An order from existing drawings (CUSTOM DXF)

  1. Make sure the files have a closed outer contour.
  2. Import custom DXF parts on the toolbar — several files can be selected at once.
  3. Set Qty and Material for each row (the dimensions are not editable — they come from the file).
  4. Check the geometry with the eye button.
  5. Then as usual: Sheet SettingsRunSave project.
Imported drawings stay in your space and are reused on every subsequent run of the project — there is no need to upload them again.

A façade through Grid with a building corner

  1. Switch on Grid on the toolbar.
  2. Set Rows and Cols, then type the column widths and row heights straight into the grid headers.
  3. Set Joint X and Joint Y — the default joint width.
  4. Select a row or a block of cells and place a type with Place type….
  5. Click the joint where the wall turns and set its Angle (the 90 / −90 buttons). Check the → …° caption — that is the angle the panels will get.
  6. Select the two cells either side of that joint (Ctrl/+click) and pick a type in Corner panel….
  7. Where windows go, select the cells and press Disable.
  8. For individual joints, select the cells and fill in Top/Right/Bottom/Left.
  9. Switch to Part List — all the panels are already there. Set quantities, materials and names.
  10. Run ▶ and continue as usual.

Creating your own panel type

  1. Draw the part in CAD at its minimum size, with the contour and holes on their own layers; save as DXF.
  2. Toolbar → Object editor+ New Object.
  3. General Info: Display Name, a unique Type Code, Material Group, Default Depth, the Materials list, the CNC allowed checkbox.
  4. Load DXF… — load the drawing. Check in Reference Geometry that the contour and holes were read.
  5. Parameters: add W, H, D (and W2 and so on), enter Min; for each press Pick Endpoints and click two vertices on the drawing.
  6. Scaling Lines: + Add Mark → choose Parameter and Axis, the type ray or segment, then Pick Line and click the edge.
  7. Variable Angles — if the panel has a variable angle: Pick Angle, click A → B → C, then set Default, Min, Max, Step and Tag.
  8. Hole Rules — for runs of holes: Pick 2 Holes/Points, click the two end holes, then set Max step.
  9. BOM — Profiles and BOM — Details: describe what the panel consumes.
  10. Build & Preview — inspect the Scaled preview at test sizes.
  11. Save to library. The type appears at once in the Type list of the Part List.

Setting up a new machine

  1. Toolbar → CNC machines, tools & materials.
  2. + Machine — the new machine inherits the current one's tools; rename it.
  3. Tool library: + Tool for every cutter — number #, label, Ø mm, register H.
  4. Material library: make sure the materials you need exist and have the right Kind.
  5. In the Material block use + Add material… to attach a material to this machine.
  6. Fill in the per-layer parameters: Contour, Inner contour, Grooves, Weep lines, Engraving — tool, pass depths, feeds, RPM.
  7. In the Holes block set the default rule and, if needed, per-diameter rules.
  8. Check the G-code blocks: the start block, the tool-change blocks and the end block.
  9. Save. Subsequent runs follow these rules.
  10. To apply them to an already generated program — CNC tab → Recompute.

Hand-tuning a layout

  1. Open the Nesting tab and wait for the part geometry to load.
  2. Choose the material and the sheet in the list on the left.
  3. Move parts around; the magnet puts them at the right distance for you.
  4. Rotate with the handle or the R key.
  5. Unwanted parts — Delete: they go back to the unplaced queue.
  6. An empty sheet — Delete sheet.
  7. From the unplaced queue: click a part, then click a free spot (or drag to lay an array).
  8. When the layout is right — Recompute CNC.
  9. Save project.

Your own packing-slip layout

  1. Right panel → Report SettingsPacking SlipEdit template….
  2. Header section: type your company name and lay out the head. For order fields, select a cell and pick a value from the Field… list.
  3. Use Merge, Border, Fill…, B/I/U and the W/H fields to get the look you want.
  4. Part rows section: put the right column into each cell of the row via Part column….
  5. Footer section: totals and signatures.
  6. Export now — check the result in Excel.
  7. Save as my default to apply it to every new project, or Apply to project for this one only.

Automating through the API

  1. Toolbar → API access & keys → type a key name → Generate key.
  2. Copy the key at once — it is never shown again.
  3. The Full sample tab — download the ready bundle or the single-file request example.
  4. Send POST /api/job with the header Authorization: Bearer <key> and the full document; "return": "zip" returns an archive of every file.
  5. Collect the result in the same session: the API run's folder is removed after about a day.

Adding an employee (administrator)

  1. Title bar → Admin.
  2. In Create user fill in the login, the name, a password (14+ characters) and the quota in MB; tick admin if they need administrator rights.
  3. Create.
  4. Pass the login and password to the user — they can only have it changed by an administrator.
  5. To cut off access temporarily, clear Active: all of their sessions end immediately.

Freeing disk space

  1. Toolbar → API access & keys → the Disk usage block.
  2. Refresh to recount.
  3. Look at the tags: Unsaved and API run are candidates for deletion.
  4. Free … — delete unsaved output removes them all at once; the bin in a row does it selectively.
  5. If space is still short — delete projects you no longer need from the library (that takes their files too), or ask an administrator to raise the quota.

Units, keys and small print

Units of measurement

Storage is always in millimetres. The selector in the status bar only changes how values are displayed and parsed.

Decimal inches

Decimal inches

Fractional inches

Fractional inches

In fractional mode every usual notation is accepted: 23 5/8, 23-5/8, 5/8, 23.62. Rounding is to 1/16″. Switching units does not change stored values: only a field you actually edited is written back.

The panel in inches
Units apply everywhere: the parts list, the sheet settings, the grid, the part editor.

Keys and gestures

WhereActionKeys / gesture
Part Listselect a rowclick the row number
add / remove a row from the selectionCtrl/ + click the number
reorder rowsdrag a row onto another
commit a field valueEnter or click elsewhere
Gridselect a cellclick
rectangular selectiondrag, or Shift + click the opposite corner
add / remove a cellCtrl/ + click
clear the selectionclick the empty background
jump to that cell's partdouble-click
select a jointclick the narrow strip between cells
Nestingselect a partclick it
movedrag (snapping to margins and neighbours)
rotatedrag the handle above the part
rotate in 15° stepsShift while rotating
rotate by 90°R
delete a partDelete or Backspace
deselect / leave placing modeEsc
place one copyclick a free spot in placing mode
place an array of copiesdrag in placing mode
CNCreorder operationsdrag a row by its ⋮⋮ handle
highlight an operation on the drawingclick the row (clicking again clears it)
Any canvaszoom around the cursormouse wheel
pandrag empty space
fit to the windowthe Fit button
Report layout editorselect a cell / rangeclick / drag
edit a cell's textdouble-click
confirm the textEnter
cancel editingEsc
Object editorselect a table rowclick it (it becomes the active row for − Remove and the Pick buttons)
leave picking mode on the drawingpress the Pick… button again
Modal windowscloseclick × or the dark background outside
choose a fileLoad DXF…, Import JSON…, Upload JSON open the system dialog
What does not existThere are no keyboard shortcuts for undo/redo, saving or running — those actions live on the toolbar only. The browser's usual Ctrl+Z and Ctrl+S do not act on the document here.

What is stored where

DataWhere it lives
The document (parts, materials, grid, settings)In the browser tab, until you save the project
A projectIn your private library on the server
The layout and CNC editsSaved together with the project
Generated filesIn the output folder; only temporarily for an unsaved project
The object libraryOn the server, separately from projects
The CNC configurationOn the server, personal to your account
Default report layoutsOn the server (your default) or in the project (an override)
Reloading the pageAn unsaved document is lost — there is no autosave. New project and Clear parts do not ask for confirmation either.

Message reference

Every caption, banner and confirmation the application can show, with what it means and what to do. Find yours with the search box at the top.

Empty states — when there is nothing yet

MessageWhereWhat it means
No parts yet. Click Add part to begin.Part ListThe parts list is empty. Press Add part, or fill cells in Grid.
Add parts to see the bill of materials.BOMThere is nothing to compute the bill from.
No BOM items for the current parts.BOMThere are parts, but their types declare no profiles or extra items.
Computing…BOMThe engine is recomputing. It starts automatically a moment after a change.
Run a job to populate the output tree with downloadable files.Project TreeNo run has happened, so there are no files.
No nesting layout yet.NestingThere is no layout. Run a job, or open a project with a saved layout.
No sheets — every part is unplaced.NestingEvery sheet was deleted; the parts wait in the unplaced queue.
All parts placed on sheets.NestingThe unplaced queue is empty — everything fitted.
No saved projects yet.LibraryYou have not saved anything yet.
No API keys yet.API panelNo keys have been created.
Nothing stored yet.API panelThe disk is empty — no run has happened.
No child objects.Object editorThis type carries no child parts.
No parameters yet — click “+ Add Parameter”.Object editorNo dimensions declared yet.
No scaling lines yet — click “+ Add Mark”.Object editorNothing ties the geometry to a parameter — the part will not change size.
No DXF loaded. Click Load DXF… to import a reference drawing to mark up.Object editorThere is no reference drawing; the Pick… buttons have nothing to work on.
Load a DXF or select an object to preview.Object editorThere is nothing to show on the right.
This machine has no materials. Add one above.CNC configurationNo material is attached to the machine — use + Add material….
No CNC config loaded.CNC configurationThe server did not return a configuration. Reload the page.

Before a run

MessageWhat it means and what to do
Add at least one part before running.There are no parts. Add a row in the Part List.
Add at least one stock sheet for the active material.A material that carries parts has no sheet format. Sheet SettingsAdd sheet.
Cannot run — N parts have a dimension of 0:
• “EP-101” (Standard): W, H must be greater than 0
Required dimensions are empty or zero. The message lists every offending part; those rows are marked with a .

During and after a run

MessageWhat it means
Queued…The job is in the queue — the server is computing something else.
Running the full engine — larger jobs take longer.Just an explanation under the progress bar.
Job complete — N files generated.Success. The files are in the results window and in Project Tree.
CNC generation skipped: the part list contains types incompatible with CNC output (B, BCAB).Not an error. The listed types produce no machine programs (CNC allowed is off in the type). Layouts and reports were still produced.
This job is not saved as a project…The results will be removed when you sign out. Press Save project.
Nesting was not completed: some details could not be placed on the available sheet(s).A part plus the frame margin is larger than every configured sheet. The text gives its exact size and the formats that were checked.
Nesting cannot continue because some details were not prepared successfully… DXF contains no usable nesting geometry.The engine could not build a usable contour for a specific part. For CUSTOM, check the drawing; for parametric types, check the depth-and-angle combination.
Loading part geometry 12/40…Nesting is fetching part contours. Wait for the bar to disappear.

Saving and recomputing

MessageWhat it means
Project saved to your private library.The project was saved; nothing was recomputed because the layout was untouched.
Project saved · nesting files rewritten & CNC recomputed.The project was saved and the files on disk were rewritten to match the edited layout.
CNC recomputed from the edited layout.The Recompute CNC button did its work.
Nothing to recompute.There is no layout or no output folder — nothing to redo.
CNC program saved.The .nc was rewritten with the new operation order and tools.
Saved. New jobs use these settings.The CNC configuration was saved. Programs already generated are unchanged — they need a Recompute.
File uploaded to your private library.A project JSON file was accepted into the library.
This file is not a valid DXNest Fabrication project.The file lacks the required settings and materials fields.

Confirmations

MessageWhat “OK” does
Delete this sheet? Its parts return to the unplaced list.The sheet disappears and its parts go to the unplaced queue. The files on disk only change after Recompute or Save project.
Delete project “…”?The project and its output folder are deleted permanently.
Delete API key “…”? Apps using it will stop working.The key is revoked immediately.
Could not import <file>: …A DXF import failed — the other selected files are still imported.
No confirmation at allNew project, Clear parts, Clear all in the grid and deleting a part row happen immediately. Undo saves you for document changes; New project clears the history.

Mode hints

MessageWhere and what it means
Click a part to select · drag to move · drag the ○ handle to rotate · scroll to zoomNesting, normal mode.
Click a free spot to place · drag to lay an array of copies · scroll to zoomNesting, placing a part from the queue.
Placing “EP-101” (click a free spot · Esc to cancel)Nesting, the name of the part you are placing.
Picking P1 — click a vertexObject editor, picking a dimension's end point.
Picking line — click a segmentObject editor, picking a scaling line.
Picking point A — click a cornerObject editor, picking the angle points A → B → C.
Picking hole 1 — click a holeObject editor, picking the end holes of a run.
Select a cell first, then pick a document field.Layout editor: select a cell before choosing a field.
Operations — drag to reorderCNC: the operation rows can be dragged.
Contour: 96 pts · Holes: 20 · Inner: 0 · Grooves: 0Object editor: what was read from the reference DXF.
Connected · 8 panel types loaded / Offline — …General Settings: the connection to the engine.

Demo-mode limits

MessageWhere
Disabled in the demo — the watermarked PDF report is the only downloadThe tooltip of every blocked button.
Demo mode — the PDF report is the only downloadThe status bar.
Demo mode — the project library is read-only…The project library window.
API keys are disabled in the demo…The API panel.
Demo mode — every file was produced on the server, but only the PDF report can be downloaded, watermarked on each page.The run results window.
End the demo — the demo account and everything it produced are deletedThe tooltip of the Exit demo button.

When something goes wrong

SymptomCause and cure
The Run button is greyed outThe document has no parts, or another run is in progress. Add a part in the Part List or fill some grid cells.
“part size … does not fit any configured sheet”The flat pattern is larger than every configured sheet. Add a bigger format in Sheet Settings, reduce the Frame Margin, switch on Allow part rotation, or make the part smaller. Remember it is the flat pattern with its returns that is nested.
“DXF contains no usable nesting geometry”The engine built no usable contour. For CUSTOM parts, check that the file has a closed outer contour on the expected layer. For parametric types, check the depth-and-angle combination (too little depth with a large angle degenerates the geometry).
“CNC generation skipped”Some parts are of types with CNC allowed switched off. Not an error: layouts and reports were produced. Switch the checkbox on in the panel type if you need CNC.
The CNC tab is emptyNone of the order's materials produced machine programs: either every type has CNC off, or the material was set to None (no CNC) in Sheet Settings.
The run takes foreverThe main lever is Nesting depth. A value of 2 or more with many small parts takes many times longer. Set it to 0, confirm the content is right, and only then raise it.
Error 507 / “quota exceeded”Your account is out of disk space. Open the API panel → Disk usage and free space with “delete unsaved output” or one folder at a time. An administrator can raise the limit.
The files vanished after signing back inThe run was never saved as a project. The server removes such folders at sign-out and on a schedule. Save the project immediately after a good run.
“engine offline” in the status barThe server did not return the list of panel types. Reload the page; if that does not help, the problem is on the server side.
The Nesting canvas is empty, no parts visiblePart geometry loads progressively — wait for the “Loading part geometry” bar. If the output folder was deleted, reopen the project or run the job again.
CNC edits disappeared after savingIf you changed the layout after hand-editing the .nc, saving the project triggers a recompute that rewrites the programs. Settle the layout first, then edit the operations.
I cannot choose the material I need for a partThe material is constrained by the panel type. Widen the Materials list in the type's definition (object editor), or leave it empty to allow any.
A button is dimmed and its tooltip mentions the demoYou are in demo mode. The limits are enforced by the server; full access needs a normal account.
“Cannot run — N parts have a dimension of 0”The listed parts have empty required dimensions. Fill in W/H (the depth usually fills itself). Angles are not checked, and neither are CUSTOM parts — their size comes from the file.
“Queued…” does not change for minutesThe server is busy — most likely with a previous job at a high Nesting depth. Wait, or ask an administrator. Keep it at 0 until the order content is final.
I cannot find the Grid tabIt only appears after pressing the Grid button on the toolbar (the button stays highlighted).
The “Corner panel…” control is disabledYou need exactly two neighbouring cells selected — horizontally or vertically. Cells one apart or diagonal do not qualify.
A grid cell turned yellowThe angle the wall turn produces falls outside the type's Min…Max range and had to be pulled to the limit. Change the wall angle, or widen the range in the type's definition.
The cell size is not what I enteredA column width is the module; the panel gets the module minus half a joint on each side. A 1200 column with 20 mm joints gives a 1180 panel.
A part on the layout canvas is red and stays redIt leaves the sheet or overlaps another part. This happens after typing an angle into the field or shrinking the sheet format. Move it — the highlight clears as soon as the position is valid.
A part will not go into an apparently free spotThe check uses the real contour and honours both the gap between parts and the frame margins. Reduce the gap in the sheet's Margins panel, or rotate the part.
My new type did not appear in the Type listThe object must be stored with Save to library (not just Build & Preview). Check that the Type Code is filled in and does not clash with an existing one.
JSON edits in the object editor do not show in the formBy design: JSON is not read back into the form. Those edits still reach Build & Preview and Save. Pick one editing method.
An Excel report is missing a columnColumns come from the layout: Report SettingsEdit template… → the Part rows section → select a cell → Part column…. Dimensions no part uses are not offered.
My report layout ended up on the wrong projectApply to project stores it in the current project only; Save as my default stores it in your profile for new projects. The project template tag in Report Settings shows when a project has its own.
I changed the CNC settings but the program is unchangedSaving the configuration affects subsequent runs. To update an existing program use the CNC tab → Recompute.
Reopening a project shows no files in the treeThe layout is stored in the project, but the folder on disk has already been cleaned up or overwritten by another project with the same job name. Run the job again.
I lost my passwordThere is no self-service recovery. An administrator sets a new one (Admin panel → Password). Changing a password ends every active session of that account.

Glossary

Terms that appear in the interface and in this manual.

TermMeaning
NestingArranging parts on stock sheets so as little material as possible is wasted.
Nesting depth0–6. How hard the engine searches for a tighter arrangement. 0 is a fast greedy pass; higher values pack better and take much longer.
Part / detailOne line item of the order: panel type + dimensions + quantity.
Panel typeThe parametric description of a part: which dimensions it has, how the geometry stretches, which holes it gets, what goes into the BOM. It lives in your object library.
Type codeThe short designation of a type (R, C, BCAB). Used by the API and in file names.
CUSTOMA part taken from an existing DXF file: its geometry and size come from the drawing rather than being built parametrically.
Flat patternThe part unfolded into a plane with its returns. It is the flat pattern that is cut from the sheet — noticeably larger than the assembled panel.
Material classThe identifier (steel_1mm, aluminum_3mm) used to group parts into separate nesting jobs.
KindSteel / Aluminum / ACM. Decides which CNC rules and which machine apply.
Material groupA name that ties together panel types sharing the same list of allowed materials — it lets you change the material of the whole family at once.
SheetA stock blank of a given format. Size, quantity and priority are set in Sheet Settings.
Priority1 → 2 → 3 → none. The order in which formats are consumed.
Parts marginThe minimum clearance between the contours of two neighbouring parts on a sheet.
Frame marginThe distance to the sheet edge. It can be a single value or one per side.
ModuleIn the grid, a column width or a row height, measured from joint centre-line to joint centre-line.
JointThe gap between panels in an elevation. A panel takes half a joint on each side.
Wall angleThe turn of the façade at a particular joint. The panel is mitred to 90 + angle/2.
Corner panelOne panel that spans a joint and has two legs: W and W2.
SoffitA horizontal fold — a corner panel made from two cells stacked one above the other.
BOMBill of materials: the profiles, sheets, hardware and consumables an order needs.
ProfileA linear part (an aluminium extrusion) with a length and cut angles at its ends.
Cut distanceHow much is taken off a profile's length at each end.
KerfThe material the saw removes at every profile cut; accounted for in the cut plan.
Cut planThe arrangement of profile pieces across stock bars.
Packing slipA document with the order header and the list of parts.
LabelsA sheet of stickers — one per part.
TemplateThe grid of cells a Packing Slip or Labels sheet is built from. It can be built-in, your personal default or a project's own.
TokenA placeholder in braces in a layout: {customer} from the order header, {QTY} from an individual part.
LayerA DXF layer (contour, holes, grooves, engraving). CNC rules are set per layer.
Inner contourA cut-out inside a part: rectangle, rounded rectangle, circle or slot.
GrooveA fold groove, usually cut with a V-shaped tool.
Weep lineA drainage slot.
EngravingMarking the part code onto the part itself; switched on in Job Settings.
ToolpathThe tool's route. The CNC tab shows it together with the travel line between operations.
PeckThe peck-drilling step — how far the tool retracts to clear chips.
Feed Z / Feed XYThe plunge rate and the working feed rate in the plane.
RPMSpindle speed (the S word in G-code).
WorkspaceThe folder on the server that a run writes into. It belongs to a specific project, not merely to the job name.
Orphan / “Unsaved”The folder of a run nobody saved as a project. Removed automatically.
QuotaThe disk-space limit of an account. A run that would exceed it fails with error 507.
API keyA secret granting programmatic access with your account's rights. Shown once, at creation.
Ray / segmentIn the object editor: an infinite ray (moves the whole edge) or a finite segment between two points.
PivotWhich arm of an angle rotates when its value changes.
Child objectA part made together with its parent panel; its dimensions are expressions of the parent's.

Every screenshot in this manual was taken from the running application — this is the real interface, not a mock-up.