Features

A feature is the atomic unit of design in PureCut CNC. Every shape you draw — a rectangle, circle, polygon, spline, composite path, or text — becomes a feature. Features are listed in the feature tree and can be selected, edited, reordered, and assigned machining operations.

Each feature has a 2D profile (its shape on the XY plane) and a vertical extent defined by Z Top and Z Bottom. Together these define a 3D solid that is either added to or subtracted from the model.

Z Top and Z Bottom

Every feature has two Z values that define its vertical extent:

  • Z Top — the elevation of the top surface of the feature. For a pocket, this is the surface of the stock where the cut begins.
  • Z Bottom — the elevation of the bottom surface. For a pocket, this is the floor of the pocket.

Z values are absolute coordinates, not depths. The actual cut depth is always Z Top minus Z Bottom. If the stock is 0.75 in thick and you set Z Top to 0.75 and Z Bottom to 0.5, the cut depth is 0.25 in.

Z is a coordinate, not a depth. Z Bottom = 0.5 means the floor sits at 0.5 in above the machine table — not that the cut is 0.5 in deep. The depth is always Z Top − Z Bottom.

The stock thickness sets the default Z Top for new features. You can override Z Top and Z Bottom independently for each feature in the properties panel.

Add vs. Subtract

Each feature has an Operation property that is either Add or Subtract:

  • Add — the feature represents material that is present. The first feature in the tree must always be Add — it defines the base solid of the part.
  • Subtract — the feature represents material that is removed. Pockets, holes, and cutouts are subtract features.

The operation type also determines which CAM operations are available. Pocket and inside edge route require subtract features. Outside edge route and surface clean require add features. V-carve operations require subtract features with closed profiles.

Tip: The 3D view updates live as you change feature operations and Z values. Use it to verify the model looks correct before adding CAM operations.

Feature Tree Order

Features are evaluated in the order they appear in the feature tree — top to bottom. The CSG engine applies each feature's add or subtract operation in sequence. This means order matters: a subtract feature that overlaps an add feature will only remove material if it comes after the add feature in the tree.

You can reorder features by dragging them in the tree. The first feature must always be an Add feature — the app marks it with a lock icon and prevents it from being moved below any subtract feature.

Order matters. If a pocket feature appears before the base solid in the tree, it will have nothing to subtract from and the 3D model will look wrong. Always keep the base solid at the top.

Visibility and Toolpath Calculation

Making a feature visible or invisible in the tree controls whether it participates in the 3D model and toolpath calculations. Hidden features are excluded from the CSG evaluation and from G-code export.

For operations, the visibility toggle controls whether the toolpath is computed and shown. There is no separate "Compute" button — toggling an operation visible triggers its toolpath to be calculated automatically.

Stock

The stock defines the raw material block you are machining. It has a width, height, and thickness. The stock thickness sets the default Z Top for new features.

Select the Stock node in the feature tree to edit its dimensions, material, and color. The stock boundary is shown on the canvas as a reference.

Machine Origin

The machine origin defines the translation between the internal project coordinate system and the machine G-code coordinate system. It is shown as a crosshair on the canvas.

Select the Origin node to edit its position. Use the preset buttons (Top Left, Center Top, Bottom Left) for common setups, or click Place Origin to position it interactively on the canvas.

Coordinate inversion: The internal coordinate system has Y increasing downward (screen coordinates). The machine G-code uses standard Cartesian coordinates where Y increases upward. The origin and export logic handle this inversion automatically.

Units

Projects can use either millimeters (mm) or inches (inch). The unit is set per-project in the Project properties panel. All dimensions, feeds, and speeds are stored and displayed in the project's unit system.

Tools have their own unit setting and can be used in projects with a different unit — the app converts tool parameters automatically when assigning a tool to an operation.